PLNC 2010

Site pédagogique de l'unité d'enseignement INF355 (Paradigmes et Langages Non Classiques) de Télécom ParisTech.

Haskell : TD

Calculatrice RPN

Une calculatrice RPN travaille avec une pile. Les opérations (par exemple l’addition) travaillent avec les valeurs au sommet de la pile et les y remettent (comme en Factor).

Le but de cet exercice est de factoriser un maximum de code et de limiter la duplication.

Types de base

Le mot-clé « type » permet de déclarer [...]

Factor : TD 2

Aujourd’hui, nous allons nous intéresser au client IRC de Factor ainsi qu’à ses possibilités d’analyser des expressions selon une grammaire EBNF.

Client IRC

En s’inspirant de la documentation du client de chat IRC, créez un client qui :

se connecte sur le serveur « irc.freenode.net » et rejoins le channel « #inf355″ ;
récupère les messages envoyés sur le channel et puisse [...]

Factor : TD 1

Préambule

Il est conseillé de faire l’échauffement avant d’attaquer les autres parties du TD. Vous avez ensuite le choix entre les tours de Hanoï (très simple) ou les engrammes (peu compliqué). Bien entendu, vous pouvez faire les deux si vous le souhaitez.

Échauffement

Définir la fonction « fact » calculant la factorielle d’un nombre. Cette fonction devra retourner 1 [...]

TD Scala 2

Dans la continuation du cours d’aujourd’hui, nous allons maintenant jouer avec les acteurs Scala et le pattern matching (à travers les « case class » ou « unapply ») pour coder le comportement des clients d’une auberge. Les différents personnages seront codés en utilisant des acteurs séparés. On pourra, à la fin, y rajouter un soupçon de XML.

Les personnages

Le [...]

TD Scala 1

Dans ce TD, nous allons mettre en œuvre les concepts illustrés par Alexandre lors du cours de la semaine dernière. On pourra consulter la documentation en ligne de Scala, ainsi que le livre Programming Scala disponible également en ligne.
Pour faire le TD, vous aurez besoin d’installer sbt (simple build tool). Une fois ceci fait, récupérez [...]

TD Scheme 2 (19 mai 2010)

Opérateur angélique

L’opérateur angélique « amb », vu en cours la dernière fois, permet de choisir parmi plusieurs alternatives et de revenir en arrière lorsqu’une alternative non satisfaisante.

Par exemple :

(amb)

ne présente aucune alternative et échoue, alors que

(amb 1 2 3)

retourne 1, puis, si dans la suite du calcul, (amb) est rencontré, retournera 2, puis 3 le cas échéant [...]

TD Scheme 1 (12 mai 2010)

Introduction
Configuration de DrScheme

Si vous choisissez d’utiliser DrScheme (de plt-scheme), il faut activer le langage « Module » et commencer vos fichiers par « #lang scheme ».

Mise en place

Dans toute la suite du TP, on validera l’implémentation par des tests unitaires. Pour cela, écrire une procédure test permettant de vérifier qu’un bout [...]