3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Why named Haskell?

Last updated at Posted at 2018-12-22

Haskell is the name of a person who studied logic. His name is Haskell Brooks Curry, an American Mathematician.

During his career, his work on the relationship between logic and the types of programming languages had a profound effect on the development of modern programming languages such as the one now called Haskell.

Most of the programmers may have heard of his name from two sources; one is the programming language Haskell, and the other from the theory about a relationship between Type theory and Logic, called Curry-Howard isomorphism. The programming language Haskell, through its purity, makes the great use of Curry-Howard isomorphism for real world applications.

For example, one could write a 'proof' of Yoneda Lemma in Haskell:


-- Hom(A, B) <-> Nat( Hom_op(A, -), Hom_op(B, -)).

y :: (a -> b) ->  (forall c. (c->a)  -> (c->b) )
y = undefined

y_inv :: (forall c. (c->a) -> (c->b)) -> (a -> b)
y_inv  = undefined

Replacing undefined with proper Haskell terms y_inv . y = id and y . y_inv == id is left as an exercise.

In simpler terms, Curry-Howard isomorphism says that the types correspond to a logical statement, and terms to the proofs of the statement. So, writing the terms for above types is the same thing as proving the Yoneda lemma for the category of Haskell types.

Thanks guys!


Haskellってある人物の名前だったのですね。
無論、SPJも影響されています。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?