ra’s avatarra’s Twitter Archive—№ 29,381

            1. status: - creating LLVM bitcode from clojure - writing bitcode/asm to disk - executing compiled functions in memory
              oh my god twitter doesn’t include alt text from images in their APIoh my god twitter doesn’t include alt text from images in their API
          1. …in reply to @ra
            I’ve been poking at this for about a year now and it all came together last night/this morning!
        1. …in reply to @ra
          im calling it symba, short for SYMbolic Assembler
      1. …in reply to @ra
        basically: a functional representation of LLVM bit code you can manipulate in Clojure and emit/run as needed
    1. …in reply to @ra
      this is the approach behind github.com/nasser/mage and github.com/nasser/magic and its been super effective
  1. …in reply to @ra
    benefits: - the compiler you end up building is functional and much easier to reason about - you can build it all live in the REPL
    1. …in reply to @ra
      symba is trying to do this for LLVM code so that building compilers that target native assembly isn’t such a pain
      1. …in reply to @ra
        open questions: - will the tree shape of LLVM bitcode be as composable as the MSIL stack? - will phi nodes suck?
        1. …in reply to @ra
          the question, as always: where is ASCII assumed? not in binary formats, typically. it gets introduced by parsers.
          oh my god twitter doesn’t include alt text from images in their APIoh my god twitter doesn’t include alt text from images in their API
          1. …in reply to @ra
            should have a repo soon, but reproducing this could be a pain. llvm, mono and clojure need to be lined up just right…
        2. …in reply to @ra
          hoping for terralang.org/ but clojure instead of lua and direct access to bitcode instead of lua-like syntax