7 ms·
Quicklisp - The upcoming solution to Common Lisp's "library problem"
- mkramlich 16y agoI've heard Clojure described as a solution to that, because you get access to every Java library, and in Java there's pretty much a library for every modern-ish need.
- prototype56 16y agoClojure also seems to have lot more momentum behind it.
- runevault 16y agoClojure is my first choice language for new projects, but improving other options in the Lisp space is a Good Thing. I prefer the idea of having more than one making headway outside the hardcore programming lovers, if that's possible.
- mkramlich 16y agoPython is still my GOTO language for Getting Things Done but the two new technologies that have gotten me most excited recently have been Clojure and Arduino. I'm a newb with respect to both I look for more excuses to use them everyday.
- rick_2047 16y agoBut this[read half baked libraries] is true with libraries in all languages Really? Rails, DJango, qt, SciPy, need I go on?
- vorador 16y agoWell, good libraries like those don't appear overnight, and a good environment for developers, with good tools, is proven to attract developers.
- tjogin 16y agoLisp has been around for a lot of nights.
- zachbeane 16y agoThe pattern I've sometimes seen in the CL community (and others) is the notion that "Well, if thing was so great, somebody would probably have created it for me by now." It actually takes individual effort and creativity to make progress - useful things don't just spring up out of nowhere. Someone made SLIME. It took until this century to do it. People get used to their working environment, and find ways to solve problems even in the absence what, in hindsight, are amazingly useful tools. When you pitch something new to people, they basically have to imagine to some degree how their life will be improved with it. (Will Wright talked about this regarding videogame box design and The Sims. People pick up a box and then have to basically design the game themselves in their head and imagine how much fun, or not, it would be.) Anyway, I hope Quicklisp will be an easy sell, because I think it works pretty well where everything before it has worked pretty poorly. It won't take a lot of imagination to see that.
- gaius 16y ago"Well, if thing was so great, somebody would probably have created it for me by now." If you play this game in the Perl or Python or Java communities, you get a very different average than Lisp. Not saying that that's a good or bad thing, mind, but it is true.
- zachbeane 16y agoIt's a good way to get complacent in any environment.
- draven 16y agoThe statement was many of the open source libraries written in Common Lisp are half-baked, incomplete, unmaintained and tasteless. Qt, Scipy/Numpy and others are amongst the best libs available for their target language, but many other are really bad. It's just that the natural selection has been occurring for a longer time and the total libs population is bigger. Also when developing a lib in eg. Python, it's easier to get feedback as there are potentially many more users. EDIT: formatting
- lelele 16y agoCommon Lisp implementations already come with heaps of libraries: just grab a commercial one. Do you think programming languages _must_ be free? You lack a business mindset, I think. Commercial programmers are willing to pay for languages which make their jobs easier. People have always be willing to pay for CL. Would have they be willing to pay for Ruby or Python when such languages came out? I don't think so. EDIT: Free implementations thrive and grow because they are free (as in free beer) even when they start - or are - lesser. That does not mean not having a bells and whistles free implementation is a measure of a language's worthyness.
- viraptor 16y agoVoted down, since this is both wrong and flamebait-ish IMO. Ruby / Python people willing to pay for a good environment? Have a look at http://www.activestate.com/activepython http://www.activestate.com/activepython or other activestate software. It's not a separate language as such, but they do create enough of their own environment setup in just the right way, to consider them comparable. Noone said that languages must be free. Then again - it makes the development so much easier, since it enables communities that know the technology rather than a specific product and are not lost when they don't have access to their one true compiler/ide/whatever. Times of paying for your compiler are long gone. Most of the really creative compiler improvements lately came from OSS anyways. Actually - can you think of any closed-source general programming compilers that matter? Apple likes Clang, but it's still OS. ICC is not useful unless you only want to support intel chips. I'm aware of specialised compilers - yeah - most of the VHDL and similar are proprietary and commercial. But as soon as you need special hardware, your random audience goes down to ~0 pretty quickly, so there's no point in having the language free.
- lelele 16y agoNot being a native speaker and thus maybe sounding harsh is not flamebaiting. > Ruby / Python people willing to pay for a good environment? I didn't say Ruby and Python aren't worthy languages _now_. I've said they were when they started. Yes, now that they have gained a big community, they enjoy lots of support from companies as well. > Noone said that languages must be free. This is implied whenever people say that CL has poor libraries because _free_ CL implementations have poor libraries, whenever developers weren't interested in some areas (web development, for instance). OTOH, how do Ruby and Python stack against CL when in comes to AI libraries? I hope we agree that free CL implementations in themselves are very good quality, anyway; even more so if you consider how little their community is compared to mainstream languages. > Actually - can you think of any closed-source general programming compilers that matter? MS Visual C++ coming to mind? However, that's not the issue. I was arguing that CLers willing to pay for their environments when they could just grab another free language should tell us something. Peace.
- mahmud 16y agoQuickLisp is the future of Lisp. I knew that after I tried it for ~15 minutes, long before it was announced to the public (I must have been the user #4.) I am currently testing it with ABCL. Common Lisp on the JVM. I would say about 80% of Common Lisp libraries work on the JVM unchanged, and the rest (CFFI/UFFI stuff) we're patching them manually. It's pretty sick stuff. It's Lisp, but it can call 100% of Java libraries. I made a quick "breadth-first" conquest of Java libraries and I seem to be able to use everything; J2SE, J2EE, Android and JavaFX. I am still learning Java, but I can safely say that Java apps and libraries are almost 100% usable via Lisp.
- cageface 16y agoThe babel of incompatible CL implementation is going to trip this up right out of the gate. The future of Lisp, if it has one, is Clojure.
- cageface 16y agoAlso, as an aside, I wish I could expect more of the HN readership than a cowardly downmod with no response. If you disagree with somebody, say so and take the time to formulate a counter-argument. Save the downmods for things that are offensive or completely off-topic.
- mahmud 16y agoTrolling does not entitle you to intelligent responses. "The future of Lisp, if it has one, is Clojure." It's not the Clojure part that got you downvoted, as that would have been a valid argument, seeing how sweet clojure is. I think it's the "if it has a future" part. Anyone even remotely aware of programming languages will tell you Lisp has a future, in the same way Algebra does. It's the simplest representation of computable functions, and it has existed, on paper, at least since 1930, and as an implementation since 1958. It's a gateway drug to lambda calculus ,combinatory logic, complexity theory, computable functions and CT, the entire FP field, symbolic logic, formal semantics, compiler construction, and a host of other non-sexy, but essential fields of study.
- 16y ago
- pietrofmaggi 16y agoQuicklisp Lisp screencast in two parts: http://www.youtube.com/watch?v=11wYPAy9qNw http://www.youtube.com/watch?v=11wYPAy9qNw http://www.youtube.com/watch?v=aA5aeG-sdqY http://www.youtube.com/watch?v=aA5aeG-sdqY
- agentultra 16y agoCan't wait to try it... yet another "solution" to the problem. Lispy, mudballs, cl-build, etc... there are lots. Most of them seem to just download the source from some repository and stop once it builds. It's a step up from the manual or scripted process from before, but it's hardly anything on the scale of CPAN. It's probably too much to ask, but I'd love to see something like an actual CPAN for Lisp. A centralized, mirrored archive network. Standardized package meta-data. Standardized documentation tools. Author verification that doesn't require the users to store individual author keys on their rings. But I suppose the reason it hasn't been done is: 1. Lispers don't care/need/desire it 2. It would take a significant group effort and most people would rather be hacking something else 3. What we have works well enough that it doesn't justify the effort to go that last 10% Still... one can dream (and I'd throw in my hat to help too).
- zachbeane 16y agoQuicklisp does have a centralized location for archives (hosted on S3), and it statically extracts a lot of useful metadata about project contents and relationships. I'm trying to work with what's available without asking for cooperation from authors. I have lots of ideas for more metadata that can be gathered automatically or semi-automatically. It should be straightforward if time-consuming to set up automatic testing, even if it's as simple as "Does library foo compile and load on implementation bar on operating system baz?" Same with gathering data to answer questions like "What foreign libraries are needed for this project?" or "What is the license for this project?" If you'd like to give the early version a try, drop me an email (xach@xach.com) or visit freenode #quicklisp.
- agentultra 16y agoWill do. Maybe testing can just start with a TAP library. POD-like documentation would be a little harder with reader-macros. Maybe a syntax can be defined that doesn't step on too many toes... Either way, I'll be taking a look at it ASAP. Cheers.