factograf
FR
Se connecter

langage de programmation fonctionnel se compilant en Javascript (2011)

LiveScript

Toutes les données de l’infobox 6
Date de première version
2011
Dernière version
1.6.1 (14 juillet 2020)
Influencé par
CoffeeScriptJavaScriptHaskellF#
Écrit en
JavaScript
Licence
Licence MIT
Site web
livescript.net

LiveScript est un langage de programmation fonctionnel qui se compile en JavaScript. Il a été créé par Jeremy Ashkenas - également créateur de CoffeeScript - avec Satoshi Muramaki, George Zahariev, et bien d'autres. LiveScript a aussi été le premier nom de JavaScript durant une brève période dans les années 1990.

Syntaxe

LiveScript est un descendant indirect de CoffeeScript. Le programme hello world suivant est écrit en LiveScript, mais est également compatible avec CoffeeScript:

hello = ->
  console.log 'hello, world!'

Si l'appel d'une fonction peut se faire avec des parenthèses vides, hello(), LiveScript traite le point d'exclamation comme une abréviation à un seul caractère pour les appels de fonctions avec zéro argument: hello!

LiveScript introduit un certain nombre d'autres idiomes spécifiques:

Name mangling

Au moment de la compilation, l'analyseur LiveScript convertit implicitement la casse kebab (variables pointillées et noms de fonctions) en casse camel.

hello-world = ->
  console.log 'Hello, World!'

Avec cette définition, les deux appels suivants sont valables. Toutefois, il est recommandé d'utiliser la même syntaxe en tirets.

hello-world!
helloWorld!

Cela n'empêche pas les développeurs d'utiliser explicitement la casse camel ou d'utiliser la casse snake. Le nommage en pointillés est cependant courant en LiveScript idiomatiques.

Tubes

À l'instar d'un certain nombre d'autres langages de programmation fonctionnels tels que F# et Elixir, LiveScript prend en charge l'opérateur pipe, |> qui transmet le résultat de l'expression à gauche de l'opérateur comme argument à l'expression à droite de celui-ci. Notez que dans F#, l'argument passé est le dernier argument, alors que dans Elixir, il est le premier.

"hello!" |> capitalize |> console.log
# > Hello!

Opérateurs en tant que fonctions

Entre parenthèses, les opérateurs tels que not ou + peuvent être inclus dans les pipelines ou appelés comme s'ils étaient des fonctions.

111 |> (+) 222
# > 333

(+) 1 2
# > 3


À lire ensuite

En 5 langues

Texte de Wikipédia, CC BY-SA 4.0 · Article source