Dans le même ordre d'idée, en J certaines phrases idiomatiques dans un style tacite peuvent être optimisées par du code spécial.
Par exemple avec l'adverbe \ (« préfixe ») qui applique un verbe aux préfixes d'un tableau :
i.5 NB. 5 premiers entiers
0 1 2 3 4
<\i.5 NB. liste des préfixes chacun dans sa boîte
┌─┬───┬─────┬───────┬─────────┐
│0│0 1│0 1 2│0 1 2 3│0 1 2 3 4│
└─┴───┴─────┴───────┴─────────┘
+/\i.5 NB. sommes cumulées
0 1 3 6 10
On pourrait penser que +/\ est en temps quadratique, mais le compilateur reconnaît cette composition classique du verbe + et des deux adverbes / et \ et produit du code efficace:
NB. x: c'est pour les entiers de précision arbitraire
x: +/+/\i.10^7 NB. somme des sommes cumulées jusqu'à 10 millions
166666666666664984576
[^] # Re: euh?!
Posté par anaseto . En réponse au journal Retour d'expérience avec le langage J. Évalué à 2.
Dans le même ordre d'idée, en J certaines phrases idiomatiques dans un style tacite peuvent être optimisées par du code spécial.
Par exemple avec l'adverbe
\(« préfixe ») qui applique un verbe aux préfixes d'un tableau :On pourrait penser que
+/\est en temps quadratique, mais le compilateur reconnaît cette composition classique du verbe + et des deux adverbes/et\et produit du code efficace:et ça en 0.14s sur ma machine à 1.5Ghz.