Random Julia Thoughts


  • Nesting function calls is ugly IMO compared to dot chaining.
  • I like that broadcasting is explicit, I think Mat + Vec should be a type error.
  • I wish it had auto-currying. I wish all languages did.
  • I wish there were tagged unions.
  • Multiple dispatch is slick, and a natural fit for math, though I wonder how much/if specialization issues like what Rust’s been plagued with are issues in Julia.
  • Custom operators are nice
  • I don’t like begin/end, I’m fine with curly braces or something, though they do look pretty on generics (but so do square brackets)
  • Julia used * for string concatenation because strings are a monoid, so they seem to care about mathematical convention. Why not use arr(i) to emphasize that array access is a function from the naturals to your input set?
  • Don’t care about 0 or 1-indexing.
  • Zygote/Flux is so cool.
  • Chris Rackauckas is a mensch.
    • His arguments about how Julia enables building good packages, which is what scientists want even harder than most developers, will be a big advantage.
  • I don’t like ternary operator. Make conditionals an expressions.
  • I think I’d still like it if Swift with some sort of value-based generics was the default ML language (or really a go-to language in general). If only it wasn’t so tied to macOS.

Related Posts

Minimal Surfaces

November 2, 2023

NTK reparametrization

Kate from Vancouver, please email me

ChatGPT Session: Emotions, Etymology, Hyperfiniteness

Some ChatGPT Sessions

2016 ML thoughts

My biggest takeaway from Redwood Research REMIX

finite, actual infinity, potential infinity

Actions and Flows