March 2008
  Sun Mon Tue Wed Thu Fri Sat  
              1  
  2 3 4 5 6 7 8  
  9 10 11 12 13 14 15  
  16 17 18 19 20 21 22  
  23 24 25 26 27 28 29  
  30 31            

Archives

November 2009 (3)
September 2009 (1)
July 2009 (2)
June 2009 (1)
March 2009 (3)
February 2009 (3)
January 2009 (3)
December 2008 (1)
November 2008 (1)
October 2008 (2)
September 2008 (7)
July 2008 (5)
June 2008 (1)
May 2008 (3)
April 2008 (4)
March 2008 (3)
February 2008 (3)
January 2008 (1)

March 21, 2008

Scheme ou la convergence des passions

(begin (display "Hello World !") (newline))

Ainsi commençai-je mon apprentissage du Scheme (lire skime), langage de programmation assez étrange après avoir programmé en CamlLight/OCamL dans un style inspiré à la fois par la fonctions imbriquées full-impératives ou full-récursives de Siegfried et par les procédures UNITales savament mélangés de Gense...
Le code rédigé en Scheme est d'une beauté absolument relative (comme tout les dialectes de Lisp). Il présente des accumulations de parenthèses que même analyseur d'expression régulière aurait du mal à traiter ! Mais la part la plus difficile de ce changement de langage est le typage, qui est passé d'une rigidité de chêne à une souplesse de roseaux. Assez de parlotte à propos de langage, ce n'est pas le point important de cet email...

En parallèle à cet apprentissage (merci Dorai Sitaram et ScrapBook), un regain d'intérêt c'est soudain déclaré pour mon petit algorithme de test de primalité (qui semblerait être très adapté au calcul en grappe)... J'ai donc deux grandes occupations (en plus de plusieurs petites occupations comme "les révisions pour mon partiel", "la vaisselle", "les fonctions holomorphes", "Rise of the Atlantis", etc.) en ce moment apprendre le Scheme et travailler sur mes tapis... Ce qui est heureux c'est que ses deux humeurs sont plus que compatibles, elles sont entrelacées ! Je découvre et démontre autant de tapissage que je programme de fonction.

En bref : ça va bien, je m'amuse avec des trucs de geeks !

Un petit morceaux de code pour avoir un aperçu des structures parenthèsales (qui n'ont d'égal que les structures sagittales de coaching de basket-bale (pour la rime))

(define (clock-wise-step (x y) a b) (cond  ((and (= y 0) (not (= x 0))) ((- x 1) y)) ((and (= x 0) (not (= y b))) (x (+ y 1))) ((and (= y b) (not (= x a))) ((+ x 1) y)) ((and (= x a) (not (= y 0))) (x (- y 1))) (else (error "clock-wise-step" " le point n'est pas sur le rectangle"))))

Voila, en vrai on fait des passages à la ligne et des espacements de présentation, mais c'est plus typique comme ça !


"Faire des maths, c'est la seule façon socialement acceptable de se masturber en public." (Inconnu)

Published at 16:07 / 0 comments / 56 visits
This post is public

( 1 post )

 

Català | Čeština nové | 中文 | Deutsch | English | Español | Esperanto | Ελληνικά | Français | Galego | Italiano | Nederlands | Português | More...