Let's write β

プログラミング中にできたことか、思ったこととか

Lisp

Stumpwm on Linux Laptopでサスペンドするには

昨日、開発環境勉強会に参加していたところXMonadの拡張性が非常に高いという事で、 一番拡張性が高いのはXMonadだ!といわれてしまったので、負けじとStumpWMを機能から利用しています。 とりあえず、contribute以下のモジュールなどのおかげでLaptopで利用…

ArityでDispatchしつつ、型でも適切に判断されるようなDispatchをおこなうには

僕はまえからCLOSのメソッドの定義では同名のメソッドでは同じarityの物しか許容されていないという事が面倒だなとおもっていたのですが、ようはarityが違う物ならば違う名称をわりふってやり、よびだし側にそれがわからないようにすれば解決する話しなので…

Defpackage with closer-mop

Meta Object Protocolを利用したプログラムを記述しようとおもっている時に パッケージにcloser-mopを(:use)しようとおもっていると、:clや:cl-userとコンフリクトが発生します。 そこでshadowing-import-fromというものを利用してガードします。これを毎回…

底辺が下になるように正多角形の角の位置を計算するには

多角形を描画するにあたって底辺が画面の下に位置するように多角形を描画したいときはどのようにすれば良いでしょうか。 何気なく角度をつかって頂点の座標を計算してしまうと、角が下にきたり、辺が下にきたりと多角形の形状によってまちまちと なってしま…

Yet Another Presentation Tool for Vim. 更新しました。

presen-vimですがL5から強い影響を受けているので、プレゼンのソースの書きかたの構文も影響を強く受けます。そして構文が変更されました。そして便利な機能もいくつか追加されました。 ;;defcontext (defcontext (width <columns>) (height <rows>) (font <gui-font>)) ;;defslide (d</gui-font></rows></columns>…

Yet Another Presentation Tool for Vim.

「vimというプレゼンテーションツールは、プログラムの編集もできるという事で...(ry」という冗談を目撃したりしましたが、僕はけっこう本気です。以前からコンソールでプレゼンをするというのも僕の夢でしたので、どうせならVimでやっちゃおうとおもいまし…

Lisp inplementation by VimScript

";;;; lisp.vim ";;;; Lisp inplementation by vim script ";;;; Author: Pocket <poketo7878@gmail.com> "Global variables"{{{ let s:nil = 'nil' "}}} "Type check functions"{{{ function! IsNumber(thing) if type(a:thing) == type(1) return 1 else return 0 endif endfunct</poketo7878@gmail.com>…