Dear Lisp pro,
I think it is time for us (the Lisp professionals) to do a better job at curating libraries.
Now that, thanks to Quicklisp, people aren't afraid from using libraries anymore, we find that there are too many libraries for any given problem domain, yet that most of these libraries do a bad 80% job max (sometimes 50% or less). Moreover, navigating which of these libraries makes most sense to use is hard.
Ideally, we'd have a one distinguished library providing a 100% solution for any such domain, that we could use and recommend, and that would have an easily recognized name.
For instance, regarding pattern-matching libraries, I'd like to retire fare-matcher, and after migrating any remaining useful functionality (such as fare-quasiquote), recommend that all users should use optima instead. I would similarly push toward the retirement of all other pattern-matching libraries but one. That one library could then be called "pattern-matching" and use the package "pattern-matching".
Similarly, I'm trying to push for a single data structure library. This time, I'm putting forward my own Lisp-Interface-Library (aka LIL) because I think it has much more potential than other libraries, including some with a lot of existing data structures (such as cl-containers): Indeed, LIL can accommodate both pure and stateful data structures, in both Interface-Passing Style (IPS) and traditional Object-Oriented Programming (OOP), with automatic mapping between the four combinations. Moreover, its IPS allows for parametric polymorphism, which wasn't previously available in CL, and is great to bootstrap new data structures.
I'd like to invite you to join me in this effort. Whichever libraries you use or maintain, please partake in this consolidation effort.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org The problem with being a citizen of the world is that you don't get to travelling abroad much.
On Sun, Oct 28, 2012 at 2:50 AM, Faré fahree@gmail.com wrote:
I'd like to invite you to join me in this effort. Whichever libraries you use or maintain, please partake in this consolidation effort.
As discussed, am looking at the data importers ((text)-file or system to CL array, i.e. the prototypical CSV to CL-array importer), and would be happy to work with others who want to take a lead on this topic (I'm aware of 5-6 blog posts over the past few years to review as part of due diligence, and 5+ different systems which range from simple importers to a bit more sophisticated state machine parsers...)
I eventually need something like a unified version of R's foreign package (unified with the other data importer and exporter packages), but of course, need to start somewhere, and somewhere is with CSV, TSV, and similiar delimiter-separated-values (DSV).
best, -tony
blindglobe@gmail.com Muttenz, Switzerland. "Commit early,commit often, and commit in a repository from which we can easily roll-back your mistakes" (AJR, 4Jan05).
Drink Coffee: Do stupid things faster with more energy!
On Sun, Oct 28, 2012 at 4:25 PM, A.J. Rossini blindglobe@gmail.com wrote:
On Sun, Oct 28, 2012 at 2:50 AM, Faré fahree@gmail.com wrote:
I'd like to invite you to join me in this effort. Whichever libraries you use or maintain, please partake in this consolidation effort.
As discussed, am looking at the data importers ((text)-file or system to CL array, i.e. the prototypical CSV to CL-array importer), and would be happy to work with others who want to take a lead on this topic (I'm aware of 5-6 blog posts over the past few years to review as part of due diligence, and 5+ different systems which range from simple importers to a bit more sophisticated state machine parsers...)
I eventually need something like a unified version of R's foreign package (unified with the other data importer and exporter packages), but of course, need to start somewhere, and somewhere is with CSV, TSV, and similiar delimiter-separated-values (DSV).
Speaking of CSV, a few years back I reviewed the existing offering and beefed up my fare-csv library which was lagging behind so it was better than all other available CSV libraries (at the time): fare-csv can be configured to be compliant with at least two conflicting CSV standards, and more, and by default follows the more relaxed "Creativyst" specification.
I haven't followed recent developments, but there as in other cases, someone who actually develops or uses these libraries should drive a consolidation.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org You cannot teach a man anything; you can only help him find it for himself. — attributed to Galileo Galilei