Is that possible to create a "purely functional" language with #lang?

Please have a look on these questions:

How to execute deterministic code from an untrusted third party safely?

Defining a "purely functional" R5RS env in Racket

Is that possible to create a new language (something like #lang pure-r5rs) that is a R5RS (or even Racket itself) but "purely functional"? Without side effects, I/O etc.

Thank you.

2 Likes

Christos Dimoulas [https://users.cs.northwestern.edu/~chrdimo/] created an effect-free language from Racket for the Shill project. See paper with Moore et al. You may wish to start from the Shill implementation, but rip out the parser.

[[ When I say “effect free” I don’t mean to say it excludes infinite loops. ]]