Live data from Hacker News

How Lisp is Going to Save the World

landoflisp.com

191–200 of 239 posts

Re: How Lisp is Going to Save the World

#191

Earlier quoted context omitted.

Is there a open source Common Lisp library that you'd like to see better documented? Also, if you're (or anyone else is) interested in working on a Common Lisp environment tutorial, shoot me an email. I've been working on one but haven't launched it yet.

I would love to see cffi, opengl and one of the gtk binding libs have better documentation.

I don't know CFFI well enough to take a stab at it. The github manual has a lot of words in it, afaict. :-)

However, I've been longing for getting one of the GTK bindings working for me; when I do that I'll contribute back some docs.

Re: How Lisp is Going to Save the World

#193

Earlier quoted context omitted.

This is how false misperceptions are spread. I'd ask you to mention a lisp library which you use but find under-documented (as another reply already has), but I don't think anyone with actual first-hand knowledge of the CL ecosystem would make this comment (even though I'm sure it recieved many enthusiastic if uninformed upvotes). Lets look at some popular libraries with documentation. - Alexandria http://common-lisp…

"I don't think anyone with actual first-hand knowledge of the CL ecosystem would make this comment" I'll make that statement, but only in a somewhat pedantic sense about the language standard itself. Yes, I know CLTL2 is over a thousand pages long, but the one thing about programming languages that always bothers me is undefined behavior . Sadly, even Common Lisp has undefined behavior; Paul Graham's book On Lisp act…

The undefined behavior in the Common Lisp specification was a design choice. It has nothing to do with 'good' or 'bad' documentation. Common Lisp was designed from 1981 on. The Lisp community (here the successors of Maclisp) went to explore a lot of new ground: implementations on mini computers, mainframes, super computers, parallel machines, microprocessors, stack architectures, on top of other programming languages like C, etc. There were small and stupid compilers, optimizing compilers, whole-program compilers, ... It was a time of experimentation. At that time a lot of behavior was not defined to allow compiler writes to explorer different types of implementations. With the knowledge of a decade later some of that could have been defined more precisely, but then the standardization process ran out of steam due to lack of funding and interest.

Using SETQ on an undefined variable may be undefined in the Common Lisp standard, but every implementation deals with that and allows it. That's a non-issue. There are a lot of other things which isn't defined in the standard and which all implementations deal with. Garbage Collection. Also not in the standard, but every user expects garbge to be collected.

It would be nice to have less undefined behavior, but it has nothing to do with good or bad. It was useful in a time of experimenting.

Even worse for Common Lisp was that in 1981 there wasn't yet an OOP system for Lisp that was explored and accepted. This way CLtL1 was defined without an object system and it had later to be added (CLOS).

Re: How Lisp is Going to Save the World

#194

I love lisp. I use/used it to build my web service product[1] and anything else I can. =how do I do X?= java: something similar to X is already done in Y. add abstract class and redo X and write Y. +200 LOC lisp: something similar to X is already done in Y. realize you can generalize X and Y into a new pattern and use it for ABC too. -70 LOC =there is a bug in function X= java: open X.java. edit line. restart program…

look I like lisp as much as the next guy, but you can "spend two hours" reading java code, write a unit test; eval said test and then woohoo! You can do that in basically any modern language.

And your first example is something that most modern languages are sold on. The truthiness of those statements can be debated, but your examples are flawed to say the least.

Point is: you can generalize and write unit tests in any language.

Re: How Lisp is Going to Save the World

#196

Earlier quoted context omitted.

Is there a open source Common Lisp library that you'd like to see better documented? Also, if you're (or anyone else is) interested in working on a Common Lisp environment tutorial, shoot me an email. I've been working on one but haven't launched it yet.

I would love to see cffi, opengl and one of the gtk binding libs have better documentation.

...And cffi is one of the better documented libraries, I have used it quite a bit and have had very little trouble working it out.

Re: How Lisp is Going to Save the World

#197

I love lisp. I use/used it to build my web service product[1] and anything else I can. =how do I do X?= java: something similar to X is already done in Y. add abstract class and redo X and write Y. +200 LOC lisp: something similar to X is already done in Y. realize you can generalize X and Y into a new pattern and use it for ABC too. -70 LOC =there is a bug in function X= java: open X.java. edit line. restart program…

I'm foraying into the lisp land for the first time with SICP, and the one thing that bothers me the most is that Scheme is so hard to debug. As a Python programmer who is used to just used to print debugging, this becomes very frustrating very early on.

Re: How Lisp is Going to Save the World

#198
post #68

Great story. Unfortunately, the API documentation and tutorial writing guilds went extinct decades ago and has never been able to return to Lispland. :)

Seriously, this is a great point. One of the big problems with a small community of programmers who all think of themselves as elite, is that tasks like documentation and tutorial writing go by the wayside. This comment should be a wake-up call to any smart and far-sighted individuals who want to promote a language.

[deleted]

Re: How Lisp is Going to Save the World

#199

With the deepest reverence to John McCarthy, I regret to say that Lisp is our cosmological constant. It creates a static universe that is otherwise expanding; it reduces the problem to a solvable one and then declares victory. The truth is, it's all state. All of it. Remember that movie "Boy in the Plastic Bubble," about a boy with an immune system deficiency who lives instead a hermetically-sealed, sterile bubble? T…

"The truth is, it's all state. All of it." The problem is not state. The problem is being able to recreate the state: both for testing and for business purposes. The bigger problem is that most programmers, like you, are knee-jerking before the issue of "recreating the state" and declaring that "It cannot be done, because it's all state" . And hence we have both languages who are build by considering mutability to be…

To me state is what makes lisp hard, every time I look at lisp code (scheme via guile) I need to interpret it in my head to figure out the state. And certainly the set! doesn't help.

Lisp puts a heavy burden on the individual programmer, and its benefits can be achieved with better planning and engineering with the standard C++ toolkit. Yet, it is not easy to achieve the advantages of C++, such as performance, parallel execution, low level with lisp.

Lisp is nice for the few who have small projects, big brains, and little time, but by tightly coupling the problem to the code (with no performance benefit) it creates a unstructured nonsense that nobody but the author can understand.

Re: How Lisp is Going to Save the World

#200

Earlier quoted context omitted.

I would love to see cffi, opengl and one of the gtk binding libs have better documentation.

The opengl bindings don't really need documentation, as they're automatically generated to mirror the C API. Really, if you want to know how to use `cl-opengl`, you memorize a simple naming convention and the rest is a matter of "how do I use OpenGL," not "how do I use cl-opengl?"

That's great, but I haven't learned C. Besides that, leveraging documentation from another language is a hack. As it stands, there isn't documentation around for learning to create 3d graphics without needing to know other languages first.
Post reply on HN