News for hackers. Stuff that matters.
Re:I Want Off Mr. Golang's Wild Ride by whateveracct on Friday February 28, 2020 @12:40PM (#22444549)
This just isn't true!

Haskell's json/sql marshalling do not use runtime reflection but instead ad hoc polymorphism, so when I create (or even derive automatically!) a marshalling instance, it is pretty easy for me to reason about what will happen statically. Haskell's Generic & newtype-deriving go a long way here, and are good examples of principled abstractions that do not leak.

Haskell's conduit (and other streaming libraries) is another good example. I use them to create programs that process things in constant memory, and when I compose them (e.g. with operators like =$= or .| in conduit), the resulting program streams in constant memory. I have built entire systems (CLIs, batch jobs, event processors, etc) on top of this abstraction and conduit itself has never leaked.

Re:I Want Off Mr. Golang's Wild Ride by wronghorse on Friday February 28, 2020 @05:03PM (#22446838)
I believe Rust's serde library is similar when it comes to JSON. It also gives you the option to choose how strictly you want to enforce the types.