Pure Golang でスクリプト言語の VM 書いた。
昨晩 lestrrat さんが go-nuts デビューした。 [ANN] Xslate template engine for golanghttps://groups.google.com/d/msg/golang-nuts/bajxDXEsixk/OdRjXgkc5oYJlestrrat/go-xslate - GitHubSee Supported Syntax (TTerse) for...
View ArticleGolang で書いたスクリプト言語 Anko をウェブで試せるサイト作った。
先日、golang でスクリプト言語を書いた訳ですが Big Sky :: Pure Golang でスクリプト言語の VM 書いた。http://mattn.kaoriya.net/software/anko/20140328210749.htm言語仕様もだいたい決まって、github で 70star...
View Articleプログラミング言語の作り方
github の trending を見てたら面白い物を見つけた。 orangeduck/BuildYourOwnLisp - GitHubLearn C and build your own programming language in under 1000 lines of...
View Articleプログラミング言語の作り方(2)
この前の記事がなかなか人気があったので、続きを書いてみます。Big Sky :: プログラミング言語の作り方github の trending を見てたら面白い物を見つけた。 orangeduck/BuildYourOwnLisp - GitHub Learn C and build your own...
View Articleプログラミング言語の作り方(3)
もうちょっと続けてみようと思います。 Big Sky :: プログラミング言語の作り方github の trending を見てたら面白い物を見つけた。 orangeduck/BuildYourOwnLisp - GitHub Learn C and build your own...
View Articleプログラミング言語の作り方(4)
Big Sky :: プログラミング言語の作り方Big Sky :: プログラミング言語の作り方(2)Big Sky :: プログラミング言語の作り方(3)本日は関数スコープの実装と関数引数のバインディングを行います。まず関数スコープを入れるという事は、メモリの破棄が必要になります。しかし関数が呼び出された後、関数スコープ内のメモリを全て削除してしまうと戻り値に文字列を渡せなくなります。 func...
View Articlegolang で複数のエラーをハンドリングする方法
golangいまどき例外ないの頭おかしいって思ってたけどようするにgoroutineと例外がうまくいかないからgoroutineのほう取って例外捨てたってことかねえ。— Urabe, Shyouhei (@shyouhei) April 15, 2014 FAQ に書いてあります。 Why does Go not have exceptions? - Frequently Asked...
View ArticleGist.vim を GitHub Enterprise Edition で使っておれられる方への注意喚起
これまでは、github_api_urlという設定で GitHub Enterprise Edition の API で Gist 出来る様にしていましたが、設定名が変更になり gist_api_urlとなりました。Fixes trailing slash problem by tpoisot - Pull Request #154 · mattn/gist-vim · GitHubShowing...
View Articleプログラミング言語の作り方(5)
Big Sky :: プログラミング言語の作り方Big Sky :: プログラミング言語の作り方(2)Big Sky :: プログラミング言語の作り方(3)Big Sky ::...
View Articleping pong でタスク管理
よし、卓球をしよう。ちょっとしたクラサバで何かを動かす時、クライアントが死んだらサーバも死んで欲しい時がある。自分で作ったプログラムならいいけれど、そうじゃないならいちいちサーバで CTRL-C タイプしなきゃならなかったりする。「そこ自動でしょ!」と思ったのでツールを作ってみました。mattn/pingpong - GitHubhttps://github.com/mattn/pingpong...
View ArticleGolang のオフィシャルが提供するインタフェースまとめ
golang が提供するインタフェースの中で代表的な物の使い方をまとめてみる。 io.Readertype Reader interface { Read(p []byte) (n int, err error) }ご存じ io.Reader。このシグネチャの Read を実装しておけば golang のありとあらゆる入力機能に対して自分のコードを提供する事が出来る。...
View ArticleVim で markdown 内に書かれているプログラミング言語をハイライト
vim に同梱されている markdown シンタックスは syn includeに対応しているので指定で色が付けられる。 github 等では README.md やコメント欄に ```javascript function hasegawa_san_hidoi() { alert('ひどい'); } ```この様な記述をする事で javascript の色付けが適用されますが、vim...
View Articleいつでもどこでも Vim から :help する
いつでもどこでも Emacsから :help する - Life is very short[vim][emacs] いつでもどこでも Emacsから :help する [coffee-mode][emacs] coffee-mode 0.5.2 released...
View Articlelibuv と http-parser を使って高速なウェブサーバ書いてみた。
どうしても高速なWeb サーバが書きたくなったので joyent の libuvと http-parser (nodejs が内部で使っているライブラリ)を使ってWeb サーバを書いてみた。mattn/http-server - GitHubhttps://github.com/mattn/http-server I/O...
View Articlegolang で chan の送受信を「指」で書けるようにする魔改造
元ネタ 「:」を引数の名前と型の間に入れられるようしたりにする魔改造 - moriyoshiの日記とある言語が func halfOpenRangeLength(start: Int, end: Int) -> Int { return end - start } println...
View ArticleWindows のコマンドプロンプトを10倍便利にするコマンド「peco」
Windows ユーザのごく一部には、コマンドプロンプトが無いと生きられない民族がいます。そしてその民族の一部には cygwin や msys bash...
View Articlepeco で migemo が使える様になった。
peco に custom-matcher という仕組みを入れて頂きました。 User CustomMatcher by mattn - Pull Request #65 - lestrrat/peco - GitHubhttps://github.com/lestrrat/peco/pull/65~/.config/peco/config.jsonに以下の様に...
View Articlepeco の使い方 - Windows 編
前回の記事で「peco の使い方が分からない」という意見を幾らか頂いたのでサンプルを。例えば、Qiitaの「Go」タグのRSSを取ってきて、タイトルを一覧して選んだらブラウザが起動するスクリプトを書きたいとする。 @echo offfor /f %%i in ('more +8 %~f0 ^| perl -S - ^| peco --null') do ( start %%i break...
View ArticleGitHub で一番 star を貰ったリポジトリを調べる方法
GitHub で一番お星さまを貰ったリポジトリを調べてみた。 stars:>1 user:mattnで GitHub 検索する。(参考URL)ユーザ名の所はご自分のIDをお使い下さい。ちなみに僕のリポジトリのトップ10は......
View ArticleIIS で golang やろう
golang で Web と言えば、net/http でハンドラ書いて http.ListenAndServe を呼び出すサーバ方式が思い浮かびますが、他にも選択はあるはずです。mattn/go-cgi - GitHubhttps://github.com/mattn/go-cgi golang で CGI が書けます。まず上記リポジトリを clone して go-cgi.exe を作ります。...
View Article