2018-01-01から1年間の記事一覧
ひたすら「e」が並んでいるだけのリポジトリが話題になってました。 github.com Lispはどうかと見てみると、シンプルに無限ループで面白いというのが初見の感想でした。 e.lisp (loop (print "e")) しかし、ここでC言語の実装を見てみると何やら面白いことを…
lisp Advent Calendar 201810日目の記事です。 今年はCommon LispサブセットをJavaScriptに変換するParenscript + three.js な2Dゲームライブラリ(もどき)のcl-web-2d-gameが育ってきたので、テトリスを作ってみたりブロック崩しを作ってみたりして遊んで…
Lisp メソッドコンビネーション Advent Calendar 2018の4日目の記事です。 枠が空きそうな雰囲気だったので、前日の define-method-combination 解説記事を書いていて思い付いた小ネタを供養しておきます。 Blackhole: 呼ぶと消える Escher: 親の親は自分 In…
Lisp メソッドコンビネーション Advent Calendar 2018の3日目の記事です。 任意のメソッドコンビネーションを自作するマクロであるdefine-method-combinationのリファレンス(CLHS)を眺めていたのですが、中々理解するのに苦労しました。次のような所に難しさ…
DockerHubに登録しているCommon Lisp実行環境eshamster/cl-baseと、それをベースとした開発環境eshamster/cl-devel2ですが、RoswellやQuicklispリポジトリがそれなりの頻度で更新されるので、latestに対しては定期的に更新をかけておきたかったです。そのた…
小さなマクロ1個の小ネタ(+おまけ)です。 ライブラリを書き、ある程度使ったあたりで関数名などの命名のまずさに気付くこともあると思います。かといって、いくつかのプロジェクトで使い始めているので、今さら名前を変更するのも面倒臭い…。そういったと…
XBLA版, Steam版*1の斑鳩におけるアナログスティックの挙動について、↓のような雑なツイートをしました。 (分かりにくい説明)Steam斑鳩のアナログスティック操作は単方向が3段階なので、単純に組み合わせると32方向に操作できる。外周に限っても図右上の赤…
cl-web-2d-game *1 のようなWebアプリ向けのライブラリなどを作っていると、使うまでに色々とサーバ側の設定コードが必要で、中々気軽にプロジェクトを起こせなかったりします(単にインタフェースが悪いのではという議論は置いておきます)。そうした課題の…
前回記事ではCommon Lisp上で実現したホットローディングのプロトタイプのデモや使い方について見ました。 eshamster.hatenablog.com 今回はその実装についてです。といってもベースは実に単純なもので、ParenscriptによってCommon LispコードをJavaScriptに…
前回記事「[Clojure] Figwheel + cljsjs/threeでホットローディングを試す - eshamster’s diary」ではClojureScriptでホットローディングをお試ししました。そして、おおむね次のような機構で動いていることが推測されました。 なんらかの契機でLispコードの…
前回記事「Clojure + Emacsな開発環境を作った on Docker - eshamster’s diary」でひとまずClojure開発環境を整えたので、前々から気になっていたClojureScriptを試してみます。 これまでもThree.js(WebGL上に構築された3Dライブラリ)を触ってきたので、ま…
前回記事「Common Lisp開発環境 on Dockerの現状 - eshamster’s diary」の冒頭で少し書いていたように、Clojure開発用のDocker環境を作ってみました。そろそろいい加減にClojureScriptをいじってみようかというのが主な動機です。 Docker上に開発環境を起こ…
目次 前書き 何がどう変わったか Dockerfile 実際に使うとき 前書き あけましておめでとうございます。昨年は5件しか投稿していませんでしたが、今年はもっと増やす所存であります。 Clojureの開発環境をDocker上に作ったので記事にしようかと思い、1年以上…