Hacker News new | ask | show | jobs
by die_sekte 5534 days ago
The eval throwing away context does not make any sense in retrospect. I think I made it that way because of some ghetto-scoping ideas.

You broke car and cdr somehow (these don't evaluate their arguments anymore), but I have no idea how you did this.

This was mostly a training exercise, this is why there is no significant use of monads in there: I simply haven't learned enough about them to feel comfortable using them.

1 comments

Can you give the example that breaks car/cdr? They seem to be evaluating their args here:

    fst $ repl "(car (cons 1 (quote ())))"
    Number 1
Sorry, that was my fault. I didn't make lambdas evaluate their arguments and I didn't notice this in my code. I.e. car/cdr work correctly, fun doesn't.