30 open-source projects similar to mono/mono, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Mono alternative.
Crystal is a statically typed, compiled programming language designed for high performance and memory safety. It leverages an LLVM-based compiler to translate source code into optimized machine-executable binaries, while its type-inference-based static analysis enforces strict safety rules during the build process. The language distinguishes itself through a fiber-based concurrent runtime that manages lightweight execution units for asynchronous input and output without blocking the main process. It also features a powerful compile-time macro system that allows for the inspection and transfor
This project is the .NET Base Class Library, providing the foundational types and APIs required for .NET applications. It serves as a cross-platform runtime library and a standardized managed API framework, acting as the primary set of namespaces for memory management, collections, and asynchronous programming. The library enables the development of enterprise backend infrastructure and the execution of managed code consistently across different operating systems and hardware architectures. It includes capabilities for cross-platform application deployment using self-contained binaries, frame
F# is a strongly typed, functional programming language and compiler for the .NET ecosystem. It transforms functional source code into Common Intermediate Language for execution on the .NET runtime and provides a foundational core library of primitive types and functions. The language emphasizes immutability and uses a static, constraint-based type inference system to automatically determine variable types without requiring explicit user annotations. It also functions as a Language Server Protocol provider, exposing compiler logic through a service-based API to deliver real-time code analysis
CoreCLR is a runtime environment that manages the execution, memory, and basic types for applications built on the .NET platform. It serves as a managed execution environment that handles low-level system interactions and provides primitive data types for high-level application code. The project functions as a JIT compilation engine and a garbage collected runtime. It translates intermediate language into machine code at runtime for execution on specific hardware and automatically reclaims unused memory to prevent leaks. The system covers broad capability areas including managed code executi
ChakraCore is an embeddable JavaScript engine and high-performance scripting runtime. It provides a just-in-time compiler that converts JavaScript source code into optimized machine code during runtime to increase execution speed and throughput. The engine utilizes a multi-tiered compilation pipeline and tiered machine code generation to balance startup time with execution speed. Memory is managed via a concurrent garbage collector that reclaims unreachable objects on background threads to minimize application pauses. The project provides capabilities for embedded JavaScript execution and au
ChezScheme is a compiler and runtime environment for the Scheme programming language that transforms source code into optimized machine binaries. It serves as a high-performance implementation of the language, producing executable machine code for execution on physical hardware. The project features a native machine code compiler, a read-eval-print loop for executing and editing multi-line expressions in real time via a shell, and a generational garbage collected runtime for automatic memory management. It also includes a foreign function interface for integrating external C libraries and lan
Stack is a build tool, package manager, and project bootstrapper for the Haskell language. It provides a consistent environment for compiling source code, managing project binaries, and executing programs. The system ensures reproducible builds through snapshot-based dependency resolution and manages the installation of specific compiler binaries to match project requirements. It utilizes content-addressable package storage and local-path caching to maintain the integrity of source code and avoid redundant downloads across different projects. The toolset covers the full development lifecycle
The project is a reusable collection of modular compiler and toolchain technologies designed for building optimizers, code generators, and multi-language programming environments. It provides foundational compiler frontend technologies that translate source code written in C, C++, and Objective-C into a low-level programming language and intermediate code format. This intermediate representation enables cross-language analysis, program transformation, and target-independent optimization alongside a cross-platform programming framework that allows developers to write single-source accelerated a
Emscripten is a WebAssembly toolchain and compiler backend that transforms C and C++ source code into WebAssembly bytecode. It serves as a framework for porting native applications and libraries to web browsers and server runtimes by translating LLVM intermediate representation into optimized WebAssembly modules. The system specializes in porting native graphical standards, such as OpenGL and SDL2, by mapping native graphics API calls to browser-compatible WebGL commands. This allows complex visual applications and native desktop software to be deployed as portable web formats. The toolchain
This project is a collection of programming language references and syntax cheat sheets designed for rapid developer onboarding. It serves as a library of code-based documentation that uses valid source code files to provide whirlwind tours of various language specifications. The project focuses on programming language learning by providing concise, commented code examples that explain core features and syntax in place. This approach enables developers to quickly grasp language-specific patterns, data types, and execution flow through a consistent reference format. The content covers a broad
GopherJS is a cross-compiler toolchain that converts Go source code into JavaScript. It functions as a transpiler, enabling the execution of statically typed Go code within web browsers and other standard JavaScript runtime environments. The project provides a comprehensive implementation of the Go standard library, replacing system-level calls with browser-compatible APIs to maintain language semantics. It maps Go's memory allocation patterns and type definitions onto the host JavaScript engine, while utilizing source map generation to allow for debugging using original Go source files. By
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
Binaryen is a WebAssembly compiler toolchain and optimizer designed to transform, validate, and shrink binary modules. It provides a comprehensive intermediate representation framework that converts binary code into a single-assignment form to enable advanced program analysis and code transformation. The project includes a specialized transformation engine that applies iterative optimization passes to increase execution speed and reduce binary size. Additionally, it functions as a transpiler that translates WebAssembly binary modules into executable JavaScript for environments that lack nativ
nw.js is a Node.js desktop application framework that combines a Chromium web renderer with a Node.js runtime to build standalone software for Windows, macOS, and Linux. It serves as a cross-platform desktop runtime that allows developers to create native executables using web technologies. The project is distinguished by its integration layer that exposes Node.js system APIs and modules directly to the browser window and web worker contexts. It functions as a native module bridge, enabling the compilation and execution of low-level C++ system code and native addons within a web-based applica
This project is a comprehensive server-side web framework designed for building scalable web applications and services. It provides a structured, component-based architecture that integrates a dependency injection container to manage service lifecycles and promote loose coupling across the software stack. The framework enables the creation of interactive client-side interfaces through a component-based model that synchronizes state directly with the browser. The platform distinguishes itself through a highly configurable middleware-based request pipeline and an attribute-based routing engine
This framework provides a multi-process architecture for building desktop applications using web technologies. It manages the application lifecycle, window states, and system-level integrations through a primary entry point, while isolating web content in separate rendering processes to maintain stability and security. A secure bridge mechanism facilitates communication between these isolated contexts and the main process, ensuring that privileged system APIs remain protected. The framework distinguishes itself through a comprehensive security model that includes process sandboxing, content p
Tauri is a cross-platform framework for building desktop applications that combine web-based user interfaces with a memory-safe systems-language backend. It functions as a secure runtime that hosts web content within native windowing containers, allowing developers to leverage existing web technologies while maintaining high-performance native logic. By compiling applications into small-footprint, platform-specific binaries, the framework avoids bundling heavy runtime environments, resulting in lightweight executables. The project distinguishes itself through a capability-based security model
Porffor is an ahead-of-time compiler that converts JavaScript and TypeScript source code into native machine code or C binaries. It functions as a native binary generator and transpiler, producing standalone executable files that do not require a runtime or virtual machine. The project translates source code into C language files and WebAssembly binary formats. It includes a direct-to-binary pipeline for TypeScript, allowing for the generation of target executables without a separate transpilation step to JavaScript. The toolset also includes an interactive read-eval-print loop for real-time
This project is an open source discovery resource that provides curated lists of reusable code and libraries to help developers find technical solutions for specific tasks. It utilizes a category-based indexing system to organize diverse software tools by their functional capabilities. The repository is structured as a collection of markdown-based documentation and static content, serving as a directory for manual discovery and reference. The directory covers a wide range of capability areas, including cross-platform application development, cybersecurity tool creation, network protocol impl
This project provides an educational framework and laboratory environment for learning operating system kernel development specifically for the RISC-V architecture. It serves as a structured course that guides users through the process of building a functional kernel from scratch, offering the necessary resources to understand low-level system programming and architecture-specific software implementation. The toolkit distinguishes itself by integrating a complete development environment that bridges the gap between source code and hardware execution. It includes automated build scripts for cr
NapCatQQ is a cross-platform runtime that implements the communication protocol required to automate chat bots on the QQ platform. It functions as a protocol adapter, translating QQ messaging events into a standardized interface for use with third-party bot frameworks. The project features a modular plugin system and a web-based management interface. This dashboard allows for the configuration of plugin settings and the monitoring of active messaging bots through a graphical user interface. The system supports the engineering of custom plugins via a pipeline of event handlers and a communica
This project is a C++ Standard Library implementation that provides the foundational classes and functions required by the ISO C++ standard. It serves as a template-based generic programming library, providing the Standard Template Library's set of containers, algorithms, and iterators for data manipulation. The library is a core component of the MSVC toolchain, designed specifically for integration with the Microsoft Visual C++ compiler and build tools. The implementation covers memory management through optimized allocators and buffer strategies, as well as tools for performance benchmarki
SharpIDE is a cross-platform integrated development environment and code editor designed for developing software applications within the .NET ecosystem. It provides a centralized workspace for writing and managing source code across multiple operating systems. The application utilizes a user interface built with the Godot game engine to deliver a high-performance desktop experience. This approach leverages a game-engine based UI to manage the visual scene graph and render the interface.
This project provides a collection of official base images for building and running .NET applications across various operating systems and hardware architectures. It includes standardized runtime environments, containerized development kits, and specialized images designed for isolated application execution. The collection is distinguished by its focus on image optimization and security hardening. It offers distroless images that remove shells and package managers to reduce the attack surface, as well as composite layering and ahead-of-time compilation to improve startup performance and lower
PCL-CE is a cross-platform game launcher and runtime environment designed to execute Windows game binaries on macOS and Linux. It functions as a game version manager and a build system for compiling source code into Windows executables from non-Windows development environments. The project provides a cross-platform runtime layer that facilitates the launching and execution of Windows-based game sessions on different operating systems. It includes a binary cross-compiler and a build pipeline that allows for the generation of Windows binaries from macOS and Linux hosts. The software covers gam
c3c is the compiler for the C3 programming language, transforming source code into executable binaries, static libraries, or dynamic libraries using an LLVM backend. It implements a system based on result-based error handling, scoped memory pooling, and a semantic macro system. The compiler provides first-class support for hardware-backed SIMD vectors that map directly to processor instructions and enables runtime polymorphism through interface-based dynamic dispatch. The project covers a broad set of low-level capabilities, including manual and pooled memory management, inline assembly inte
HMCL is a JVM-based cross-platform utility and Minecraft game launcher designed to install, manage, and launch multiple versions of Minecraft. It functions as an instance manager for organizing separate game profiles with unique settings and assets, as well as a mod loader manager for automating the installation of modification frameworks and community-created content. The project features a modular UI framework with a pluggable layout system, decoupling the visual interface from the core logic to allow for appearance and arrangement customizations. It automates the integration of modificatio
This project is a garbage collection library and memory allocator for C and C++ that provides automatic reclamation of unreachable objects. It functions as a memory management system that can replace standard allocation functions to automate memory reclamation without requiring source modification. The system is distinguished by its ability to perform incremental and generational garbage collection to reduce application pauses, as well as parallel collection to distribute tracing across multiple CPU cores. It includes a specialized string manipulation library that uses shared structures to en
MoonBit is a programming language compiler and build system designed to translate source code into high-performance binaries for web, browser, and native environments. It provides a unified toolchain that manages the entire development lifecycle, from source code compilation and dependency management to the final bundling of applications. The platform distinguishes itself through a modular architecture that enables cross-environment logic sharing, allowing developers to maintain a single codebase that targets both WebAssembly and native machine code. By utilizing a strongly-typed intermediate
The .NET Compiler Platform is a collection of open-source APIs for C# and Visual Basic that provides deep code analysis, refactoring, and automated source code generation. It serves as the core infrastructure for building development tools, offering a platform to inspect, modify, and understand source code through immutable syntax trees and semantic models. The platform distinguishes itself by providing full-fidelity syntax trees that preserve every character of source code, including whitespace and comments, alongside an incremental compilation pipeline that enables near-instant feedback dur