generic-cl

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

Generic-cl Alternatives

Similar projects and alternatives to generic-cl

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

Suggest an alternative to generic-cl

generic-cl reviews and mentions

Posts with mentions or reviews of generic-cl. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-01-15.
  • Modern sequence abstractions
    4 projects | reddit.com/r/Common_Lisp | 15 Jan 2022
    Does generic-cl work for you? In recent months, u/alex-gutev worked on it to separate it out into smaller subsystems.
  • Common Lisp polymorphic stories.
    13 projects | reddit.com/r/lisp | 4 Nov 2021
    Anyway, this library is inspired by https://github.com/alex-gutev/generic-cl and provides polymorphic versions of many common standard functions based on types. For example, now `>` and `<` work on characters and strings as well, and `at` is a universal by-key accessor for all data structures (`aref` + `nth` + `gethash` + some more). It also tries to be as strictly typed as possible, resulting in compile-time errors/warnings in case types are mismatched. Types do not always need to be declared, they can be inferred thanks to excellent https://github.com/alex-gutev/cl-form-types by Alex Gutev. Besides that it includes a collection of useful macros for more "typey" style of coding as well as several data structures I consider missing from the standard. The structures are templated -- which means there's a structure type generated for each contained element-type.
    13 projects | reddit.com/r/lisp | 4 Nov 2021
    Compared to generic-cls equality generic here: https://github.com/alex-gutev/generic-cl/blob/master/src/comparison/equality.lisp
  • alex-gutev/cl-form-types - Library for determining the types of Common Lisp forms based on information stored in the environment.
    2 projects | reddit.com/r/Common_Lisp | 2 Jun 2021
    Thanks for sharing. I'm planning to use it in static-dispatch to further optimize generic function calls in generic-cl. It's also used in the lisp-polymorph project, work in progress not yet completed, which aims to provide an extensible generic interface, though not based on generic functions, to functions in the Common Lisp standard, like generic-cl however built from the ground up with performance and optimization and performance in mind.
  • Static-Dispatch 0.5: Improved inlining on SBCL and performance improvements for generic-cl
    3 projects | reddit.com/r/Common_Lisp | 16 Apr 2021
    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
    5 projects | news.ycombinator.com | 8 Feb 2021
    > 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".

    [0] https://github.com/alex-gutev/generic-cl

    [1] https://github.com/marcoheisig/fast-generic-functions

    5 projects | news.ycombinator.com | 8 Feb 2021
    If you want to regain performance, add-in type declarations, cl-generic will inline its functions: https://github.com/alex-gutev/generic-cl/#optimization
  • Re-export renamed symbols from other packages.
    1 project | reddit.com/r/Common_Lisp | 26 Dec 2020
    This example makes me think of generic-cl: https://github.com/alex-gutev/generic-cl/#add-nary

Stats

Basic generic-cl repo stats
8
96
4.1
6 months ago

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

Developer Ecosystem Survey 2022
Take part in the Developer Ecosystem Survey 2022 by JetBrains and get a chance to win a Macbook, a Nvidia graphics card, or other prizes. We’ll create an infographic full of stats, and you’ll get personalized results so you can compare yourself with other developers.
surveys.jetbrains.com
Find remote jobs at our new job board 99remotejobs.com. There are 3 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.