awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
koka-lang avatar

koka-lang/koka

0
View on GitHub↗
3,936 stars·209 forks·Koka·9 viewskoka-lang.org↗

Koka

Koka is a statically typed functional programming language featuring an algebraic effect system. It uses a strong type system to verify program correctness and track side effects at compile time.

The language is distinguished by a reference counting compiler that transforms source code into native C code, eliminating the need for a tracing garbage collector. It employs perceive-based in-place updates to reduce memory overhead and utilizes tail recursion modulo cons for constant-space data structure construction.

The system provides a comprehensive standard library covering numeric operations with arbitrary precision arithmetic, string processing with efficient views, and co-inductive data modeling for infinite structures. It also includes built-in support for hardware-sampling execution profiling and a composable mechanism for handling exceptions and asynchronous flows.

Features

  • Algebraic Effect Systems - Implements a core algebraic effect system for managing side effects and control flow via composable handlers.
  • Compiler-Inserted Reference Countings - Utilizes a compiler that automatically inserts reference counting for memory management without a garbage collector.
  • Effect-Based Exception Handling - Implements an algebraic effect system to capture exceptions and transform them into explicit result types.
  • Effect Type Signaling - Tags functions with specific effect types to statically signal when a computation performs I/O or allocation.
  • Functional Programming Languages - Implements a statically typed functional programming language emphasizing immutability and strong typing.
  • Perceive-Based In-Place Updates - Employs perceive-based in-place updates to reduce memory overhead by mutating data structures when safe.
  • Statically Typed Languages - Ensures program correctness by verifying types and side effects at compile time through static analysis.
  • Native Code Backends - Transforms source code into optimized C code for native execution using a reference counting compiler.
  • Algebraic Effect Handlers - Provides algebraic effect handlers to manage computation flows and side effects by capturing execution contexts.
  • Implementation Primitives - Translates high-level effect definitions into evidence-based primitives and handler tables to manage side effects.
  • Static Effect Tracking - Tags functions with specific effect types to signal when a computation performs I/O or accesses the network.
  • Lazy Infinite Sequences - Implements lazy infinite sequences using co-inductive types for head and tail retrieval.
  • Effect-Based Allocation Tracking - Signifies when a function may allocate data in a heap through a dedicated effect type.
  • Reference Counting - Tracks object lifetimes using reference counting to perform automatic memory reclamation without a garbage collector.
  • Co-inductive Data Modeling - Uses lazy evaluation and specialized types to represent and manipulate infinite data structures.
  • Exception Triggering - Provides the mechanism for raising exceptions to interrupt program flow with descriptive error information.
  • C Code Generators - Transforms source language constructs into optimized C code for native execution.
  • Tail Recursion Modulo Cons - Optimizes recursive data structure construction to execute in constant space using tail recursion modulo cons.
  • Tail Recursion Modulo Cons - Optimizes recursive data structure construction to execute in constant space by avoiding stack growth.
  • Zero-Copy String Views - Implements lightweight, non-owning references to character sequences to eliminate unnecessary memory allocations.
  • Arbitrary-Precision Arithmetic - Provides mathematical operations on signed integers of arbitrary size.
  • Optional Value Handling - Implements optional value handling using containers to enforce explicit processing of missing data.
  • Perceive-Based In-Place Updates - Analyzes data reuse and ownership to transform functional updates into destructive in-place mutations.
  • Execution Profiling - Includes built-in hardware-sampling execution profiling to measure function call frequency and identify bottlenecks.

Star history

Star history chart for koka-lang/kokaStar history chart for koka-lang/koka

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does koka-lang/koka do?

Koka is a statically typed functional programming language featuring an algebraic effect system. It uses a strong type system to verify program correctness and track side effects at compile time.

What are the main features of koka-lang/koka?

The main features of koka-lang/koka are: Algebraic Effect Systems, Compiler-Inserted Reference Countings, Effect-Based Exception Handling, Effect Type Signaling, Functional Programming Languages, Perceive-Based In-Place Updates, Statically Typed Languages, Native Code Backends.

What are some open-source alternatives to koka-lang/koka?

Open-source alternatives to koka-lang/koka include: ocaml/ocaml — OCaml is a strongly typed functional language featuring a sophisticated type system and a focus on safety and… roc-lang/roc — Roc is a statically typed, functional programming language built around immutable-by-default semantics, exhaustive… masterminds/sprig — Sprig is a comprehensive library of helper functions designed to extend the Go text template engine. It provides a… rockstarlang/rockstar — Rockstar is an esoteric programming language whose syntax is inspired by 1980s hard rock and heavy metal lyrics,… onthecodepath/ios-interview-questions — This project is a curated collection of technical questions and answers designed to assist developers in preparing for… stylus/stylus — Stylus is a CSS preprocessor that transforms a dynamic language into standard CSS. It utilizes a compilation workflow…

Open-source alternatives to Koka

Similar open-source projects, ranked by how many features they share with Koka.
  • ocaml/ocamlocaml avatar

    ocaml/ocaml

    6,514View on GitHub↗

    OCaml is a strongly typed functional language featuring a sophisticated type system and a focus on safety and expressiveness. It provides a comprehensive compiling toolchain that transforms source code into either portable bytecode or high-performance native binaries. The project is distinguished by a shared memory parallel runtime that executes computations across multiple processor cores using domains, and an algebraic effect system for managing side effects and control flow through execution context handlers. It also includes a dedicated parser generator to automatically create lexers and

    OCamlcompilerfunctional-languageocaml
    View on GitHub↗6,514
  • roc-lang/rocroc-lang avatar

    roc-lang/roc

    5,723View on GitHub↗

    Roc is a statically typed, functional programming language built around immutable-by-default semantics, exhaustive pattern matching on tag unions, and a type system that combines optional explicit annotations with full compile-time type inference. Its core identity centers on correctness and expressiveness, using tagged unions for error handling with a question-mark operator for early error propagation, and a trailing-bang naming convention that makes side-effect boundaries syntactically visible at every call site. The language distinguishes itself through a platform-based I/O abstraction tha

    Zig
    View on GitHub↗5,723
  • masterminds/sprigMasterminds avatar

    Masterminds/sprig

    4,692View on GitHub↗

    Sprig is a comprehensive library of helper functions designed to extend the Go text template engine. It provides a wide array of custom functions that can be injected into the engine to enable complex data manipulation and logic directly within templates. The project offers specialized capabilities for cryptography, including the generation of private keys, X.509 certificates, and secure password hashes. It also includes advanced logic extensions for semantic versioning comparison, ternary evaluations, and the resolution of environment variables from the host operating system. The library co

    Gogotemplatetemplates
    View on GitHub↗4,692
  • rockstarlang/rockstarRockstarLang avatar

    RockstarLang/rockstar

    6,882View on GitHub↗

    Rockstar is an esoteric programming language whose syntax is inspired by 1980s hard rock and heavy metal lyrics, making programs read like song lyrics. It uses poetic number literals, where the length of each word in a phrase is parsed as a decimal digit to initialize numeric variables, and pronoun-based variable references, where words like "it" and "they" resolve to the most recently assigned or compared variable at runtime. The language can be compiled to WebAssembly and run inside a web page for in-browser code execution. The language distinguishes itself through a lyric-driven parsing sy

    JavaScript
    View on GitHub↗6,882
See all 30 alternatives to Koka→