IRC channel logs

2024-11-09.log

back to list of logs

<oriansj><[exa]>: it should be possible to convert blynn to output M1 assembly and then you could do a haskell bootstrap avoiding C entirely.
<oriansj>stikonas: unfornately, no I haven't had a chance to look into yet. Thank you for the reminder.
<oriansj>ekaitz: congrats on the upcoming kid. (Just remember the work can wait, the kid definitely can't)
<ekaitz>oriansj: hopefully with his help i'll be able to make more work in less time later hehe
<ekaitz>thank you
<ekaitz>:)
<kpg>Hi
<kpg>Has anyone tried to bootstrap Kotlin the language?
<oriansj>ekaitz: it'll be about 8 years (from what I heard) before you can get them up to speed in software engineering to be able to help.
<ekaitz>:)
<ekaitz>kpg: i think some guix people did, julien i think
<ekaitz>kpg: i think the irc nickname is roptat
<oriansj>kpg: as I understand it you need to build openjdk-8-jdk and openjdk-11-jdk before you can bootstrap kotlin (and the path for that is in guix)
<kpg>ekaitz: thanks
<stikonas>openjdk is easy to build
<stikonas>or relatively easy
<oriansj>(especially since it is after GCC)
<stikonas>it's the further java stuff later that is hard, e.g. maven
<ekaitz>i think kotlin requires several versions to be build in chain
<kpg>I saw kotlin 0.5.1 required the jetbrains jdk... haven't tried if it will work with the common oracle/openjdk.
<oriansj>kpg: it is always possible for specific versions of a language to become "unbootstrappable"
<oriansj>then someone has a bunch of work to do to fix that. (Like we had with Bison)
<matrix_bridge><Andrius Štikonas> hmm, main guix tree doesn't seem to have kotlin
<stikonas>but maybe there was some work somewhere
<stikonas>I seem to recall somebody building some old version
<ekaitz>dude i'm pretty sure somebody worked on this
<stikonas>ok, found the repo https://github.com/ebourg/kotlin-bootstrapping
<ekaitz>aaah yeah there it is, roptat is there in the bottom
<kpg>great find, thank you stikonas
<stikonas>oriansj: as for bootstrap seeds I just spotted extra 0 in the comment, need to remove that
<stikonas>#:write ; (0x80480A08) should be #:write ; (0x80480A8) I think
<oriansj>stikonas: thank you for working to help shrink the root seeds.
<stikonas>yeah, let me push an update first
<stikonas>just a comment update
<stikonas>oriansj: ok pushed
<stikonas>oriansj: anyway, most of the work was done by goldstein before
<stikonas>I just ported it to x86_64
<oriansj>benefits of learning as a community ^_^
<stikonas>for x86, I just switched to a shorter mov instruction (1 byte)
<stikonas>+ 8 byte hack with the headers
<stikonas>for x86_64 I didn't overlap the headers though
<stikonas>it does work and run but probably against the spec
<stikonas>at least readelf complains
<stikonas>64-bit program header has a different order of the fields, so attempting to overlap them requires setting number of section headers to 1
<stikonas>we can keep e_shentsize to 0, so kernel ignores non zero e_shnum
<stikonas>but that seemed a bit too hacky
<stikonas>on the other hand, on x86 it seems to all work fine
<stikonas>just found this talk by rickmasters https://www.youtube.com/watch?v=ycLdhqn5VI4
<Mikaku>stikonas: good find and thanks for share it!
<[exa]>oriansj: true, thanks for the idea