Live data from Hacker News

A Personal Lisp Crisis (2012)

blog.jacius.info

51–60 of 82 posts

Re: A Personal Lisp Crisis (2012)

#51
post #7

Earlier quoted context omitted.

Strong caveat about LLVM: it's not a good target for precise garbage collection, at a certain point the distinction between pointers and integers is lost. Fixing that would require diving into and writing a lot of C++, and I'd rather do that sort of work with a safe pointer language or drop all pretenses for the lowest level stuff.

I think a language like Clojure would have to go the ARC (Automatic Reference Counting, not the language) route. Whether that's even possible is another matter, but I agree that the LLVM memory management problem is an interesting one. Another question is whether there should exist a "sys lisp" that can form the lisp core of higher level lisps but that itself is not a garbage collected lisp. I don't immediately see a…

>> Another question is whether there should exist a "sys lisp" that can form the lisp core of higher level lisps but that itself is not a garbage collected lisp...

You may be interested in Henry Baker has a paper where he shows a VM where the semantics prevent garbage from being created http://home.pipeline.com/~hbaker1/LinearLisp.html

Re: A Personal Lisp Crisis (2012)

#52
post #41
post #37

Earlier quoted context omitted.

As someone who works for a scholarly text analysis company focused on in-depth & intricate understanding of what Judao-Christian authors meant, I concur with this. It is really hard to understate the volume of words and man-millenia spent reading and writing about these books. So not only is it possible to read your sacred book and still believe it, it's possible to read your sacred book and remaining fragments from…

Your description of "a scholarly text analysis company focused on in-depth & intricate understanding of what Judao-Christian authors meant" really piques my curiosity---I associate that sort of thing with academia (seminaries and religious studies departments, medieval studies, maybe a few classicists), not a (presumably for-profit) company. If you don't mind my asking, what company do you work for, and what do they…

Shoot me an email (in my profile) and I'll respond.

Re: A Personal Lisp Crisis (2012)

#53

First there are a lot of programmers who come to CL to debate. They read, they study, and then they complain. I've sat in #lisp since about 2007/8 and there have been numerous nicks that show up just to ask a few rather philosophical questions and debate the merits and technical decisions that went into CL. They usually end up leaving and writing blog posts about how terrible a language CL is and how caustic the comm…

> Edit: I meant to note that the reason the specification hasn't been updated, afaik, is because it doesn't have to be updated. All the tools you need to add the features you require are there in the spec. You can make it into the language you need.

That's a big part of the reason I haven't used CL for anything bigger than some toy projects.

It's a crusty, old language, and instead of keeping up with the times, everybody has to build the features they need. I can do that, or I can use language that has the features I need and that I don't have to assemble myself.

And to make it worse, it's hard to even use libraries that solve the problem, because nobody in the CL community can agree on anything. There's always a dozen incompatible solutions, and it's never clear which one should be used.

Re: A Personal Lisp Crisis (2012)

#54
post #32

Earlier quoted context omitted.

Am I the only one who thinks Clojure is extremely ugly, especially compared to CL? I work a lot with clojure, and it reminds me a lot of when I was forced a hack ruby. There is this guy, or even a group of people, who get caught up in the glamourous idea of reinventing programming. They then jerk their favourite features and design artifacts into a language. The main point of the design seems to be being able to expr…

Sort of. On the surface I find Clojure infinitely more ugly than true LISPs ... but if hairing up the syntax with vectors results in more adaptation its a price I'm willing to pay. On the other hand I'm really pleased at its making vectors, maps and sets first class syntactic citizens, and the other things that have unified them with lists. Underneath the hood I think there's no comparison, then again it addresses ex…

> well, no where can you assume TCO.

(recur ...) Is an ugly hack. Yes in CL you can assume TCO from good implementations.

You know you can add vector/map whatever syntax to CL in like 50 loc? Are you seriously saying that syntactic sugar is in any way relevant to anything? Let alone an important feature of Clojure? Thats just sad.

> car and cdr are neat, and even useful in combination,

Actually wether you call them car cdr first rest or whatever, it's actually about CONS or call it a pair if you like. A very simple but infinitely powerful datatype. This is the first thing I teach when I teach programming for a very good reason.

Re: A Personal Lisp Crisis (2012)

#55
post #44

This reminds me of my experiences with Plan 9. A very cool system, but it's managed to attract some of the absolute worst people in computing. Dare to criticize something and they'll leap down your throat. In the end, I just gave up. We tried to drag things kicking and screaming into the 21st century with source control, 64 bit kernel, automated builds and testing, etc. but nobody wanted it. On the other hand, the ma…

[deleted]

Re: A Personal Lisp Crisis (2012)

#56
post #44

This reminds me of my experiences with Plan 9. A very cool system, but it's managed to attract some of the absolute worst people in computing. Dare to criticize something and they'll leap down your throat. In the end, I just gave up. We tried to drag things kicking and screaming into the 21st century with source control, 64 bit kernel, automated builds and testing, etc. but nobody wanted it. On the other hand, the ma…

Maybe this:

On the other hand, the mailing list did get a lot of posts that kind of remind me of this: "Hi, I just started using Plan 9, where's emacs? Anyway I have a lot of great ideas on how to fix this OS so you should all start doing these things... I'll set up the wiki and write the newbie guide"

and this:

Dare to criticize something and they'll leap down your throat.

are related?

Re: A Personal Lisp Crisis (2012)

#57

First there are a lot of programmers who come to CL to debate. They read, they study, and then they complain. I've sat in #lisp since about 2007/8 and there have been numerous nicks that show up just to ask a few rather philosophical questions and debate the merits and technical decisions that went into CL. They usually end up leaving and writing blog posts about how terrible a language CL is and how caustic the comm…

> Edit: I meant to note that the reason the specification hasn't been updated, afaik, is because it doesn't have to be updated. All the tools you need to add the features you require are there in the spec. You can make it into the language you need. That's a big part of the reason I haven't used CL for anything bigger than some toy projects. It's a crusty, old language, and instead of keeping up with the times, every…

" There's always a dozen incompatible solutions, and it's never clear which one should be used."

Welcome to software.

While your other sentiment seems logical, if you actually look at it as a lisp practitioner, you'll find the answers to the questions you have relatively easy. You don't have to "update" the language, for many things you can just use it like any other.

The problem isn't that lisp isn't updated, but that there aren't enough of us to build the lisp django, or at least there aren't enough of us who want the lisp django for it to happen, so thats why web development in lisp is limited to using raw hunchentoot or microframeworks like Restas and Caveman/Clack(which are both pretty awesome btw). Other than a few minor tweaks, lisp really doesn't need updating. More/better libraries would be sufficient!

Can you give a couple of specific examples where you think lisp is behind the times and you are "forced" to implement whatever. I can think of maybe a handful of such instances(there isn't a really great STM, but we do have other awesome concurrency options as just one example), but the list of lisp features I miss in python(my day job) is 1-2 dozens at least(and If I had macros and CLOS I could probably half that list in a week or two :)

In other words if you are crazy enough to use lisp for useful projects, the language will help you, maybe you haven't tried? Maybe you have and just had bad luck. Some domains(GUI programming for example) aren't as well supported for example. Others are pretty ok.

Re: A Personal Lisp Crisis (2012)

#58
post #37
post #27

Earlier quoted context omitted.

Exactly. If I were a Christian distressed by things in what we call the Old Testament that I didn't find suitably addressed by Christian scholars, I'd certainly review the Jewish commentaries to see how they addressed those things. A heck of a lot of intellectual firepower, Jewish and Christian, has been focused on all these texts over a couple of thousand years (more by the Jews?), it would be foolish to abandon you…

As someone who works for a scholarly text analysis company focused on in-depth & intricate understanding of what Judao-Christian authors meant, I concur with this. It is really hard to understate the volume of words and man-millenia spent reading and writing about these books. So not only is it possible to read your sacred book and still believe it, it's possible to read your sacred book and remaining fragments from…

> It is really hard to understate the volume of words and man-millenia spent reading and writing about these books.

So much brain power spent on scriptures which are, in the light of current knowledge… improbable to say the least. Sounds like a huge waste of effort, really.

Take the Genesis, for instance. Currently, only creationist crackpots actually believe it. It's more of a symbol. It seems however that some centuries ago, every Christian, including the most knowledgeable theologians, believed it.

Instead of trying to explain why the text was written for a good reason, wouldn't it be simpler to just recognize, as our knowledge expands, that the Elders were simply mistaken about such and such point, an move on? Just archive the mistakes and strike them from the cannon already, it would be much simpler for everyone.

But I guess a religion that routinely admits its own mistakes wouldn't be very religious, now would it?

Re: A Personal Lisp Crisis (2012)

#59

First there are a lot of programmers who come to CL to debate. They read, they study, and then they complain. I've sat in #lisp since about 2007/8 and there have been numerous nicks that show up just to ask a few rather philosophical questions and debate the merits and technical decisions that went into CL. They usually end up leaving and writing blog posts about how terrible a language CL is and how caustic the comm…

> Edit: I meant to note that the reason the specification hasn't been updated, afaik, is because it doesn't have to be updated. All the tools you need to add the features you require are there in the spec. You can make it into the language you need. That's a big part of the reason I haven't used CL for anything bigger than some toy projects. It's a crusty, old language, and instead of keeping up with the times, every…

I don't really understand the, "crusty, old language," argument either. C++ became an ISO-certified specification in 1998 which is roughly around the same time that CL became an ANSI standardized language. We still use C in many systems for very valid reasons.

However unlike the C++ and ANSI C standards, the CL specification left room for programmers to extend the language as they need it. Instead of waiting for decades of expensive committee debates and meetings as you do with C/C++/ECMAScript/etc the programmers using the language in the field can go ahead and add the features they need and implementors can fill the gaps between new OSs and hardware. How is that bad?

Re: A Personal Lisp Crisis (2012)

#60
post #30

Earlier quoted context omitted.

Good point about CLOS, but for a lot of us who've gained an allergy to OO over the years, especially in its difficult relation to functional programming, that's of limited appeal unless you're working in one of the areas its fruitfully employed. Would have to look at it's condition system, it's been way too long.

Have you really looked into CLOS? Because IMHO it doesn't have much common with any of the OO systems in any of the mainstream languages.

Yes, I have, and starting from the Lisp Machine Flavors precursor. While I haven't used it in anger, it's in theory by far my most favorite OO system.

This is in part philosophical, the "prefer 10 data types and 90 functions that operate on them, often all of them" sort of thing, in part my horror at smearing behavior and data all over the place, and pragmatically, how that's much more of an imperative than functional approach. And functional is where its at for what I want to do. And experience in using OOSE to develop a greenfields system. That was utterly cool and amazing, but ... see my last sentence below.

Which is not to say that the next time I do a GUI I'm not going to use OO to model the widgets et. al. on the screen. I believe it has its place, but that it's used much more widely than makes sense.

Post reply on HN