Enable calls with commitments
Closed this issue · 2 comments
arthurpaulino commented
Besides Fun
, Comm
and Num
pointers should also be callable objects as long as opening them reveals a Fun
. For example, the three following expressions should reduce to the same value:
((lambda (x) x) nil)
((commit (lambda (x) x)) nil)
((num (commit (lambda (x) x))) nil)
porcuquine commented
Yes
arthurpaulino commented
@porcuquine I just realized that expressions like (1 2 3)
will error in a non provable way because of the failure to open the commitment on the head. Let me know if we should follow the plan to include nums or if we should only support comms.