mrh

joined 2 years ago
17
submitted 11 months ago* (last edited 11 months ago) by [email protected] to c/[email protected]
[–] [email protected] 2 points 11 months ago

Common Lisp "solves" most language-level problems by providing metaprogramming capabilities via lisp-style macros. (Almost) any language feature you would want can be implemented with lisp macros, and many such features already have been. So you don't have to worry whether or not lisp has "for i in..." loops, or pattern matching, or generics, or virtually anything else, because if it doesn't, you can write it! Plus if it's really a good feature somebody has probably already made a library for it (if it's not already part of the standard).

One of the most extensive examples of this is Coalton, which is an ML-style statically typed EDSL for Common Lisp.

There are metaprogramming features in a few other languages: template haskell, C pre-processors, even macros in Rust or Julia. But these all fall very short of lisp-style macros because those languages are not (truly) homoiconic, which makes the macros awkward to write and integrate into the language. This kind of metaprogramming is rarely employed, and when it is only for heavy duty tasks, and even then is generally discouraged as a last resort/special circumstance. But lisp macros are very easy to write because it's the same as writing any other piece of lisp code. This results in macros being used often for smaller lightweight abstractions in the same way you write a small function.

The other big pro of lisp is image based development. But that's not so much solving a problem in other languages as it is simply a feature that they don't (and pretty much can't) have.

And all of this is done in a language with less syntactic and semantic primitives than almost any other language, including the other "simple" ones like Python, Ruby, Elixir, etc.

[–] [email protected] 3 points 11 months ago (1 children)

I understand the general job market, but what about lisp prevents you from pursuing personal ventures with it?

[–] [email protected] 7 points 11 months ago

Yeah Clojure is like the monkey's paw of Lisp weenies. It adds many modern day niceties that are lacking in standard Scheme or Common Lisp, but also changes enough things to make it feel very un-lispy. I go back and forth as to whether or not I even consider it Lisp (Richard Stallman doesn't).

But I do know that I'd rather write Clojure than any other non-lisp language.

I'd also recommend people try ABCL, which is Common Lisp on the JVM , or Parenscript which is Common Lisp that compiles to Javascript.

[–] [email protected] 38 points 11 months ago (7 children)

Lisp

It solves so many problems new languages have been invented to try and solve, while being simultaneously simpler than most

[–] [email protected] 2 points 11 months ago

oh no real controversy, the post just instantly received 2 downvotes and 2 upvotes, and I know some find Monolord drone-y/boring

[–] [email protected] 3 points 11 months ago (2 children)

monolord controversy I see 👀

[–] [email protected] 2 points 1 year ago
[–] [email protected] 3 points 1 year ago* (last edited 1 year ago) (1 children)

emacs org-mode meets all of these criteria

[–] [email protected] 1 points 1 year ago

I hope so! I love hooded menace. I was on the fence as to whether or not people on this sub would like to see death-doom. Maybe someone can make a post at some point gauging the temperature of what people wanna see in a "doom" community.

Or just wiat for people to get mad when someone posts sunbather.

[–] [email protected] 1 points 1 year ago

probably my favorite bell witch song (if not counting mirror reaper)

[–] [email protected] 1 points 1 year ago

Hell yeah I love HoF, one of my favorite bands of all time \m/.

Death is this communion is great, but my favorites are probably either this or their debut The Art of Self Defense.

view more: next ›