Generic function interface to standard Common Lisp functions (by alex-gutev)


Basic generic-cl repo stats
5 months ago

alex-gutev/generic-cl is an open source project licensed under MIT License which is an OSI approved license.

Generic-cl Alternatives

Similar projects and alternatives to generic-cl

  • GitHub repo reagent

    A minimalistic ClojureScript interface to React.js

  • GitHub repo magicl

    Matrix Algebra proGrams In Common Lisp.

  • GitHub repo inlined-generic-function

    Bringing the speed of Static Dispatch to CLOS. Succeeded by

  • GitHub repo static-dispatch

    Static generic function dispatch for Common Lisp

  • GitHub repo specialized-function

    Julia-like dispatch for Common Lisp

NOTE: The number of mentions on this list indicates mentions on common posts. Hence, a higher number means a better generic-cl alternative or higher similarity.


Posts where generic-cl has been mentioned. We have used some of these posts to build our list of alternatives and similar projects - the last one was on 2021-04-16.
  • Static-Dispatch 0.5: Improved inlining on SBCL and performance improvements for generic-cl
    Release 0.5 adds a specialized implementation for SBCL which leverages the compiler's type inference engine, using DEFTRANSFORM, to allow for generic function inlining in a much broader range of scenarios. Any generic function call for which the types of the arguments can be determined by SBCL, can now be inlined by static-dispatch. This means even generic function calls with arguments consisting of complex expressions can be inlined. This also provides a performance boost for generic-cl where theoretically on SBCL, generic-cl:= should be equivalent in performance to cl:= in most cases where the type of the argument can be vaguely inferred by SBCL.
  • State of the Common Lisp ecosystem, 2020 | 2021-02-08
    > Common Lisp's worst feature is that it feels like just about everything imaginable has a catch.

    You've put into words something I've struggled with saying for a while, and the exact reason I could never really enjoy working with Common Lisp.

    The example I always return to is the lack of pervasive use of CLOS throughout the standard. Something like generic-cl[0] feels like it should be a baseline part of the language. As it is, it's a great library. But people are hesitant to even use it, because the result of making everything generic is a loss in performance!

    Maybe you could use something like [1] to regain it, but to my knowledge there's no easy distribution to simply import and have it immediately usable. All this results in that, as you geniusly put it, "bad mouthfeel".


    [1] | 2021-02-08
    If you want to regain performance, add-in type declarations, cl-generic will inline its functions:
  • Re-export renamed symbols from other packages.
    This example makes me think of generic-cl: