octobre
2009
Le système d’exploitation MorphOS, un OS léger et convivial descendant de feu AmigaOS est enfin disponible sur matériel Apple. En plus de la mise à jour, la nouvelle version 2.4 du fameux système au papillon bleu apporte la compatibilité avec tous les modèles de Mac Mini PowerPC G4. La procédure d’enregistrement de MorphOS 2.4 est intégrée à la version de démonstration et consiste à : installer la version de démonstration librement téléchargeable utiliser l’outil RegTool […]
octobre
2009
Motifs variable Comme vous le savez sans doute le let ne permet pas seulement de déclarer une nouvelle variable par exemple ici la variable m : let choose = function | None -> None | Some n -> let m = minimum n n.left in Some (m.key,m.item) Motifs simples Il permet aussi de déconstruire une valeur selon un motif comme ici la paire (m,l) : let rec delete_min t = match t.left with | None […]
octobre
2009
À la lecture de The Art of the Propagator je me suis laissé convaincre que l’avenir de la programmation déclarative était dans la propagation logique. L’intérêt de la propagation c’est que le calcul monodirectionnel disparaît, le calcul devient multi-directionnel, la béta-réduction devient la béta-équivalence. Jusqu’à présent je m’étais toujours dit « et alors, quel intérêt ? ». C’est là que The Art of the Propagator apporte un argument de poids : le calcul monodirectionnel suppose un temps […]
octobre
2009
Dans mon petit exemple de ce jour on va utiliser l’application partielle pour faire l’inverse de ce qu’on en fait habituellement. Au lieu d’éliminer un argument on va au contraire en ajouter un supplémentaire. L’idée de départ c’est que, étant donné un opérateur diadic (supposé associatif à droite), nous l’appliquons deux fois pour pouvoir opérer sur 3 arguments: let triadic op a b c = op a (op b c);; Une application partielle sert à […]
octobre
2009
Encore plus fort! Plus d’arguments mais cette fois-ci sans application partielle! Vous conviendrez aisément que cette fonction ne prend qu’un seul argument: let id x = x Hé bien je peux, mesdames et messieurs, devant vos yeux ébahis, lui appliquer 4 arguments: # id id (+) 1 2;; – : int = 3 Et c’est bien typé! Incroyable, ils sont fous ces programmeurs fonctionnels!