kayo_20211030 16 minutes ago

I understand the challenge, but is Graham (OP?) getting too caught up in how the code ought to look, rather that what it ought to do. I don't think it matters much initially how a piece of work looks as long as it does what's intended. Afterwards it does; particularly if you need to involve other developers, and to them, the idioms looks "strange". I'm not convinced that there's an ALGOL neurotype that's distinct from a LISP(?) neurotype. I think it's a bit of a spectrum like everything else.

twoodfin 19 minutes ago

Scheme was invented as a consequence of Sussman & Steele’s discovery that lexical closures in the lambda calculus had essentially an identical implementation to a fully elaborated version of Hewitt’s actor model.

I do wonder what a language with the same “taste” and minimalism as Scheme but embracing the actor model would look like. Erlang?

Even better if someone could figure out how to harmonize them in the same language: “There are exactly two ways to do it, and they’re interchangeable.”

  • mepian 11 minutes ago

    > I do wonder what a language with the same “taste” and minimalism as Scheme but embracing the actor model would look like.

    There is Spritely Goblins: https://spritely.institute/goblins/

varjag 18 minutes ago

I think it's the symptom of inadequate practice rather than some "language neurotype". Consider writing (yeah 2026 I know) a substantial project in Scheme from scratch.

  • Pay08 16 minutes ago

    Two websites don't sound like insubstanial projects.

Pay08 17 minutes ago

I was the same way (and still am somewhat, I can't get hygenic macros into my head) but due to the differences between Scheme and Common Lisp. What helped me was writing imperative code that Scheme people would surely scoff at, and gradually using more and more Scheme features as I kept writing. Then I refactored the whole codebase to look like the final few hundred lines.

veltas 26 minutes ago

Is it possible you're too stupid to write scheme? Because that's where I think I am, I've also tried and failed to write it a few times.

  • jfengel 10 minutes ago

    Programming languages, like natural languages, are tools for human beings, not computers. They work around the strengths and weaknesses of a human brain.

    It's not a question of being smart or stupid. It's whether the tool fits the task it's applied to and the affordances it gives the user.

    Scheme is intended more as a teaching tool than an actual language. Its simplicity is perfect for reasoning about programs. It's less well suited to practical tasks.

    About the only really difficult lesson of Scheme is if you use it as a purely declarative language. Imperative features are a natural affordance of the human brain. Working with them is beautiful and alien.