ギークもどきの日記帳

雑多な知識が垂れ流される場所。ほとんど無害。

環境構築2016

homebrew 公式サイトにある通り。 /usr/localのアクセス権限を書き換えないといけなかった記憶があるが、以前インストールしていたからか特に問題なくインストールできた。 $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/in…

iPhoneのバックアップ時に「"Macintosh HD"ディスクへのコピーに失敗しました。不明なエラーが発生しました(-54)。」

これの解決法。 support.apple.com 上記リンクのヘルプを参考に、iPhoneのバックアップイメージを削除する。 続いて、「今すぐバックアップ」からバックアップを作成する。 とりあえずこれで治った。

C言語でmapとreduce

#include <stdio.h> #define ASIZE(ARRAY) (sizeof(ARRAY) / sizeof(ARRAY[0])) #define REDUCE(ARRAY, FUNC, RESULT) for (int i = 0; i < ASIZE(ARRAY); i++) RESULT = FUNC(RESULT, ARRAY[i]) #define MAP(ARRAY, FUNC, RESULT) for (int i = 0; i < ASIZE(ARRAY) </stdio.h>…

Ros scriptでライフゲーム

Ros scriptでライフゲーム書いた。 lifegame.rosに実行可能権限を与えたあと、./lifegame.rosで起動する。 Enterキーを押すと一世代進む。 正整数を入力すると、その分がアニメーション付きで進む。 ./lifegame.ros *width* *height* *wait-time*

HaskellでもCPP(C PreProcessor) したかった

CPPシリーズ第三回。 毎度のごとくn番煎じの上に実用性は無い。 ghcにはCプリプロセッサを展開する機能が付いている。

iotaからunfoldをつくる Common Lisp編

まず、iotaを定義する。 簡潔にするため、オプション引数は使わない。 (defun iota (limit seed step) (if (> seed limit) nil (cons seed (iota limit (+ seed step) step)))) (> seed limit)を一般化して、終了条件を指定できるよう変更する。 (defun func…

Scheme 継続

もうひとつのScheme入門 16. 継続を写経した。 「継続」は、計算において必ず存在する。 しかし、明示的に扱われることが少ない。 例えば、 (* 3 (+ 1 2)) のような計算があるとき、(+ 1 2)を評価した後の残りの計算は、(* 3 _)である。 この部分を継続と呼…

SBCLで(progn (princ hoge) (read))の実行順序が入れ替わるときの対処法

問題のコードがこれ (defun read-with-prompt () (princ "> ") (read)) CLISPではきちんと動く。 [1]> (read-with-prompt) > hoge hoge SBCLではこうなる。 * (read-with-prompt) hoge > hoge princよりも先にreadが実行されてしまう。 この問題は、SBCLの最…

declaim

(declaim (inline function-name)) declaimはマクロ。 型宣言したり、インライン展開したり、コードの最適化に使われる。 http://cl.cddddr.org/index.cgi?%e6%9c%80%e9%81%a9%e5%8c%96#H-1yksz98dk7cep ここが詳しい。

Land of Lisp 読んでみた。

Land of Lisp作者: M.D. ConradBarski,Conrad Barski,川合史朗出版社/メーカー: オライリージャパン発売日: 2013/02/23メディア: 大型本購入: 1人 クリック: 18回この商品を含むブログ (19件) を見る これを買った。 表紙にいる緑色の怪物はLispエイリアンと…

Go言語でもプリプロセッサしたかった

cppというコマンドがある。 引数にCのソースを取り、標準出力にプリプロセッサを展開したCのソースを返す。 で、Go言語のソースでも、Cのプリプロセッサを書いてcppに通せばプリプロセッサできる。 Cのプリプロセッサ on Go言語 実行はこうする。 $ cpp hell…

C言語でmapしたかった

※注意: この記事に実用性はありません。 C言語で遊んでたら、突然写像の方のmapを書きたくなったので、ggってみた。 するとありがたいことにこんな記事が。 C系言語(C,C++,Objective-C,Java)で高階関数を使ってみる | ワンダープラネットエンジニア Blo…