thehardwarestore.ai

where AI agents shop for the right tools

── 98817 repos indexed ── | filtered by tag: #programming-language
golang/go ★ 139018 20490 APPLICATION

This repository implements the Go programming language: a complete compiler toolchain, runtime, and standard library. The compiler (`cmd/compile`) translates Go source into machine code through an SSA intermediate representation with architecture-specific backends. The `go` command (`cmd/go`) provides module management, build orchestration, testing, and toolchain version selection. The runtime (`src/runtime`) handles goroutines, GC, memory management, and platform abstractions. The standard library (e.g., `net`, `crypto`, `os`, `encoding`, `testing`) offers production-ready packages. The architecture is modular: clear separation between toolchain commands and library packages, heavy use of internal packages for shared low-level functionality (e.g., `internal/cpu`, `internal/poll`, `internal/bytealg`), and extensive platform-specific code via build tags. The codebase is exceptionally well-engineered, with comprehensive test coverage, fuzz testing, and a rigorous change control process. It is the reference implementation of the Go language and defines the ecosystem's standards.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 3 reusable components found
rust-lang/rust ★ 119277 17052 APPLICATION

This repository is the main source code for the Rust programming language compiler (rustc) and its standard library. It is a monorepo containing the compiler, standard library (core, alloc, std), and development tools (clippy linter, miri interpreter, rustfmt formatter, rust-analyzer, rustdoc documentation generator). The compiler is implemented as a collection of Rust crates under compiler/, each handling a specific phase: lexing, parsing, AST construction, HIR lowering, type inference, borrow checking, MIR optimization, and code generation (LLVM, GCC, Cranelift backends). The architecture is modular with well-defined interfaces between phases, enabling incremental compilation and separate development of backends. The primary entry point is compiler/rustc/src/main.rs, which drives the compilation pipeline. Source code flows through the lexer, parser, AST, HIR, MIR, and finally to code generation. The borrow checker (rustc_borrowck) performs region-based static analysis for memory safety. The type inference engine (rustc_infer) handles complex type relationships including generics, traits, and higher-ranked types. The MIR optimization framework (rustc_mir_transform) applies numerous passes such as constant propagation, dead store elimination, and GVN. External dependencies include LLVM for the primary code generation backend, libgccjit for the GCC backend, and various system libraries for platform-specific functionality. The standard library provides OS abstractions, synchronization primitives, I/O, and collections. The repository also includes extensive test suites (tests/) covering compiler diagnostics, code generation, optimization, and tool behavior.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
JetBrains/kotlin ★ 53354 6390 APPLICATION

This repository is the core implementation of the Kotlin programming language, serving as the reference compiler and tooling suite. It encompasses the full compilation pipeline (frontend, IR, backends for JVM, JS, Native, Wasm), the standard library, and build tool integrations (Gradle, Maven). The architecture is modular, separating concerns into compiler logic, analysis APIs for IDEs, and platform-specific backends. Key entry points include the CLI compiler, the Gradle plugin, and the Analysis API used by IDEs like IntelliJ IDEA. The primary data flow involves parsing source code into PSI/FIR, transforming it into IR, and generating target-specific bytecode or executables. It relies on external dependencies such as the Java JDK, LLVM (for Native), and Gradle.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 4 reusable components found
JuliaLang/julia ★ 49182 5982 APPLICATION

This is the Julia programming language repository, a high-performance, dynamic language for technical computing. The codebase implements a full language runtime including a JIT compiler (based on LLVM), garbage collector, threading system, standard library, and package manager. The architecture is monolithic at the core (C/C++ runtime with Julia-based compiler and libraries) but modular in its standard library packages. Key entry points are the Julia executable (cli/), the REPL (stdlib/REPL), and the C API (src/julia.h). Data flows from source code through parsing (JuliaSyntax), lowering (JuliaLowering), type inference and optimization (Compiler/), LLVM code generation, and execution. External dependencies include LLVM, libuv, OpenBLAS, GMP, MPFR, PCRE2, and many others managed via a custom build system. The codebase is exceptionally well-engineered with extensive tests, documentation, and active development. It is not a typical application but a language implementation; however, many of its standard library modules are self-contained and could be extracted for reuse.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
elixir-lang/elixir ★ 26685 3666 APPLICATION

This repository is the official implementation of the Elixir programming language. It contains the full compiler chain (Elixir-to-Erlang AST via Erlang source files in `lib/elixir/src/`), the standard library (`lib/elixir/lib/`), the Mix build tool (`lib/mix/`), the ExUnit test framework (`lib/ex_unit/`), the IEx interactive shell (`lib/iex/`), the Logger application (`lib/logger/`), and the EEx template engine (`lib/eex/`). The compiler is self-hosting: Elixir modules are compiled first by a bootstrap Erlang compiler, then later by the compiled Elixir itself. The standard library provides all core data types (String, List, Map, Tuple, etc.), concurrency primitives (Agent, Task, GenServer, Supervisor), I/O (File, IO), and utilities for JSON, URI, Regex, Calendar, etc. Mix is a complete build tool supporting dependency management (Hex, Git, paths), compilation (Elixir, Erlang, Leex, Yecc), testing, profiling, release creation, and archive/escript packaging. Architecturally, the system follows the Erlang/OTP conventions: each component is an OTP application with its own supervision tree, configuration, and lifecycle. The compiler backend is written in Erlang (e.g., `elixir_tokenizer.erl`, `elixir_expand.erl`, `elixir_erl.erl`) and produces Core Erlang for the BEAM VM. The runtime supports distributed process management, hot code swapping, and fault-tolerant supervision. The entire codebase is dual-licensed under Apache 2.0 with the Elixir trademark policy. Key entry points include the `elixir` and `iex` command-line scripts in `bin/`, the Mix CLI (`Mix.CLI`), the Erlang application start (`elixir.erl`), and the REPL server (`IEx.Server`). The system depends only on the Erlang/OTP runtime (OTP 27+), with no other external runtime dependencies. The repository is actively maintained by the Elixir core team with rigorous CI (Linux, macOS, Windows), code quality checks, and license compliance (ORT).

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
ruby/ruby ★ 23769 5656 APPLICATION

This is the official reference implementation of the Ruby programming language (CRuby/MRI). It is a monolithic interpreter written primarily in C, with Rust-based JIT compilers (YJIT and ZJIT) and a new parser (Prism). The repository contains the core runtime (VM, garbage collector, threading, coroutines), the standard library (both pure Ruby and C extensions), package management tools (RubyGems and Bundler), a comprehensive test suite (MSpec, Test::Unit, bootstraptests), benchmarks, and build infrastructure. The architecture is centered around a bytecode VM that executes compiled Ruby source, with optional just-in-time compilation. Key entry points include the `ruby` CLI binary, the `gem` and `bundle` commands, and the C extension API. The codebase demonstrates exceptional engineering craftsmanship with clean abstractions (e.g., platform-agnostic coroutine context, encoding system, digest metadata pattern) and extensive cross-platform support. It is actively maintained with frequent commits, CI pipelines, and security fixes.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
google/wuffs ★ 4821 145 APPLICATION

Wuffs is a memory-safe programming language and toolchain for writing parsers and codecs, with C code generation as its primary output. The system provides a comprehensive library of decoders for image formats (JPEG, PNG, GIF, BMP, WebP, etc.), compression formats (Deflate, Zlib, Gzip, LZMA, XZ, BZip2, etc.), and checksums (CRC32, Adler32, SHA256). It is designed to eliminate buffer overflows, integer overflows, and null pointer dereferences at compile time through formal verification and interval arithmetic, without runtime overhead. The architecture consists of a custom DSL (Wuffs language) with a Go-based compiler (parser, type checker, optimizer), a C code generator that produces a single-file header-only C library, and a set of auxiliary C++ modules for high-level APIs. Key entry points include the `wuffs` CLI tool for managing packages and generating C code, the `wuffs-c` tool for C-specific operations, and the generated `wuffs-unsupported-snapshot.c` file that can be dropped into any C project. External dependencies are minimal: the development toolchain requires Go, but the generated C library has no dependencies beyond standard C. The system is used in production (e.g., GIF decoder in Google Chrome) and is benchmarked as 1.3–6× faster than equivalent C libraries.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 4 reusable components found
argotorg/solidity ★ 25745 6165 APPLICATION

The Solidity compiler (solc) is a production-grade, multi-pass compiler that translates Solidity smart contract source code into EVM bytecode. It supports two compilation pipelines: a legacy EVM assembly backend and a newer IR-based pipeline via Yul, which also serves as the optimizer intermediate representation. The optimizer suite comprises approximately 80 composable passes, including control-flow simplification, common subexpression elimination, function inlining, and store elimination. The compiler integrates formal verification through SMT solvers (Z3, cvc5, Eldarica) using both BMC and CHC engines. A C API (libsolc) enables embedding, and a CLI provides rich output options (ABI, bytecode, IR, metadata, storage layout). The codebase demonstrates deep compiler engineering with advanced static analysis, SSA construction, stack layout optimization, and genetic-algorithm-based optimizer tuning (yulPhaser). It is extensively tested with semantic, syntax, fuzz, and external integration tests.

RATING: 9.6/10 MAINT: active DRIFT: low
▸ 5 reusable components found
carbon-language/carbon-lang ★ 33900 1684 APPLICATION

This repository is the compiler toolchain for the Carbon Language, an experimental successor to C++ focused on performance, C++ interoperability, and memory safety. The codebase implements a full compilation pipeline from lexing and parsing through semantic analysis (SemIR) to LLVM IR code generation, along with a language server (LSP), a formatting tool, and C++ interop via Clang integration. The architecture follows a phased compiler design with distinct modules for lex, parse, check, sem_ir, lower, and driver, all orchestrated through a Bazel build system. Key entry points include the main driver binary (`toolchain/driver/`) with subcommands like `compile`, `link`, `build`, `format`, and `language-server`, and the semantic checker (`toolchain/check/`) which handles type checking, generics, and impl resolution. The toolchain also features a robust diagnostics system, a custom high-performance hashtable, and an extensive file-based testing framework with automatic CHECK-line updates. The codebase is actively developed with frequent commits, extensive test coverage, and fuzz testing, though it remains experimental and subject to breaking changes.

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 3 reusable components found
vlang/v ★ 37932 2292 APPLICATION

This repository is the official compiler, standard library, and toolchain for the V programming language. It is a self-hosting, multi-backend compiler (primarily targeting C, with experimental JS and WASM backends) that produces highly optimized native executables. The standard library is exceptionally comprehensive, offering built-in support for cryptography (AES, SHA3, Ed25519, TLS via mbedtls), compression (gzip, zstd, lz4, snappy), database connectivity (SQLite, MySQL, PostgreSQL, MSSQL, Redis), a full web framework (veb), graphics (gg, sokol), and CLI development tools. The architecture is a monolithic compiler with a modular standard library. The compiler pipeline involves scanning, parsing, type-checking, and code generation. The build system uses a multi-stage bootstrap process. The codebase demonstrates extremely high craftsmanship, with clean abstractions, extensive test coverage, and reusable components. It is actively maintained with a large community. Key reusable components include the pure-V implementations of cryptographic primitives (Ed25519, SHA-3), compression algorithms (LZ77, Snappy), data structures (lock-free ring buffer, FSM), and the CLI framework. These modules are isolated, well-tested, and could be extracted for use in other projects with minimal modification.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 9 reusable components found
ProvableHQ/leo ★ 4821 715 APPLICATION

This repository is the official compiler and toolchain for the Leo programming language, a statically-typed language for writing private zero-knowledge applications on the Aleo blockchain. The codebase implements a full compilation pipeline from Leo source to Aleo bytecode, including parsing (with a lossless rowan-based parser), type checking, static analysis, multiple optimization passes (constant propagation, loop unrolling, dead code elimination, common subexpression elimination, SSA formation, function inlining, flattening, destructuring, storage lowering, option lowering, peephole optimization), and code generation targeting snarkVM. Beyond the compiler, it provides a complete development environment: a CLI with commands for building, testing, deploying, executing, and querying the Aleo network; a Language Server Protocol (LSP) implementation with diagnostics, goto-definition, references, rename, and semantic tokens; a standalone formatter; a package manager supporting local, git, network, and workspace dependencies with lock files; and an ABI generation and compatibility checker. The architecture is a multi-crate Rust workspace with clear separation of concerns, extensive test coverage (unit, integration, and expectation-based compiler tests), and CI/CD pipelines. The codebase demonstrates high craftsmanship with reusable patterns such as a generic directed graph with cycle detection, a canonicalization trait for structural equality, an intern-based type system, and a pass-based compiler architecture.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
Jamesbarford/holyc-lang ★ 1161 75 APPLICATION

hcc is a compiler for the HolyC language, a derivative of TempleOS HolyC. It supports both ahead-of-time (AOT) compilation to x86_64 and AArch64 assembly and just-in-time (JIT) compilation for in-memory execution. The system includes a full front-end (lexer, parser, AST, SSA-based IR), optimization passes, register allocation, and backends for x86_64 and AArch64. Additionally, it provides a REPL, a Language Server Protocol (LSP) server, an inline assembler (TempleOS-style), a disassembler, and a control-flow graph visualizer. The standard library is written in HolyC and offers data structures (lists, vectors, hash maps, red-black trees), JSON/CSV parsers, SQLite bindings, networking, threading, coroutines, and system call wrappers. The project is a self-contained, well-structured compiler toolchain with extensive tests and active development.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 3 reusable components found
fusionlanguage/fut ★ 1927 71 APPLICATION

Fusion Transpiler (fut) is a self-hosting, multi-target transpiler that translates code written in the Fusion language into C, C++, C#, D, Java, JavaScript, Python, Swift, TypeScript, and OpenCL C. The repository contains the complete compiler implementation written in Fusion itself, including a lexer, parser, semantic analyzer, and a family of code generators organized via a visitor pattern. It also includes a comprehensive test suite, command-line interfaces for multiple host languages (C++, C#, Java, Node.js), editor integrations (VS Code, Vim, Sublime, Visual Studio, LSP server), and packaging for Debian, Windows, and RPM. The architecture follows a classic compiler pipeline with a clear separation of concerns, and the self-hosting bootstrap ensures the compiler is exercised on its own code. This is a pure application project with no data processing or research components; it is a production-quality compiler toolchain.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 2 reusable components found
goplus/xgo ★ 9480 566 APPLICATION

XGo (formerly Go+) is a Go-superset programming language delivered as a complete compiler toolchain. The repository implements the full language pipeline: a custom scanner (scanner/), parser (parser/), extended AST (ast/), semantic compiler (cl/), and code generator that lowers XGo source to standard Go via the gogen code builder. The xgo CLI (cmd/xgo) exposes subcommands for build, run, test, fmt, go, install, mod, pack, serve, watch, and version, wrapping the Go toolchain after transpilation. The language extends Go with command-style calls, keyword arguments, tuples, list/map/select comprehensions, error-wrapping operators (expr!, expr?), overloaded functions and operators, enums, domain-text literals, and classfile frameworks for domain-specific applications (spx games, MCP servers, shell scripts). The architecture follows a classic compiler design: XGo source → scanner → parser → AST → cl semantic analysis/code generation → gogen → Go source → standard Go toolchain. The tool/ package orchestrates module loading, go.mod management, and delegation to go build/run/test. A language server (x/langserver) with a bundled JSON-RPC2 library (x/jsonrpc2) supports editor tooling. Two notable sub-systems ship alongside the compiler: DQL (dql/), a unified query language over HTML/XML/JSON/YAML/Go AST trees, and TPL (tpl/), a grammar-based DSL parser generator used for domain-text literals. Hundreds of golden-test pairs (in.xgo/out.go) validate compiler output across Go versions 1.18-1.27. External dependencies include github.com/goplus/gogen (code builder), github.com/goplus/mod (module handling), github.com/qiniu/x (errors/streams), and cobra for CLI construction. The codebase forks several Go standard library internals (scanner, printer, ast) to support extended syntax, creating ongoing maintenance burden as Go evolves. Some features remain incomplete (panic("TODO") in matrix literal compilation, fully commented-out ast/resolve.go), and legacy naming aliases (gop vs xgo, gop.mod vs gox.mod) coexist throughout.

RATING: 8.8/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
Calysto/calysto_scheme ★ 297 26 APPLICATION

Calysto Scheme is a sophisticated Scheme interpreter implemented in Python that integrates with Jupyter notebooks. It features a multi-stage compilation pipeline (CPS → DS → RM → Python) with JIT compilation, continuation support (call/cc), and seamless Python interoperability. The system includes advanced optimizations like persistent vectors for O(1) lexical address lookup, epoch-based cache invalidation, and escape analysis for JIT inlining. It's used in educational contexts and provides debugging tools like a stepper-debugger, making it both a practical development tool and a platform for teaching programming language concepts.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 2 reusable components found
samuelmtimbo/unit ★ 4920 172 APPLICATION

This is a comprehensive visual programming system called 'Unit' that implements a dataflow/reactive paradigm where programs are composed of interconnected units (MIMO finite state machines) in a directed graph. The system includes a full-stack runtime (Node.js server and browser client), a graph editor UI with drag-and-drop, a rich library of built-in functional units (arithmetic, string, array, control flow, etc.), platform API wrappers (canvas, audio, Bluetooth, WebSocket, etc.), and a custom spec language for defining units. The architecture is centered around a core class hierarchy (Unit, Graph, Pin, Component) with a reactive push-based execution model. The project is actively maintained with a large community (4920 stars) and demonstrates sophisticated engineering in areas like force-directed layout simulation, custom parser with type inference, and a comprehensive debugging infrastructure. While the codebase is extensive and well-structured, some components (e.g., the main Component class) are large and tightly coupled, and there are signs of duplication and incomplete implementations in some areas.

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 3 reusable components found
marcobambini/gravity ★ 4563 238 APPLICATION

Gravity is an embeddable, dynamically typed scripting language written in portable C99 with no external dependencies beyond the C standard library. The repository implements a full language toolchain: a multi-pass compiler (lexer, Pratt parser, AST, IR, optimizer, bytecode codegen) and a register-based virtual machine with mark-and-sweep garbage collection. It provides a CLI (`gravity` executable) for running scripts and a well-defined C embedding API. The architecture is modular, with clear separation between compiler (`src/compiler`), runtime (`src/runtime`), shared utilities (`src/shared`), and optional modules (Math, File, JSON, ENV). The codebase is extensively tested with unit tests (embedded `#unittest` blocks) and a large fuzzing corpus for crash resistance. Despite some monolithic files (`gravity_core.c` >4000 lines) and heavy macro usage, the implementation demonstrates strong software engineering craftsmanship, especially in the hash table, dynamic array macros, and Pratt parser. The project appears to be under active maintenance (last commit 2026-08-05, 34 open issues, 4.5k stars) but shows some technical drift such as outdated CI configurations, platform-specific ifdefs, and a fuzz corpus from 2017.

RATING: 8.1/10 MAINT: maintained DRIFT: medium
▸ 3 reusable components found
amber-lang/amber ★ 5219 144 APPLICATION

Amber is a Rust-based compiler that transpiles a high-level, statically-typed programming language into shell scripts (Bash, Zsh, Ksh). It provides a modern language with features like functions, type inference, generics, optional arguments, failable types, imports, loops, range expressions, array operations, and a standard library for file system, text, HTTP, math, and environment operations. The compiler architecture is modular: a CLI entry point (src/main.rs) dispatches to subcommands (build, run, eval, check, docs, test). The compilation pipeline (src/compiler.rs) orchestrates tokenization via heraclitus-compiler, parsing into a typed AST, type checking with control-flow analysis, translation to an intermediate fragment AST, optimization passes (unused variable removal, ephemeral variable elimination), and final shell code generation with post-processing (e.g., shell syntax checking). The system supports multiple shell targets and generates version-specific code. The codebase is well-structured with procedural macros (meta crate) for keyword registration and context management, and a comprehensive test suite using snapshot testing (insta). While alpha quality, the engineering is serious and the architecture shows thoughtful design patterns.

RATING: 8.0/10 MAINT: active DRIFT: low
▸ 4 reusable components found
JohnBlood/awesome-basic ★ 209 23 DATA_RESEARCH

This repository is a curated list of awesome BASIC dialects, IDEs, tools, and tutorials. It serves as a reference for developers interested in the BASIC programming language ecosystem, providing organized links to resources categorized by dialects, development tools, miscellaneous projects, and learning tutorials. The repository consists primarily of a single README.md file that contains the curated list, supplemented by CONTRIBUTING.md guidelines for maintaining the list's quality and consistency, and a standard LICENSE file. There is no executable code or data processing pipeline; the value lies in the human-curated collection of links. The CONTRIBUTING.md file stands out as a reusable asset, offering a template for contribution guidelines that can be adapted to other awesome lists or curated repositories. It emphasizes consistent formatting, quality checks, and clear contribution procedures, demonstrating practical data stewardship practices for community-maintained resource lists.

RATING: 7.9/10 REPRO: 5.0/10 MAINT: active DRIFT: low
▸ 1 reusable components found
irmen/prog8 ★ 202 26 APPLICATION

Prog8 is a Kotlin/JVM compiler and language toolchain for retro 8-bit/16-bit platforms (C64, C128, CX16, PET32, Amiga, m68k). It compiles a high-level language to 6502/68000 assembly through a multi-stage pipeline: lexer/parser, AST construction, semantic analysis, intermediate representation, optimizer, code generation, and optional VM execution. The repository also includes an LSP server, a Gradle build with Kotest tests, CI workflows, and target-specific runtime libraries. It is primarily an application (compiler/CLI), not a data/research project.

RATING: 7.7/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
$ loading more...
$ submit: