hashc
hashc copied to clipboard
The Hash programming language compiler :zap:
Currently, byte literals are being printed as standard numeric literals. To make it a bit nicer when debugging, byte literals should be printed as the raw source instead of the...
Currently, the LLVM code generation backend doesn't implement emitting debug information. This is a must-need feature of any code generation backend and should be implemented. LLVM provides a way to...
The following snippet: ```rust main := () => { buf := [1u8; 4usize + 5usize]](buf: [u8; { 1usize + 1usize }] = [1u8, 1u8]) } ``` Should produce this behaviour:...
Currently, the semantic pass doesn't generate names for monomorphised names, so for code like: ```rs main := () => { buf : [u8; 9] = [1u8; 9] mut sum :=...
Currently the sizes of `PatArgId`, `ArgId` are 16bytes which is excessively large, they can both probably be shrunk down to 8bytes. Similarly, `SomeArgId` takes up a whopping 24bytes, we could...
The following snippet (with the addition of more `+ 1`) causes the compiler to exhibit exponential compile times (specifically in the analysis phase). ```rust main := () => { y...
Currently, we require that the host system of the compiler must include an installation of LLVM. This is inconvenient and leads to problems such as (#825). We could explore trying...