6 Repos
Compilers designed to transform statically typed functional languages into other target languages.
Distinguishing note: None of the candidates cover a full-scale functional language compiler; most are narrow build-time functions.
Explore 6 awesome GitHub repositories matching programming languages & runtimes · Functional Programming Compilers. Refine with filters or upvote what's useful.
This project is a functional programming compiler and JavaScript transpiler that transforms a statically typed language into optimized JavaScript for web browsers. It serves as a frontend architecture framework, providing a static type system and a package manager that enforces semantic versioning. The compiler uses a type-checking engine with automatic type inference to prevent runtime errors and guide code refactoring. It implements a structural pattern for managing application state and rendering user interfaces through a virtual DOM, utilizing immutable data and purity-based state transit
Transforms a statically typed functional language into optimized JavaScript for browser execution.
This project is a comprehensive Lisp AI implementation library that provides reference implementations for various artificial intelligence paradigms and symbolic algorithms. It functions as a multi-purpose toolkit containing a logic programming engine, a natural language processing suite, and a symbolic mathematics toolkit. The library is distinguished by its diverse architectural frameworks, including a Prolog-style execution engine that uses unification and goal-driven backtracking, and a system for simulating human decision-making through expert system shells and certainty factors. It also
Implements a compiler that translates logic programming predicates into executable Lisp functions.
F# ist eine stark typisierte, funktionale Programmiersprache und ein Compiler für das .NET-Ökosystem. Sie transformiert funktionalen Quellcode in Common Intermediate Language zur Ausführung auf der .NET-Runtime und bietet eine grundlegende Kernbibliothek primitiver Typen und Funktionen. Die Sprache betont Unveränderlichkeit und verwendet ein statisches, constraint-basiertes Typinferenzsystem, um Variablentypen automatisch zu bestimmen, ohne explizite Benutzerannotationen zu erfordern. Sie fungiert zudem als Language Server Protocol-Provider und stellt Compiler-Logik über eine servicebasierte API bereit, um Echtzeit-Codeanalyse und Intelligenz für Editoren und IDEs zu liefern. Das Projekt deckt die Entwicklung der Compiler-Infrastruktur, die Wartung der Kernsprachen-Runtime und die Erstellung von Tools für die .NET-Anwendungsentwicklung ab.
Implements a full-scale compiler that transforms functional source code into Common Intermediate Language for the .NET runtime.
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
Provides a full-scale functional language compiler that transforms high-level syntax into executable bytecode.
Clash is a functional hardware compiler and hardware description language compiler that translates strongly typed functional programs written in Haskell into synthesizable VHDL, Verilog, and SystemVerilog code. It serves as a development tool allowing digital designers to write hardware descriptions in functional languages and compile them directly to FPGA targets and physical netlists. The compilation infrastructure covers structural hardware compilation, including graph-based code normalization, functional language translation, and netlist generation. It features type-level clock domain saf
Transforms purely functional code into synthesizable netlists and hardware description language modules for digital circuit design.
Grin is a compiler infrastructure designed for the translation and optimization of high-level functional languages. It functions as a graph-reduction compiler, transforming source code into a standardized intermediate representation that facilitates whole-program analysis and efficient execution across diverse hardware architectures. The project distinguishes itself through a modular backend infrastructure that separates intermediate representation management from target-specific code generation. By utilizing graph-based transformations, the system performs advanced optimizations such as valu
Provides a compiler infrastructure that translates high-level functional code into optimized intermediate representations for diverse hardware architectures.