with-branching
An implementation of macroexpand-time conditionalization. (by phoe)
CompTime.jl
Library for compile-time computing in julia (by AlgebraicJulia)
with-branching | CompTime.jl | |
---|---|---|
5 | 1 | |
13 | 69 | |
- | - | |
3.8 | 4.1 | |
6 months ago | 6 months ago | |
Common Lisp | Julia | |
- | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
with-branching
Posts with mentions or reviews of with-branching.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-08-19.
-
Multistage Programming / First Class runtime compiler support
It is not the same, but that does not mean they can't be helpful. Notionally, the compiler is available at runtime--there is no 'staging'--making on-the-fly code generation and compilation a breeze. A pertinent example is with-compile-time-branching, a macro which effects hoisting of branches--similar to what you are asking for.
-
Runtime-constant propagation and branching optimization strategy
related
- Macroexpand-time branching
-
Common Lisp: Macroexpand-time branching
Linked at the end of the blog: https://github.com/phoe/with-branching
CompTime.jl
Posts with mentions or reviews of CompTime.jl.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-08-19.
-
Multistage Programming / First Class runtime compiler support
On a related note, there's a package called CompTime.jl that was recently announed on the last juliacon. It's supposed to make working with generated functions easier, although I haven't used it (it's only entering the general registry of packages next week).
What are some alternatives?
When comparing with-branching and CompTime.jl you can also consider the following projects:
SpeciaLUT - Runtime choosing of template specializations using compile-time lookup-tables. Compile all states of a template function, but execute the optimal one at runtime.
ocaml-asp - Algebraic, staged parsing for OCaml: typed, compositional, and faster than yacc
Numba - NumPy aware dynamic Python compiler using LLVM
Cython - The most widely used Python to C compiler
The-Spiral-Language - Functional language with intensional polymorphism and first-class staging.