prologic
@twtxt.net
Follow
Problems are Solved by Method\" 🇦🇺👨💻👨🦯🏹♔ 🏓⚯ 👨👩👧👧🛥 -- James Mills (operator of twtxt.net / creator of Yarn.social 🧶)
Block / Report User
If this user/feed is violating this Pod's (yarn.meff.me) community guidelines as set out in the Abuse Policy, please report them immediately!
You are also free to Unfollow or Mute this user or feed. Muting will also remove that user/feed's content from your view and you will no longer see content from that user/feed anywhere.
@prologic does not follow you (they may not see your replies!)
Recent Twts
Recent twts from prologic
#kslx6vq
(#5wlquma) Make it so number one !
#tsz6tba
(#ubuezaa) @movq@www.uninformativ.de What’s Email?! 😂
#plgbgba
(#533m7aa) @movq@www.uninformativ.de I quite like this part:
Many people write programs, but few stick with a program long enough to distill it.
#iviuuxa
(#fadfcsa) @bender@twtxt.net No, I had my break/holiday earlier. I chose to work through, except the public holidays of course.
#vuvjxhq
(#lzax5vq) @movq@www.uninformativ.de Ahh nice! It’s been several decades since I’ve played that! Probably 3 actually come to think of it 🤣
#yd7kwaa
(#lzax5vq) @movq@www.uninformativ.de what game is that?
#pv5weaq
(#fadfcsa) I basically worked through the Christmas break last year. I already had my holidays in Vietnam a few weeks earlier. 😆
#2izrdwa
Trying to build a native heap allocator that grows and isn’t statically wired into the binary’s image is fuck’n hard™ as 🤣
#bfoknma
#wzjxwla
(#xtkev6q) @movq@www.uninformativ.de Very cool! 😎
#2afeogq
(#n3vbeia) @shinyoukai@neko.laidback.moe Oh no, fuck that 🤣 That’s why I built an FFI so I can call C-functions via shared libraries 🤣
#3fxlfta
Mu (µ) is now getting much closer to where I want it to be, it now has:
- A
processstdlib module (very basic, but it works)
- An
ffistdob module that supportsdlopen/dlsymand calling C functions with a nice mu-esque wrapperffi.fn(...)
- A
sqlitestdlib module (also very basic) that shows off the FFI capabilities
😅
#n3vbeia
(#3nbuvea) @movq@www.uninformativ.de Looks kind of nice 😊
#y4kis3q
(#w3qxekq) @movq@www.uninformativ.de What I wish for once on this miserable planet is for coporations one day ohave a different set of reasons to exist and thrive other than:
but since the only goal of that manufacturer is to make money, they do it
Life becomes very boring and uninteresting when your only goal in life is to “make more fucking money” 💰 Fuck 🤬 Fuck this Corporatocracy we live in 🤦♂️
#gpoo3oq
(#voi7gxa) @eldersnake@we.loveprivacy.club da fuq?! 🤯
#7wlzkiq
(#xuiutsa) @shinyoukai@neko.laidback.moe I can’t believe Trace and Edgewall Software is still around and in use 🤣
#c7igeca
(#y656lsa) @lyse@lyse.isobeef.org It’s actually not nearly as half bad as I really thought it would be. Just having to eventually deal with the “lowering down” to machine code / ARM64 assembly in the end once you’ve verified the semantics in the VM.
#736pvqa
(#p43aoaq) @lyse@lyse.isobeef.org A “Hello World” binary is ~372KB in size. I currently have peephole optimization and deac code optimizations in play, and a few other performance related ones, but nothing too fancy. I have a test case that ensures fib(35) doesn’t regress too badly as I continue to evolve the language.
#y656lsa
Opinion / Question time…
Do you think Mu (µ)’s native compiler and therefore emitted machine code “runtime” (which obviously adds a bit of weight to the resulting binary, and runtime overheads) needs to support “runtime stack traces”, or would it be enough to only support that in the bytecode VM interpreter for debuggability / quick feedback loops and instead just rely on flat (no stacktraces) errors in natively built compiled executables?
So in effect:
Stack Traces:
- Bytecode VM Interpreter: ✅
- Native Code Executables: ❌
#hagpelq
Nice! 😊 Here are the startup latencies for the simplest Mu (µ) program. println("Hello World"):
- Interpreter: ~5ms
- Native Code: ~1.5ms
#p43aoaq
Hmmm 🤔
Excluding merges, 1 author has pushed 171 commits to main and 175 commits to all branches. On main, 294 files have changed and there have been 52880 additions and 18269 deletions.
From the Mu (µ) Gitea Activity Tab
#o4af2wq
(#m5pvooq) @shinyoukai@neko.laidback.moe Happy New Year to you too! 🥳
#w2noc3q
(#zs4mzka) @movq@www.uninformativ.de This is fuck’n great shit™ Where did you find this? 🤔 Got any more shit™ like this? 🙏
#2epo2zq
(#b3ecbya) @dce@hashnix.club Happy New Year to you too! 🥳
#kdflbwq
(#osf4pqa) @ionores@twtxt.net Very nice! 😊 Happy New Year to you too!
#7wsf6ca
Happy New Year (2026) 🥳
#fdx5m6a
mu (µ) now has builtin code formatting and linting tools, making µ far more useful and useable as a general purpose programming language. Mu now includes:
- An interpreter for quick “scriptinog”
- A native code compiler for building native executables (Darwin / macOS only for now)
- A builtin set of developer tools, currently: fmt (-fmt), check (-check) and test (-test).
#oorss4a
(#2p27wba) @movq@www.uninformativ.de Mu (µ)’s startup latency appears to be ~10ms on my machine:
$ time ./bin/mu ./foo.mu
real 0m0.011s
user 0m0.004s
sys 0m0.006s
#pqd7z2a
(#yiihgta) @movq@www.uninformativ.de Is this on yout little toy OS? 🤔
#rddwluq
(#dhngcaq) @lyse@lyse.isobeef.org I can tell you this right now, writing assembly / machine code is fucking hard work™ 😓 I’m sure @movq@www.uninformativ.de can affirm 🤣 And when it all goes to shit™ (which it does often), man is debugging fucking hard as hell! Without debug symbols I can’t use the regular tools like lldb or gdb 😂
#tackqqq
(#xupmaxa) @lyse@lyse.isobeef.org Yeah I remember you said some days back that your interest in compilers was rekindled by my work on mu (µ) 😅
#dhngcaq
Whoo! I fixed one of the hardest bugs in mu (µ) I think I’ve had to figure out. Took me several days in fact to figure it out. The basic problem was, println(1, 2) was bring printed as 1 2 in the bytecode VM and 1 nil when natively compiled to machine code on macOS. In the end it turned out the machine code being generated / emitted meant that the list pointers for the rest... of the variadic arguments was being slot into a register that was being clobbered by the mu_retain and mu_release calls and effectively getting freed up on first use by the RC (reference counting) garbage collector 🤦♂️
#xupmaxa
(#pact6sq) @lyse@lyse.isobeef.org True !
#avyck2q