The project with a single 11,000-line code file

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • tetgen

    This is a mirror of the latest stable version of Tetgen.

  • A brilliant tool I once worked with is TetGen; it takes a hollow 3D shape and creates a volumetric, space-filling mesh of the inside using tetrahedra. Most of what is TetGen is in once giant C++ file, clocking in at 36,566 raw SLOC.

    https://github.com/libigl/tetgen/blob/master/tetgen.cxx

  • .NET Runtime

    .NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • SheetJS js-xlsx

    📗 SheetJS Spreadsheet Data Toolkit -- New home https://git.sheetjs.com/SheetJS/sheetjs

  • TypeScript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TypeScript's checker.ts is a 2.65 MB file containing 44,932 lines at the moment.

    https://github.com/microsoft/TypeScript/blob/main/src/compil...

    Does anyone know why and how they maintain it?

  • wolfssl

    The wolfSSL library is a small, fast, portable implementation of TLS/SSL for embedded devices to the cloud. wolfSSL supports up to TLS 1.3!

  • TypeScript-Compiler-Notes

    A repo containing notes about the TypeScript Compiler codebase

  • Unlike the OP's file, there's a rather substantial test suite and massive corpus of TypeScript code to work with, so at the very least, you'd have some grumpy people knocking on your door if you did something that negatively impacted the greater ecosystem.

    Some documentation from Orta Therox on the checker:

    https://github.com/microsoft/TypeScript-Compiler-Notes/blob/...

  • leo-editor

    Leo is an Outliner, Editor, IDE and PIM written in 100% Python.

  • I had this problem until I found an editor that had outlining as it's core design paradigm. Now, with the outline always visible, it's _really_ easy to navigate any length file.

    Unfortunately, at one point I got so used to navigating with the outline that I ended up making a 1500 line function in C (I was an even worse C programmer then than I am now). Because of the outline, I could read and follow it easily, but anyone with a different editor was royally screwed :-(

    If you're interested, the editor is LEO (http://leoeditor.com/) it's been mentioned on HN a few times

  • WorkOS

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

    WorkOS logo
  • kubernetes

    Production-Grade Container Scheduling and Management

  • arc

  • Ironically, this is a description of hacker news itself. https://github.com/shawwn/arc/blob/arc3.1/news.arc

    It’s important to realize that this is good design. It’s hard to separate yourself from the time you live in, but the rewards are worthwhile.

  • CPython

    The Python programming language

  • Celeste

    Discontinued Celeste Bugs & Issue Tracker + some Source Code

  • I remember sharing that Player.cs code from Celeste in the gamedev subreddit, and getting all kinds of weird novice comments about how the code doesn't adhere to 'OOP Principles' or 'there isn't any unit tests' or 'you should split it into multiple files with 100 lines each' or 'you should use an ECS to make a real game'.

    Laster on Noel Berry did give a response explaining the various design choices behind their code:

    https://github.com/NoelFB/Celeste/tree/master/Source/Player

    Anyways, kudos to the team sharing their code even if it's a bit messy.

  • elf

  • > What do you develop with Arc usually?

    I try to use Arc for as much as possible. We wrote our TPU monitoring software in it: http://tensorfork.com/tpus

    Eventually I became frustrated with Racket's FFI. So I eventually made my own arclike language called elflang: https://github.com/elflang/elf

    ... which itself is a fork of Lumen (https://github.com/sctb/lumen) by Scott Bell.

    The performance is good enough to run a minecraft-style game engine: https://i.imgur.com/iyr0YrB.png which was satisfying.

    Nowadays I've been trying to implement Bel, mostly for the challenge of it than for any practical reason.

    > I like how the "html" and "css" part was embedded in that "news.arc" file. Do you think that VIM script will highlight and lint the "css" part of an "arc" file?

    Nope. https://i.imgur.com/o9aUG6j.png

    But it has one very important feature: it can properly highlight atstrings: https://i.imgur.com/wO4f742.png

    It's probably hard to tell, but the "@(hexrep border-color*)" would normally be highlighted as if it were a string. Arc has a feature called atstrings, where you can use @foo to reference the enclosing variable "foo". It can also call functions, e.g. "The value of 1 plus 2 is @(+ 1 2)" will become "The value of 1 plus 2 is 3".

  • lumen

    A Lisp for Lua and JavaScript (by sctb)

  • > What do you develop with Arc usually?

    I try to use Arc for as much as possible. We wrote our TPU monitoring software in it: http://tensorfork.com/tpus

    Eventually I became frustrated with Racket's FFI. So I eventually made my own arclike language called elflang: https://github.com/elflang/elf

    ... which itself is a fork of Lumen (https://github.com/sctb/lumen) by Scott Bell.

    The performance is good enough to run a minecraft-style game engine: https://i.imgur.com/iyr0YrB.png which was satisfying.

    Nowadays I've been trying to implement Bel, mostly for the challenge of it than for any practical reason.

    > I like how the "html" and "css" part was embedded in that "news.arc" file. Do you think that VIM script will highlight and lint the "css" part of an "arc" file?

    Nope. https://i.imgur.com/o9aUG6j.png

    But it has one very important feature: it can properly highlight atstrings: https://i.imgur.com/wO4f742.png

    It's probably hard to tell, but the "@(hexrep border-color*)" would normally be highlighted as if it were a string. Arc has a feature called atstrings, where you can use @foo to reference the enclosing variable "foo". It can also call functions, e.g. "The value of 1 plus 2 is @(+ 1 2)" will become "The value of 1 plus 2 is 3".

  • fpc

  • In Pascal that is really common, since the files are the modules. You publish your library as one file, and the user can import it by the file name.

    I ran wc on FreePascal to search for some. There are a few, but not as many as I expected.

    9k file, data structures for the compiler itself: https://gitlab.com/freepascal.org/fpc/source/-/blob/main/./c...

    30k file: Pascal parser/scope resolver: https://gitlab.com/freepascal.org/fpc/source/-/blob/main/pac...

    And the record:

    119k file, Sharepoint API (but it seems to be autogenerated): https://gitlab.com/freepascal.org/fpc/source/-/blob/main/pac...

    As far as libraries go, this is one of my favorites:

    23k file, regular expression library: https://github.com/BeRo1985/flre/blob/master/src/FLRE.pas

    I searched my own files and found a 197k file to parse HTML entities. But that was an autogenerated trie (one switch/case for each letter)

  • flre

    FLRE - Fast Light Regular Expressions - A fast light regular expression library

  • In Pascal that is really common, since the files are the modules. You publish your library as one file, and the user can import it by the file name.

    I ran wc on FreePascal to search for some. There are a few, but not as many as I expected.

    9k file, data structures for the compiler itself: https://gitlab.com/freepascal.org/fpc/source/-/blob/main/./c...

    30k file: Pascal parser/scope resolver: https://gitlab.com/freepascal.org/fpc/source/-/blob/main/pac...

    And the record:

    119k file, Sharepoint API (but it seems to be autogenerated): https://gitlab.com/freepascal.org/fpc/source/-/blob/main/pac...

    As far as libraries go, this is one of my favorites:

    23k file, regular expression library: https://github.com/BeRo1985/flre/blob/master/src/FLRE.pas

    I searched my own files and found a 197k file to parse HTML entities. But that was an autogenerated trie (one switch/case for each letter)

  • 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.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts