HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
pervognsen
bitwise
C2018–2022
pervognsen / bitwise · Archived

bitwise

Bitwise is an educational project where we create the software/hardware stack for a computer from scratch.

10Distinct people
12Mentions
0Explicit recommenders
5.3KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Bitwise is an educational project where we create the software/hardware stack for a computer from scratch.

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:03:16 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year12 dated mentions

Observed mentions: 2018-03-10 11:59:37 UTC to 2022-01-16 13:12:44 UTC.

0369122018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 11 mentions; 5 submissions, 6 comments20182019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2022

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC1156
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC000
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC000
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC000
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC101

What Hacker News says

12 sources
I've seen other experienced people do this, like Jonathan Blow (Jai) and Per Vognsen (bitwise) I believe. I recall measuring a large space overhead from tokens myself when working on my toy compiler. Token data will not typically be needed a lot: The token kind (integer-literal, plus-operator, open-paren etc.) at exactly one point in the parsing phase and possibly in the type checking phase but you could have a separate "literal expression" kind for that. Binary payloads (string bytes, floating point value etc.) will be needed in the constant phase for literal tokens. I wouldn't expect that a little optimization here is a difficult tradeoff to make - neither with regards to speed nor code complexity. Update, here is bitwise's code. It looks very good to me from a glance: https://github.com/pervognsen/bitwise/blob/master/ion/lex.c . I thin
Read the rest
k thinking about this gives interesting insights, and the token struct approach is an illustration of how "object-oriented" approaches can go wrong. The concept of a token exists merely at the syntactical level, and the token kind controls the code flow of a recursive descent parser, but I don't see any good reasons to store a token represented as a tagged union. Punctuation tokens are completely ephemeral, and constant data, literal kinds, operator kinds etc. all should better go to very distinct places in the data store that have no resemblance to "token objects".
In Writing a minimal Lua implementation with a virtual machine from scratch in Rust
I was basically introduced to Twitch by Handmade Hero, and Casey (the host) seems to have brought a bunch of his contemporaries in as well. Handmade Hero: Complete game from scratch (nothing but platform libraries). Has spawned a number of small projects, like 4coder (https://4coder.itch.io/4coder) and Milton (https://github.com/serge-rgb/milton) and a lot more: http://handmade.network/ https://handmadehero.org/ Bitwise: Complete hardware/software stack for a RISC-V computer from scratch (compiler, assembler, ...) https://github.com/pervognsen/bitwise Sean Barrett: He's the author of the excellent stb header-only libraries, does the occasional live coding video. https://www.twitch.tv/nothings2 https://www.youtube.com/user/silverspaceship/videos Jonathan Blow: He's the game developer and designer behind Braid and The Witness. He's design
Read the rest
ing a programming language (JAI), works on that and shows off features, as well as doing game development, on his channel. (And occasionally playing games.) https://www.twitch.tv/naysayer88 with no schedule VODs: https://www.youtube.com/user/jblow888/videos Martin "quill18" Glaude: He's primarily a game streamer, but also a consistent Ludum Dare participant, with some high placement in many of them. He has a series of programming videos. https://www.twitch.tv/quill18 Vods: https://www.youtube.com/user/quill18creates/videos They have different approaches, but mostly ignore the chat during the stream, but often the chat has very bright folks who can help out.
In Twitch streamers who spend years broadcasting to no one

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.