Journal EDSL et F-algèbres

Posté par  . Licence CC By‑SA.
Étiquettes :
16
12
juin
2016

Bonjour,

J'ai récemment eu à concevoir un DSL et en recherchant quelques informations et bonnes pratiques je suis tombé sur ce lien contenant une vidéo youtube instructive.

L'idée est la suivante, pour intégrer un langage dédié dans un langage hôte (qui supporte des types algébriques), il y a au premier abord deux méthodes :

  1. Construire un type algébrique correspondant à la syntaxe des expressions du langage, et ensuite construire des fonctions d'évaluation qui produisent les valeurs attendues à partir (…)

Journal Données vs Code

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
27
28
mar.
2016

Bonjour nal,

C'est avec humilité que je viens de présenter une « révélation récente », qui si elle est déjà connue, s'accompagne bien mieux d'un exemple : l'avantage certain à construire des données par rapport à celui de construire des instructions.

Ce sujet est assez vieux, ne serait-ce que grâce à Lisp qui permet de considérer (à un niveau assez bas) données et programmes comme interchangeables via son Homoiconicité. Néanmoins, pour chaque problème à résoudre il faut se poser la question  (…)

Journal Compilateur et Monad Reader

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
23
20
nov.
2015

Bonjour nal,

J'ai eu récemment du écrire un « micro-compilateur » pour un sous-ensemble de C vers du code assembleur x86_64. Un impératif du projet étant d'être écrit en OCaml, j'ai donc opté pour un style fonctionnel de programmation. C'est donc l'occasion de râler parce que « en haskell c'est plus mieux » le fonctionnel ;-).

Ce journal va expliquer pourquoi, en pratique, utiliser une monade de lecture c'est cool en Haskell, et pourquoi, toujours en pratique, ce n'est pas vraiment faisable en OCaml.

(…)

Journal Résolution naïve d'un jeu de société

Posté par  . Licence CC By‑SA.
41
20
juil.
2015

Bonjour nal,
Aujourd'hui je vais te parler de résolution naïve d'un problème combinatoire, en explorant un arbre. Le problème vient d'un jeu de société, et la résolution se fera en Haskell, illustrant des notions intéressantes : Anamorphisme et Deforestation_(computer_science).

Explication du jeu

Le jeu du Ricochet Robots est un jeu de société constitué d'une grille de jeu, comportant des cases, avec des murs certains côtés, et certaines cases ayant un symbole d'une certaine couleur.

Quatre Robots (chacun d'une (…)

Journal Lycée et informatique : spécialité ISN en terminale S

42
23
mar.
2013

Cher nal,
Je voudrais partager avec toi mon expérience en spécialité ISN (Informatique et Société Numérique) au Lycée, qui est apparue avec la réforme des Lycées. Pour rappel, les terminales S ont le choix désormais entre : biologie, physique, mathématiques et informatique en spécialité. Toutes les spécialités ont un coefficient deux au bac.

La première chose que l'on peut dire sur le programme officiel est qu'il est beaucoup trop large, étant donné qu'avec deux heures par semaines, nous sommes censés (…)