I'm trying mini projects to exercise my new programming language and find gaps.
So far I've done fizzbuzz, JSON parsing, and a crude scheme interpreter.
Any ideas for additional projects? They need to be well scoped because I keep finding e.g. stdlib crashes.
Language design question: what type should `while True {}` have?
Bottom: It doesn't contain any `break` statements.
Unit: Treat loops with/without `break` consistently.
I already have lints that warn on unreachable code after diverging loops, so the Unit case feels surprising.
I'm looking at adding bitwise AND and OR to my programming language. Do I add & and | operators, methods x.and(y) or a library bitwise::and(x, y)?
My inclination is to add infix operators (concise and familiar) but syntax is such precious real estate.