This is a list of projects I've worked on. You'll find a mix of original projects and contributions to other people's stuff.
A very minimal lispy CLI calculator implemented in Zig.
while (true) : (input = undefined) {
try stdout.print("\u{001b}[31;1mcrisp> \u{001b}[36m", .{});
const chars = try stdin.read(input[0..]);
if (std.mem.eql(u8, input[0 .. chars - 1], ":q")) {
try stdout.print("\n\u{001b}[1;32mGoodbye 👋\n\n", .{});
std.process.exit(0);
}
if (eval(input[0 .. chars - 1])) |result| {
try stdout.print("\n\u{001b}[1;32m-> {}\n\n", .{result});
} else |err| switch (err) {
error.OutOfMemory => try stdout.print("Error: out of memory \n\n", .{}),
error.InvalidCharacter => try stdout.print("Error: invalid character \n\n", .{}),
else => try stdout.print("Error: error calculating result \n\n", .{}),
}
}
A game commonly known as chinese checkers written in Elm.
view : Model -> Document Msg
view model =
{ title = "Sternhalma"
, body =
[ case model of
SelectPlayers ->
viewSelectPlayer ()
Playing state ->
viewBoard state
]
}