Justement, L est multi-paradigme. Les blocks peuvent retourner des valeurs, ainsi on peut faire:
let a = { let sum = 0;
for(i = 0; i <= 10; i++) { sum += i; }
sum }
(Sauf que ni for ni += n'existent pour l'instant, mais en transformant le code ci-dessus avec un loop et un if, ca marche)
La notion de block a la ruby m'interesse aussi beaucoup, et fait typiquement
partie des trucs que j'aimerait implementer. En fait, le mot cle foreach sera accompagne d'un block, par exemple; map aussi. Fini les iterateurs, qui sont sources de complexite pour le programmeur et d'inefficacite pour la machine.
La programmation par contrat pourra etre implementee dans une librairie.
Au debut, on pourra faire ca simplement, genre ajouter des asserts; mais graduellement, des analyses du code source pourront permettre des verifications statiques des assertions.
[^] # Re: Le monde a-t-il besoin d'un nouveau langage de programmation ?
Posté par Matthieu Lemerre . En réponse au journal Le langage L. Évalué à 2.
let a = { let sum = 0;
for(i = 0; i <= 10; i++) { sum += i; }
sum }
(Sauf que ni for ni += n'existent pour l'instant, mais en transformant le code ci-dessus avec un loop et un if, ca marche)
La notion de block a la ruby m'interesse aussi beaucoup, et fait typiquement
partie des trucs que j'aimerait implementer. En fait, le mot cle foreach sera accompagne d'un block, par exemple; map aussi. Fini les iterateurs, qui sont sources de complexite pour le programmeur et d'inefficacite pour la machine.
La programmation par contrat pourra etre implementee dans une librairie.
Au debut, on pourra faire ca simplement, genre ajouter des asserts; mais graduellement, des analyses du code source pourront permettre des verifications statiques des assertions.