You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'd say a chief obstacle for new developers in learning algebraic type classes is the terminology. To people who are already comfortable with it, they probably find this concern trifling. But I think it's more significant than they think, and I think that friendlier type class names would make a big difference towards accessibility.
Simon Peyton-Jones himself has said he dislikes the choice of the name "Monad" and prefers "Workflow", which they use in F#. Similar renaming could be thought of for Functor, Semigroup, etc. A reference page could be kept to map these custom names to the Haskell/Category theory names.
Would be curious to hear your thoughts on this
The text was updated successfully, but these errors were encountered:
I agree that the names are somewhat daunting and not particularly beginner-friendly.
But they are standard names used in numerous documents, articles, libraries, and languages, so trying to come up with different names, even if they are more friendly and intuitive, would ultimately be a disservice.
Just my 5c. (Because we've abolished pennies here.)
I'd say a chief obstacle for new developers in learning algebraic type classes is the terminology. To people who are already comfortable with it, they probably find this concern trifling. But I think it's more significant than they think, and I think that friendlier type class names would make a big difference towards accessibility.
Simon Peyton-Jones himself has said he dislikes the choice of the name "Monad" and prefers "Workflow", which they use in F#. Similar renaming could be thought of for Functor, Semigroup, etc. A reference page could be kept to map these custom names to the Haskell/Category theory names.
Would be curious to hear your thoughts on this
The text was updated successfully, but these errors were encountered: