Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. C/C++
  3. hobbes

hobbes

Apache-2.0C

A language and embedded JIT compiler for efficient dynamic expression evaluation, data storage, and analysis in C++ applications.

Visit WebsiteGitHubGitHub
1.2k stars116 forks0 contributors

What is hobbes?

Hobbes is a strongly typed language and embedded JIT compiler that allows C++ applications to dynamically evaluate expressions, record structured data, and perform real-time analysis. It solves the problem of integrating high-performance, dynamic scripting capabilities directly into C++ systems without sacrificing efficiency.

Target Audience

C++ developers building systems that require dynamic expression evaluation, real-time data analysis, or embedded scripting, particularly in performance-sensitive domains like financial systems or monitoring tools.

Value Proposition

Developers choose Hobbes for its tight C++ integration, minimal runtime overhead, and ability to compile and execute code dynamically with LLVM-based JIT compilation, all while providing a rich type system and data analysis features.

Overview

A language and an embedded JIT compiler

Use Cases

Best For

  • Embedding a JIT-compiled scripting language within C++ applications
  • Recording and analyzing structured application data in real-time
  • Building custom query engines for live data streams
  • Implementing remote evaluation and RPC between processes
  • Adding dynamic expression evaluation to monitoring or financial systems
  • Creating domain-specific languages with custom parsers

Not Ideal For

  • Applications requiring sandboxed execution for security, like user-submitted plugins or scripts
  • Simple ad-hoc scripting where lightweight interpreters like Lua or Python would be easier to integrate
  • Projects targeting web or mobile platforms without deep C++ backends
  • Teams lacking expertise in C++ or LLVM compilation toolchains

Pros & Cons

Pros

High-Performance JIT Compilation

Uses LLVM to compile expressions at runtime, enabling near-native speed for dynamic code execution directly within C++ processes.

Seamless C++ Interoperability

Automatically binds C++ functions and data structures with minimal overhead, allowing direct memory access and efficient integration.

Efficient Data Storage and Querying

Provides the `hog` utility for structured data recording and live analysis, supporting real-time queries and comprehensions for monitoring.

Rich Type System and Features

Offers a strongly typed language with type classes, pattern matching, and custom grammars, enabling complex data transformations and safe compile-time checks.

Cons

No Runtime Safety or Sandboxing

Lacks array bounds checks and sandboxing by design, making it vulnerable to memory errors and unsuitable for untrusted code execution.

Complex Setup and Dependencies

Requires LLVM and specific build tools like cmake, which can be cumbersome to install and maintain across different environments.

Limited Ecosystem and Adoption

As a niche project, it has fewer community resources, libraries, and documentation compared to mainstream scripting languages.

Frequently Asked Questions

Quick Stats

Stars1,226
Forks116
Contributors0
Open Issues40
Last commit1 day ago
CreatedSince 2017

Tags

#parsing#type-system#pattern-matching#remote-procedure-call#jit-compiler#dynamic-evaluation#data-analysis#embedded-language

Built With

L
LLVM
L
Linux
C
CMake
C
C++

Links & Resources

Website

Included in

C/C++70.6k
Auto-fetched 1 day ago

Related Projects

pybind11pybind11

Seamless operability between C++11 and Python

Stars17,999
Forks2,317
Last commit2 days ago
cythoncython

The most widely used Python to C compiler

Stars10,830
Forks1,616
Last commit1 day ago
ChakraCoreChakraCore

ChakraCore is an open source Javascript engine with a C API.

Stars9,257
Forks1,226
Last commit6 months ago
JerryScriptJerryScript

Ultra-lightweight JavaScript engine for the Internet of Things.

Stars7,417
Forks691
Last commit10 months ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub