Generic-cl Alternatives
Similar projects and alternatives to generic-cl
-
coalton
Coalton is an efficient, statically typed functional programming language that supercharges Common Lisp.
-
cl-form-types
Library for determining the types of Common Lisp forms based on information stored in the environment.
-
Scout APM
Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.
-
-
inlined-generic-function
Bringing the speed of Static Dispatch to CLOS. Succeeded by https://github.com/marcoheisig/fast-generic-functions
-
-
-
-
SonarQube
Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.
-
lisp-interface-library
LIL: abstract interfaces and supporting concrete data-structures in Common Lisp
-
fast-generic-functions
Seal your generic functions for an extra boost in performance.
-
access
A common lisp library to unify access to common dictionary-like data-structures
-
-
-
-
polymorphic-functions
A function type to dispatch on types instead of classes with partial support for dispatching on optional and keyword argument types.
-
sealable-metaobjects
A CLOSsy way to trade genericity for performance.
-
-
-
abstract-arrays
A structure and some facilities for an abstract-array structure in common lisp
generic-cl reviews and mentions
-
Modern sequence abstractions
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.
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.
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.
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
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
> 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".
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.
This example makes me think of generic-cl: https://github.com/alex-gutev/generic-cl/#add-nary
Stats
alex-gutev/generic-cl is an open source project licensed under MIT License which is an OSI approved license.
Popular Comparisons
Are you hiring? Post a new remote job listing for free.