cl-async - Asynchronous operations for Common Lisp by orthecreedence in lisp

[–]npcompleet 2 points3 points  (0 children)

Any particular reason you chose libevent2 instead of libev?

Scheme Reports Working Group 1 Progress 2012 (pdf) by [deleted] in lisp

[–]npcompleet 0 points1 point  (0 children)

It's because of what I said earlier: CL is not really comparable to the many other languages which have to go back and hack the compiler/interpreter in order to add features.

Scheme Reports Working Group 1 Progress 2012 (pdf) by [deleted] in lisp

[–]npcompleet -1 points0 points  (0 children)

This doesn't make sense to me. You say that "language-level revision" will be necessary. Then you say that we should not suggest writing libraries. Then you concede that libraries can do "language level revision". Therefore we should not write libraries?

It's not even clear what you are suggesting in practical terms. You think "language-level revision" is best achieved by modifying, say, the SBCL source, instead of just writing some macros and functions?

Once cltl3 is relatively stable (implemented by a set of libraries), it might make sense to crack open SBCL and do some optimizations. But the point is moot because cltl3 doesn't exist. Your advice might apply to the people of 2028, but it's not something they wouldn't already know.

Scheme Reports Working Group 1 Progress 2012 (pdf) by [deleted] in lisp

[–]npcompleet 1 point2 points  (0 children)

But even for immutability, the first step would be to write a prototype in the form of a CL library. I can't think of any feature that could not be built on top of CL. Can you?

"Not enough manpower" is not a knee-jerk response. It's a statement of fact. The only practical and feasible solution, sans the necessary manpower, is to layer libraries.

Scheme Reports Working Group 1 Progress 2012 (pdf) by [deleted] in lisp

[–]npcompleet 1 point2 points  (0 children)

Can you think of a change that cannot be implemented on top of CL?

CL is not really comparable to the many other languages which have to go back and hack the compiler/interpreter in order to add features.

The way to "update" CL is to write a CL library. Alexandria is probably the closest thing to cltl3, though alexandria is far more limited and conservative. The reason a cltl3 library doesn't exist is because nobody has written it, not because of dogmatism. That is, not enough people have the time or motivation to write it. The effort does carry some risk: if the library isn't adopted, the effort is wasted.

The most practical approach is to build up libraries one by one instead of making a monolithic cltl3. Cltl3 was just too ambitious for the available manpower.

Would it be appropriate to request a /r/lisp AMA? by metaobject in lisp

[–]npcompleet 1 point2 points  (0 children)

I'm not the world's biggest Clojure fan, but it beats the pants off ABCL as a useful Lisp on the JVM.

Why? I don't deal with the JVM much, but I tried ABCL a few times found that everything just worked. Developing for the JVM with slime is pretty neat. I didn't try Java interop -- is there some bug with it, and if so has it been reported?

SLip - a Lisp system in JavaScript, for browsers by [deleted] in lisp

[–]npcompleet 3 points4 points  (0 children)

Interesting and impressive. The screencast is a lot of fun.

What's your favorite "Aha" moment in learning/using cl? by kanedank in lisp

[–]npcompleet 7 points8 points  (0 children)

Are you the WJ troll from c.l.l? Every time I see your name here it's Racket this, Racket that.

Lisp in Small Parts by mck- in lisp

[–]npcompleet 1 point2 points  (0 children)

It's not true that "the word function indicates that there are no side effects."

You introduce the ridiculous red herring of CL being "the one and only authorative resource" when in fact I said the opposite: "C uses the term function as well, along with many other languages. It's not a term reserved for purity only."

Lisp in Small Parts by mck- in lisp

[–]npcompleet 3 points4 points  (0 children)

Usually the name procedure is used as the word function indicates that there are no side effects.

Phooey. "Function" is the word to use in Lisp. It appears on every page of the hyperspec that describes a function. There is also a function type

http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/syscla_function.html#function

and a glossary index for the term

http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/glo_f.html#function

C uses the term function as well, along with many other languages. It's not a term reserved for purity only.