ocaml-asp
Algebraic, staged parsing for OCaml: typed, compositional, and faster than yacc (by yallop)
with-branching
An implementation of macroexpand-time conditionalization. (by phoe)
ocaml-asp | with-branching | |
---|---|---|
1 | 5 | |
95 | 13 | |
- | - | |
3.0 | 3.8 | |
10 months ago | 5 months ago | |
OCaml | Common Lisp | |
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.
ocaml-asp
Posts with mentions or reviews of ocaml-asp.
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
BER MetaOCaml is a variant of OCaml with first-class staging constructs. You can write a program that returns something of type "code for a program of type T" (possibly a function type), and then ask to compile this code and you get a value of type T. This has been used to demonstrate removing interpretation overhead in various settings, for example parser generators as a library.
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
What are some alternatives?
When comparing ocaml-asp and with-branching you can also consider the following projects:
comby - A code rewrite tool for structural search and replace that supports ~every language.
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.
CompTime.jl - Library for compile-time computing in julia
Numba - NumPy aware dynamic Python compiler using LLVM
metaocaml-frex
The-Spiral-Language - Functional language with intensional polymorphism and first-class staging.
angstrom - Parser combinators built for speed and memory efficiency
ocaml4noobs - Tutorial de OCaml para iniciantes na Linguagem.
Cython - The most widely used Python to C compiler
ocaml-asp vs comby
with-branching vs SpeciaLUT
ocaml-asp vs CompTime.jl
with-branching vs Numba
ocaml-asp vs metaocaml-frex
with-branching vs The-Spiral-Language
ocaml-asp vs angstrom
with-branching vs CompTime.jl
ocaml-asp vs ocaml4noobs
with-branching vs Cython
ocaml-asp vs Numba
ocaml-asp vs Cython