Autant le code python me parle (je ne connais pas du tout ce langage), autant le DSL ne me parle pas.
Là, il y à un truc que je ne comprends pas du tout. Je n'avais pas prêté attention au message de ta part auquel gasche t'a répondu en présentant ce DSL, mais tu y reprochais à OCaml de ne pas générer des instructions SIMD en écrivant :
De plus, ocaml pourrait faire des map et fold sur des array de nombres, et proposer des versions vectorisés des opérations en question.
Il te répond avec un langage qui fait cela pour du code sur GPU, et tu réponds que ça ne te parle pas ? C'est quoi le problème ? Qu'ils utilisent la lettre \lambda pour définir des fonctions ? Qu'ils écrivent reduce et non fold ?
[^] # Re: Le cerveau n'est pas logique
Posté par kantien . En réponse au journal Pourquoi la recherche en langages de programmation ?. Évalué à 5.
Là, il y à un truc que je ne comprends pas du tout. Je n'avais pas prêté attention au message de ta part auquel gasche t'a répondu en présentant ce DSL, mais tu y reprochais à OCaml de ne pas générer des instructions SIMD en écrivant :
Il te répond avec un langage qui fait cela pour du code sur GPU, et tu réponds que ça ne te parle pas ? C'est quoi le problème ? Qu'ils utilisent la lettre \lambda pour définir des fonctions ? Qu'ils écrivent
reduceet nonfold?Si j'écris cela :
alors tu comprends, mais tu voudrais que cela génère du code optimisé avec instructions SIMD ?
Mais quand on écrit :
alors tu ne comprends plus ?
On pourrait rendre le code python encore plus concis avec :
mais quand on sait ce qu'est un
fold(oureduce), unmapet une composition de fonctions, l'équivalence des deux écritures est évidente.Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.