Upgrade to Pro — share decks privately, control downloads, hide ads and more …

LiveScript

842aaadff6e13fbf372c9b17b49b031c?s=47 Pine Mizune
February 10, 2016

 LiveScript

Meguro.es #2 で発表した資料です。
http://meguroes.connpass.com/event/25018/

842aaadff6e13fbf372c9b17b49b031c?s=128

Pine Mizune

February 10, 2016
Tweet

Transcript

  1. Live Script 10 Feb, 2016 / Meguro.es #2 Pine Mizune

  2. ⾃⼰紹介 o ID / HN: @pine613 o 好きな言語: JavaScript /

    Crystal o 仕事で書いてる: Perl / Swift / Kotlin o Mobile Factory, Inc o 最寄り: 五反田駅 o 本日は @mizuki_r 氏の代打です ⽬⿊のとなり
  3. ⽬次 1. LiveScript とは何か 2. 別に Babel でよくない ? 3.

    LiveScript の特筆すべき⽂法 – 関数型記法・ほか 4. まとめ
  4. LiveScript とは何か ? • CoffeeScript から派生した AltJS • 関数型言語として進化 •

    利用人口が少ない
  5. 別に Babel で良くない ? • ⾃分もそう思います! • 本筋の開発で使うことは意図してません • このプレゼンで意図した使い⽅

    – ⼩さなモジュール – gulpfile / webpack.config
  6. インストール⽅法 repl があるのでぜひ弄ってみてください! $ npm i -g livescript ※ repl:

    対話型インタプリタ
  7. LiveScript の⽂法 1. 基本⽂法 2. パイピング 3. 関数 4. カリー化・関数合成

  8. 基本⽂法 (1/2) if 2 + 2 == 4 'somethingʼ else

    ʻsomething elseʼ 基本は CoffeeScript と同じ if (2 + 2 == 4) { 'somethingʼ; } else { ʻsomething elseʼ; } LiveScript JavaScript
  9. 基本⽂法 (2/2) require! { lodash: _ gulp } require が圧倒的に楽

    const _ = require(ʻlodashʼ) const gulp = require(ʻgulpʼ) LiveScript JavaScript
  10. パイピング x = [1 2 3] |> reverse |> head

    メソッドのネスト呼び出しの糖衣構文 let x = head(reverse([1, 2, 3])) LiveScript JavaScript
  11. 関数 (1/2) f = (x) -> x * x f(10)

    #=> 100 CoffeeScript と同様に定義可能 const f = (x) => x * x f(10) #=> 100 LiveScript JavaScript
  12. 関数 (2/2) fold (+) [ 1 to 10 ] #=>

    55 演算子は関数として扱える fold( (a, b) => a + b, [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ] ) LiveScript JavaScript
  13. カリー化 f = (* 2) f(8) # => 16 f

    = (a, b) --> a + b g = f(2) g(8) #=> 16 部分的に引数を固定した関数を得る LiveScript
  14. 関数合成 f = (x) => x + 2 g =

    (x) => x * 10 (f >> g) 3 #=> 50 LiveScript 2つの関数を合成して関数を生成 let f = (x) => x + 2 let g = (x) => x * 10 g(f(3)) #=> 50 JavaScript
  15. まとめ • LiveScript は CoffeeScript 派生言語 • 関数型方面へ進化 • ES2015

    に飽きた時の暇つぶしにどうぞ
  16. 【宣伝】Gotanda.js #3 開催します n Gotanda.js #3 in freee ü 日時:

    2016 年 3 月 11 日 (金) ü 会場: freee 株式会社 ü 内容: LT x 8 (5min LT x 8) ü 申し込みは Connpass から! http://gotandajs.connpass.com/event/26027/
  17. fin.