Hacker News new | past | comments | ask | show | jobs | submit login

The imperativeness of Racket really doesn't come so much from the *! functions, but instead things like `begin` which explicitly sequence program statements in such a way that only allows them to interact via external mutable state.



I have a feeling we are on yet different definitions of imperative and such.

    (define x 3)
    (display x)
    (set! x (add1 x))
    (display x)
is about as imperative as they come, by my definition. And not a begin in site.


Yeah, there's sort of an implicit begin around the whole thing, though.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: