lisp

バイナリブロブな設定ファイルを廃止しよう

ʕ•͡ω•ʔ あれだよな。Scheme にもカミナリニンゲンみたいなプロジェクト・マネージャー的なもの欲しいよな % dry new zellanium ʕ•͡ω•ʔ すると、project.scm とかできてさ

Scheme でぷよぐらみんぐしてみた

プログラミング環境の準備 コードを書くのに使うテキストエディタといえば、そう。Emacs ですね。 Emacs をインストールするには Arch Linux ではこのように打ちます: % yaourt -S emacs あとは処理系ですね。 今回は Gambit Scheme を導入してみましょう。 …

超高速電磁寿司職人の朝は早い

シェルスクリプトの if 節の中には変数をそのまま書いちゃダメでダブルクォーテーションで囲まなきゃいけないということを知った。 base_dir=~/var/log/rubygems/${serial_date} if [[ ! -d "$base_dir" ]]; then mkdir -p $base_dir fi あと、Gambit Scheme…

シシカバブーって幻獣の仲間だったよね?

ʕ•͡ω•ʔ なーんか、アドベントカレンダーって雰囲気じゃなくなっちまったよな (๑´ڡ`๑) そうだね ものすごいモチベーションが無くなったのを感じます。

パソコンには霊圧も気もチャクラも無い

C# で書かれたこういうソースコードがあります: var hoge = 42; { var x = 0; if ( hoge >= 42 ) { x = 42; } else { x = hoge; } Console.WriteLine( x ); } hoge が 42 以上なら x に 42 を設定し、それ以外なら hoge の値を x に設定するというよくあるコ…

君にもできるデータセンター縮退炉

Lisp Advent Calendar 2015 5 日目。 昨日はりひにーさんで Lisp なら括弧とシンボルを並べるだけ!!! でした。 こーいう CoffeeScript で書いたコードを: # chapter002.coffee http = require 'http' options = hostname: 'www.google.co.jp' port: 80 pa…

Lisp なら括弧とシンボルを並べるだけ!!!

ʕ•͡ω•ʔ すげぇ簡単だからやってみようぜ!!

若者のチャレンジを応援する雑誌、若者チャレンジ

Lisp Advent Calendar 2015 3 日目。 昨日はりひにーさんで 大根のメタファーは撃ち抜けない でした。 ʕ•͡ω•ʔ 自動で (export hoge) してくれる public-define っていうのがあるんだけど: (public-define* (print #:rest args) (define (recur xs) (if (null…

大根のメタファーは撃ち抜けない

Lisp Advent Calendar 2015 2 日目。 昨日はりひにーさんで Lisp Advent Calendar 一日目 でした。 ʕ•͡ω•ʔ 今日も何にもないよな (๑´ڡ`๑) うん

Lisp Advent Calendar 一日目

ʕ•͡ω•ʔ 例によってネタがないよな ( ´∀`) SDL のことでもやる? ;; sdl-sample.scm (use-modules (srfi srfi-1) (srfi srfi-2) ((sdl sdl) #:prefix SDL:) ((sdl gfx) #:prefix SDL_gfx:)) (define screen-width 640) (define screen-height 480) (define s…

本当はコワイ副作用の恐怖

( ◠‿◠ )☛ 副作用を使ったな!? 副作用使用罪で逮捕する!! ╰( ´◔ ω ◔ `)╯ うわっ、お前はっ! 副作用警察!! 何故ここに!!1

ローストチキンを買ったら唐揚げがついてきた

(l ω l〃) 少し気が早くないかな……

殺人ピエロの卵閉じ

(l ω l〃) キーボードの #\i が押しにくくなってて文章を打つ気が起きない…

まずいデータ構造はあなたを地獄まで連れて行って離さない

╰( ´◔ ω ◔ `)╯ ユーザーが考えていることにフィットしたデータ構造と UI を考えよう (*゚∀゚) そーじゃないデータ構造と UI は本当にひどいことになる ╰( ´◔ ω ◔ `)╯ それを修正する手間と時間のことを考えると気分が重い………… (l ω l〃) 重要なのは、ユーザ…

ともあれ、COBOL は滅ぶべきであると考える次第である

(*゚∀゚) COBOLer 死すべし。慈悲はない

うーん、とっても Haskell

╰( ´◔ ω ◔ `)╯ 来年は Haskell でもやってみるか

牛すじタコライス丼

╰( ´◔ ω ◔ `)╯ Lisp 的なことは最近全然やってないんだよな… (l ω l〃) クトゥルフ神話 TRPG リプレイ動画観てばっかりだしね… ╰( ´◔ ω ◔ `)╯ まあ、仕方ないな

黄色いレンガの道を辿って

sinatra とかのクローン的な意味で santana とか考えてみた。 (use 'santana) (get "/hi" () "Hello, World!") ライチティーおいしいですね。

閉じ括弧を探せ!!

(l ω l〃) Lisp 書き始めは閉じ括弧で苦戦していた。

外で電子コインを集めまくり、1UP することに命をかける配管工の二人組

(mapcan #'evenp '(0 1 2 3 4 5 6 7 8 9)) これじゃダメで: (mapcan #'(lambda (x) (when (evenp x) `(,x))) '(0 1 2 3 4 5 6 7 8 9)) ってする必要がある。

トイレビューの富士山八合目

(」・ω・)」 モノリシックメソッドやめろーーーーー!!! モノリシックな to-fizz-buzz: (define (to-fizz-buzz n) (cond ((and (equal? (modulo n 3) 0) (equal? (modulo n 5) 0)) "FizzBuzz") ((equal? (modulo n 3) 0) "Fizz") ((equal? (modulo n 5) 0)…

そう、アリババには 40 人もの盗賊がいた

でも、あなたはもっとラッキー! 誰も敵いはしない。 (l ω l〃) だえもんが何人も見守ってるからね!! ╰( ´◔ ω ◔ `)╯ あ、はい ( ◠‿◠ )☛ Lisp 関係ないよな

機械で捏ねられたハンバーグと、人間の手で捏ねられたハンバーグはどっちもおいしい!

(๑´ڡ`๑) おいしい! Scheme は Lisp じゃなくて ALGOL だ!! という Common Lisp 原理主義者の瘴気に当てられたことは内緒なんだけど、 最近、Common Lisp をやってもいいんじゃないか感が強いので、アドベントカレンダーが終わってからでも SBCL を触って…

穴あきタートルグラフィック

(l ω l〃) SBCL 使ってみようかな感が高まっている…

すぐマクロ、すごくマクロ

今書いてる Emacs Lisp server-running-p が定義してあったら server-running-p を呼ぶみたいなのがあるんですが: (when (fboundp 'server-running-p) (server-running-p)) これ: (fbound-when server-running-p (server-running-p)) ってやってもいいんじゃ…

ジャバニャンは 2 回ベルを鳴らす

ええい、1 つの記事で 2 つのアドベントカレンダーに登録してやる!! 昨日思い立って、.emacs.d を新しくしているんですが、 mozc.el をまだ require してないせいで、何かよく分からないインプットメソッドになってしまい、日本語入力がとてもつらいです。

qurasow の話

rake は rule とかで make とおんなじ感じで .c から .o への変換に gcc を使うぜとかできるんですが、 そのまま書くとこんな風になって: (rule ".c" => ".o" (t) (sh "gcc -O2 -W -Wall -c #{t source} -o #{t target}")) どうやれば実装できるかわからない…

エクストリーム・空中散歩・ほんわかガイド

cCLan っていうのがあったんだけど、全然活動してない感があるのであれがそれでこれ。 マウスが効かない感じあるし、なんかもうダメ感すごい…。

秋冬おすすめのコーディング規約

Lisp Advent Calendar 2014、2 日目はりひにーさんで クマクマナルド南国帝国ホテル店の決闘 でした。 3 日目はわたくし、りひにーです。 早くもネタが無くなってまいりました。 そこで、FizzBuzz 問題を例に Scheme ってこう書くといいのかーと目の前が明る…

クマクマナルド南国帝国ホテル店の決闘

(:3[____] Sinatra 風: (route "/" () (html "index.html")) Apache httpd の設定ファイルの何か: (virtual-host "*:80" () (document-root "/var/www/websie") (server-name "mysite.dev"))