LiveScript (programming language)
Developer | Jeremy Ashkenas, Satoshi Murakami, George Zahariev |
---|---|
First appeared | 2011 |
Stable release | LiveScript 1.6.1
/ 14 July 2020[1] |
Haskell, CoffeeScript, F# |
LiveScript is a
Syntax
LiveScript is an indirect descendant of CoffeeScript.[4] The following "Hello, World!" program is written in LiveScript, but is also compatible with Coffeescript:
hello = ->
console.log 'hello, world!'
While calling a function can be done with empty parens, hello()
, LiveScript treats the exclamation mark as a single-character shorthand for function calls with zero arguments: hello!
LiveScript introduces a number of other incompatible idioms:
Name mangling
At compile time, the LiveScript parser implicitly converts
hello-world = ->
console.log 'Hello, World!'
With this definition, both the following calls are valid. However, calling using the same dashed syntax is recommended.
hello-world!
helloWorld!
This does not preclude developers from using camel case explicitly or using snake case. Dashed naming is however, common in idiomatic LiveScript[5]
Pipes
Like a number of other functional programming languages such as
"hello!" |> capitalize |> console.log
# > Hello!
Operators as functions
When parenthesized, operators such as not
or +
can be included in pipelines or called as if they were functions.
111 |> (+) 222
# > 333
(+) 1 2
# > 3
References
- ^ "LiveScript Releases". GitHub. Retrieved 21 February 2021.
- ^ "LiveScript contributors page". GitHub. Retrieved 20 June 2015.
- ^ "Chapter 4. How JavaScript Was Created". speakingjs.com. Archived from the original on 2020-02-27. Retrieved 2017-11-21.
- ^ "LiveScript - a language which compiles to JavaScript".
- ^ "prelude.ls - a functionally oriented utility library in LiveScript".