Étrangement, c'est la partie en prose de ton commentaire que je ne comprends pas trop. :-P
Ce que je voulais signaler, au départ, c'est l'identité de méthode qu'il y entre le typage d'un langage de programmation et l'analyse grammaticale des langues dites naturelles; comme peut le montrer, par exemple, l'isomoprhisme qu'il y a entre un arbre d'analyse syntagmatique comme celui en bas de la page 2 de ce document et un arbre de syntaxe abstrait avec des annotations de typage sur les nœuds. Ce qui, dans le cas de Ruby, me faisait analyser le noyau du groupe adverbial comme un attribut de son complément (ce qui n'est pas du tout la façon dont on se représente la chose en français comme en anglais).
Cela étant, ton code m'a donné une idée et une représentation plus proche des structures grammaticales du français et de l'anglais.
(* quelques alias de types *)typevoid=unittype'aaction='a->void(* un adverbe prend une action et renvoie une action *)type'aadverbe='aaction->'aaction(* le noyau du groupe adverbial attend un complément* de type entier pour former un groupe adverbial *)letfois(n:int):'aadverbe=fun(verbe:'aaction)(cod:'a)->fori=1tondoverbecoddone;;valfois:int->'aadverbe=<fun>(* deux verbes qui attendent un groupe adverbial et* un complément de type string, qui ne se distinguent* que par la position du COD et de l'adverbe *)letecriretexte(adv:stringadverbe)=advprint_endlinetexte;;valecrire:string->stringadverbe->void=<fun>letcopier(adv:stringadverbe)texte=advprint_endlinetextevalcopier:stringadverbe->string->void=<fun>(* leur utilisation permet de retrouver* une morphologie proche du français *)ecrire"coin ! coin !"(fois5);;coin!coin!coin!coin!coin!coin!coin!coin!coin!coin!-:void=()ecrire"coin ! coin !"(5|>fois);;coin!coin!coin!coin!coin!coin!coin!coin!coin!coin!-:void=()copier(fois5)"coin ! coin !";;coin!coin!coin!coin!coin!coin!coin!coin!coin!coin!-:void=()copier(5|>fois)"coin ! coin !";;coin!coin!coin!coin!coin!coin!coin!coin!coin!coin!-:void=()
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: Dépêche actuelle et la suite
Posté par kantien . En réponse à la dépêche Les coulisses du standard C++. Évalué à 3. Dernière modification le 29 août 2016 à 16:40.
Étrangement, c'est la partie en prose de ton commentaire que je ne comprends pas trop. :-P
Ce que je voulais signaler, au départ, c'est l'identité de méthode qu'il y entre le typage d'un langage de programmation et l'analyse grammaticale des langues dites naturelles; comme peut le montrer, par exemple, l'isomoprhisme qu'il y a entre un arbre d'analyse syntagmatique comme celui en bas de la page 2 de ce document et un arbre de syntaxe abstrait avec des annotations de typage sur les nœuds. Ce qui, dans le cas de Ruby, me faisait analyser le noyau du groupe adverbial comme un attribut de son complément (ce qui n'est pas du tout la façon dont on se représente la chose en français comme en anglais).
Cela étant, ton code m'a donné une idée et une représentation plus proche des structures grammaticales du français et de l'anglais.
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.