Pinboard (chriskrycho)
https://pinboard.in/u:chriskrycho/public/
recent bookmarks from chriskrychoThe Great Theorem Prover Showdown —Hillel Wayne “Functional programming and immutability are hot right now. On one hand, this is pretty great as there’s lots of nice things about functional programming.”2018-06-26T01:30:23+00:00
https://www.hillelwayne.com/post/theorem-prover-showdown/
chriskrycho Functional programming and immutability are hot right now. On one hand, this is pretty great as there’s lots of nice things about functional programming. On the other hand, people get a little overzealous and start claiming that imperative code is unnatural or that purity is always preferable to mutation.
I think that the appropriate paradigm is heavily dependent on context, but a lot of people speak in universals. I keep hearing that it’s easier to analyze pure functional code than mutable imperative code. But nobody gives rigorous arguments for this and nobody provides concrete examples. Nobody actually digs into why assignments and transitions are so much harder to reason about than pure functions and IO monads. We’re just supposed to accept it as an axiom.
I don’t like accepting things as axioms. If we make a claim, we better damn well put it to the test.]]>hillel-wayne dafny fp type-theory programming haskell idris agda ip computer-science fstar theorem-provinghttps://pinboard.in/u:chriskrycho/b:7776c84ff97c/Three Months of Go (from a Haskeller's perspective)2017-03-19T19:23:15+00:00
https://www.barrucadu.co.uk/posts/etc/2016-08-25-three-months-of-go.html
chriskrychoI will probably never choose to use Go for anything ever again, unless I’m being paid for it. Go is just too different to how I think: when I approach a programming problem, I first think about the types and abstractions that will be useful; I think about statically enforcing behaviour; and I don’t worry about the cost of intermediary data structures, because that price is almost never paid in full.]]>go plt haskellhttps://pinboard.in/u:chriskrycho/b:7a70a1384393/From OOP to FP - Inheritance and the Expression Problem2017-03-12T01:38:16+00:00
https://github.com/Dobiasd/articles/blob/master/from_oop_to_fp_-_inheritance_and_the_expression_problem.md
chriskrychoOf course, we did not solve the expression problem, but thanks to the fact that we can handle functions as data in FP, at least we can now choose which side of the problem we want to face. We can have our desired comfort for software that often gets new types and rarely new functions, despite the presence of a stong static type system. We now can invent hundreds of new subtypes like baz and qux and easily add them to our world. We do not have to edit central monster functions for the actions of all the different types. Everything is neatly arranged in the modules of the actual type.]]>haskell elm programming open-closed-principle fp oop software-developmenthttps://pinboard.in/https://pinboard.in/u:chriskrycho/b:06b934eeb95d/Retrofitting Linear Types2017-03-09T08:05:01+00:00
https://www.microsoft.com/en-us/research/wp-content/uploads/2017/03/haskell-linear-submitted.pdf
chriskrychoplt linear-types haskellhttps://twitter.com/https://pinboard.in/u:chriskrycho/b:0c7e6e4e85b1/The Algebra of Algebraic Data Types, Part 1 - Chris Taylor2017-03-06T02:29:01+00:00
http://chris-taylor.github.io/blog/2013/02/10/the-algebra-of-algebraic-data-types/
chriskrychoadts plt algebra haskell sum-types product-typeshttps://pinboard.in/https://pinboard.in/u:chriskrycho/b:8fe1cd1fdbbd/