Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
LiveScript
Search
Pine Mizune
February 10, 2016
Programming
1
680
LiveScript
Meguro.es #2 で発表した資料です。
http://meguroes.connpass.com/event/25018/
Pine Mizune
February 10, 2016
Tweet
Share
More Decks by Pine Mizune
See All by Pine Mizune
多言語対応と絵文字ジェネレーター / i18n of Emoji Generator
pine
0
840
C++ 製グラフィックライブラリ Skia の紹介 / Introduction to the graphics library Skia written by C++
pine
0
1.9k
asyncio + aiohttp で作るウェブサービス / How to develop a web service with asyncio and aiohttp
pine
0
680
Lerna による明示的疎結合アーキテクチャ
pine
1
660
CircleCI 2.0 x JavaScript
pine
3
560
Perl 卒業式
pine
0
350
Android Studio の気になる warnings を抑制する方法まとめ
pine
0
510
Emoji Generator meets Browser Extensions
pine
1
3k
近年の OSS 開発における CI 選択のベストプラクティス
pine
3
4.5k
Other Decks in Programming
See All in Programming
Giselleで作るAI QAアシスタント 〜 Pull Requestレビューに継続的QAを
codenote
0
330
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
10
1.5k
AI時代を生き抜く 新卒エンジニアの生きる道
coconala_engineer
1
490
[AtCoder Conference 2025] LLMを使った業務AHCの上⼿な解き⽅
terryu16
6
980
20251212 AI 時代的 Legacy Code 營救術 2025 WebConf
mouson
0
230
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
470
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
7
2.4k
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
330
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
3
690
Flutter On-device AI로 완성하는 오프라인 앱, 박제창 @DevFest INCHEON 2025
itsmedreamwalker
1
170
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
620
The Art of Re-Architecture - Droidcon India 2025
siddroid
0
150
Featured
See All Featured
The Curse of the Amulet
leimatthew05
0
6.5k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5k
How GitHub (no longer) Works
holman
316
140k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
27
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
100
YesSQL, Process and Tooling at Scale
rocio
174
15k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
110
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
100
The Invisible Side of Design
smashingmag
302
51k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
240
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Transcript
Live Script 10 Feb, 2016 / Meguro.es #2 Pine Mizune
⾃⼰紹介 o ID / HN: @pine613 o 好きな言語: JavaScript /
Crystal o 仕事で書いてる: Perl / Swift / Kotlin o Mobile Factory, Inc o 最寄り: 五反田駅 o 本日は @mizuki_r 氏の代打です ⽬⿊のとなり
⽬次 1. LiveScript とは何か 2. 別に Babel でよくない ? 3.
LiveScript の特筆すべき⽂法 – 関数型記法・ほか 4. まとめ
LiveScript とは何か ? • CoffeeScript から派生した AltJS • 関数型言語として進化 •
利用人口が少ない
別に Babel で良くない ? • ⾃分もそう思います! • 本筋の開発で使うことは意図してません • このプレゼンで意図した使い⽅
– ⼩さなモジュール – gulpfile / webpack.config
インストール⽅法 repl があるのでぜひ弄ってみてください! $ npm i -g livescript ※ repl:
対話型インタプリタ
LiveScript の⽂法 1. 基本⽂法 2. パイピング 3. 関数 4. カリー化・関数合成
基本⽂法 (1/2) if 2 + 2 == 4 'somethingʼ else
ʻsomething elseʼ 基本は CoffeeScript と同じ if (2 + 2 == 4) { 'somethingʼ; } else { ʻsomething elseʼ; } LiveScript JavaScript
基本⽂法 (2/2) require! { lodash: _ gulp } require が圧倒的に楽
const _ = require(ʻlodashʼ) const gulp = require(ʻgulpʼ) LiveScript JavaScript
パイピング x = [1 2 3] |> reverse |> head
メソッドのネスト呼び出しの糖衣構文 let x = head(reverse([1, 2, 3])) LiveScript JavaScript
関数 (1/2) f = (x) -> x * x f(10)
#=> 100 CoffeeScript と同様に定義可能 const f = (x) => x * x f(10) #=> 100 LiveScript JavaScript
関数 (2/2) fold (+) [ 1 to 10 ] #=>
55 演算子は関数として扱える fold( (a, b) => a + b, [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ] ) LiveScript JavaScript
カリー化 f = (* 2) f(8) # => 16 f
= (a, b) --> a + b g = f(2) g(8) #=> 16 部分的に引数を固定した関数を得る LiveScript
関数合成 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
まとめ • LiveScript は CoffeeScript 派生言語 • 関数型方面へ進化 • ES2015
に飽きた時の暇つぶしにどうぞ
【宣伝】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/
fin.