uhmanoa-transpiler-project / shaka-scheme

The official repository for the UH Manoa Transpiler Project's Scheme interpreter, Shaka Scheme.
32 stars 24 forks source link

Proccall is Broken #9

Closed btwooton closed 7 years ago

btwooton commented 7 years ago

Proccall is not written to accommodate NativeProcedure and the newly created PrimitiveProcedure and needs to be augmented to accommodate these types of Procedures. There is also a bug in the evaluation mechanism that seems to be rooted in Proccall_impl. A call to eval::Expression() on (define a 1) returns a DataNode.cdr runtime error on something that is not a pair.

CinchBlue commented 7 years ago

ProcCall now appears to accommodate both NativeProcedure and PrimitiveProcedure and Procedure as well as respect their respective semantics requirements as defined in our local meetings, as of commit 74dc3f30bf728d202ea60bd1dc48edae5e34261a.

One interesting typo is that DataNode.cdr was also the label for the std::runtime_error for car(). So that's unfortunate. That was fixed by that commit as well.