Language hacking: 'while' statements in the self-hosted Jakt compiler

preview_player
Показать описание


Рекомендации по теме
Комментарии
Автор

Can you maybe do a video on the compiler architecture? I‘m especially interested in how you do type checking.

fluffyunicorn
Автор

This video reminds me very much of Tsoding's Porth adventures

chrismsimpson
Автор

It mustt be so frustrating when you just want to start exponentially build Jakt itself, to still need to drag some of Rust along, but I already knew a month back that there is no way SerenityOS, with the ethos of the SOS community, can NOT have its own compiler. That is just not on, but I for one believe that the character of the compiler, as that of the OS needs to have your personal touch for as long as possible so that the foundational culture that would develop around developing in Jakt is solid enough to eventually bear the weight of the OS and the community that is very excited to develop in it. Thanks for your efforts Andreas. You are a star. I may not have understood all of what I saw, but I could relate it to the things I am trying out myself these days.

your_utube
Автор

man, this makes me wanna start writing in jakt already

lior_haddad
Автор

Please do more streams of hacking on the compiler, pretty fun and informative stuff

pushqrdx
Автор

Instead of the jakt-killing daemon, you could limit resource usage with systemd-run, it allows to create ephemeral cgroups with their own memory/CPU limits.

dmytrish
Автор

Interesting! I've been thinking of hacky-extending C with a membersof() builtin that would give the members of a struct. My initial usecase was to make serializing for saving to disk easier, but realized now that it also would make printing structs so much more comfortable! Thank you for the stream! Hugs from Gothenburg

ivanmoren
Автор

At 22:08 you explain why you use `yield` instead of having the last expression returned. But why not use the `return` keyword, just as in normal functions? It seems that `return` and `yield` does the same but are only allowed in different contexts. What benefit does `yield` have over `return`?

JonRonnenberg
Автор

A nifty command line tool is "timeout". In your case, you could run "timeout 15 cargo run selfhost/main.jakt", and timeout will kill the command if it has not exited after 15 sec.

kaysb
Автор

Now to get a jakt-based IDE in serenity so you never need to leave the VM ;)

merthyr
Автор

A potential fix for your rogue jakts: spawn the background processes with a different user, then have your jakt fighter only target those processes which were created by that user.

chigozie
Автор

fwiw the reason I didn't initially allow yielding from if blocks was that we were discussing having if expressions at the time, which made the yield ambiguous

same for loops, a.la. labelled break with value in Rust

cxboog
Автор

how does the dot prefix shorthand work with lines not being ended with semicolons? is it only possible to do member access on things in the same line?

RigelNarcissus
Автор

Hello! What git command does your "gap" alias execute? It looks super useful.

Sidneys
Автор

that return match thingy reminds me of scala

aloussase
Автор

What are some tips you can give us casual programmers who want to make a programming language?

kingundead
Автор

I see you've got your vscode theme looking much like your clion

gazehound
Автор

Seems like the single dislike is from someone who didn't like the taskbar being flipped to the other side

treuks
Автор

Why create a separete keyword `yield`? That just makes refactoring pointlessly change keywords... If you really need to do anything different, the compiler should be able to detect this based on context, shouldn't it?

beyondcatastrophe_
Автор

Man, jakt is starting to look really nice. The code grows a bit too much towards the right though, so can’t really use on laptop with two buffers open comfortably.

bbq
join shbcf.ru