Mr Haskell Curry est un logicien qui a donné son nom à une technique utilisée en programmation fonctionnelle, le currying. Celle-ci a pour origine les travaux de Gottlob Frege et Moses Schönfinkel, ce qui a poussé Christopher Strachey à suggérer le nom de schönfikelisation en tant qu'alternative.
Ne nous attardons pas plus longtemps sur les détails triviaux. Voyons ce que le terme signifie en informatique.
Vous devez être identifié pour poster un commentaire.
Le dernier ticket sur la gestion d'exception (ou d'événement), malgré sa longueur, ne décrit pas un aspect délicat de celui-ci: la gestion d'exception dans les instructions de finalisation. En effet, si les instructions d'un bloc try ont terminé sur le retour de la fonction (return) ou sur une exception non capturée, il reste toujours des instructions de finalisation a exécuter. D'autres langages comme Java ont des règles peu satisfaisantes en ce qui concerne les exceptions levées à ce moment-là.
Vous devez être identifié pour poster un commentaire.
Pour introduire le système d'exceptions de dodo (je préfère parler d'événements) je propose de s'atteler à une tâche simple, la traduction d'une méthode Java gérant les exceptions dans le langage dodo.
Sans plus d'ambages, voici la méthode en question:
private void openStore() {
try {
store = RecordStore.openRecordStore("CALCULATOR", true);
for (int recordId = 1, last = store.getNextRecordID(); recordId < last; recordId++) {
byte[] record = null;
try {
record = store.getRecord(recordId);
} catch (InvalidRecordIDException x) {
// record was deleted
}
if (record == null) {
continue;
}
Statement stmt = new Statement(recordId, record);
try {
Compiler compiler = new Compiler(stmt.text);
Compiler.Expression expr = compiler.compile();
if (expr instanceof Compiler.Declaration) {
((Compiler.Declaration)expr).declare(bindings);
}
stmt.state = Statement.COMPILED;
} catch (CompileError x) {
stmt.state = Statement.ERROR;
}
statements.addElement(stmt);
}
} catch(Exception x) {
}
}
Vous devez être identifié pour poster un commentaire.
La construction if (condition) ... else ... se retrouve dans pratiquement tous les langages de programmation. Suivant la valeur de vérité de la condition (vrai ou faux), le premier résultat est retourné ou bien le second.
Que se passe-t-il dans un exemple simple?
Vous devez être identifié pour poster un commentaire.
, bredelet Le projet dodo a commencé il y a bien longtemps, et l'idée de mettre ses concepts en pratique me trottait dans la tête depuis un bon moment. Malheureusement je ne voyais pas clairement comment m'y prendre.
Eh bien grâce à une suggestion que l'on m'a faite, il semble que j'aie finalement la solution.
Vous devez être identifié pour poster un commentaire.
Dans une fonction qui se veut libre d'effets de bord, certaines operations qui semblent anodines peuvent compromettre la propriété désirée de la fonction. Par exemple, le chargement d'une classe en mémoire.
Vous devez être identifié pour poster un commentaire.
Dans le dernier ticket, j'ai parlé du modèle client-serveur avec passage de message pour la programmation parallèle en dodo.
Cela semble une bonne idée en théorie, mais comment cela marche en pratique?
Vous devez être identifié pour poster un commentaire.
Dans une fonction qui retourne le type yield, le return n'indique pas la fin de la fonction. En effet la particularité de yield est que l'on peut retourner plusieurs valeurs l'une après l'autre.
Alors que se passe-t-il si l'on met le return à l'intérieur d'un bloc try?
Vous devez être identifié pour poster un commentaire.
| Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
|---|---|---|---|---|---|---|
| 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 |
Copyright © 2000-2012 - www.developpez.com