@yogthos that's just bad code.

I used to be super annoyed not having lisp-like macros, but the obsession with s-expressions escapes me.

... It's gunna be a tree regardless how you write it. Might aswel use whitespace(like Python) and infix notation, it's perfectly understandable and looks better...

I also do not understand people wanting static typing by the way. It only stops really shallow bugs as far as i can see.

@jasper there are a number of advantage to using s-expressions. A couple of big ones for me are:

Having a single syntax for logic and data. You can take any piece of code and transform it using the same language you're already using. I wrote about the benefits of that in detail here


S-expressions also allow much better editors where you're manipulating blocks of logic as opposed to lines of code as seen here


@yogthos @jasper Big fan of Forth here, but I definitely want to get more involved with Lisp eventually as well. Common Lisp in particular, mainly because it is the common benchmark against which other languages are referenced against. I did play around with Shen Lisp for some time, and really enjoyed the experience.

@vertigo @jasper @yogthos Scheme is a lot leaner and easier to learn though.

Also forth and scheme are really about minimalism (although there's a lot of code that shows the opposite), and I have found stimulating effects in using both...

But then I also think that of Smalltalk....

@ckeen @jasper @yogthos Scheme is nice, but feels very incomplete to me -- the kind of language you'd write as a scripting tool. With Forth, the expectation is for you to write everything you need yourself, but Scheme seems to deter that way of thinking, and so feels at-odds with its own minimalism.

That said, given a Scheme and support for non-hygienic macros (because I just can't understand wtf hygienic macros are actually *doing*), I'd probably be quite happy.


@ckeen @jasper @yogthos

How does Scheme deter a "build it yourself" mentality? There are multiple textbooks using it as a basis for wholely different kinds of computation (Reasoned and Little Typer come to mind).


@endomain @ckeen @jasper @yogthos I think your interpretation of build-it-yourself and my interpretation are very different.

I'm taking the Chuck Moore interpretation, where Chuck discourages libraries, opting instead for the programmer to write their own primitives.

Scheme systems all have a packaging standard at the very least, which encourages exactly the opposite philosophy.

Β· Web Β· 1 Β· 1 Β· 1


@ckeen @jasper @yogthos

My take is that Scheme encourages you to build and combine novel languages to solve a problem. When used that way, it's a lot like Factor.

It's packaging system is primarily an affordance for it's use as a teaching medium. It bears little resemblance in most expressions to, say, Maven or NPM. It's there to help students get an environment to do homework in.

Sign in to participate in the conversation

Server run by the main developers of the project 🐘 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!