.co

Coco 0.7.3

.co

https://github.com/satyr/coco/tree/0.7.3 0.6.2 0.7.3 -> ...; void !-> ... x = !x !=x [+a, +b] +[a, b] (exports ? this).x = x export x a = b = void var a, b _ = f!; _ = g _; _.m! f! => g _ => _.m! a a? {p: [q]:p} = o {[q]:p} = o p:~ -> @xp:…

Coco 0.6.2

.co

https://github.com/satyr/coco/tree/0.6.2 0.5.2 0.6.2 f(a).p f a .p f() f! o{} ^o {o.p, o.q} o{p, q} {p, q} = r if r? {p, q}? = r (r) -> {p, q} = r; ... ({p, q}: r) -> ... a.b a?b this import x import x "(#{id})" "(#id)" /\d/source /\d/$ [\…

?!

.co

0.6.0 から () の代わりに ! と書けるため意味を持つようになった。 !? は既に inexistence operator として有効なのでいよいよカオス。 Short Formal p?q p?.q p? q p?(q) p ?q p ? q p!q p().q p! q p()(q) p !q p(!q) p?!q p?().q p?! q p?()(q) p ?!q p …

WeakMap uniq

[http://wiki.ecmascript.org/doku.php?id=harmony:weak_maps:title=WeakMap] で uniq を書いて [https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/indexOf:title=indexOf] 版と比較してみた。 Primitive を受け付けない Error:…

Coco 0.5.2

.co

https://github.com/satyr/coco/tree/0.5.2 0.4.2 0.5.2 ///.../// //...// if !a? then a else b a !? b function f(a, b) -> ... function f a, b ... let (a = b) ~> ... let a = b ... new -> ... new ... switch case [a, b] then switch case a, b the…

**

.co

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

Coco 0.4.2

.co

https://github.com/satyr/coco/tree/0.4.2 0.3.2 0.4.2 (x.y ||= {})z ||= [] x!y@z (-> ...)call x with x then ... Array(-~x)join s "#{s}" * x @constructor.static @..static `L:`; `break L;` :L break L a?.b a?b a ?= c.0; b ?= c.1 [a, b] ?= c [ …

kc2ks

keyconfig の設定を KeySnail に引き継ぐ。https://gist.github.com/858606 2011-03-24 Fx4 を期に乗り換えるつもりで書いたが、若干の変更のみであっさり動いたため結局 keyconfig を使い続けている。そもそも用途が完全に被るわけではないので両方入れてお…

Coco 0.3.2

.co

https://github.com/satyr/coco/tree/0.3.2 0.2.0 0.3.2 f (a) -> ... a ... o['!'].m().p o'!'m()p {k: o.k} {o.k} a = o.a || b; c = o.c || d {a || b, c || d} = o s += s.0 s.+=0 {}.toString.call(x).slice(8, -1) typeof! x i for i from 0 til x i f…

ADI

.co

コンマの次はドット。 0.1.4 から @[0]['1']の代わりに @.0.'1' と書けるが、この並びならドットが無くても字句解析に支障が無い((例えば @a.0.1 だとドットを取ると意味が変わるので省略できない))。 THIS STRNUM STRNUM間にスペースがあれば括弧が補われて…

ACI

.co

[1, 2, 3]のコンマが無駄なので [1 2 3]と省略できるようになった。0.2.2 では文法をこねくりまわして実現したが、パーサの負担が大きいのでそれは諦め、より単純に字句解析時にトークンを補うことにした。例えば .. NUMBER NUMBER ..を見つけたら .. NUMBER…

backcall

.co

r = f (a, b) -> g (c) -> h -> i a, b, cの代わりに r = do (a, b) <- f c <- g <- h i a, b, cと書けるようにしてみた。矢印が逆向きなので仮に backcall と呼ぶ。 ✓ インデントが浅くなって嬉しい(はず) Haskell っぽく書ける(かのように見える) × インデ…

ckup

.co

https://github.com/satyr/ckup http://satyr.github.com/ckup https://github.com/mauricemach/coffeekup の劣化コピー。 これで JS に続き HTML も書かずに済む。次は CSS かな。

Coco 0.2.0

.co

https://github.com/satyr/coco/tree/0.2.0CoffeeScript 1.0.0 のリリースに合わせてこちらもバージョンを繰り上げた。 以下は 0.1 → 0.2 で可能になった書き方の一部。 0.1.1 0.2.0 a[0]['@'] a.0.\@ [arguments[1], arguments[2]] @@[1, 2] [o['+'], o['-'…

Coco 0.1.3

.co

https://github.com/satyr/coco/tree/0.1.3#readme趣味的リファクタリングの結果オリジナルよりかなり小さく速くなった。 ver. LOC size speed Coco 0.1.3 1961 113 KB 1.4 sec Coffee 0.9.6 2312 170 KB 2.0 sec 行数・速度は添付の loc/bench タスク、サイ…

Coco 0.1

.co

http://satyr.github.com/coco/ https://github.com/satyr/coco/tree/0.1 紆余曲折の末無事に CoffeeScript 0.9.5 が出たので、Coco の方もこの機会にリリース宣言しておくことに。 ドキュメントが CoffeeScript からの変更点を羅列しただけの README しか無…