home.social

#uallang — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #uallang, aggregated by home.social.

fetched live
  1. The payload size in Kb is the size of the resulting compiled binary for each case, except for iual, of course, which is interpreted and JIT compiled.

    #ual #uallang #rustlang #golang #foss #compsci #programming #wasm #wasi

  2. I added Rust to the list of tracked runtimes in this tracker tool for the ual backends, showing perfect semantic parity between the different systems. Not trivial at all, especially for the intensive concurrency tests, they behave identically in vastly different runtime environments.

    This can be understood as validation of the ual concurrency model without mapping 1-to-1 to any one of the backends, with its own expressiveness, consistency, and semantic soundness.

    #rustlang #golang #ual #uallang #foss #compsci #programming #wasm #wasi #rust

  3. This is the architecture coverage of zenox, the new assembler/backend for the language ual as it currently stands.

    #ual #uallang #forth #golang #foss #rustlang #compsci #programming

  4. @dngrs Last update, I tracked down the bug, I can confirm the bug is not ual itself, but the runtime binary generated by TinyGo, and the TinyGo team have been sitting on a bug report by jakebailey for about four years, possibly unable to reproduce it because it's a strange edge case.

    What did I do: I added feature flags to ual, so it doesn't generate the shape of code that trips the WASM emitter causing the browser to panic. If they ever apply the jakebailey patch, the workaround can be lifted and the feature flag removed in a future ual version.

    Thanks for reporting! With your help, I can now safely say that the existing ual code runs correctly on the browser, not only with WASI and wasmtime.

    Whenever you are ready to use it for something cool, I standby ready to adjust and produce a new release that you can use.

    #ual #uallang #compsci #programming #wasm #wasi #forth #rustlang #golang #foss

  5. Hello world, from zenox, the new ual backend which can now emit mach-O binaries for XNU/darwin on ARM64 in addition to ELF for linux amd64, and ELF for linux ARM64.

    Lots of work to do before we can have a usable standard library and a runtime scheduler.

    But so far so good, this is ual, zenox, and the kernel alone.

    #ual #uallang #compsci #zenox #programming #rustlang #golang #foss

  6. @dngrs It works for the most part, five tests don't pass. All the most complex code does pass, what breaks isn't ual, it's the error handling of the wasm code generated by TinyGo.
    I may have to patch the TinyGo wasm emitter and report it upstream.

    #uallang #ual

  7. This is the status of the new zenox backend for #uallang, work in progress. Zenox front-end producing ELF binaries for trivial programs on Linux only, a little milestone that proves the architecture is sound, but still a long way from being able to compile real ual programmes without the Go/Rust crutches.

    Should be able to produce simple running code and maybe simple little toy tools before this year ends. The first glimpses of something useful in 2027.

    #ual #uallang #programming #compsci #asm #assembler #rustlang #golang #foss #forth #rust #assembly

  8. So this is what concurrency looks like now in the new ual language.

    And it doesn't hurt to add ual syntax highlighting to bim, the barely improved editor! 🙂

    #bim #ual #programming #language #uallang #golang #foss #forth #rust #rustlang #compsci

  9. UPDATE: ual 1.5 proposal

    Defer Stack Mechanism

    github.com/ha1tch/ual/blob/mai

    This document proposes a Go-inspired defer mechanism for ual implemented through a dedicated @defer stack and offering a convenient defer_op syntactic sugar. This feature aims to simplify resource management and enhance error handling robustness.

    #ual #uallang #foss #programming #compsci #embedded #retrodev #retrocomputing

  10. From Forth to ual

    github.com/ha1tch/ual/blob/mai

    This is a new addition from the perspective of the philosophy of programming languages.

    Some of you may be interested in this particular addition, feel free to ignore the rest in the series if you are exclusively focused on the Forth-like aspects of ual,

    #ual #uallang #foss #programming #compsci #embedded #forth #lua #retrodev #retrocomputing #rustlang

  11. UPDATE: The philosophy of ual.

    If you're more the kind of person who would like to understand better from a humanistic point of view what values are encoded in the language, this is for you. It's not a big proclamation, and it's nothing like Larry Wall's exegesis, but I needed to try to understand myself at least in this way that works for me. Hope it works for some of you too.
    github.com/ha1tch/ual/tree/mai

    #ual #uallang #foss #programming #compsci #embedded #forth #lua #retrodev #retrocomputing #rustlang #philosophy

  12. UPDATED: The README now better reflects what ual is all about.
    github.com/ha1tch/ual

    UPDATE to the update: added links to the relevant specs and documentation.

    #ual #programming #uallang #ual #forth #rust

  13. UPDATE: ual docs now differentiate between specs and proposals.

    github.com/ha1tch/ual/tree/mai

    The documents marked as proposals are not definitive, are subject to evolution and discussion, and features presented in them may or may not be introduced as presented in forthcoming versions of the specification.

    What's new:

    ual Design: Strengths and Limitations

    github.com/ha1tch/ual/blob/mai

    Proposal: macros

    github.com/ha1tch/ual/blob/mai

    Proposal: conditional compilation

    #ual #uallang #foss #programming #compsci #embedded #forth #lua #programming #retrodev #retrocomputing

  14. ual is a new programming language for small systems, it borrows from Lua, Forth, and Go/TinyGo.
    github.com/ha1tch/ual

    It's not a scripting language, it compiles to TinyGo, and Go, therefore binaries are produced for the same targets of those compilers. In the case of TinyGo using an optimised LLVM-based backend (esp32, risc-v, wasm, various mcus), and for mainstream server/desktop computing architectures via the Go compiler's own backend (x86-64, arm64, etc.) and OSes (Linux, Mac, Windows).
    The general idea is that this design allows developers for fast iteration cycles on a workstation, with sound and safely tested algorithms before moving to a second stage workflow on the real embedded platform.

    ((Work in progrees))
    Not ready to use yet, but I thought I'd RFC before I complete the first implementation, whilst there's still time to influence design.

    Hope you find it interesting!

    Spec:
    github.com/ha1tch/ual/tree/mai

    Examples:
    github.com/ha1tch/ual/tree/mai

    Let me know what you think!

    #ual #retrocomputing #embedded #programming #z80 #riscv #esp32 #uallang #compsci #retrodev #forth #lua #golang

  15. ual is a new programming language for small systems, it borrows from Lua, Forth, and Go/TinyGo.
    github.com/ha1tch/ual

    It's not a scripting language, it compiles to TinyGo, and Go, therefore binaries are produced for the same targets of those compilers. In the case of TinyGo using an optimised LLVM-based backend (esp32, risc-v, wasm, various mcus), and for mainstream server/desktop computing architectures via the Go compiler's own backend (x86-64, arm64, etc.) and OSes (Linux, Mac, Windows).

    ((Work in progrees))
    Not ready to use yet, but I thought I'd RFC before I complete the first implementation, whilst there's still time.

    Hope you find it interesting!

    Spec:
    github.com/ha1tch/ual/tree/mai

    Examples:
    github.com/ha1tch/ual/tree/mai

    Let me know what you think!

    #ual #retrocomputing #embedded #programming #z80 #riscv #esp32 #uallang #compsci #retrodev #forth #lua #golang