• person rss_feed

    Michał "phoe" Herda’s feed

    Blog

    • chevron_right

      Answers from 2017 Common Lisp experts - Open source

      Michał "phoe" Herda · Sunday, 23 December, 2018 - 11:35 · 2 minutes

    (This is a repost of an old blog post of mine from Teknik. This blog post was split into multiple parts to accomodate for Movim's size limitations; use hypelinks in the table of contents to navigate.)


    Are there serious open source efforts to modernize documentation?

    defaultxr

    Yes. You may be interested in the Common Lisp UltraSpec project.

    Aidenn0

    Yes, the CLHS is not available under a permissive license, but the original specification (technically final draft specification) is. One effort I'm aware of is here.

    phoe

    Yes - the effort started by me is Common Lisp UltraSpec that has been rather stagnant for the last few months as I've been busy with other projects and so-called real life. But, the projet is somewhat lively despite its slowness.

    Hexstream

    There's a modern CLOS MOP rendition project underway. Unfortunately this thread is the best thing to link to about this right now, but I think it's very relevant to the question.


    Are there serious open source efforts to modernize libraries?

    defaultxr

    There are plenty of people working on new libraries for Common Lisp. There are also projects to update older libraries. For example, there was recently a big fundraiser to update McCLIM, a native Lisp GUI toolkit. The fundraiser was successful and there have been regular updates posted by the leader of the project about the progress being made.

    lispm

    You might want to clarify this a bit.

    As a possible partial answer to your question: CL code has a tremendously long 'shelf life' when compared to "modern" languages. Because of the standard, code written tens of years ago or more will, more often than not, work just fine, assuming it was written for a lisp that conforms to the standard. External dependencies of course change, so ymmv, but the code will be no less correct because of its age.

    alcahd

    Change happens slowly in the Lisp world, but at least part of that is because it's much older than other language families and many of those software design practices were already tried decades ago. Sticking with Lisp helps inoculate you against some of the more illusionary change in other languages, i.e. parading features that were already well known in the 80s.

    phoe

    Why modernize them? Are they broken or outdated? If they need maintenance, why not call it "maintaining them" instead of "modernization"?

    A part of why Common Lisp as a language is beautiful is that portable Common Lisp code written 20 years ago is expected to work in exactly the same way in contemporary Common Lisp implementations.

    Hexstream

    In a way, any libraries that are in Quicklisp can be said to have a certain level of "modernity", as at least they're guaranteed to use ASDF, the current de-facto standard build system. They've at least been passingly looked at and built by someone in the last ~7 years, which given the relatively slow-moving Common Lisp ecosystem, is in some ways not that long ago. Although not all Quicklisp libraries may be actually suitable for use, for most people it can generally be assumed that any libraries that have been around for a while and are not in Quicklisp probably need some updates and can probably be ignored.


    Are there efforts to encourage open source contributions?

    phoe

    One specific thing I know: some projects, such as McCLIM, have set up bounties for solving identified problems and lacks within their codebase.

    Aidenn0

    common-lisp.net exists largely for this purpose.