Fixed the reader to read multiple forms, which also fixed how comments are parsed. The issue was the missing neg
operator in PetitParser (not not
.
I read up on TruffleScheme and the Truffle/Oz paper and I now have a better understanding on what it takes to implement TCO. To fix it properly, the current compilation pipeline should be refactored:
Current:
KiwiSymbols
)asKiwiNode
(turn them into LiteralNode
s)compile
(turn LiteralNodes into AST nodes like IfNode and LambdaNode)Refactored:
expand
(can be no-op for now)compile
(turn Syntax into AST nodes)This means all the Literal
nodes will be replaced by Syntax
objects.
Oh yeah, got laid off on my birthday, so now I need to prepare for interviews.