billitch

Bienvenue sur blog de billitch !
Du code, de la noise, et quelques pensées électrogènes...


mercredi 30 décembre 2009

FREE IRAN

Une bonne compilation des évènements violents de la manifestation du 27 décembre 2009 à Teheran.

1. Le lundi 1 février 2010à20:41, par r00k

Tu t'es fait pénétrer

2. Le vendredi 5 février 2010à15:32, par billitch

FUCK c'est pour ça que je code un bloc en Lisp pour LowH ! =)

3. Le vendredi 5 février 2010à15:32, par billitch

FUCK c'est pour ça que je code un bloc en Lisp pour LowH ! =)

4. Le vendredi 5 février 2010à16:01, par billitch

bon c plus clean comme ça


mardi 29 décembre 2009

Ruby, un langage para-fonctionnel ?

Ruby est un très joli langage. Un des plus jolis que j'ai vus, Lisp compris. Très concis et bizarrement très lisible, deux adjectifs rarement réunis dans un langage de programmation.

Et pourtant il ne dispose pas de fonctions à proprement parler. On parle bien de méthodes, de blocks, de lambdas, de procs mais jamais de fonctions. Et c'est bien sa force : au lieu de nous servir un seul type de code paramétrable, Ruby nous en propose 4.


On connait déjà les lambda du lambda-calcul, en Ruby un lambda est construit à partir d'un block :

add = lambda { |x,y| x + y }
add(1,2)
=> 3

Ce qui m'amène à parler des blocks.


En Ruby un block n'est pas utilisable seul, il faut plutôt le voir comme un bout de code utilisable ailleurs, pour construire un lambda ou autre chose, donc qui peut intervenir au moment de la "compilation". Du code parsé mais pas compilé utilisable pour construire d'autres éléments du programme, cela fait fortement penser aux macros et à la meta-programmation. Ça commence à me plaire !


Ensuite Ruby propose quelque chose qui ressemble aux lambdas mais qui diffère sensiblement et qu'on appelle Proc.

add = Proc.new { |x,y| x + y }

La différence est que Proc ajuste ses arguments en remplaçant ceux qui manquent par nil et en enlevant ceux en trop, et qu'elle ne compte pas comme un appel de fonction sur la pile : return dans une Proc fait sortir de la fonction qui l'appelle !


Finalement il y a les méthodes. Ruby est un langage très orienté objet car la plupart du code se retrouvera en fait dans des méthodes appartenant à un objet, lui-même appartenant à une classe, qui est elle-aussi un objet. (Comme les objets du Common Lisp sauf que les méthodes ne se spécialisent que sur un objet, qu'il n'y a qu'une méta-classe, et... bref ça fait moins le café.) Une méthode est donc rattachée à un objet, mais c'est loin d'être tout.

En plus de ses arguments, on peut passer un block (et un seul) à une méthode. La méthode peut alors l'appeler comme une fonction normale avec yield.

def sort_args(x, y)
  x, y = y, x if y < x
  yield(x, y)
end

sort_args(4, 2) { |a, b| b / a }
=> 2

Ce qui est marrant c'est qu'on peut nommer ce block et le convertir en un objet Proc utilisable ailleurs dans le programme :

def set_hook(arg, &block)
  @hook = block
end

vendredi 25 décembre 2009

Structure and interpretation of x-mas presents

Jouaneux Yowel MILLE !!

Pour noël, le bonhomme coca cola m'a apporté des sucettes, et les gnomes ont fait venir quelques merveilles dans la boite aux lettres :

  • Graph Theory (Bondy, Murty)
  • The Reasoned Schemer (Friedman, Byrd, Kiselyov)
  • Structure and Interpretation of Computer Programs (Abelson, Sussman)
  • Real world Haskell (O'Sullivan, Goerzen, Stewart)

JE KIFFE !

1. Le vendredi 25 décembre 2009à21:50, par laori***e

noël billitch. mais pas trop quand même. j'écoute Cannibal. toujours pas possible de travailler en même temps. alors que faire ?

tant que le plaisir est là.
*** ma boîte mail se sent seule. faut dire que je l'ai bien briefée.
*** tu m'apprendras encore mille ? tu m'apprendras toujours mille. musique te voilà...

à tout de suite


samedi 12 décembre 2009

JOYEUX NOEL MILLE !! !!

1. Le dimanche 13 décembre 2009à12:52, par r00k

oh oui !!!


mercredi 9 décembre 2009

La Bruyere

Extrait de mails...

Moi :

Connais-tu cet écrivain, La Bruyere ?

J'aime beaucoup ça :

« L’étude des textes ne peut jamais être assez recommandée ; c’est le chemin le plus court, le plus sûr et le plus agréable pour tout genre d’érudition ; ayez les choses de première main ; puisez à la source ; maniez, remaniez le texte ; apprenez-le de mémoire ; citez-le dans les occasions ; songez surtout à en pénétrer le sens dans toute son étendue et dans ses circonstances ; conciliez un auteur original, ajustez ses principes, tirez vous-même les conclusions ; les premiers commentateurs se sont trouvés dans le cas où je désire que vous soyez : n’empruntez leurs lumières, et ne suivez leurs vues, qu’où les vôtres seraient trop courtes ; leurs explications ne sont pas à vous, et peuvent aisément vous échapper ; vos observations au contraire naissent de votre esprit et y demeurent, vous les retrouverez plus ordinairement dans la conversation, dans la consultation et dans la dispute. Ayez le plaisir de voir que vous n’êtes arrêté dans la lecture que par les difficultés qui sont invincibles, où les commentateurs et les scoliastes eux-mêmes demeurent courts, si fertiles d’ailleurs, si abondants et si chargés d’une vaine et fastueuse érudition dans les endroits clairs, et qui ne font de peine ni à eux ni aux autres. Achevez ainsi de vous convaincre par cette méthode d’étudier, que c’est la paresse des hommes qui a encouragé le pédantisme à grossir plutôt qu’à enrichir les bibliothèques, à faire périr le texte sous le poids des commentaires ; et qu’elle a en cela agi contre soi-même et contre ses plus chers intérêts, en multipliant les lectures, les recherches et le travail qu’elle cherchait à éviter.» -- La Bruyère

Bisous,

Réponse :

Bien sûr que je connais La Bruyère! Il fait partie de ces penseurs qui ont préparé l'avènement des Lumières. J'aime aussi beaucoup ce texte. Ceux qu'il appelle les scoliastes correspondent exactement à ceux que je nomme les propagateurs de la *pensée morte*, ceux qui aseptisent l'innovation, par leur discours doctes et insipides, pour la rendre acceptable, privée de son contenu essentiel, à la grande masse des endormis conservateurs.

La Bruyère n'a pas été au sens propre un novateur contestataire de son époque, mais par sa rigueur, son exigence, en particulier sur la langue française (c'est un grand styliste), il a vraiment contribué au développement des "idées claires", du contenu limpides des philosophes de son temps et du 18ème.

Si tu découvres aujourd'hui et par toi-même La Bruyère : MORT A CES PUTAINS DE PROFS DE FRANÇAIS DU SECONDAIRE !!!

>=D

1. Le samedi 26 décembre 2009à23:04, par Baguette

La Bruyère roulz....non ?

"La moquerie est indigence d'esprit"

2. Le mardi 5 janvier 2010à11:53, par gwigui

<<MORT A CES PUTAINS DE PROFS DE FRANÇAIS DU SECONDAIRE !!!>>

Madame Oeschlagger doit se retourner dans la tombe... Faut dire que niveau attention on était pas les plus justes.

Greg

3. Le mardi 5 janvier 2010à11:53, par gwigui

<<MORT A CES PUTAINS DE PROFS DE FRANÇAIS DU SECONDAIRE !!!>>

Madame Oeschlagger doit se retourner dans la tombe... Faut dire que niveau attention on était pas les plus justes.

Greg

4. Le mardi 5 janvier 2010à20:42, par billitch

C'est vrai elle est déjà morte ?

Moi je l'ai surtout entendu marivauder... c'était extrèmement déplaisant. Pourtant elle avait tellement l'air d'avoir une culture de la pensée libre et courageuse !

5. Le mercredi 6 janvier 2010à00:18, par gwigui

Ah non rectificatif elle n'est pas morte, mais en Asile.

Depuis cet élève qui avait écrit sa redac avec son sang elle aurait des hallucinations, verrait de petits oiseaux constamment.

C'est marrant elle voit constamment des grive elle !