2014/04/09


あんこ
(Picture licensed under CC BY-SA 3.0)

昨晩 lestrrat さんが go-nuts デビューした。
[ANN] Xslate template engine for golang
https://groups.google.com/d/msg/golang-nuts/bajxDXEsixk/OdRjXgkc5oYJ
lestrrat/go-xslate - GitHub

See Supported Syntax (TTerse) for what's currently available Debugging Currently the error reporting...

https://github.com/lestrrat/go-xslate
golang で書かれた xslate というテンプレートエンジンのポーティング。
Xslate - Scalable template engine for Perl5

Distributions Text::Clevery - Smarty compatible syntax and functions Text::Xslate::Bridge::Alloy - U...

http://xslate.org/
なんと現時点で html/template よりも速いとの事。すばらしい。
テンプレートエンジンの中では小さな VM が動いてる。とてもカッコイイ。

それを聞いて、僕も言語処理系を書きたくなって、家に帰ってからもモヤモヤして寝れなかった。えいや!とばかりに僕も言語処理系を書いてみた。
mattn/anko - GitHub
https://github.com/mattn/anko
JavaScript っぽいような、Golang っぽい様な言語です。
以下の様なスクリプトが動きます。
# declare function
func foo(x){
  return x + 1;
}

# declare variables
var x = 1;
var y = x + 1;

# print values 
println(x * (y + 2 * x + foo(x) / 2));

# if/else condition
if foo(y) > 1 {
  println("こんにちわ世界");
else {
  println("Hello, World");
}

# array type
var a = [1,2,3];
println(a[2]);
println(len(a));

# map type
var m = {"foo""bar""bar""baz"};
for k in keys(m) {
  println(m[k]);
}
勢いで書いたので、開発継続するかとか、この後どうするかとか、何も考えてません。現状、計算くらいしか出来ません。
ですが言語処理系を作る方法のサンプルとしては、誰かの役に立つかなーと思ったので公開しておきます。

追記
ちなみに anko という名前は、ふざけて「unko」にしようと思ったけど、いいのが思いつかずに「そう言えば昨晩、アンドーナツをアテに酒飲んでたなー」という安直な発想で付けました。
Posted at by



2014/03/27


Patch 7.4.212
https://groups.google.com/forum/#!topic/vim_dev/0nx0RLbJhmk
Patch 7.4.212 (after 7.4.200)
Problem: Now that the +visual feature is always enabled the #ifdefs for it
are not useful.
Solution: Remove the checks for FEAT_VISUAL.
最新のソースで TINY FEATURE でビルドしても Visual モードは使えるので、一見なんの変哲もないパッチだが、意外と大きなパッチだったと思ってる。
いままで Vim はどんな事があろうとも #ifdef で切り抜けて来たし、obsolete だから動かない環境は無視しようとといった事を自らは言わない方針だったと記憶してる。
先日、Tiny ビルドでも Visual 選択有効にしようという持ちかけに対して誰も意見しなかった。
About Patch 7.4.200
https://groups.google.com/d/msg/vim_dev/IVsjvq-KUg4/rshKSw-9-_QJ
時代の流れというかなんというか、Vim もそろそろ古い物を保守する為に新しい何かを犠牲にしなければいけない状態になって来ている。

もう Vim のソースでは Visual モードの無い vi はコンパイル出来ないのだ。
Posted at by




LGTM
README.md なんかは Vim で編集する事が多いんだけど、github の LGTM(Looks Good To Me)を入力する際に、「適当な画像欲しいけどブラウザ起動すんのかったるいな」って事あると思います。 そんな時には lgtm-vim をお使い下さい。
mattn/lgtm-vim - GitHub
:LGTM で LGTM.in から適当な画像を引っ張ってきます。
また <leader>lgtm でも動きます。
LGTM.in
http://lgtm.in

どうぞお使い下さい。
動作には webapi-vim が必要です。
Posted at by