LiveScriptParadigm| multi-paradigm, functional, object-oriented | Designed by| Jeremy Ashkenas, Satoshi Murakami, George Zahariev Developer| Jeremy Ashkenas, Satoshi Murakami, George Zahariev First appeared| 2011; 11 years ago (2011) Stable release| LiveScript 1.6.1 / 14 July 2020; 23 months ago (2020-07-14)[1] Typing discipline| dynamic, weak OS| Cross-platform License| MIT Filename extensions| `.ls` Website| livescript.net Influenced by JavaScript, Haskell, CoffeeScript, F# LiveScript is a functional programming language that compiles to JavaScript. It was created by Jeremy Ashkenas—the creator of CoffeeScript—along with Satoshi Muramaki, George Zahariev, and many others.[2] Not to be confused with JavaScript (for a brief period in the 1990s, LiveScript was the name of JavaScript).[3] ## Contents * 1 Syntax * 1.1 Name mangling * 1.2 Pipes * 1.3 Operators as functions * 2 References * 3 External links ## 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 kebab case (dashed variables and function names) to camelcase. 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 camelcase explicitly or using snakecase. Dashed naming is however, common in idiomatic LiveScript[5] ### Pipes Like a number of other functional programming languages such as F# and Elixir, LiveScript supports the pipe operator, `|>` which passes the result of the expression on the left of the operator as an argument to the expression on the right of it. Note that in F# the argument passed is the last argument, while in Elixir it is the first. "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 1. ↑ "LiveScript Releases". https://github.com/gkz/LiveScript/tags. 2. ↑ "LiveScript contributors page". https://github.com/gkz/LiveScript/graphs/contributors. 3. ↑ "W3 Web Education Community Group". https://www.w3.org/community/webed/wiki/A_Short_History_of_JavaScript. 4. ↑ "LiveScript - a language which compiles to JavaScript". http://livescript.net/. 5. ↑ "prelude.ls - a functionally oriented utility library in LiveScript". http://www.preludels.com/. ## External links * v * t * e JavaScript Code analysis| * ESLint * JSHint * JSLint Transcompilers| * Babel.js * CoffeeScript * LiveScript * Dart * Emscripten * Google Closure Compiler * Google Web Toolkit * Morfik * TypeScript * AtScript * Opa * Nim * Haxe * ClojureScript * WebSharper * PureScript * Reason * Elm Concepts| * Client-side * JavaScript library * JavaScript syntax * Unobtrusive JavaScript Debuggers| * Firebug * Komodo IDE * Microsoft Script Debugger * Microsoft Script Editor * Opera Dragonfly * Web Inspector Doc generators| * JSDoc Editors (comparison)| * Ace * Cloud9 IDE * Atom * CodeMirror * Light Table * Brackets * Koding * PhpStorm * Orion * Visual Studio * Visual Studio Express * Visual Studio Code * Visual Studio Team Services Engines| * Comparison of engines * DOM support * List of ECMAScript engines Frameworks| * Comparison of JavaScript frameworks * List of JavaScript libraries Related technologies| * Cascading Style Sheets * Document Object Model * HTML * Dynamic HTML * Ajax * JSON * WebAssembly * asm.js Package managers| * npm Application Bundlers| * Webpack Server-side| * Active Server Pages * CommonJS * JSGI * Node.js * Wakanda Unit testing| * Jasmine * Mocha * QUnit * List of JavaScript unit testing frameworks * Jest People| * Douglas Crockford * Brendan Eich * John Resig 0.00 (0 votes) Original source: https://en.wikipedia.org/wiki/LiveScript. Read more | Retrieved from "https://handwiki.org/wiki/index.php?title=LiveScript&oldid=2914327" *[v]: View this template *[t]: Discuss this template *[e]: Edit this template