Interprêteur OO
Dernière mise-à-jour : 2001-12-18
Création : 2000-08-08
Auteur : Guillaume Desnoix
©2000-2001
18-dec-01: Version 0.08.
26-avr-01: Apparition de la publicité sur le site. Pourquoi ?
14-mar-01: Version 0.06. URLs, expressions régulières, ...
31-oct-00: Première version publique.
Foo est un "nouveau" langage, ainsi qu'un interpréteur. Les caractéristiques principales sont:
Il se destine à l'écriture de petits scripts, la réalisation rapide de prototypes d'applications et peut facilement se greffer sur n'importe quelle application.
Ce logiciel servira principalement au développeur pour concevoir un prototype, tester une application et à l'utilisateur pour étendre les fonctionnalité d'une application.
La version actuelle est entièrement écrite en Java. Elle nécessite le JDK 1.1 ou supérieur.
La syntaxe est proche du Lisp, toutefois le message est en seconde position.
; Définition de factorielle
; La méthode est définie pour des entiers et est notée !
(&fix message !
()
(self select
(0 1)
(1 1)
(default (self * ((self - 1) !)))))
; Affichage de 9!
(? ? (9 !))
Les URLs sont reconnues nativement. Les expressions régulières sont disponibles
; Récupère la page
('b = (http://localhost/ >>))
; Extrait les liens
(((b string) ~i "HREF=\"([^\"]*)\"") each s (? . (s cadr)))
Lecture de l'entrée standard et conversion rot13 en utilisant des intervalles
(&byte message rot13 ()
('self = (self int))
((((65 .. 78) contains self) if (self + 13)
(((79 .. 90) contains self) if (self - 13)
(((97 .. 110) contains self) if (self + 13)
(((111 .. 122) contains self) if (self - 13)
self)))) byte))
(? . ((((:input ->) map 'rot13) convert byte) string))
Pas de documentation pour l'instant...
Les distributions 0.01 à 0.06 sont fournies sous les termes de la licence GPL2 (GNU General Public License release 2). Il en existe une traduction en français.