@rvcas

Projects

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.

Crisp

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", .{}),
}
}

Sternhalma

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
]
}