depot
this commit
canon
subtree-staging
monorepo for the virus lounge
The Virus Lounge
about
summary
refs
log
tree
commit
diff
log msg
author
committer
range
path:
root
/
tvix
/
eval
/
src
/
vm.rs
Age
Commit message (
Expand
)
Author
Files
Lines
2022-09-06
r/4653
feat(tvix/eval): implement capture of self-recursive upvalues
Vincent Ambo
1
-3
/
+9
2022-09-06
r/4651
refactor(tvix/eval): encapsulate internal mutability within Closure
Vincent Ambo
1
-16
/
+16
2022-09-04
r/4635
feat(tvix/eval): implement upvalue resolution in `with` scopes
Vincent Ambo
1
-1
/
+6
2022-09-04
r/4634
fix(tvix/eval): ensure OpResolveWith can be traced
Vincent Ambo
1
-16
/
+16
2022-09-03
r/4629
feat(tvix/eval): implement runtime closure construction (OpClosure)
Vincent Ambo
1
-1
/
+28
2022-09-03
r/4628
feat(tvix/eval): implement OpGetUpvalue in the VM
Vincent Ambo
1
-4
/
+6
2022-09-03
r/4627
refactor(tvix/eval): store Closure inside of the VM's call frames
Vincent Ambo
1
-6
/
+6
2022-09-03
r/4625
feat(tvix/eval): compile creation of closure objects
Vincent Ambo
1
-1
/
+8
2022-09-03
r/4623
feat(tvix/eval): implement compilation of upvalue access
Vincent Ambo
1
-0
/
+2
2022-09-03
r/4622
refactor(tvix/eval): add opcode::Count type for less ambiguity
Vincent Ambo
1
-6
/
+6
2022-09-03
r/4621
refactor(tvix/eval): add opcode::StackIdx type for less ambiguity
Vincent Ambo
1
-3
/
+3
2022-09-03
r/4619
refactor(tvix/eval): add opcode::JumpOffset type for less ambiguity
Vincent Ambo
1
-5
/
+5
2022-09-03
r/4616
refactor(tvix/eval): avoid cloning in NixAttrs::update if possible
Vincent Ambo
1
-3
/
+9
2022-09-03
r/4613
refactor(tvix/eval): rename Value::NotFound & OpAttrOrNotFound
Vincent Ambo
1
-4
/
+4
2022-09-03
r/4605
refactor(tvix/eval): introduce Closure struct in Value type
Vincent Ambo
1
-2
/
+2
2022-09-02
r/4597
refactor(tvix/eval): add NixAttrs::contains function
Vincent Ambo
1
-1
/
+1
2022-09-02
r/4585
feat(tvix/eval): add initial representation of builtins
Vincent Ambo
1
-0
/
+5
2022-09-02
r/4583
feat(tvix/eval): implement opcode for function calls in VM
Vincent Ambo
1
-8
/
+24
2022-09-02
r/4582
refactor(tvix/eval): add VM::call helper to set up call frames
Vincent Ambo
1
-7
/
+12
2022-09-01
r/4578
refactor(tvix/eval): use call frame for top-level lambda
Vincent Ambo
1
-14
/
+29
2022-09-01
r/4577
feat(tvix/eval): add call frame struct to VM
Vincent Ambo
1
-0
/
+8
2022-09-01
r/4576
refactor(tvix/eval): return a lambda from the compiler
Vincent Ambo
1
-3
/
+3
2022-09-01
r/4571
feat(tvix/eval): carry optional SyntaxNode in error type
Vincent Ambo
1
-13
/
+16
2022-09-01
r/4567
refactor(tvix/eval): Upgrade to latest rnix-parser
Vincent Ambo
1
-1
/
+1
2022-09-01
r/4566
feat(tvix/eval): implement `assert` operator
Vincent Ambo
1
-0
/
+6
2022-08-31
r/4556
feat(tvix/eval): Implement OpResolveWith instruction
Vincent Ambo
1
-1
/
+20
2022-08-31
r/4553
feat(tvix/eval): implement OpPopWith
Vincent Ambo
1
-0
/
+3
2022-08-31
r/4552
feat(tvix/eval): implement with_stack in VM
Vincent Ambo
1
-1
/
+6
2022-08-31
r/4551
feat(tvix/eval): compile `with` expression
Vincent Ambo
1
-0
/
+2
2022-08-30
r/4543
fix(tvix/eval): `or` should handle non-attrset values, too
Vincent Ambo
1
-5
/
+9
2022-08-30
r/4542
fix(tvix/eval): allow use of ? operator on non-set types
Vincent Ambo
1
-3
/
+9
2022-08-30
r/4537
fix(tvix/eval): address various clippy lints
Vincent Ambo
1
-12
/
+12
2022-08-30
r/4533
feat(tvix/eval): implement optional runtime tracing
Vincent Ambo
1
-1
/
+13
2022-08-28
r/4524
feat(tvix/eval): add local identifier access
Vincent Ambo
1
-0
/
+5
2022-08-28
r/4522
feat(tvix/eval): compile simple `let ... in ...` expressions
Vincent Ambo
1
-0
/
+14
2022-08-26
r/4499
feat(tvix/vm): add opcodes for new Value::NotFound sentinel
Vincent Ambo
1
-0
/
+17
2022-08-26
r/4495
feat(tvix/eval): implement `?` operator (single-level only)
Vincent Ambo
1
-0
/
+7
2022-08-26
r/4492
feat(tvix/eval): implement attribute set access operator
Vincent Ambo
1
-0
/
+15
2022-08-26
r/4491
fix(tvix/eval): add operation to assert boolean type
Vincent Ambo
1
-0
/
+14
2022-08-25
r/4486
feat(tvix/compiler): implement `||` operator
Vincent Ambo
1
-0
/
+6
2022-08-25
r/4483
feat(tvix/eval): implement if/else expressions
Vincent Ambo
1
-0
/
+18
2022-08-25
r/4480
refactor(tvix/eval): encapsulate list construction in value::list
Vincent Ambo
1
-16
/
+5
2022-08-25
r/4479
feat(tvix/eval): implement list concatenation
Vincent Ambo
1
-0
/
+7
2022-08-25
r/4478
feat(tvix/eval): implement binary comparison operators
Vincent Ambo
1
-7
/
+36
2022-08-25
r/4477
refactor(tvix/vm): simplify implementation of OpEqual
Vincent Ambo
1
-8
/
+1
2022-08-25
r/4475
feat(tvix/eval): implement attrset update (`//`) operator
Vincent Ambo
1
-0
/
+9
2022-08-25
r/4472
feat(tvix/eval): implement string concatenation
Vincent Ambo
1
-1
/
+13
2022-08-25
r/4471
refactor(tvix/vm): use a macro to handle binary arithmetic operators
Vincent Ambo
1
-49
/
+32
2022-08-24
r/4457
feat(tvix/value): introduce string representation with &'static str
Vincent Ambo
1
-3
/
+3
2022-08-24
r/4454
refactor(tvix/value): encapsulate attrset logic within value::attrs
Vincent Ambo
1
-189
/
+3
[next]