From 0401aa1c4e56876c36b82d3a8219b22f423c0565 Mon Sep 17 00:00:00 2001 From: Nicolas Biri Date: Sun, 15 Mar 2015 09:57:03 +0100 Subject: [PATCH 1/2] frontend/javascript part --- guide-fr.md | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/guide-fr.md b/guide-fr.md index 596555b..84232d5 100644 --- a/guide-fr.md +++ b/guide-fr.md @@ -543,3 +543,44 @@ Si vous êtes comme moi un grand fan de [TravisCI](https://travis-ci.org), je vous recommande alors *fortement* de jeter un œuil à [multi-ghc-travis](https://github.com/hvr/multi-ghc-travis) pour avoir une base pour de fichier `travis.yml` pour vos projets Haskell. + +# Frontend/JavaScript + +Nous avons des problèmes de riches ! Voilà les trois principaux choix que je +peux recommander: + +* [Haste](http://haste-lang.org/) un compilateur de Haskell vers JavaScript + - Le [compilateur](https://github.com/valderman/haste-compiler) sur github. + - Une excellente + [démo](http://www.airpair.com/haskell/posts/haskell-tutorial-introduction-to-web-apps) + de Haste avec un project exemple. + +* [GHCJS](https://github.com/ghcjs/ghcjs) + - [Introduction à GHCJS](http://weblog.luite.com/wordpress/?p=14) + - [Des interfaces web réactives avec GHCJS and Sodium](http://weblog.luite.com/wordpress/?p=127) + - [Écrire des extensions Atom en Haskell en utilisant ghcjs](http://edsko.net/2015/02/14/atom-haskell/) + +* [PureScript](http://www.purescript.org/) + - Pas strcitement du Haskell comme Haste and GHCJS, mais un choix populaire + chez les Haskellers. + - Écrit en et inspiré par Haskell. + - Essayez purescript dans votre navigateur [ici](http://try.purescript.org/) + - Un très bon guide pour [démarrer](http://www.christopherbiscardi.com/2014/06/22/getting-started-with-purescript/) + +## Quel langage frontend utiliser ? + +GHCJS et Haste sont tous deux du pur Haskell. GHCJS marchera avec de plus +nombreux paquets Haskell que Haste, mais celan n'impacte pas un grand nombre +de projets frontend. PureScript n'est pas du tout du Haskell, donc un partage +direct du code avec votre backend ne fonctionnera pas. + +GHCJS a le plus gros coût en terme de poids, avec environ 100ko (Luite +travaille sur ce point). Haste et purescript sont compétitifs. + +Purescript a la meilleure intégration dans la suite d'outils javascript (il +utilise gulp/grunt/bower), GHCJS et Haste s'intègrent mieux avec les outils +Haskell (Cabal). + +Les trois sont de très bons choix et seont adaptés à la plupart des projets +frontend. + From 7a9d86a8b57239c97087cf433fb38f34388e63c7 Mon Sep 17 00:00:00 2001 From: Julien Blanchard Date: Mon, 16 Mar 2015 11:14:01 +0100 Subject: [PATCH 2/2] Other fun topics til end --- guide-fr.md | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) diff --git a/guide-fr.md b/guide-fr.md index fef2acc..679e0a7 100644 --- a/guide-fr.md +++ b/guide-fr.md @@ -745,3 +745,84 @@ Si vous voulez suivre sur les types et la théorie des catégories: - [Adjonctions](http://www.stephendiehl.com/posts/adjunctions.html). - [Monades](http://www.stephendiehl.com/posts/monads.html). + +# Autres sujets amusants + +## Paramétricité, ad-hoc vs. polymorphisme paramétrique, théorèmes libres + +- [Paramétricité](tony_parametricity.pdf). + +- [Les sources TeX](https://github.com/tonymorris/parametricity/) du + talk ci-dessus. + +- [Rendre le polymorphisme ad-hoc moins ad-hoc](http://swizec.com/blog/week-20-making-ad-hoc-polymorphism-less-ad-hoc/swizec/6564). + +- [Théorèmes gratuits !](http://ttic.uchicago.edu/~dreyer/course/papers/wadler.pdf). + +## Initial et Final, les DSL, Finally Tagless + +- [Encodages finaux, Partie 1: Une Démonstration rapide](http://creativelad.wordpress.com/2013/11/28/final-encodings-part-1-a-quick-demonstration/). + +- [Transformer des valeurs Polymorphiques](http://martijn.van.steenbergen.nl/journal/2009/10/18/transforming-polymorphic-values/). + +- [Les GADT en Haskell 98](http://martijn.van.steenbergen.nl/journal/2009/11/12/gadts-in-haskell-98/). + +- [Lambda-calcul linéaire Typed Tagless-Final](https://www.fpcomplete.com/user/mutjida/typed-tagless-final-linear-lambda-calculus). + +- [Interprétations de Typed tagless-final: notes de Lecture](http://okmij.org/ftp/tagless-final/course/course.html). + +- [Les interpréteurs Typed Tagless Final](http://okmij.org/ftp/tagless-final/course/lecture.pdf). + +- [Le chien qui n'aboyait pas](http://existentialtype.wordpress.com/2011/03/21/the-dog-that-didnt-bark/) moins spécifique mais interessant tout de même. + +## Co-monades + +- [Co-monades en Haskell](https://speakerdeck.com/dmoverton/comonads-in-haskell). + +- [question sur SO: Est-ce qu'une monade peut être une co-monade ?](http://stackoverflow.com/questions/16551734/can-a-monad-be-a-comonad). + +## Yoneda / CoYoneda + +- [question sur SO: explication pas-à-pas de coyoneda](http://stackoverflow.com/questions/24000465/step-by-step-deep-explain-the-power-of-coyoneda-preferably-in-scala-throu). + +- Free monads for Less, une séquence de trois articles par Edward Kmett + * [Partie 1: Co-densité](http://comonad.com/reader/2011/free-monads-for-less/). + * [Partie 2: Yoneda](http://comonad.com/reader/2011/free-monads-for-less-2/). + * [Partie 3: Yielding IO](http://comonad.com/reader/2011/free-monads-for-less-3/). + +## Propositions vs. Jugements (informatique) + +- [une question sur StackExchange: Quelle est la difference entre les propositions et les jugements ?](http://cstheory.stackexchange.com/questions/9826/what-is-the-difference-between-propositions-and-judgments). + +- [Notes de lecture d'un petit cours de trois lectures](http://www.ae-info.org/attach/User/Martin-L%C3%B6f_Per/OtherInformation/article.pdf) + +# Typage Dépendent + +- [Intégrer les type sum, les value constructors, et les type constructors](http://bitemyapp.com/posts/2014-04-05-grokking-sums-and-constructors.html). + +- [Programmation légère avec typage dépendant](http://okmij.org/ftp/Computation/lightweight-dependent-typing.html). + +- [Le language de programmation Idris](http://www.idris-lang.org/). + +# Interconnexion de binaires statique + +- [Interconnexion statique](https://wiki.haskell.org/Web/Literature/Static_linking) + +- [Interconnexion statique avec GHC sur Arch Linux](http://www.edofic.com/posts/2014-05-03-ghc-arch-static.html) + +- [Interconnexion statique de binaires Linux pour ARM & MIPS](http://stackoverflow.com/questions/14270177/ghc-statically-linking-linux-binaries-for-arm-mips-processors) + +- [Interconnexion statique GMP avec GHC et LLVM](http://stackoverflow.com/questions/10539857/statically-link-gmp-to-an-haskell-application-using-ghc-llvm) + +# Liste de lecture étendue + +> Certains sont déjà inclus ici + +- [Liste de lecture Haskell Essentielle](http://www.stephendiehl.com/posts/essential_haskell.html) + +## Dialogues + +> Hébergés dans un dépot [ici](dialogues.md). + +Ils sont importants et utiles. A regarder pour une compréhension approfondie sur +des sujets variés.