yatc (Yet Another Tunes Co-developer)
Mon, 6 Mar 95 20:05:57 MET
Content d'avoir de tes nouvelles !
> Pendant ce week-end j'ai eu une idee qui est
> vieille comme le monde. De toute maniere,
> ce que Tunes HLL devrait etre est d'une part
> Lisp, d'autre part Prolog et d'autre C,
> orientes objet, munis d'un system de logique
> modale, et doubles d'un moyen de retrouver
> les informations de maniere associative,
> et d'apprendre au fur et a mesure.
Euh, tu as une vision austere de la realite plastique,
ou je denote une endosmose abusive de l'apodictique
dans l'assertorique.
Enfin, bref, ce n'est pas comme ca que je le presenterais,
mais bon, ca ne m'a pas l'air faux pour autant.
> C'est assez vague ce que je dis; au fait j'ai une
> idee bien plus precise, concernant le modele
> d'implementation. Je vais essayer d'en realiser
> une premiere variante (donne-moi deux ou trois
> semaines) et apres on en reparlera.
Je suis du genre impatient (surtout quand *aucune* nouvelle ne
parvient), aussi, ne te prive pas de m'envoyer tes idees meme
au brouillon...
> En gros je pense a une histoire de dico (comme
> dans PostScript, peut-etre) ou l'on definit des
> NOTIONS (qui sont comme les classes d'objets),
> mais en fonction du CONTEXTE.
Jusqu'ici on est d'accord.
> Comment ? De deux
> manieres: explicative (donc une notion en termes
> des autres notions (- pointeurs -)) et imperative
> (donc une procedure executable associee; attention,
> cette procedure pourra faire beaucoup de choses,
> y compris modifier le dico, etc. Toute puissante,
> avec toutes les verifications necessaires)
La, je ne suis plus sur de suivre:
la facon explicative semble etre ce que j'appelerais une
construction du premier ordre, i.e., donner un terme comme
application de fonctions du premier ordre.
Ta facon "imperative" est un effet de bord d'ordre superieur.
Yuck. Je suis d'accord que l'implementation du langage passe
par la, et qu'il faut laisser une porte de sortie pour de telles
choses. Mais il faut que des outils soient fournis pour permettre
de se passer de tels effets de bords, ou du moins pour les controler,
pour les rendres locaux, etc. L'anarchie n'est pas la liberte.
Selon moi, le contexte est aussi manipulable. Et il y a plusieurs
contextes: le contexte de definition de l'objet, qui definit sa
semantique, et le contexte lexical, qui est l'etat du parseur, et qui
peut etre bien plus complique qu'un dictionaire a la FORTH.
> ((( Tu te rends compte qu'il n'est pas difficile
> d'avoir plusieurs dicos, en utilisation en meme
> temps, couples avec des 'OU' ou des 'ET'...
> aussi est-il facile d'instaurer des droits d'access
> aux dicos, de definir des procedures d'auto-parsing, etc.)))
> Et la bombe: le seul langage qui puisse satisfaire
> le cahier des charges est LE LANGAGE HUMAIN
> (au fait meme un sous-ensemble de celui-ci).
Oui et non: dans notre langage, tout autre langage pourra
etre emule par un enrichissement idoine du contexte, y
compris un langage humain. Cependant, notre langage pourra
avoir un contexte de depart bien plus simple que tout
langage humain (soit dit en passant, comme tu l'as peut etre
deja remarque, il y a plus d'un "langage humain", selon la
disposition d'esprit de l'humain, et un humain, apres
apprentissage adequat, peut parler n'importe lequel...).
> Malheuresement je n'arrive pas bien a saisir la
> notion de ... notion (au fait la notion de SENS,
> au sens humain du terme) c'est pourquoi je me
> permets d'affirmer que dans une premiere approximation on
> pourra considerer que le sens reside dans les interconnexions
> (donc definition explicative) et dans les actions
> (donc definition imperative).
Je definirais une notion comme un objet dans un contexte qui
definit sa semantique, par exemple, un entier dans la theorie des
entiers, un ensemble dans telle theorie des ensembles. En laissant
des trous, des incompletudes, des parametres dans le contexte, on
peut obtenir des objets assez generiques pour etre utiles.
> [[[ Au fait tout ca existe deja, car le dico n'est que
> le programme source (def. explicative), et la bibliotheque
> d'executables (def. imperative). Donc rien de vraiment
> nouveau... ]]]
Mouais. Encore une fois, l'anarchie n'est pas la liberte.
Dire "ca existe deja, debrouillez-vous", c'est ne pas avoir
avance d'un pouce.
> Tres bien tout ca. Comment programmer la-dedans ?
> La mission de l'ordinateur sera de porter un dialogue
> avec des parteners (humains ou ordinateurs).
> Donc on dira a l'ordinateur:
>
> - Mon brave, j'aimerais programmer un petit peu.
>
> Et l'ordinateur repondra:
>
> - D'accord, cher partenaire. J'attends vos algorithmes
> et/ou definitions.
On n'en est pas encore la. Encore une fois, il faudra
pas mal de contexte avant que l'ordinateur ne comprenne
le langage humain, et meme la, on preferera toujours
travailler dans un contexte simple et completement
comprehensible par l'homme (meme si on utilisera l'interface
"humanoide", lui demandant de traduire elle-meme le baratin
dans un tel contexte, et se contentera d'approuver le resultat,
comme un patron avec sa secretaire...).
> Evidemment le modele ideal de HLL est un langage dont
> C, Lisp, Prolog, Forth, PostScript, etc. sont des
> sous-ensembles. Et ce sera implemente petit a petit.
Tout a fait...
> Concernant la syntaxe, il est evident que je vais avoir
> du culot et je vais vouloir qu'elle soit celle des
> langages humains (des langues: francais, anglais, etc.).
> Le vocabulaire va etre developpe progressivement, et de
> toute maniere on pourra toujours charger uniquement le
> dico dont on a besoin pour le boulot precis.
> (Truc genial: si nous sommes malins, ceci peut
> aboutir aussi a la traduction automatique. C'est tres
> naif ce que je dis, mais on verra bien...)
Je prefererais qu'a la base, on ait une syntaxe symbolique
non-equivoque et rapide a taper, et que le reste soit implemente
au-dessus. Sinon, je suis d'accord: l'utilisation de bonnes
representations intermediaires permettrait la traduction
automatique. Cependant, on devrait d'abord s'essayer a la
traduction automatique de langages informatiques avant de
s'attaquer aux langues humaines...
> Au fait le nom est un ensemble, et le verbe est une fonction
> de modification d'ensemble. Les adjectifs (en tant qu'attributs)
> sont des fonctions aussi, etc. (et une fonction est aussi
> un ensemble... Marrant, non ? I work, he works (verbe) et
> The work you've done (nom)). Le langage humain peut etre
> vu comme un espace vectoriel plus complique que ceux
> classiques. Je peux me forcer a en trouver une structure
> mathematique rigoureuse (je ne sais pas si c'est tout a fait possible).
> Si j'en ai envie, je le fais aussi ces semaines.
A mon avis c'est possible, mais vraiment, ce n'est pas le plus
urgent. Attaquons nous d'abord aux langages informatiques, puis aux
maths, puis a des sous-ensembles techniques des langues humaines,
puis aux langues humaines elles-memes.
> C'est bien rigolo tout ca, hein ?
Faisons attention a commencer doucement. Point trop n'en faut.
Ne perdons pas le cap de vue, mais sachons nous y diriger lentement,
sereinement, et surement, sans precipitation inutile.
> Qu'est-ce que t'en dis ?
J'en dis que tu devrais ecrire ca en anglais, et l'envoyer a tunes@ens.fr
pour que tout le monde en profite !
-- , , _ v ~ ^ --
-- Fare -- rideau@clipper.ens.fr -- Francois-Rene Rideau -- +)ang-Vu Ban --
-- ' / . --
Join the TUNES project for a computing system based on computing freedom !
TUNES is a Useful, Not Expedient System
WWW URL: http://acacia.ens.fr:8080/home/rideau/Tunes/
IRC: on undernet (e.g. /server us.undernet.org) channel #Tunes
FTP SITE: ftp://frmap711.mathp7.jussieu.fr/pub/scratch/rideau/Tunes/
contains full (~300K) distribution, regular patches (~30K) to upgrade,
and the full (~1400K) mailing list archive for MOOSE & TUNES.
Get any by mail and/or subscribe to patches by sending me mail.