carp-lang/carp

A statically typed lisp, without a GC, for real-time applications.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 46 minutes ago
Added to GitGenius on September 11th, 2026
Created on January 11th, 2016
Open Issues & Pull Requests: 144 (+0)
GitHub issues: Enabled
Number of forks: 185
Total Stargazers: 6,035 (+0)
Total Subscribers: 98 (+0)

Repository Insights (GitGenius)

Most active contributors

Sign in to see contributor activity.

Related repositories by overlapping contributors

No overlapping-contributor repos identified yet.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Issue API getrepoissuespagesummary failed: 429 Rate limit exceeded. Please try again later.

Detailed Description

Carp is a statically typed lisp designed for real-time applications like games, sound synthesis, and visualizations, with automatic memory management and no garbage collector.

Carp addresses the tension between functional programming and performance-critical code by combining ownership tracking with explicit control over allocation and copying. The language compiles to C, enabling deterministic memory management without a garbage collector or virtual machine. Static type inference provides both speed and reliability, while lisp macros and compile-time scripting allow metaprogramming. The tool integrates straightforwardly with existing C code and includes a REPL for interactive development.

Carp suits developers building interactive, performance-sensitive applications where predictable memory behavior matters more than automatic garbage collection. It works well for game development, real-time audio, and visualization work. The project explicitly warns that it remains a research effort, so it is not recommended for production systems where stability is critical. The language's functional style combined with mutation of cache-friendly data structures appeals to developers comfortable with lisp syntax who want low-level control without sacrificing high-level abstractions.

The project maintains active community engagement through an official Discord server for ongoing discussions. Development activity shows sustained work across multiple maintainers collaborating on language features and standard library improvements. The codebase welcomes external contributions and acknowledges a history of community involvement in its evolution.