LiveScript (язык программирования)

LiveScript
Парадигмымногопарадигмальный , функциональный , объектно-ориентированный
РазработаноДжереми Ашкенас , Сатоши Мураками, Георгий Захариев
Разработчики(такой же)
Впервые появился2011 ; 14 лет назад ( 2011 )
Стабильный релиз
1.6.1 / 14 июля 2020 г. ; 4 года назад [1] ( 2020-07-14 )
Дисциплина набора текстадинамичный , слабый
ОбъемЛексический
ОСКроссплатформенный
ЛицензияМассачусетский технологический институт
Расширения имени файла.ls
Веб-сайтlivescript.net
Под влиянием
JavaScript , Haskell , CoffeeScript , F#

LiveScript — это функциональный язык программирования , который транспилируется в JavaScript . Он был создан Джереми Ашкенасом , создателем CoffeeScript , вместе с Сатоши Мурамаки, Джорджем Захариевым и многими другими. [2] (Название может быть данью уважения названию бета-версии JavaScript; в течение нескольких месяцев в 1995 году он назывался LiveScript до официального релиза. [3] )

Синтаксис

LiveScript является косвенным потомком CoffeeScript . [4] Следующая программа «Hello, World!» написана на LiveScript, но также совместима с Coffeescript:

hello = -> console . log 'привет, мир!'    

Хотя вызов функции можно выполнить с пустыми скобками, hello()LiveScript рассматривает восклицательный знак как односимвольное сокращение для вызовов функций с нулевыми аргументами:hello!

LiveScript вводит ряд других несовместимых идиом:

Искажение имени

Во время компиляции анализатор LiveScript неявно преобразует кебаб-регистр (переменные и имена функций, обозначенные пунктиром) в верблюжий регистр .

hello-world = -> console . log 'Привет, мир!'    

При таком определении оба следующих вызова допустимы. Однако рекомендуется вызов с использованием того же синтаксиса с дефисом.

привет-мир! приветМир!

Это не мешает разработчикам явно использовать camel case или snake case . Однако в идиоматическом LiveScript часто встречается дефисное наименование [5]

Трубы

Оператор конвейера |> передает результат выражения слева от оператора в качестве аргумента выражению справа от него. LiveScript поддерживает их, как и некоторые другие функциональные языки, такие как F# и Elixir ; аргумент, переданный в F#, является последним, но в Elixir — первым.

"привет!" |> заглавные буквы |> console . log # > Привет!    

Операторы как функции

При заключении в скобки такие операторы, как notили , +могут быть включены в конвейеры или вызваны так, как если бы они были функциями.

111 |> ( + ) 222 # > 333   ( + ) 1 2 # > 3  

Ссылки

  1. ^ "LiveScript Releases". GitHub . Получено 21 февраля 2021 г.
  2. ^ "Страница участников LiveScript". GitHub . Получено 20 июня 2015 г.
  3. ^ "Глава 4. Как был создан JavaScript". speakingjs.com . Архивировано из оригинала 2020-02-27 . Получено 2017-11-21 .
  4. ^ «LiveScript — язык, компилирующийся в JavaScript».
  5. ^ "prelude.ls - функционально-ориентированная библиотека утилит в LiveScript".
  • Официальный сайт
Взято с "https://en.wikipedia.org/w/index.php?title=LiveScript_(язык_программирования)&oldid=1269563605"