masak / bel

An interpreter for Bel, Paul Graham's Lisp language
GNU General Public License v3.0
26 stars 1 forks source link

Remove special-cased param opcodes #418

Closed masak closed 2 years ago

masak commented 2 years ago

Replacing them instead with a single param opcode, which always produces a list, possibly empty.

The reason for this change, besides having fewer and more generalized opcodes, is to adjust for a future version of the compiler that uses hypernets as an internal representation; it was difficult to think of functions as taking an arbitrary number of parameters in this future model, and much easier to think of them as always accepting one parameter.