Language/compiler for efficient dynamic expression evaluation, data storage, and analysis
Top 33.7% on sourcepulse
Hobbes is a language, embedded compiler, and runtime designed for efficient dynamic expression evaluation, data storage, and analysis within C++ applications. It targets developers needing high-performance, type-safe evaluation of dynamic code, offering features like pattern matching, comprehensions, and a JIT compiler.
How It Works
Hobbes leverages LLVM for its JIT compilation, enabling efficient execution of dynamic expressions. It features a C++ API for embedding, allowing seamless integration into existing applications. The language supports algebraic data types, type classes with functional dependencies, and LALR(1) parsers, drawing inspiration from ML-family languages and Haskell. Its design prioritizes performance and flexibility, offering direct memory access and features like remote code execution and structured data storage.
Quick Start & Requirements
cmake . && make && make install
.libhobbes.a
or libhobbes-pic.a
. Requires LLVM headers and libraries.hi
utility provides an interactive shell.hog
utility manages structured data recording.Highlighted Details
Maintenance & Community
Information on maintainers, community channels (Discord/Slack), or roadmaps is not explicitly detailed in the README.
Licensing & Compatibility
The README does not specify a license. Compatibility for commercial use or closed-source linking is not detailed.
Limitations & Caveats
Hobbes is not sandboxed and provides direct memory access without runtime safety features like array bounds checking. Remote code execution is intended for trusted internal networks only. The README does not specify a license, which could be a significant adoption blocker.
3 months ago
1 day