You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently dotted pairs are quoted as a list conianing the dot as an identifier. It
seems like Scheme expectes them to be quoted as a pair instead. It could be
that we need to add support for pairs as a new literal type too.
Given:
'(a . b)
We expect it to become:
(a . b) ; ~> (pair (quote a) (quote b))
But in fact it becomes:
(a |.| b) ; ~> (list (quote a) (quote |.|) (quote b))
The text was updated successfully, but these errors were encountered:
Part of this comes down to the fact we should just support improper tails as parts of forms. The parsed form also needs modifying before we bind it. Maybe a separate CST and AST is the way forward here. CST could capture the raw representation of a given form, but the AST always represents it as Form(List, Option) where the second node is the improper tail.
Something like Rowan's red-green trees here might be the way forward.
Currently dotted pairs are quoted as a list conianing the dot as an identifier. It
seems like Scheme expectes them to be quoted as a pair instead. It could be
that we need to add support for pairs as a new literal type too.
Given:
'(a . b)
We expect it to become:
(a . b) ; ~> (pair (quote a) (quote b))
But in fact it becomes:
(a |.| b) ; ~> (list (quote a) (quote |.|) (quote b))
The text was updated successfully, but these errors were encountered: