Workshop Space Invaders en Haskell par Caroline GAUDREAU et Gaël DEEST à Epitech Rennes

Rennes (Ille-et-Vilaine) • Jeudi 6 février 2020, 14h00
Workshop Space Invaders en Haskell par Caroline GAUDREAU et Gaël DEEST  à Epitech Rennes

Les semaines du Hub Epitech Rennes ont lieu du 3 au 14 février 2020. Il s'agit d'une mise en avant de notre Hub, laboratoire d’innovation, pour (re)présenter à nos étudiant(e)s ses activités, les aider à se projeter dans la réalisation de projets ou encore pour susciter de nouveaux centres d’intérêt.

Dans le cadre des Semaines du Hub, Caroline GAUDREAU et Gaël DEEST proposent un workshop, création d'un space invaders en Haskell.

La terre est menacée par les Ephedbores, ces terribles envahisseurs venus de l’espace ! Pour les combattre, une seule solution: programmer en Haskell. Découvrez la programmation fonctionnelle pure en implémentant un jeu de Space Invaders avec la librairie Gloss. Garanti sans monade !

Déroulé

C’est un coding dojo s’adressant aux débutants (en Haskell comme en programmation fonctionnelle).

Le principe est le suivant:

- Les participants se succèdent au clavier, sur la base du volontariat (un seul ordinateur pour tout le monde).

- L’assistance est le cerveau, repérant les erreurs et formulant des suggestions ; la personne au clavier joue le rôle des mains.

On part d’une base de code déjà existante. Le dojo commence par environ 30 minutes de présentation de Haskell et du code, afin d’illustrer la syntaxe et les caractéristiques essentielles du langage. Une documentation d’API est mise à disposition.

La librairie utilisée (Gloss) permet de contourner les aspects les plus difficiles du langage Haskell (monades & co). La logique du jeu s’intègre dans un framework réactif (rappelant Elm), implémentée sous forme de fonctions pures.

L’accent est mis sur le génie logiciel et ce qu’apporte Haskell et/ou les langages fonctionnels dans ce sens :

- la modélisation du domaine métier via les types

- la prévention des erreurs par ce même biais

- la séparation des contraintes

- la réutilisabilité

- la composition

- le refactoring…

Autres événements à Rennes