soma-prototype
soma-prototype copied to clipboard
Blocks should allow partial application
Currently if a lookup fails it will return Nil as the result. While in a block this should not be the case. This is how a failed lookup currently evaluates:
>>> {| x. y | x + y } value: 1
=== Nil
It should evaluate as follows:
>>> {| x. y | x + y } value: 1
=== Block
Where Block
contains the expression.
{| y | 1 + y }
This was changed from bug to feature because this is an implementation of partial application for blocks.