awesome-repositories.com
Blog
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
ocaml avatar

ocaml/ocaml

0
View on GitHub↗
6,514 estrellas·1,245 forks·OCaml·9 vistasocaml.org↗

Ocaml

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 parsers from formal grammar specifications.

The toolchain covers a broad range of capabilities including a multi-stage compilation pipeline, automatic memory management via a compacting garbage collector, and an interactive read-eval-print loop for code execution. It supports cross-platform backend generation for various architectures, including ARM, x86, RISC-V, and PowerPC.

Features

  • Functional Programming Languages - Implements a strongly typed functional language focused on safety, expressiveness, and algebraic data types.
  • Domain-Based Parallelism - Provides a shared-memory parallel runtime that executes computations across multiple processor cores using domains.
  • Algebraic Effect Systems - Implements an algebraic effect system to manage side effects and control flow via execution context handlers.
  • Bytecode-to-Native Dualism - Provides a comprehensive toolchain that transforms source code into either portable bytecode or high-performance native binaries.
  • Compacting Garbage Collectors - Utilizes a compacting garbage collector to automatically reclaim memory and reduce fragmentation.
  • Compiler Toolchains - Ships a comprehensive toolchain that transforms source code into portable bytecode or native binaries.
  • Compiler Toolchain Development - Provides a complete system for developing the language's compiler, type system, and runtime components.
  • Garbage-Collected Runtimes - Provides a runtime environment that manages low-level operations including garbage collection and OS interaction.
  • Native Machine Code Compilation - Transforms source code into high-performance native binaries for various processor architectures.
  • Parallel Computing Implementation - Implements parallel computing through a shared-memory runtime that executes computations across multiple processor cores using domains.
  • Shared-Memory Runtimes - Features a shared-memory parallel runtime that executes computations across multiple processor cores using domains.
  • Parallel Runtimes - Features a shared memory parallel runtime that leverages domains to execute computations across multiple cores.
  • Source Code Compilers - Transforms high-level source code into executable binaries or libraries using a specialized suite of build tools.
  • Native Code Backends - Includes native code backends that generate high-performance machine binaries for various target architectures.
  • Standard Libraries - Supplies a core standard library of independent modules for common tasks such as Unix integration and threading.
  • Strongly-Typed Languages - Features a sophisticated type system and rigorous compile-time checks to ensure program safety.
  • Concurrent Effect Coordination - Coordinates asynchronous program flow and side effects using effect handlers to organize concurrent operations.
  • Parallel Task Execution - Executes tasks across multiple shared-memory domains to utilize multi-core processor architectures.
  • Domain Parallelism - Features a shared memory parallel runtime that executes computations across multiple processor cores using domains.
  • Algebraic Effect Handlers - Implements a sophisticated algebraic effect system for managing side effects and control flow through execution context handlers.
  • Parser Generators - Ships a parser generator to automatically create lexers and parsers from defined grammar files.
  • Cross-Architecture Binary Compilation - Provides the ability to compile source code into executable binaries for multiple hardware architectures including ARM, x86, RISC-V, and PowerPC.
  • Cross-Compilation Toolchains - Provides toolchains for building compilers that target hardware architectures different from the host machine.
  • Compiler Bootstrapping - Uses a self-bootstrapping build process to rebuild the compiler and runtime to ensure consistency across versions.
  • Build-Time Bytecode Compilation - Rebuilds the compiler and runtime binaries to ensure consistency when internal bytecode formats or type representations change.
  • Source-to-Bytecode Compilers - Produces portable, compact bytecode that runs within an interpreter for faster compilation and cross-platform compatibility.
  • Bytecode Interpreters - Provides a portable bytecode format and interpreter for rapid development and testing before native compilation.
  • Interactive Read-Eval-Print Loops - Provides an interactive read-eval-print loop (REPL) for testing logic and executing commands.
  • Multi-Stage Compilation Pipelines - Transforms source code into binaries through a sophisticated multi-stage compilation pipeline involving parsing, type checking, and assembly.
  • Cross-Platform Binary Generation - Supports cross-platform backend generation for various processor architectures including ARM, x86, RISC-V, and PowerPC.
  • Formal Grammar Parser Generators - Includes a dedicated parser generator to automatically create lexers and parsers from formal grammar specifications.
  • Programming Languages - Functional programming language with native support.

Historial de estrellas

Gráfico del historial de estrellas de ocaml/ocamlGráfico del historial de estrellas de ocaml/ocaml

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI

Alternativas open-source a Ocaml

Proyectos open-source similares, clasificados según cuántas características comparten con Ocaml.
  • koka-lang/kokaAvatar de koka-lang

    koka-lang/koka

    3,936Ver en GitHub↗

    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

    Kokaalgebraic-effectseffect-handlershandler
    Ver en GitHub↗3,936
  • zig-lang/zigAvatar de zig-lang

    zig-lang/zig

    43,152Ver en GitHub↗

    Zig is a low-level systems programming language designed for writing high-performance software that interacts directly with hardware. It focuses on the transformation of source code into machine binaries for the execution of low-level operations. The project is distinguished by its native support for cross-compilation, allowing binaries for various operating systems and CPU architectures to be built from a single host. It provides direct interoperability with the C language, enabling the import of headers and function calls without a foreign function interface. The language utilizes manual m

    Zig
    Ver en GitHub↗43,152
  • reasonml/reasonAvatar de reasonml

    reasonml/reason

    10,313Ver en GitHub↗

    Reason is a strongly typed functional language and multi-target compiler designed to produce either JavaScript for web environments or native machine code for operating systems. It serves as an OCaml-compatible language that shares an abstract syntax tree with OCaml, providing a practical syntax for the OCaml ecosystem. The project functions as a type-safe frontend language, incorporating JSX support to build user interfaces through structural elements that translate into type-safe function calls. It enables deep integration with the JavaScript ecosystem, allowing the use of existing librarie

    OCamljavascriptocamlprogramming-language
    Ver en GitHub↗10,313
  • frege/fregeAvatar de Frege

    Frege/frege

    3,700Ver en GitHub↗

    Frege is a purely functional programming language that compiles to JVM bytecode, providing Haskell-like semantics for the Java platform. It is built around a Haskell-inspired compiler that implements non-strict evaluation and a static type inference system to ensure data immutability and prevent side effects. The project distinguishes itself through a sophisticated type system featuring rank polymorphism, type-class based dispatch, and static purity enforcement. It includes a JVM language bridge and a foreign function interface that map Java classes and interfaces into functional types, allow

    Frege
    Ver en GitHub↗3,700
Ver las 30 alternativas a Ocaml→

Preguntas frecuentes

¿Qué hace ocaml/ocaml?

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.

¿Cuáles son las características principales de ocaml/ocaml?

Las características principales de ocaml/ocaml son: Functional Programming Languages, Domain-Based Parallelism, Algebraic Effect Systems, Bytecode-to-Native Dualism, Compacting Garbage Collectors, Compiler Toolchains, Compiler Toolchain Development, Garbage-Collected Runtimes.

¿Qué alternativas de código abierto existen para ocaml/ocaml?

Las alternativas de código abierto para ocaml/ocaml incluyen: koka-lang/koka — Koka is a statically typed functional programming language featuring an algebraic effect system. It uses a strong type… zig-lang/zig — Zig is a low-level systems programming language designed for writing high-performance software that interacts directly… reasonml/reason — Reason is a strongly typed functional language and multi-target compiler designed to produce either JavaScript for web… frege/frege — Frege is a purely functional programming language that compiles to JVM bytecode, providing Haskell-like semantics for… nim-lang/nim — Nim is a statically typed, compiled systems programming language designed for high performance and cross-platform… iree-org/iree — IREE is an MLIR-based compiler toolchain and runtime designed to translate machine learning models from various…