|
You are here |
julesh.com | ||
| | | | |
jackkelly.name
|
|
| | | | | ||
| | | | |
tomcircle.wordpress.com
|
|
| | | | | Lens = {get, set} w = whole tuple, p = a field get :: w -> p set :: w -> p -> w Example: take a pair (tuple) get1 (x, y) = x get1 :: (a, b) -> a set1 (x, y) x' = (x',y) set1 :: (a, b) -> a -> (a,b) Polymorphic... | |
| | | | |
www.jeremykun.com
|
|
| | | | | A lot of people who like functional programming often give the reason that the functional style is simply more elegant than the imperative style. When compelled or inspired to explain (as I did in my old post, How I Learned to Love Functional Programming), they often point to the three "higher-order" functions map, fold, and filter, as providing a unifying framework for writing and reasoning about programs. But how unifying are they, really? | |
| | | | |
mrcat.au
|
|
| | | I've started learning Zig, a new programming language in the same problem space as C, and it has some features I really like. While it's not memory-safe in the Rust way, it has a lot of compile time and runtime checks to prevent common footguns. It has packed structs and variable-width integers to allow for easy parsing of bitpacked binary formats. Its comptime metaprogramming capabilities are spectacular. And it even interoperates seamlessly with C! | ||