argumentcomputer/lurk-rs

Enable calls with commitments

arthurpaulino opened this issue · 2 comments

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 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.