3 ms·
I started on Java in school for software eng. After that I did a lot of front and backend development in dynamic languages and forgot all about types. Until I
by leshow 10y ago
I started on Java in school for software eng. After that I did a lot of front and backend development in dynamic languages and forgot all about types.
Until I discovered Haskell and saw what a really powerful type system can do. Rust's type system is very very similar to haskell's if you substitute the word 'trait' for 'typeclass'. However code is imperative, so that's nice for some applications, and is faster/lower level.
I've used the crate nom (https://github.com/Geal/nom https://github.com/Geal/nom) in the past, it's a parserc library for consuming bits/bytes. I used it to write a function that consumes a vector of unsigned bytes, 11 bits at a time. If you're interested in that sort of stuff, take a look for yourself and see if you like it.
As with most things in Rust nom generates parsers with little to no runtime overhead, so you pay nothing for the increase ergonomics.