I like Haskell and Purescript, and I love telling people how safe they are. However, they are not perfect, there are still unsafe aspects and I have to be honest about them. "If it compiles, it works" isn't always true.
I was chatting with friends about types. It seems that "type" means so many different things in different programming languages, "type safe" does not really mean anything without context. So here is this blog post, of me trying to explain what do I think about types, and how it helps us to program.
Few days ago I was working on some API handlers in our server written in Haskell with the framework Yesod. There was a mistake, some secret data was accessible to normal users because we forgot to check the user's type, luckily it's not on production yet.
This is an article explaining the concept of functor to programmers who are interested in Haskell but not sure how to get started on those abstract ideas.
Many articles introduce functional programming with examples of maping, filtering and reduceing arrays, but it feels like it is not very useful except from array manipulation.
This post focus on the map concept and try to explain how is it useful in other ways.
(This is the 10th post for Haskell Advent Calendar 2017)