"See yeah I'm sure your lisp is cool but my favorite programming language has *pattern matching* baked in"

*Quietly scoops a handful of earth from the ground, squeezes while concentrating for half a second, a pattern matcher falls out, fully formed*

"God damnit this is why everyone hates you guys"

@cwebber honestly I used to think this too, but after spending decades in Clojure where the fact that it's not baked in means that every time you want to do something halfway decent in a new codebase you have to argue with your coworkers about bringing in a third-party library ... it's just not worth the headache of leaving it out of core

racket made the right call; make it built-in, let everyone benefit

just because it's technically possible to do in userspace doesn't mean you should; it's as much a community/convention/style problem as a technical one

@technomancy Yes but your language doesn't need to bottom out in a pattern matcher, and the next time a good idea akin to a pattern matcher is worth exploring, you don't need to extend the core language to explore that idea space

@technomancy That is why Goblins was based on scheme: exploring a new idea space is easy. Lisp is clay.

But I agree of course that having standard libraries is Good, Actually.

@cwebber @technomancy But Racket is far more of a clay than Lisp. #lang is the clay that Lisp wishes it had.

@shriramk @technomancy I will actually argue that #lang tends to be less clay than most lisp solutions. "#langs don't compose"

@cwebber @technomancy You can if you stick to the Lispy bits like macros. If you go beyond it, then of course not. I don't know how one can "automatically" compose #lang datalog with #lang scribble, for instance. You'd have to define that composition manually.

@cwebber @shriramk @technomancy clay also doesn't compose so that's not a flaw in Shriram's analogy.

@elfprince13 @shriramk @technomancy not sure what you're talking about. Clay is about as compositional of a medium as you can get, before firing at least.

@cwebber @shriramk @technomancy it's not just that it stops being composable once fired, the firing process itself will trash sculptures that were poorly composed from separate pieces...

Follow

@cwebber @shriramk @technomancy but even without firing, let's say you have a horse sculpture and a human sculpture, and you want to compose them (some slicing allowed) into a centaur without destroying the existing detail on the human torso or the horse body....that's possible, but definitely not by any means easy.

· · Web · 0 · 0 · 0
Sign in to participate in the conversation
Mastodon

General topic personal server.