Age | Commit message (Collapse) | Author |
|
+ C allows for a bit more control, and we can manually handle closure
contexts. For example `examples/fib.fwd` now works for effectively any
`n`, pretty cool.
+ Fairly slow Fibonacci, I must admit. Initial profiling indicates it's
mainly due to branch mispredictions, but I'll have to look into this a
bit deeper.
+ The code is a bit hacked together, for now I'm more interested in
getting things working, I'll worry about making things pretty later.
+ For testing, there's also initial support for modules, just so I can
print stuff to the terminal
+ This commit is way too big, lol
|
|
|
|
|
|
+ Returning blocks don't want to show moves for subsequent statements,
but do want to show them for possible closure callers above.
|
|
|
|
|
|
|
|
|
|
+ Enough that examples still compile, but missing references etc.
|
|
+ Missing implementations for most things, but it already highlights
an oversight in my initial plan, namely that currently, a function
might call multiple of its closures, meaning that a closure wouldn't
be allowed to move a value. I'm debating whether to check that only
one closure from a parameter list is called at a time or if I should
do what Hylo does and add in some kind of 'subscript' that's like a
function but has slightly different rules?
|