### updated website

gh-pages
parent
commit
a3bca2af8e
16 changed files with 330 additions and 266 deletions
1. 2
Scratch/assets/css/main.css
2. 22
Scratch/en/blog/Category-Theory-Presentation/index.html
3. 38
Scratch/fr/blog/2009-09-jQuery-Tag-Cloud/index.html
4. 22
Scratch/fr/blog/Category-Theory-Presentation/index.html
5. 38
Scratch/fr/blog/index.html
6. 380
Scratch/sitemap.xml
7. 28
keynote/categories.html
8. BIN
keynote/categories.pdf
9. 7
keynote/categories/img/mp/list-tree-endofunctor-morphism.mp
10. BIN
keynote/categories/img/mp/list-tree-endofunctor-morphism.png
11. 21
keynote/categories/img/mp/nattrans-list-tree.mp
12. BIN
keynote/categories/img/mp/nattrans-list-tree.png
13. 29
keynote/categories/img/mp/nattrans-tree-list.mp
14. BIN
keynote/categories/img/mp/nattrans-tree-list.png
15. 9
keynote/categories/img/mp/tree-list-endofunctor-morphism.mp
16. BIN
keynote/categories/img/mp/tree-list-endofunctor-morphism.png

#### 2 Scratch/assets/css/main.css View File

File diff suppressed because one or more lines are too long

#### 22 Scratch/en/blog/Category-Theory-Presentation/index.html View File

 @ -714,12 +714,12 @@ Haskell types look like a fractal:





Natural Transformation Examples (1/4)


data Tree a = Empty | Node a [Tree a]
toTree :: [a] -> Tree a
toTree [] = Empty
toTree (x:xs) = Node x [toTree xs]

data List a = Nil | Cons a (List a)
toList :: [a] -> Tree a
toList [] = Nil
toList (x:xs) = Cons x (toList xs)
 

toTree is a natural transformation. It is also a morphism from [] to Tree in the Category of $$\Hask$$ endofunctors.



toList is a natural transformation. It is also a morphism from [] to List in the Category of $$\Hask$$ endofunctors.

 



Natural Transformation Examples (2/4)


data Tree a = Empty | Node a [Tree a]
toList :: Tree a -> [a]
toList Empty = []
toList (Node x l) = [x] ++ concat (map toList l)

data List a = Nil | Cons a (List a)
toHList :: List a -> [a]
toHList Nil = []
toHList (Cons x xs) = x:toHList xs
 

toList is a natural transformation. It is also a morphism from Tree to [] in the Category of $$\Hask$$ endofunctors.



toHList is a natural transformation. It is also a morphism from List to [] in the Category of $$\Hask$$ endofunctors.

     

#### 38 Scratch/fr/blog/2009-09-jQuery-Tag-Cloud/index.html View File

File diff suppressed because one or more lines are too long

#### 22 Scratch/fr/blog/Category-Theory-Presentation/index.html View File

 @ -714,12 +714,12 @@ Haskell types look like a fractal:





Natural Transformation Examples (1/4)


data Tree a = Empty | Node a [Tree a]
toTree :: [a] -> Tree a
toTree [] = Empty
toTree (x:xs) = Node x [toTree xs]

data List a = Nil | Cons a (List a)
toList :: [a] -> Tree a
toList [] = Nil
toList (x:xs) = Cons x (toList xs)
 

toTree is a natural transformation. It is also a morphism from [] to Tree in the Category of $$\Hask$$ endofunctors.



toList is a natural transformation. It is also a morphism from [] to List in the Category of $$\Hask$$ endofunctors.

 



Natural Transformation Examples (2/4)


data Tree a = Empty | Node a [Tree a]
toList :: Tree a -> [a]
toList Empty = []
toList (Node x l) = [x] ++ concat (map toList l)

data List a = Nil | Cons a (List a)
toHList :: List a -> [a]
toHList Nil = []
toHList (Cons x xs) = x:toHList xs
 

toList is a natural transformation. It is also a morphism from Tree to [] in the Category of $$\Hask$$ endofunctors.



toHList is a natural transformation. It is also a morphism from List to [] in the Category of $$\Hask$$ endofunctors.

     

#### 38 Scratch/fr/blog/index.html View File

File diff suppressed because one or more lines are too long

#### 380 Scratch/sitemap.xml View File

 @ -1,451 +1,451 @@      http://yannesposito.com/Scratch/fr/softwares/ypassword/iphoneweb/  http://yannesposito.com/Scratch/fr/blog/2010-05-24-Trees--Pragmatism-and-Formalism/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/mvc/  http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/comprendre/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/Haskell-OpenGL-Mandelbrot/  http://yannesposito.com/Scratch/fr/blog/10_Synchronize_Custom_WebSite_with_mobileMe/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2010-10-10-Secure-eMail-on-Mac-in-few-steps/  http://yannesposito.com/Scratch/en/blog/2010-10-26-LaTeX-like-macro-and-markdown/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2010-10-06-New-Blog-Design-Constraints/  http://yannesposito.com/Scratch/en/blog/2009-09-jQuery-Tag-Cloud/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2010-06-17-track-events-with-google-analytics/  http://yannesposito.com/Scratch/en/blog/mvc/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2009-10-untaught-git-usage/  http://yannesposito.com/Scratch/fr/blog/05_git_create_remote_branch/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2009-09-replace-all-except-some-part/  http://yannesposito.com/Scratch/en/blog/03_losthighway/03_losthighway_4/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/Git-pour-quoi-faire/  http://yannesposito.com/Scratch/fr/blog/2010-03-23-Encapsulate-git/  2012-12-12      http://yannesposito.com/Scratch/sitemap.xml  http://yannesposito.com/Scratch/en/blog/2009-10-launch-daemon-from-command-line/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/programming-language-experience/  http://yannesposito.com/Scratch/en/blog/03_losthighway/03_losthighway_1/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/Haskell-the-Hard-Way/  http://yannesposito.com/Scratch/fr/blog/programming-language-experience/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/03_losthighway/03_losthighway_4/  http://yannesposito.com/Scratch/fr/blog/09_Why_I_didn-t_keep_whosamung-us/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/comprendre/  http://yannesposito.com/Scratch/fr/blog/Password-Management/  2012-12-12      http://yannesposito.com/Scratch/en/blog/  http://yannesposito.com/Scratch/fr/blog/Haskell-the-Hard-Way/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/commandes-avancees/  http://yannesposito.com/Scratch/fr/blog/2010-08-23-Now-heberged-on-heroku/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/03_losthighway/  http://yannesposito.com/Scratch/fr/blog/01_nanoc/  2012-12-12      http://yannesposito.com/Scratch/en/about/old/  http://yannesposito.com/Scratch/en/blog/2010-07-09-Indecidabilities/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2009-10-Focus-vs-Minimalism/  http://yannesposito.com/Scratch/en/blog/09_Why_I_didn-t_keep_whosamung-us/  2012-12-12      http://yannesposito.com/Scratch/fr/about/contact/  http://yannesposito.com/Scratch/en/blog/10_Synchronize_Custom_WebSite_with_mobileMe/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/04_drm/  http://yannesposito.com/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/03_losthighway/03_losthighway_1/  http://yannesposito.com/Scratch/fr/softwares/yclock/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2010-06-14-multi-language-choices/  http://yannesposito.com/Scratch/fr/blog/mvc/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2010-06-15-Get-my-blog-engine/  http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/Git-pour-quoi-faire/  2012-12-12      http://yannesposito.com/Scratch/en/softwares/ypassword/  http://yannesposito.com/Scratch/en/blog/01_nanoc/  2012-12-12      http://yannesposito.com/Scratch/fr/validation/  http://yannesposito.com/Scratch/en/blog/Haskell-Mandelbrot/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2009-09-jQuery-Tag-Cloud/  http://yannesposito.com/Scratch/fr/blog/2010-08-31-send-mail-from-command-line-with-attached-file/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/10_Synchronize_Custom_WebSite_with_mobileMe/  http://yannesposito.com/Scratch/en/blog/Haskell-the-Hard-Way/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2010-07-07-CSS-rendering-problems-by-navigator/  http://yannesposito.com/Scratch/en/  2012-12-12      http://yannesposito.com/Scratch/en/blog/03_losthighway/03_losthighway_2/  http://yannesposito.com/Scratch/en/blog/2010-05-17-at-least-this-blog-revive/  2012-12-12      http://yannesposito.com/Scratch/en/validation/  http://yannesposito.com/Scratch/en/blog/2010-10-10-Secure-eMail-on-Mac-in-few-steps/  2012-12-12      http://yannesposito.com/Scratch/en/about/contact/  http://yannesposito.com/Scratch/en/blog/2010-01-04-Change-default-shell-on-Mac-OS-X/  2012-12-12      http://yannesposito.com/Scratch/en/softwares/yclock/  http://yannesposito.com/Scratch/en/blog/2011-01-03-Happy-New-Year/  2012-12-12      http://yannesposito.com/Scratch/en/blog/04_drm/  http://yannesposito.com/Scratch/fr/blog/A-more-convenient-diff/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2010-08-23-Now-heberged-on-heroku/  http://yannesposito.com/Scratch/fr/blog/2010-07-09-Indecidabilities/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/  http://yannesposito.com/Scratch/fr/blog/2009-10-launch-daemon-from-command-line/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2011-04-20-Now-hosted-on-github/  http://yannesposito.com/Scratch/en/blog/2010-03-22-Git-Tips/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2010-05-19-How-to-cut-HTML-and-repair-it/  http://yannesposito.com/Scratch/en/blog/Typography-and-the-Web/  2012-12-12      http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/  http://yannesposito.com/Scratch/en/blog/2011-04-20-Now-hosted-on-github/  2012-12-12      http://yannesposito.com/Scratch/fr/about/technical_details/  http://yannesposito.com/Scratch/en/softwares/yclock/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/  http://yannesposito.com/Scratch/en/blog/Higher-order-function-in-zsh/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2010-05-17-at-least-this-blog-revive/  http://yannesposito.com/Scratch/fr/blog/Typography-and-the-Web/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2009-10-30-How-to-handle-evil-IE/  http://yannesposito.com/Scratch/fr/blog/2010-01-12-antialias-font-in-Firefox-under-Ubuntu/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2009-12-14-Git-vs--Bzr/  http://yannesposito.com/Scratch/fr/blog/2010-01-04-Change-default-shell-on-Mac-OS-X/  2012-12-12      http://yannesposito.com/Scratch/en/blog/Password-Management/  http://yannesposito.com/Scratch/fr/blog/2009-10-untaught-git-usage/  2012-12-12      http://yannesposito.com/Scratch/en/blog/01_nanoc/  http://yannesposito.com/Scratch/fr/blog/2009-09-jQuery-Tag-Cloud/  2012-12-12      http://yannesposito.com/Scratch/en/blog/03_losthighway/  http://yannesposito.com/Scratch/fr/blog/07_Screensaver_compilation_option_for_Snow_Leopard/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2010-07-09-Indecidabilities/  http://yannesposito.com/Scratch/fr/blog/04_drm/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2011-01-03-Happy-New-Year/  http://yannesposito.com/Scratch/en/blog/2010-06-14-multi-language-choices/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2010-09-02-base64-and-sha1-on-iPhone/  http://yannesposito.com/Scratch/fr/blog/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2010-10-06-New-Blog-Design-Constraints/  http://yannesposito.com/Scratch/fr/blog/2011-01-03-Why-I-sadly-won-t-use-coffeescript/  2012-12-12      http://yannesposito.com/Scratch/fr/about/  http://yannesposito.com/Scratch/fr/blog/2010-10-26-LaTeX-like-macro-and-markdown/  2012-12-12      http://yannesposito.com/Scratch/en/  http://yannesposito.com/Scratch/fr/blog/2010-05-19-How-to-cut-HTML-and-repair-it/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/07_Screensaver_compilation_option_for_Snow_Leopard/  http://yannesposito.com/Scratch/fr/blog/2009-10-Focus-vs-Minimalism/  2012-12-12      http://yannesposito.com/Scratch/assets/css/dynamic.css  http://yannesposito.com/Scratch/en/blog/2010-03-23-Encapsulate-git/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2010-02-23-When-regexp-is-not-the-best-solution/  http://yannesposito.com/Scratch/en/blog/04_drm/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2010-09-02-base64-and-sha1-on-iPhone/  http://yannesposito.com/Scratch/en/blog/2010-02-16-All-but-something-regexp--2-/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/Yesod-excellent-ideas/  http://yannesposito.com/Scratch/en/blog/2010-10-14-Fun-with-wav/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/Higher-order-function-in-zsh/  http://yannesposito.com/Scratch/fr/blog/02_ackgrep/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2010-08-31-send-mail-from-command-line-with-attached-file/  http://yannesposito.com/Scratch/fr/blog/2010-06-17-track-events-with-google-analytics/  2012-12-12      http://yannesposito.com/Scratch/en/softwares/yaquabubbles/  http://yannesposito.com/Scratch/fr/blog/2010-06-15-Get-my-blog-engine/  2012-12-12      http://yannesposito.com/Scratch/en/blog/Typography-and-the-Web/  http://yannesposito.com/Scratch/en/blog/2010-05-24-Trees--Pragmatism-and-Formalism/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/Typography-and-the-Web/  http://yannesposito.com/Scratch/fr/blog/SVG-and-m4-fractals/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/Haskell-Mandelbrot/  http://yannesposito.com/Scratch/fr/blog/Learn-Vim-Progressively/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2010-01-04-Change-default-shell-on-Mac-OS-X/  http://yannesposito.com/Scratch/fr/blog/2010-03-22-Git-Tips/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/conf-et-install/  http://yannesposito.com/Scratch/en/softwares/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2009-09-Disqus-versus-Intense-Debate--Why-I-switched-/  http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2010-03-22-Git-Tips/  http://yannesposito.com/Scratch/en/blog/02_ackgrep/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2011-04-20-Now-hosted-on-github/  http://yannesposito.com/Scratch/fr/blog/03_losthighway/03_losthighway_3/  2012-12-12      http://yannesposito.com/Scratch/en/blog/11_Load_Disqus_Asynchronously/  http://yannesposito.com/Scratch/fr/blog/2010-02-23-When-regexp-is-not-the-best-solution/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2009-09-jQuery-Tag-Cloud/  http://yannesposito.com/Scratch/en/rss/  2012-12-12      http://yannesposito.com/Scratch/fr/softwares/ypassword/  http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/conf-et-install/  2012-12-12      http://yannesposito.com/Scratch/fr/softwares/yaquabubbles/  http://yannesposito.com/Scratch/en/blog/feed/feed.xml  2012-12-12      http://yannesposito.com/Scratch/fr/blog/Yesod-tutorial-for-newbies/  http://yannesposito.com/Scratch/en/blog/03_losthighway/03_losthighway_2/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/03_losthighway/03_losthighway_2/  http://yannesposito.com/Scratch/en/blog/2010-05-19-How-to-cut-HTML-and-repair-it/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2010-01-12-antialias-font-in-Firefox-under-Ubuntu/  http://yannesposito.com/Scratch/fr/blog/Higher-order-function-in-zsh/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2009-10-30-How-to-handle-evil-IE/  http://yannesposito.com/Scratch/fr/blog/2010-07-05-Cappuccino-and-Web-applications/  2012-12-12      http://yannesposito.com/Scratch/fr/rss/  http://yannesposito.com/Scratch/en/blog/2009-09-replace-all-except-some-part/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2010-06-15-Get-my-blog-engine/  http://yannesposito.com/Scratch/en/blog/2010-02-15-All-but-something-regexp/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2010-07-31-New-style-after-holidays/  http://yannesposito.com/Scratch/en/blog/03_losthighway/  2012-12-12      http://yannesposito.com/Scratch/en/blog/programming-language-experience/  http://yannesposito.com/Scratch/fr/blog/Yesod-tutorial-for-newbies/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2009-10-28-custom-website-synchronisation-with-mobileme--2-/  http://yannesposito.com/Scratch/fr/blog/2009-10-Wait-to-hide-a-menu-in-jQuery/  2012-12-12      http://yannesposito.com/Scratch/en/blog/06_How_I_use_git/  http://yannesposito.com/Scratch/en/blog/2010-06-15-Get-my-blog-engine/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2010-05-24-Trees--Pragmatism-and-Formalism/  http://yannesposito.com/Scratch/en/blog/08_Configure_ssh_to_listen_the_port_443_on_Snow_Leopard/  2012-12-12      http://yannesposito.com/Scratch/en/blog/03_losthighway/03_losthighway_3/  http://yannesposito.com/Scratch/en/blog/2010-06-17-track-events-with-google-analytics/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2010-03-23-Encapsulate-git/  http://yannesposito.com/Scratch/fr/blog/2010-06-14-multi-language-choices/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2009-09-replace-all-except-some-part/  http://yannesposito.com/Scratch/fr/blog/2010-02-18-split-a-file-by-keyword/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2010-02-18-split-a-file-by-keyword/  http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/  2012-12-12      http://yannesposito.com/Scratch/en/softwares/ypassword/web/  http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/Git-pour-quoi-faire/  2012-12-12      http://yannesposito.com/Scratch/en/blog/Category-Theory-Presentation/  http://yannesposito.com/Scratch/fr/blog/11_Load_Disqus_Asynchronously/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2010-07-07-CSS-rendering-problems-by-navigator/  http://yannesposito.com/Scratch/en/blog/2010-09-02-base64-and-sha1-on-iPhone/  2012-12-12      http://yannesposito.com/Scratch/en/blog/07_Screensaver_compilation_option_for_Snow_Leopard/  http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/c-est-parti-pour-l-aventure/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2010-10-26-LaTeX-like-macro-and-markdown/  http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/comprendre/  2012-12-12      http://yannesposito.com/Scratch/en/blog/A-more-convenient-diff/  http://yannesposito.com/Scratch/en/about/old/  2012-12-12      http://yannesposito.com/Scratch/assets/css/main.css  http://yannesposito.com/Scratch/fr/blog/feed/feed.xml  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2010-06-19-jQuery-popup-the-easy-way/  http://yannesposito.com/Scratch/fr/blog/2010-02-16-All-but-something-regexp--2-/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2010-03-22-Git-Tips/  http://yannesposito.com/Scratch/fr/blog/2009-10-30-How-to-handle-evil-IE/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/02_ackgrep/  http://yannesposito.com/Scratch/en/blog/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2009-09-Disqus-versus-Intense-Debate--Why-I-switched-/  http://yannesposito.com/Scratch/assets/css/dynamic.css  2012-12-12      http://yannesposito.com/Scratch/en/blog/2009-10-28-custom-website-synchronisation-with-mobileme--2-/  http://yannesposito.com/Scratch/en/about/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2009-10-How-to-preload-your-site-with-style/  http://yannesposito.com/Scratch/sitemap.xml  2012-12-12      http://yannesposito.com/Scratch/fr/blog/Password-Management/  http://yannesposito.com/Scratch/fr/blog/2010-07-31-New-style-after-holidays/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/Category-Theory-Presentation/  http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/c-est-parti-pour-l-aventure/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2010-08-23-Now-heberged-on-heroku/  http://yannesposito.com/Scratch/en/validation/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2011-01-03-Why-I-sadly-won-t-use-coffeescript/  http://yannesposito.com/Scratch/en/blog/2010-07-07-CSS-rendering-problems-by-navigator/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2011-01-03-Happy-New-Year/  http://yannesposito.com/Scratch/fr/rss/  2012-12-12      http://yannesposito.com/Scratch/en/about/technical_details/  http://yannesposito.com/Scratch/fr/blog/2010-10-14-Fun-with-wav/  2012-12-12      http://yannesposito.com/Scratch/fr/about/old/  http://yannesposito.com/Scratch/fr/blog/2009-09-Disqus-versus-Intense-Debate--Why-I-switched-/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2010-02-18-split-a-file-by-keyword/  http://yannesposito.com/Scratch/fr/about/old/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2009-10-Wait-to-hide-a-menu-in-jQuery/  http://yannesposito.com/Scratch/en/about/contact/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/08_Configure_ssh_to_listen_the_port_443_on_Snow_Leopard/  http://yannesposito.com/Scratch/fr/blog/2010-02-15-All-but-something-regexp/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/  http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/commandes-avancees/  2012-12-12     @ -453,167 +453,167 @@  2012-12-12      http://yannesposito.com/Scratch/en/blog/2009-10-untaught-git-usage/  http://yannesposito.com/Scratch/en/blog/2010-02-23-When-regexp-is-not-the-best-solution/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/c-est-parti-pour-l-aventure/  http://yannesposito.com/Scratch/en/blog/2009-10-28-custom-website-synchronisation-with-mobileme--2-/  2012-12-12      http://yannesposito.com/Scratch/en/blog/Yesod-tutorial-for-newbies/  http://yannesposito.com/Scratch/en/blog/05_git_create_remote_branch/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2010-05-24-Trees--Pragmatism-and-Formalism/  http://yannesposito.com/Scratch/fr/softwares/ypassword/web/  2012-12-12      http://yannesposito.com/Scratch/en/blog/09_Why_I_didn-t_keep_whosamung-us/  http://yannesposito.com/Scratch/fr/softwares/ypassword/iphoneweb/  2012-12-12      http://yannesposito.com/Scratch/en/rss/  http://yannesposito.com/Scratch/fr/blog/2010-07-07-CSS-rendering-problems-by-navigator/  2012-12-12      http://yannesposito.com/  http://yannesposito.com/Scratch/en/softwares/ypassword/  2012-12-12      http://yannesposito.com/Scratch/fr/softwares/yclock/  http://yannesposito.com/Scratch/en/blog/07_Screensaver_compilation_option_for_Snow_Leopard/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2010-10-26-LaTeX-like-macro-and-markdown/  http://yannesposito.com/Scratch/en/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2010-07-05-Cappuccino-and-Web-applications/  http://yannesposito.com/Scratch/en/softwares/yaquabubbles/  2012-12-12      http://yannesposito.com/Scratch/en/blog/SVG-and-m4-fractals/  http://yannesposito.com/Scratch/fr/blog/03_losthighway/03_losthighway_4/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2009-10-launch-daemon-from-command-line/  http://yannesposito.com/Scratch/en/softwares/ypassword/web/  2012-12-12      http://yannesposito.com/Scratch/fr/latest/  http://yannesposito.com/Scratch/en/blog/2010-07-05-Cappuccino-and-Web-applications/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2010-06-17-hide-yourself-to-analytics/  http://yannesposito.com/Scratch/fr/latest/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2009-10-Focus-vs-Minimalism/  http://yannesposito.com/Scratch/en/blog/2010-01-12-antialias-font-in-Firefox-under-Ubuntu/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2010-08-31-send-mail-from-command-line-with-attached-file/  http://yannesposito.com/Scratch/en/latest/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/  http://yannesposito.com/Scratch/fr/blog/03_losthighway/03_losthighway_1/  2012-12-12      http://yannesposito.com/Scratch/en/blog/Haskell-OpenGL-Mandelbrot/  http://yannesposito.com/Scratch/fr/blog/Category-Theory-Presentation/  2012-12-12      http://yannesposito.com/Scratch/en/latest/  http://yannesposito.com/Scratch/en/blog/2010-08-23-Now-heberged-on-heroku/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/09_Why_I_didn-t_keep_whosamung-us/  http://yannesposito.com/Scratch/en/blog/Password-Management/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2010-03-23-Encapsulate-git/  http://yannesposito.com/Scratch/en/blog/03_losthighway/03_losthighway_3/  2012-12-12      http://yannesposito.com/Scratch/en/about/  http://yannesposito.com/Scratch/en/blog/06_How_I_use_git/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2010-06-14-multi-language-choices/  http://yannesposito.com/Scratch/en/blog/2009-10-30-How-to-handle-evil-IE/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/commandes-avancees/  http://yannesposito.com/Scratch/fr/blog/2010-10-06-New-Blog-Design-Constraints/  2012-12-12      http://yannesposito.com/Scratch/en/blog/08_Configure_ssh_to_listen_the_port_443_on_Snow_Leopard/  http://yannesposito.com/Scratch/fr/blog/2010-09-02-base64-and-sha1-on-iPhone/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/03_losthighway/03_losthighway_3/  http://yannesposito.com/Scratch/en/blog/2010-10-06-New-Blog-Design-Constraints/  2012-12-12      http://yannesposito.com/Scratch/fr/softwares/ypassword/web/  http://yannesposito.com/Scratch/fr/softwares/ypassword/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2010-10-14-Fun-with-wav/  http://yannesposito.com/Scratch/fr/blog/2009-10-How-to-preload-your-site-with-style/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/comprendre/  http://yannesposito.com/Scratch/en/blog/Category-Theory-Presentation/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2010-02-16-All-but-something-regexp--2-/  http://yannesposito.com/Scratch/en/blog/2010-06-19-jQuery-popup-the-easy-way/  2012-12-12      http://yannesposito.com/Scratch/en/blog/feed/feed.xml  http://yannesposito.com/Scratch/en/blog/2010-08-31-send-mail-from-command-line-with-attached-file/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/SVG-and-m4-fractals/  http://yannesposito.com/Scratch/en/blog/2009-12-06-iphone-call-filter/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/Learn-Vim-Progressively/  http://yannesposito.com/Scratch/en/blog/2009-10-Wait-to-hide-a-menu-in-jQuery/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/11_Load_Disqus_Asynchronously/  http://yannesposito.com/Scratch/en/blog/A-more-convenient-diff/  2012-12-12      http://yannesposito.com/Scratch/en/blog/Higher-order-function-in-zsh/  http://yannesposito.com/Scratch/fr/softwares/  2012-12-12      http://yannesposito.com/Scratch/en/blog/03_losthighway/03_losthighway_4/  http://yannesposito.com/Scratch/fr/blog/Haskell-OpenGL-Mandelbrot/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/conf-et-install/  http://yannesposito.com/Scratch/fr/about/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/01_nanoc/  http://yannesposito.com/Scratch/fr/blog/2011-04-20-Now-hosted-on-github/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2010-02-15-All-but-something-regexp/  http://yannesposito.com/Scratch/fr/blog/2011-01-03-Happy-New-Year/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2010-02-16-All-but-something-regexp--2-/  http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/conf-et-install/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/Git-pour-quoi-faire/  http://yannesposito.com/Scratch/fr/blog/2009-10-28-custom-website-synchronisation-with-mobileme--2-/  2012-12-12     @ -621,151 +621,151 @@  2012-12-12      http://yannesposito.com/Scratch/en/blog/03_losthighway/03_losthighway_1/  http://yannesposito.com/Scratch/en/blog/2011-01-03-Why-I-sadly-won-t-use-coffeescript/  2012-12-12      http://yannesposito.com/Scratch/en/blog/10_Synchronize_Custom_WebSite_with_mobileMe/  http://yannesposito.com/Scratch/en/blog/Yesod-tutorial-for-newbies/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2010-10-10-Secure-eMail-on-Mac-in-few-steps/  http://yannesposito.com/Scratch/fr/softwares/yaquabubbles/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2010-07-09-Indecidabilities/  http://yannesposito.com/Scratch/fr/blog/Yesod-excellent-ideas/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2010-05-19-How-to-cut-HTML-and-repair-it/  http://yannesposito.com/Scratch/fr/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2009-12-14-Git-vs--Bzr/  http://yannesposito.com/Scratch/en/blog/2010-02-18-split-a-file-by-keyword/  2012-12-12      http://yannesposito.com/Scratch/en/blog/mvc/  http://yannesposito.com/Scratch/en/blog/2009-09-Disqus-versus-Intense-Debate--Why-I-switched-/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2010-06-19-jQuery-popup-the-easy-way/  http://yannesposito.com/Scratch/en/blog/2009-10-untaught-git-usage/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2010-02-15-All-but-something-regexp/  http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/  2012-12-12      http://yannesposito.com/Scratch/en/blog/Haskell-Mandelbrot/  http://yannesposito.com/Scratch/en/blog/2009-10-How-to-preload-your-site-with-style/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/feed/feed.xml  http://yannesposito.com/Scratch/fr/blog/2010-06-17-hide-yourself-to-analytics/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2010-01-12-antialias-font-in-Firefox-under-Ubuntu/  http://yannesposito.com/Scratch/fr/blog/2010-05-17-at-least-this-blog-revive/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/  http://yannesposito.com/Scratch/fr/blog/2009-09-replace-all-except-some-part/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/c-est-parti-pour-l-aventure/  http://yannesposito.com/Scratch/fr/blog/08_Configure_ssh_to_listen_the_port_443_on_Snow_Leopard/  2012-12-12      http://yannesposito.com/Scratch/en/blog/02_ackgrep/  http://yannesposito.com/Scratch/en/blog/2009-12-14-Git-vs--Bzr/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2009-10-Wait-to-hide-a-menu-in-jQuery/  http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/commandes-avancees/  2012-12-12      http://yannesposito.com/Scratch/en/blog/05_git_create_remote_branch/  http://yannesposito.com/Scratch/fr/blog/03_losthighway/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2010-10-14-Fun-with-wav/  http://yannesposito.com/Scratch/assets/css/main.css  2012-12-12      http://yannesposito.com/Scratch/en/blog/Haskell-the-Hard-Way/  http://yannesposito.com/Scratch/fr/blog/2010-06-19-jQuery-popup-the-easy-way/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2009-12-06-iphone-call-filter/  http://yannesposito.com/Scratch/fr/blog/2009-12-14-Git-vs--Bzr/  2012-12-12      http://yannesposito.com/Scratch/fr/  http://yannesposito.com/Scratch/en/blog/2010-07-31-New-style-after-holidays/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2010-01-04-Change-default-shell-on-Mac-OS-X/  http://yannesposito.com/Scratch/en/blog/11_Load_Disqus_Asynchronously/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2009-10-launch-daemon-from-command-line/  http://yannesposito.com/Scratch/en/blog/programming-language-experience/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2010-05-17-at-least-this-blog-revive/  http://yannesposito.com/Scratch/fr/about/technical_details/  2012-12-12      http://yannesposito.com/Scratch/en/blog/Yesod-excellent-ideas/  http://yannesposito.com/Scratch/en/blog/Haskell-OpenGL-Mandelbrot/  2012-12-12      http://yannesposito.com/Scratch/fr/softwares/  http://yannesposito.com/Scratch/en/about/technical_details/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2009-10-How-to-preload-your-site-with-style/  http://yannesposito.com/Scratch/fr/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2010-02-23-When-regexp-is-not-the-best-solution/  http://yannesposito.com/Scratch/fr/blog/Haskell-Mandelbrot/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2010-07-05-Cappuccino-and-Web-applications/  http://yannesposito.com/Scratch/fr/blog/2009-12-06-iphone-call-filter/  2012-12-12      http://yannesposito.com/Scratch/en/softwares/ypassword/iphoneweb/  http://yannesposito.com/Scratch/fr/about/contact/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/A-more-convenient-diff/  http://yannesposito.com/Scratch/en/blog/2009-10-Focus-vs-Minimalism/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2011-01-03-Why-I-sadly-won-t-use-coffeescript/  http://yannesposito.com/Scratch/en/blog/SVG-and-m4-fractals/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2009-12-06-iphone-call-filter/  http://yannesposito.com/Scratch/en/blog/Yesod-excellent-ideas/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/2010-07-31-New-style-after-holidays/  http://yannesposito.com/Scratch/en/softwares/ypassword/iphoneweb/  2012-12-12      http://yannesposito.com/Scratch/en/blog/2010-06-17-track-events-with-google-analytics/  http://yannesposito.com/Scratch/fr/validation/  2012-12-12      http://yannesposito.com/Scratch/fr/blog/05_git_create_remote_branch/  http://yannesposito.com/Scratch/fr/blog/2010-10-10-Secure-eMail-on-Mac-in-few-steps/  2012-12-12      http://yannesposito.com/Scratch/en/softwares/  http://yannesposito.com/Scratch/fr/blog/03_losthighway/03_losthighway_2/  2012-12-12   

#### 28 keynote/categories.html View File

 @ -704,35 +704,33 @@ Haskell types is fractal:



A natural transformation: familly η ; $$η_X\in\hom{\D}$$ for $$X\in\ob{\C}$$ s.t.



ex: between Haskell functors; F a -> G a
Rearragement functions only.

     


Natural Transformation Examples (1/4)


data Tree a = Empty | Node a [Tree a]
toTree :: [a] -> Tree a
toTree [] = Empty
toTree (x:xs) = Node x [toTree xs]

data List a = Nil | Cons a (List a)
toList :: [a] -> Tree a
toList [] = Nil
toList (x:xs) = Cons x (toList xs)
 

toTree is a natural transformation. It is also a morphism from [] to Tree in the Category of $$\Hask$$ endofunctors.



toList is a natural transformation. It is also a morphism from [] to List in the Category of $$\Hask$$ endofunctors.

      



Natural Transformation Examples (2/4)


data Tree a = Empty | Node a [Tree a]
toList :: Tree a -> [a]
toList Empty = []
toList (Node x l) = [x] ++ concat (map toList l)

data List a = Nil | Cons a (List a)
toHList :: List a -> [a]
toHList Nil = []
toHList (Cons x xs) = x:toHList xs
 

toList is a natural transformation. It is also a morphism from Tree to [] in the Category of $$\Hask$$ endofunctors.



toHList is a natural transformation. It is also a morphism from List to [] in the Category of $$\Hask$$ endofunctors.

      



Natural Transformation Examples (3/4)

#### BIN keynote/categories.pdf View File

Binary file not shown.

#### 7 keynote/categories/img/mp/list-tree-endofunctor-morphism.mp View File

 @ -0,0 +1,7 @@ pair tree,list; resize(.8cm); list=origin; tree=list shifted (gu,0); drawState(list,"\mathtt{[]}"); drawState(tree,"\mathtt{List}"); drawEdgeAngle(list,tree,"\mathtt{toList}",30);

#### BIN keynote/categories/img/mp/list-tree-endofunctor-morphism.png View File

Binary file not shown.
 Before Width:  |  Height:  |  Size: 256 KiB After Width:  |  Height:  |  Size: 254 KiB

#### 21 keynote/categories/img/mp/nattrans-list-tree.mp View File

 @ -0,0 +1,21 @@ z0=(0,0); z1=(1.5gu,0); z2=(0,-gu); z3=(1.5gu,-gu); path ac,ab;   label(btex $\mathtt{[a]}$ etex,z0); label(btex $\mathtt{[b]}$ etex,z1); label(btex $\mathtt{List\ a}$ etex,z2 shifted (-u,0)); label(btex $\mathtt{List\ b}$ etex,z3 shifted (u,0));   drawEdge(z0,z1,"\mathtt{fmap_{[]}\ f}"); drawEdge(z2,z3,"\mathtt{fmap_{List}\ f}"); ab:=edge(z0,z2); drawarrow ab; label.lft(btex $\mathtt{toList}$ etex,midpoint(ab));   ac:=edge(z1,z3); drawarrow ac; label.rt(btex $\mathtt{toList}$ etex,midpoint(ac));  

#### BIN keynote/categories/img/mp/nattrans-list-tree.png View File

Binary file not shown.
 Before Width:  |  Height:  |  Size: 300 KiB After Width:  |  Height:  |  Size: 297 KiB

#### 29 keynote/categories/img/mp/nattrans-tree-list.mp View File

 @ -0,0 +1,29 @@ z0=(0,0); z1=(1.5gu,0); z2=(0,-gu); z3=(1.5gu,-gu); path ac,ab;   label(btex $\mathtt{[a]}$ etex,z0); label(btex $\mathtt{[b]}$ etex,z1); label(btex $\mathtt{List\ a}$ etex,z2 shifted (-u,0)); label(btex $\mathtt{List\ b}$ etex,z3 shifted (u,0));   drawEdge(z0,z1,"\mathtt{fmap_{[]}\ f}"); drawEdge(z2,z3,"\mathtt{fmap_{List}\ f}"); ab:=edge(z0,z2); drawarrow ab; label.lft(btex $\mathtt{toList}$ etex,midpoint(ab));   ac:=edge(z1,z3); drawarrow ac; label.rt(btex $\mathtt{toList}$ etex,midpoint(ac));   drawoptions(withcolor yellow); path abb,acb; abb:=edge(z2 shifted (.2u,0),z0 shifted (.2u,0)); acb:=edge(z3 shifted (-.2u,0),z1 shifted (-.2u,0)); drawarrow abb; drawarrow acb; label.rt(btex $\mathtt{toHList}$ etex,midpoint(abb)); label.lft(btex $\mathtt{toHList}$ etex,midpoint(acb));

#### BIN keynote/categories/img/mp/nattrans-tree-list.png View File

Binary file not shown.
 Before Width:  |  Height:  |  Size: 352 KiB After Width:  |  Height:  |  Size: 344 KiB

#### 9 keynote/categories/img/mp/tree-list-endofunctor-morphism.mp View File

 @ -0,0 +1,9 @@ pair tree,list; resize(.8cm); list=origin; tree=list shifted (gu,0); drawState(list,"\mathtt{[]}"); drawState(tree,"\mathtt{List}"); drawEdgeAngle(list,tree,"\mathtt{toList}",30); drawoptions(withcolor yellow); drawEdgeAngle(tree,list,"\mathtt{toHList}",30);

#### BIN keynote/categories/img/mp/tree-list-endofunctor-morphism.png View File

Binary file not shown.
 Before Width:  |  Height:  |  Size: 352 KiB After Width:  |  Height:  |  Size: 357 KiB