Release v0.3.0
Since the v0.2.1
release, significant progress has been made! Before, skullc
was a standalone program. In this release, skullc
has been renamed to just skull
, and the old REPL system has been phased out. All the code has been converted to its LLVM equivalent. Here is a short list of all of the note-worthy features added:
Addition, subtraction, division, and multiplication of int and float constants.
add := 1 + 2
sub := 2.5 - 1.0
div := 10 / 2
mul := 2 * 4
Allow for compiling and running C code from Skull
$ cat main.sk
external func
func[]
$ skull main.sk -- libfunc.o
$ ./main
Allow for fine-grain control of CC arguments via --
$ skull main.sk -- -O3 -o something
$ ./something
Escape sequences in strings and runes
hello := "hello\r\nworld!"
hex := '\x1b'
Reassigning of mutable variables
mut x := 0
x = 1234
If statements
if true [
return 1
]
x := false
if x [
z := 1 + 2
return z
]
Compiler errors
$ cat bad.sk
this code wont compile
$ skull bad.sk
Compilation error: unexpected token: "this"