addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscrossdots-three-verticaleditemptyheartexporteye-with-lineeyefacebookfolderfullheartglobegmailgooglegroupshelp-with-circleimageimagesinstagramFill 1linklocation-pinm-swarmSearchmailmessagesminusmoremuplabelShape 3 + Rectangle 1ShapeoutlookpersonJoin Group on CardStartprice-ribbonShapeShapeShapeShapeImported LayersImported LayersImported Layersshieldstartickettrashtriangle-downtriangle-uptwitteruserwarningyahoo

LIL: Lisp Interface Library by François-René Rideau

LIL: CLOS reaches higher-order, sheds identity, and has a transformative experience

 

LIL, the Lisp Interface Library, is a data structure library based on Interface-Passing Style. This programming style allows both parametric polymorphism (like ML functors) and ad hoc polymorphism (inheritance and mixins): CLOS generic functions take as first argument a first-class interface object, and plain data structures as other arguments. As compared to
traditional object-oriented programming, interfaces typically lack identity and state, while they manipulate data structures without intrinsic behavior. It becomes as easy to use pure functional persistent data structures without identity or state as to use stateful imperative ephemeral data structures.


Judicious Lisp macros allow developers to avoid boilerplate and to abstract away interface objects to expose classic-looking Lisp APIs. Using only a very simple linear type system to model the side-effects of methods, it is even possible to transform pure interfaces into stateful interfaces or the other way around, or to transform a stateful interface into a traditional object-oriented API. The result is a library that really feels like the right way to specify data structures, and that compares favorably with equivalent libraries in Scala, F#, and other non-blub languages.

This presentation will be an update of a presentation given in October 2012 at ILC'2012.

https://github.com/fare/lil-ilc2012/

https://github.com/fare/lisp-interface-library

 

François-René Rideau is a cybernetician: one who thinks in terms of the dynamics of human and computer systems, what is conserved when change happens, and what varies according to what evolutionary pressures. His first software organization principle is that he who writes the code, he who knows the topic, and he who cares about the results should be the same person — otherwise the software and the people both are badly organized. He worked at
ITA Software where he became the Common Lisp build guy and notably rewrote ASDF
and curated QITAB; he recently joined the build team at Google. But he never forgot his old TUNES project to reinvent computing.

 

http://fare.tunes.org/

http://fare.livejournal.com/

http://twitter.com/fare

http://www.facebook.com/fahree

http://tunes.org/

http://common-lisp.net/projects/asdf/

http://common-lisp.net/projects/qitab/

 

Join or login to comment.

  • François-René R.

    LIL: CLOS reaches higher-order, sheds identity, and has a transformative experience http://youtu.be/kV63Mf5Qb2Q 90' video rehearsal presentation

    January 29, 2014

  • Jonathan R.

    Off by one error in French: rez de chausse, premiere etage , deuxieme etage, ...

    January 14, 2014

  • Joe G.

    Bad weather

    January 14, 2014

  • Brandon B.

    This is a super interesting topic, so I'm bummed that I'm going to miss this! If you're wondering whether you should go to my talk at Axial tonight or to this talk: Go to this one! My talk is going to be for lisp/clojure beginners; LispNYC folks would surely be bored. But feel free to send your not-lisp-converted friends my way :-)

    1 · January 14, 2014

  • nick c.

    Cant make tonites gathering.

    January 14, 2014

  • nick c.

    Sounds like a hoot

    January 12, 2014

  • François-René R.

    If you've already read the paper, there is obviously less to learn, though you might have questions about details.

    I don't know if I'll have time to discuss the new asdf-package-system (one file, one package, one implicit system) that I've adopted since last year.

    In any case, I still think my presentation is fun, and you're welcome to join.

    2 · December 14, 2013

  • Markus S.

    The paper was sweet. Worth coming if we've read it already?

    September 13, 2013

Our Sponsors

  • NYI.net

    Colocation and hosting in downtown Manhattan

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy