Hacker News new | ask | show | jobs
by georgia_peach 1596 days ago
Lisp/Scheme are great brain-expanders. So is APL. For long-term maintenance, the more static typing the better, so I wouldn't use them for anything big, but they're great for one-off problem solving. Before anyone chimes in with "you can do that with macros," patched-in and after-the-fact typing doesn't count.

Go is a strange mix of functional and imperative that, despite its simplicity, is illuminating in its own way.

Getting to really know the shell and regex, inside and out, can also be a revelation.

1 comments

> Before anyone chimes in with "you can do that with macros," patched-in and after-the-fact typing doesn't count.

Why not? Common Lisp macros allow a programmer to implent a new language and to make optimizing compilers. Take for example Coalton, which is a strongly, staticaly, and strictly typed language that can interact with the base language

The base specs of lisp/scheme aren't statically typed. If some lisp-like is statically typed from square-one, that's nice, but it's not really lisp at that point.

If I can copy-paste unmodified CL code into Coalton, and it still runs, then Coalton's typing isn't particularly strict. If I can't--if I have to add some form of escaping or FFI decoration--then Coalton isn't lisp. Not that that is a bad thing--just wasn't what I was writing about.

Coalton isnt a lisp, it runs on top of a lisp. Common Lisp provides you with primitives so that you can implement things like this in ways that are much more straight forward than in other languages. This is one of key defining features of being a lisp