• 1.0.0-beta.2 a60d35c0b0

    1.0.0 Beta 2 Pre-Release

    teascade released this 2025-07-28 13:39:39 +02:00 | 54 commits to main since this release

    New features:

    • Or binary operations (e.g. a || b)
    • Xor binary operations (e.g. a ^ b)
    • Bitwise and (e.g. a & b)
    • Bitwise or (e.g. a | b)
    • Bitshifting left and right (e.g. (a << b) >> c)

    Bugfixes:

    • (8e71c6a47d) Null pointer intrinsic should now work correctly
    • (cea756b2ad) Dereffing with casts is now easier, not necessarily requiring outer parenthesis
    • (bb7347c97b) Nested binary operations may behave better now
    • (2a6aceb052) Calling a.func() when a already is a borrow or mutable borrow no longer should cause issues

    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