systems programming and HDL are quite enlightening, though bordering EE. Really gets deep into how computers work and what they really are, so you are not just dealing with a compiler black box on a high level language. Being able to understand and write your own device driver is great
for maths, I think being able to quickly read binary and hex or at least quickly gauge the magnitude of a hex number is pretty underappreciated. Multi variate calculus and linear alg was also very useful in general in reasoning about programs especially those involving lists, vecs, matrices, and ML
compilers are great too but I feel like most resources and thinking around it is a bit too focused on parsing and the frontend, not enough on the "essence" of languages and compilers, abstraction, and more recent developments in static analysis other than simple typing
A bunch of them already show up in languages like rust. Generics are the more ergnomic impl of HKTs and with ownership after you pass an entity it off to another context, you cant use it again, which I guess isnt exactly linear per se
Ooh this is something Ive been pondering too. Perhaps a transformer model like GPT but focused primarily on language semantics and such. Especially the point about cognitive load - which I find to be quite undersaid
Id be fine with delphi if their IDE was available on other systems like linux or mac. I also kinda find fpc a bit verbose and clunky. Something like an elm interface would make sense I think + the points you laid out
I kinda just like using the default os shell with simple cargo run/test/etc. I want to understand why REPL is more and more used, in langs like julia, elixir, etc. Do you guys find it more conveninent or something? I do like elixir playground though