News for hackers. Stuff that matters.
Re:Ask HN: Lispers: Which dialect of Lisp do you use and why? by ciro_langone on Thursday August 17, 2017 @12:25PM (#15038174)
What is is about scheme that allows the 18k LOC to be condensed to 7k LOC? I assume there was some culling of excess code, but that's a dramatic improvement.
Re:Ask HN: Lispers: Which dialect of Lisp do you use and why? by shakna on Thursday August 17, 2017 @12:50PM (#15038429)
The biggest improvement was at the parsing/eval side of things.

Because Scheme has something utterly amazing, that I've seen in very few modern languages.

A safe eval function.

    (let foo foo
    (eval '(foo arg) (null-environment)))
Only what you bind to the environment exists, and in the case of null-environment, that's all that gets bound. (There are other environments you can use, or you can prebuild your own easily).

Scheme also provides string->symbol and symbol->string type conversions, which allow you to do things that are normally next to impossible, though mainly only useful in macros.

That can let you generate let-bindings on the fly, which if you contain them with a safe eval, gives you some really amazing possibilities.

Like parsing and binding URL queries.