En ce qui concerne mon article "Curry Cheet Sheet", au fur et à mesure que le nombre de langues prises en charge et d'ajouts supplémentaires augmentait, il est devenu un article de commentaire plutôt qu'une aide-mémoire, je vais donc le renouveler. Création d'une liste d'exemples de description. Après un certain temps, le titre de l'article original peut être changé en "Résumé de description de Curry" et cela peut être changé en "Aide-mémoire au Curry".
Pour les langages qui autorisent plusieurs notations, seul le style d'écriture le plus court est affiché lorsque la dernière version et la dernière méthode de curling ne sont pas utilisées. Pour les autres différences dues à la notation et à la version, reportez-vous à Article original.
Langue | (λxy.(vrai, if x>y;et faux, if x≦y)) 10 20 |
---|---|
Haskell | (\x y -> x > y) 10 20 |
Scheme | (((lambda (x) (lambda (y) (> x y))) 10) 20) |
Python | (lambda x: lambda y: x > y)(10)(20) |
Ruby | -> x { -> y { x > y } }[10][20] |
JavaScript | (x => y => x > y)(10)(20) |
Scala | ((x: Int) => (y: Int) => x > y)(10)(20) |
Perl | sub { my $x = shift; return sub { my $y = shift; return $x > $y }; }->(10)->(20) |
Aller langue | func(x int) func(int) bool { return func(y int) bool { return (x > y) } }(10)(20) |
PHP | (fn($x) => fn($y) => $x > $y)(10)(20) |
Julia | (x -> y -> x > y)(10)(20) |
Emacs Lisp, Common Lisp | (funcall (funcall (lambda (x) (lambda (y) (> x y))) 10) 20) |
Langue R | (function(x) { function(y) { x > y } })(10)(20) |
Recommended Posts