Compiler

Top 23 Compiler Open-Source Projects

  • Next.js

    The React Framework

    Project mention: How to Deploy Next.js Applications with Docker | dev.to | 2024-02-23

    This Dockerfile script will run several stages and cache them appropriately to reduce image build times. FROM base AS deps install your dependencies using whichever package manager's lockfile you've used during development, FROM base AS builder copies your node_modules and builds the application, FROM base as runner will execute on the end server and run your app. You can find an example project here.

  • rust

    Empowering everyone to build reliable and efficient software.

    Project mention: Delving Deeper: Enriching Microservices with Golang with CloudWeGo | dev.to | 2024-02-22

    Built for the modern development landscape by embracing both Golang and Rust, CloudWeGo delivers advanced features and excellent performance metrics. As proof of its performance, benchmark tests have shown that Kitex surpasses gRPC by over 4 times in terms of QPS and latency, with a throughput increased by 51% - 70% in terms of QPS (Queries Per Second) and latency.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • Svelte

    Cybernetically enhanced web apps

    Project mention: Svelte Tenets by Rich Harris | news.ycombinator.com | 2024-02-10
  • webpack

    A bundler for javascript and friends. Packs many modules into a few bundled assets. Code Splitting allows for loading parts of the application on demand. Through "loaders", modules can be CommonJs, AMD, ES6 modules, CSS, Images, JSON, Coffeescript, LESS, ... and your custom stuff.

    Project mention: Top 20 Frontend Interview Questions With Answers | dev.to | 2024-02-03

    Webpack is a module bundler, the main purpose of which is to bundle JavaScript files to make them usable in a browser.

  • Gatsby

    The best React-based framework with performance, scalability and security built in.

    Project mention: The Current State of React Server Components: A Guide for the Perplexed | dev.to | 2024-02-21

    The other piece of important information to acknowledge here is that when we say RSCs need a framework, “framework” effectively just means “Next.js.” There are some smaller frameworks (like Waku) that support RSCs. There are also some larger and more established frameworks (like Redwood) that have plans to support RSCs or (like Gatsby) only support RSCs in beta. We will likely see this change once we get React 19 and RSCs are part of the Stable version. However, for now, Next.js is currently the only framework recommended in the official React docs that supports server components.

  • sway

    🌴 Empowering everyone to build reliable and efficient smart contracts. (by FuelLabs)

  • kotlin

    The Kotlin Programming Language.

    Project mention: Fuckjava.com Redirects to Kotlinlang.org | news.ycombinator.com | 2024-02-09
  • LearnThisRepo.com

    Learn 300+ open source libraries for free using AI. LearnThisRepo lets you learn 300+ open source repos including Postgres, Langchain, VS Code, and more by chatting with them using AI!

  • parcel

    The zero configuration build tool for the web. 📦🚀

    Project mention: What is JSDoc and why you may not need typescript for your next project? | dev.to | 2024-01-22

    Parcel

  • Babel (Formerly 6to5)

    🐠 Babel is a compiler for writing next generation JavaScript.

    Project mention: Mastering Jest Configuration for React TypeScript Projects with Vite: A Step-by-Step Guide | dev.to | 2023-12-15

    node 'node_modules/.bin/jest' '/Users/satparkash/code/test-app/src/A pp.test.tsx' -t 'App' FAIL src/App.test.tsx ● Test suite failed to run SyntaxError: /Users/satparkash/code/test-app/src/App.test.tsx: Support for the experimental syntax 'jsx' isn't currently enabled (6:12): 4 | describe('App', () => { 5 | it('should work as expected', () => { > 6 | render(); | ^ 7 | }); 8 | }); 9 | Add @babel/preset-react (https://github.com/babel/babel/tree/main/packages/babel-preset-react) to the 'presets' section of your Babel config to enable transformation. If you want to leave it as-is, add @babel/plugin-syntax-jsx (https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-jsx) to the 'plugins' section to enable parsing. Test Suites: 1 failed, 1 total Tests: 0 total Snapshots: 0 total Time: 0.278 s Ran all test suites matching /\/Users\/satparkash\/code\/test-app\/src\/App.test.tsx/i with tests matching "App".

  • esbuild

    An extremely fast bundler for the web

    Project mention: SSR React in Go | dev.to | 2024-01-20

    Use esbuild to build the React code into a form executable on both the server and client sides.

  • v

    Simple, fast, safe, compiled language for developing maintainable software. Compiles itself in <1s with zero library dependencies. Supports automatic C => V translation. https://vlang.io

    Project mention: V Language Review (2023) | news.ycombinator.com | 2024-02-24

    The creator of V made some big claims that raised a few eyeballs, they've gained a reasonable following over the years, have a pretty serious looking website (https://vlang.io) a beer-money level Patreon following and some corporate partnerships/sponsors. However have experienced some pretty brutal takedowns over the years, with some of the bolder claims about the language/compiler being exposed as being.

    A word I keep seeing in relation to V is "aspirational" - the project aspires to be a serious language with some major features, so I think it's fair to approach it with a more critical eye than one would a kid's side-project. I think HN would have been pretty understanding if they were open about the state of the various features and were a little less defensive when they encounter articles that treat it like a Real Language and review it as such. If the authors don't want this kind of feedback they can just say front-and-centre (or on their FAQ @ https://github.com/vlang/v/wiki/FAQ) "this is a toy" or "this is pre-alpha"

  • carbon-lang

    Carbon Language's main repository: documents, design, implementation, and related tools. (NOTE: Carbon Language is experimental; see README)

    Project mention: Carbon Language Newsletter, the Carbon Copy, February 2024 | news.ycombinator.com | 2024-02-02
  • marked

    A markdown parser and compiler. Built for speed.

    Project mention: Eleventy vs. Next.js for static site generation | dev.to | 2023-12-14

    Next, install gray-matter to extract metadata from the front matter of markdown files, and marked to convert the markdown files to HTML:

  • swc

    Rust-based platform for the Web

    Project mention: Storybook 8 Beta | dev.to | 2024-02-06

    First, we switched the default compiler for new projects from Babel to SWC (Speedy Web Compiler). SWC is dramatically faster than Babel and requires zero configuration. We’ll continue to support Babel in any project currently using it.

  • zig

    General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.

    Project mention: Show HN: Tokamak – A Dependency Injection-Centric Server-Side Framework for Zig | news.ycombinator.com | 2024-02-05

    Yes, fundamentally. In Rust if you take a parameter of generic type T without any bounds, you cannot call anything on it except for things which are defined for all types. If you specify bounds, only things required by the bounds can be called (+ the ones for all types). Another difference is where you get an error when you try pass something which doesn't adhere to a certain trait. In Rust you will get an error at the call site, not at the place of use (except if you don't specify any bounds).

    Zig is doing just fine without any trait mechanism and it simplifies the language a lot but it does come up from time to time. The usual solution is to just get type information via @typeInfo and error out if the type is something you're not expecting [0]. Not everybody is happy about it though [1] because, among other things, it makes it more difficult to discover what the required type actually is.

    [0] https://github.com/ziglang/zig/blob/b3aed4e2c8b4d48b8b12f606...

    [1] https://github.com/ziglang/zig/issues/17198

  • typst

    A new markup-based typesetting system that is powerful and easy to learn.

    Project mention: LaTeX and Neovim for technical note-taking | news.ycombinator.com | 2024-02-21

    I hope in a couple of years we start seeing posts like these with Typst instead of LaTeX. It seems like setting this up would be a bit easier since Typst is much more concise than LaTeX.

    [0] https://github.com/typst/typst

  • llvm-project

    The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.

  • V8

    The official mirror of the V8 Git repository

    Project mention: Boehm Garbage Collector | news.ycombinator.com | 2024-01-21

    https://chromium.googlesource.com/v8/v8.git/+/HEAD/include/c...

    Due to the nature of web engine workloads migrating objects to being GC'd isn't performance negative (as most people would expect). With care it can often end up performance positive.

    There are a few tricks that Oilpan can apply. Concurrent tracing helps a lot (e.g. instead of incrementing/decrementing refs, you can trace on a different thread), in addition when destructing objects, the destructors typically become trivial meaning the object can just be dropped from memory. Both these free up main thread time. (The tradeoff with concurrent tracing is that you need atomic barriers when assigning pointers which needs care).

    This is on top of the safey improvements you gain from being GC'd vs. smart pointers, etc.

    One major tradeoff that UAF bugs become more difficult to fix, as you are just accessing objects which "should" be dead.

  • Graal

    GraalVM compiles Java applications into native executables that start instantly, scale fast, and use fewer compute resources 🚀

    Project mention: FLaNK Stack 05 Feb 2024 | dev.to | 2024-02-05
  • Roslyn

    The Roslyn .NET compiler provides C# and Visual Basic languages with rich code analysis APIs.

    Project mention: Still No REPL for .NET Core in Visual Studio | news.ycombinator.com | 2024-02-17
  • RustPython

    A Python Interpreter written in Rust

    Project mention: FLaNK Stack Weekly 12 February 2024 | dev.to | 2024-02-12
  • assemblyscript

    A TypeScript-like language for WebAssembly.

    Project mention: Let's Write a Malloc | news.ycombinator.com | 2023-11-26

    Incidentally, it’s also what AssemblyScript uses: https://github.com/AssemblyScript/assemblyscript/blob/main/s...

  • Nim

    Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).

    Project mention: Odin Programming Language | news.ycombinator.com | 2024-01-01
  • WorkOS

    The modern API for authentication & user identity. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2024-02-24.

Compiler related posts

Index

What are some of the best open-source Compiler projects? This list will help you:

Project Stars
1 Next.js 118,408
2 rust 90,173
3 Svelte 75,482
4 webpack 63,905
5 Gatsby 54,946
6 sway 52,046
7 kotlin 46,992
8 parcel 42,993
9 Babel (Formerly 6to5) 42,793
10 esbuild 36,836
11 v 35,215
12 carbon-lang 31,988
13 marked 31,469
14 swc 29,579
15 zig 28,854
16 typst 26,350
17 llvm-project 24,426
18 V8 22,394
19 Graal 19,581
20 Roslyn 18,299
21 RustPython 17,190
22 assemblyscript 16,295
23 Nim 15,923
The modern API for authentication & user identity.
The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
workos.com