• 1.0.0-beta.3 8d0e3d03d5

    1.0.0 Beta 3 Pre-Release

    teascade released this 2025-08-02 13:42:17 +02:00 | 111 commits to main since this release

    Features:

    • (1b1a5934f5) Lexical Scopes for Debug Info
    • (beaba4e7de) Mangled function names for intrinsics, linking against libc without affecting function names
    • (13be3e9c02) Namespaced functions in LLVM IR
    • (89850d7b4f) Intrinsic malloc instead of the previous alloca
    • Intrinsic macro
    • (7234cad5f0) Allow casting &[ty,_ ] into *ty
    • (2dd3a5904b) Account for whitespace correctly in lexer and parser
    • Language Server
      • Syntax Highlighting
      • Inline error reporting

    Bugfixes:

    Usage

    ./cli hello_world.reid
    

    If you wish to pass feature-flags, the CPU-name or change the underlying linker, or add libraries to be linked, they can be set with environment variables like so:

    # Mark CPU as "generic"
    CPU=generic ./cli hello_world.reid
    
    # Mark "f16c"-feature
    REIDFLAGS="+f16c"  /cli hello_world.reid
    
    # Set linker to "mold"
    LD=mold  /cli hello_world.reid
    
    # Link against libSDL3
    /cli hello_world.reid SDL3
    

    Requirements

    • Linux
    • libc
    • ld (can be changed)
    • whereis
    • LLVM 20.1 or newer (because this executable is dynamically linked)
    Downloads