AlainBusser / Sofus

langage de programmation pour l'algo au collège (et après)
4 stars 3 forks source link

syntaxe de sophus #1

Closed rodeofly closed 8 years ago

rodeofly commented 9 years ago

tu ne m'as pas dit ce que tu pensais de faire de "de" une fonction avec un test sur le type de l'argument de "de"

a = new Variable [4,5]
b = new Variable [2,-1]
augmenter a, de, b
diviser a, par, 2
montrer a

deviendrai

a = new Variable [4,5]
b = new Variable [2,-1]
augmenter a, de b
diviser a, par 2
montrer a

on pourrait avoir des trucs du genre

augmenter a, de 3
augmenter a, de [4,5]
augmenter a, de "5%"
AlainBusser commented 9 years ago

Si de et par ne sont plus des chaînes de caractère mais des fonctions 1) il faudra que je refasse toute la doc sans les virgules 2) est-ce qu'il n'ay aurait pas de problèmes avec plusieurs paramètres? Par exemple on se retrouverait avec

multiplier x, par 2, tiers me trompe-je?

rodeofly commented 9 years ago

1) ok pour la doc, ceci dit pour t'aider, il y a moi (quand je m'y met), le ctrl+H, sans compter sur le fait que je vais pousser progressivement a adopter une génération spontanée de documentation : work smarter not harder ! https://sphinx-js-howto.readthedocs.org/en/latest/ (ou d'autres !) ; bref a moitié fausse excuse !

2) la tu mets le doigt sur le vrai problème ! ...mais ce n'est qu'un peu plus d'implementation, je propose

multiplier x, par "2 tiers"
multiplier x, par "2/3"
multiplier x, par 2.tiers

avec les regex, que du bonheur pour identifer le sens du string passé en paramètre de "par". La dernière étant un prototype de numeral

encore mieux, nul besoin de changer quoique ce soit si tu veux, on peut garder les deux syntaxes et en fonction du type d'argument au moment de l'appel de la fonction si "par" est un string alors ... sinon si c'est une fonction alors on l'execute !

AlainBusser commented 9 years ago

1) il y a l'autre moitié (avec copies d'écran): http://irem.univ-reunion.fr/spip.php?rubrique173 (5 articles plus la rubrique) et sur mathematice les "regards croisés"... 2) pour l'utilisateur savoir quand il faut mettre des virgules et quand il faut pas c'est pas évident (d'où le besoin d'une souplesse dans la syntaxe genre garder l'existant)

Si tu veux des commentaires dans le fichier coffee je peux en mettre et après tu crées un fork avec demande de merge?

AlainBusser commented 9 years ago

autre chose: http://rosettacode.org/wiki/Y_combinator#Ruby (et il y a aussi CoffeeScript).Python et Smalltalk sortent du lot...

rodeofly commented 9 years ago

1) encore une fois ok, mais ! Il est rare qu'une doc ne subissent aucun remaniement de fond, il y a la version 1 puis la version 2 (qui n'est pas forcemment retrocompatible...rarement même d'ou le changement de numero ! ex python 1 et 2)

2) La souplesse c'est ce que je propose puisque l'utilisateur peut faire les deux et le code s'en accomode

3) Ok pour le fork ! attend un peu que je bosse l'autodoc avant de mettre des commentaires, je viens de penser qu'il doit y avoir des generator special coffee sur github genre codo https://github.com/coffeedoc/codo

AlainBusser commented 9 years ago

en fait il faut gérer le planning: -le 25 mai je présente Sophus (sous sa forme actuelle c'est très bien) donc pas urgence sauf si possible (mais c'est pas rapide à programmer ce truc) -le 9 juin on présente les crocos donc il faut avancer sur les crocos aussi (et ça aussi c'est long, il me faut du temps pour comprendre)

J'avais malencontreuesment fermé l'isse, je la rouvre...

rodeofly commented 9 years ago

yes pas d'urgence ! mais j'ai quand meme corriger le bug sur nitrous. en fait coffeescript.run cree un espace de noms independant qui te prive des fonctions deja codées. Je fais a la place un eval de coffeescript.compile. J'ai enleve le coffee du html pour faire plus propre aussi....tu vas enfin pouvoir profiter du watch & compile !

Le 13 mai 2015 18:10, Alain Busser notifications@github.com a écrit :

en fait il faut gérer le planning: -le 25 mai je présente Sophus (sous sa forme actuelle c'est très bien) donc pas urgence sauf si possible (mais c'est pas rapide à programmer ce truc) -le 9 juin on présente les crocos donc il faut avancer sur les crocos aussi (et ça aussi c'est long, il me faut du temps pour comprendre)

J'avais malencontreuesment fermé l'isse, je la rouvre...

— Reply to this email directly or view it on GitHub https://github.com/AlainBusser/Sophus/issues/1#issuecomment-101676454.

florian tobé 0692 037 611

AlainBusser commented 9 years ago

Merci mais je suis pas trop d'accord de mettre tout le coffee dans un seul fichier, on sait jamais, peut-être quelqu'un voudra un jour faire du Sophus sur son propre site...

rodeofly commented 9 years ago

ok !

Le 13 mai 2015 18:29, Alain Busser notifications@github.com a écrit :

Merci mais je suis pas trop d'accord de mettre tout le coffee dans un seul fichier, on sait jamais, peut-être quelqu'un voudra un jour faire du Sophus sur son propre site...

— Reply to this email directly or view it on GitHub https://github.com/AlainBusser/Sophus/issues/1#issuecomment-101686624.

florian tobé 0692 037 611

rodeofly commented 8 years ago

En fait il suffit de compiler le coffeescript avec l'option -b pour éviter une encapsulation dans une fonction. Ce qui empêche les variables et les classes de devenir globales !