2008-01-01から1年間の記事一覧

gaucheでのデバッグ

リーダーマクロすげえ。 >>(+ 1 (* 2 #?=(/ 1 3))) #?="(stdin)":1:(/ 1 3) #?- 1/3 =>5/3 >>(+ 1 #?=(* 2 (/ 1 3))) #?="(stdin)":2:(* 2 (/ 1 3)) #?- 2/3 =>5/3http://d.hatena.ne.jp/rui314/20070628/p1スターをつけようと思ったら出てないな…なぜだろう…

gaucheで可変引数で計算量の少ない=を作る

gaucheで可変引数で計算量の少ない=を作る (print (call/cc (lambda (cc) (fold (lambda (x y) (if (eq? x y) x (cc #f))) (begin (write 1) 7) (list (begin (write 2) 7) (begin (write 3) 7)))))) ;=>1237 (print (call/cc (lambda (cc) (fold (lambda (x…

gaucheで可変引数をとる

schemeの可変引数やってなかった。 関数 (define (inc . x) (print x) (print (map (cut + <> 1) x))) (inc 1 2 3 4) ;=>(1 2 3 4) ;=>(2 3 4 5) lambda lambdaの時どうやるんだろう? ((lambda x (print x)) 1 2 3) ;=>(1 2 3)なるほど。単に()を外せばいい…

ubuntuにて日本語pdfを読めるようにする

文字化けが生じることがあったので今回はhttp://www.unixuser.org/~euske/doc/r5rs-ja/r5rs-ja.pdfが読めなかった(涙 日本語PDFの場合必要なパッケージのインストールsudo apt-get install evince ghostscript cmap-adobe-japan1 xpdf-japanesegs-cjk-resou…

Gaucheで魔方陣に挑戦その2

prologの魔方陣の計算速度は総当たり時間なのが分かったのでschemeでもやってみようと思った。 $ time gosh a.scm (2 7 6 9 5 1 4 3 8)15 (2 9 4 7 5 3 6 1 8)15 (4 3 8 9 5 1 2 7 6)15 (4 9 2 3 5 7 8 1 6)15 (6 1 8 7 5 3 2 9 4)15 (6 7 2 1 5 9 8 3 4)15 …

prologでラムダ計算

まずは自然数を定義 %num(X):-Xは自然数。0,1,2,... = 0,s(0),s(s(0)),... num(0). num(s(X)):-num(X).実行してみると正しいことがわかる。 ?- num(0). true. ?- num(s(0)). true. ?- num(s(s(0))). true. 足し算の定義 %num(X):-Xは自然数。0,1,2,... = 0,s…

prologでreverse

つかれた。 reverse(X,Y):-rev(X,[],Y). rev([X|Xs],Z,Y):-rev(Xs,[X|Z],Y). rev([],X,X).答えをYに積んでいくパターン [trace] ?- reverse([1,2,3,4],X). Call: (7) reverse([1, 2, 3, 4], _G348) ? creep Call: (8) rev([1, 2, 3, 4], [], _G348) ? creep …

prologにはflattenがあるんだ…

rubyでついつい使っちゃうflatten > [[1,2,3],[4,5,[6],7]].flatten => [1, 2, 3, 4, 5, 6, 7]なんとprologにもあった。 ?- flatten([1,2,3,[4,5,[],6],[7],8],X). X = [1, 2, 3, 4, 5, 6, 7, 8].もしかしたらflattenはprolog由来?(schemeには無かったしな…

prologでリスト処理

consとappendを書いてみた cons ?- [user]. |: cons(X,Y,[X|Y]). |: % user://1 compiled 0.01 sec, 512 bytes true. ?- listing. cons(A, B, [A|B]). true. ?- cons(a,[b,c,d],X). X = [a, b, c, d]. ?- append リスト版 ?- [user]. |: append(X,[],X). |: …

最近、本が読めない体になりつつあるのか?

amazonのおかげもあり、昔に比べ本が入手しやすくなった。しかし、読めない…ハヤカワ文庫ごとき2時間もあれば読んでたのに…つい、RSSリーダを眺めてしまう。 これじゃ、パチンコ屋で無為に時間を費やす方々と変わらない… 気持ちの切り替えが下手なんだろ…

スタイロフォン入手

やっとスタイロフォンが届いた。 寝っ転がって遊ぶにはちょうどいい感じ。音的にコンドルは飛んでいくとか良さそうなんだが一音足りない…おしかった。スタイロフォン Stylophone出版社/メーカー: DMRメディア: 購入: 1人 クリック: 4回この商品を含むブログ …

日本へのシルクロード

日本の養蚕って女工哀史のイメージもあってはるか昔からあるものかと思ったら中国から輸入が主だったんだ。 日本にはすでに弥生時代に絹の製法は伝わっており、律令制では納税のための絹織物の生産が盛んになっていたが、品質は中国絹にはるかに及ばず、また…

sedにて一番最初にマッチしたモノだけを置換するには

問題 以下の入力のうち最初に現れたbbbbをddddにsedにて置換せよ。 aaaa bbbb cccc aaaa bbbb aaaa bbbb 解答 sの前に 1,/bbbb/を付ける $ echo -e "aaaa\n bbbb\n cccc\naaaa\n bbbb\naaaa\n bbbb" | sed 1,/bbbb/s/bbbb/dddd/ aaaa dddd cccc aaaa bbbb aa…

ubuntu 8.10のデフォルトフォントをIPAモナーにするには

Ubuntu 8.10からIPAモナーフォントがデフォルトではなくなります - いくやの斬鉄日記の理由によりubuntu8.10からデフォルトのフォントがdebianと同じくVLゴシックになる。 $ echo Y | sudo aptitude install ttf-ipamonafontその後 ログオフしてログインしな…

ubuntuのデフォルトフォントをメイリオにする

2007-02-22に刺激を受けたのでチャレンジするどうにかして(合法の範囲)で手に入れたmeiryo.ttcを用意する $ mkdir ~/.fonts ; cp meiryo.ttc meiriob.ttc ~/.fonts $ cat /etc/fonts/conf.avail/69-language-selector-ja-jp.conf | sed '1,/strong">/s/str…

暁星記8巻

暁星記(8) <完> (モーニング KC)作者: 菅原雅雪出版社/メーカー: 講談社発売日: 2008/10/23メディア: コミック購入: 2人 クリック: 17回この商品を含むブログ (19件) を見る読んだ。 神といわず、精霊といっていることの意味も分かった。でもさ、これだ…

.bashrcのみでインタプリタライクにgccをつかうには

C言語のトライ&エラーに最適なrungcc - 計算機と戯れる日々にてコマンドとしてのrungccを入れていたんだが/usr/local/bin等のコマンドはつい環境の再インストールで失ってしまう。そこで環境が移っても使い回されている.bashrcのみでrungccを実装しようと…

C言語のintでハーフアダー

ちょっと所用で作ったキャリーの無いハーフアダー ~$ echo -e '#include <stdio.h>\nint main(){int a,b;a=0;b=0;printf("%d\\n",(a+b)%2);}'>/tmp/a.c; gcc /tmp/a.c;./a.out;rm /tmp/a.c a.out 0 ~$ echo -e '#include <stdio.h>\nint main(){int a,b;a=0;b=1;printf("%d\\n"</stdio.h></stdio.h>…

maximaのグラフでカラーマップを制御するには

カラーマップを制御するためには以下を行う。windows用のwxmaximaがデフォルトでpm3dがオンだったんだよな。 set_plot_option([gnuplot_pm3d,false]);以下はクラインの壺をpm3dをon/offしたグラフ plot3d([5*cos(x)*(cos(x/2)*cos(y)+sin(x/2)*sin(2*y)+3.0)…

maximaで球を表示する

maximaで球を表示するには媒介変数表示を使う追記 2008/10/14 11:37:25: 次の一行でかけた plot3d([cos(x)*cos(y),cos(x)*sin(y),sin(x)],[x,-%pi,%pi],[y,-%pi,%pi]);もと (%i1) aa1: cos(u)*cos(v)$ (%i2) aa2: cos(u)*sin(v)$ (%i3) aa3: sin(u)$ (%i4) p…

すごい!実写に見える

これは自分がモノクロの時代を知っているからなのか? それともモノクロで見ると実写に見えるのだろうか?

このままubuntuでいいのだろうか?

マイナーがいいって訳じゃないんだが、少し不安になるグラフだな。 http://www.google.com/trends?q=ubuntu%2Cdebian%2Cfedora&ctab=0&geo=all&date=all&sort=0あ、でもwindowsとは15倍も差があるからよしとしよう。

ubuntuのwxmaxima上にてgnuplotのウインドウキャプチャをとるには

ubuntuのwxmaxima上にてgnuplotのウインドウキャプチャをとるにはホームにあるmaxout.gnuplotを調べてみると一行目にあるterm指定のせいだった。 ~$ head -1 maxout.gnuplot set term x11 font "Helvetica,16"gnuplotはデフォルトでwxtで立ち上がってくるの…

gnuplotを非対話で立ち上げたときすぐに終了しないためには

gnuplot -persist データ でいい。 ~$ gnuplot -persist maxout.gnuplotちなみにデータ中にpause -1でいいという記事を見つけたがうまくいかなかった。 ~$ (cat maxout.gnuplot;echo pause -1)| gnuplot ちなみに標準出力をマージするために括弧を使うことを…

弘法筆を選ばず

まさかSX-150でここまで弾けるとは…自分もできそうな気になってほしくなるのが罠だよな(笑DS-10でここまでできるとは…超絶タッチパッド

maximaで陰関数のグラフを書くには

maximaで陰関数のグラフを書くにはimplicit_plotを使う。 load(implicit_plot); implicit_plot (y^2 = x, [x, -4, 4], [y, -4, 4]);

windows上で動作するwxmaxima及びmaxima.batをフォルダを移動しても動作するようにするには

windows上で動作するwxmaxima及びmaxima.batをフォルダを移動しても動作するようにするには実は簡単。Maxima-5.16.3/bin/中にあるmaxima.batのmaxima_prefixを書き換えるのみ set maxima_prefix=d:\bin/Maxima-5.16.3これでwxmaxima中のwxmaxima.exeも動くよ…

ubuntuにてマルチトラックCDのリッピング

ちょっと苦労したので… $ cdrdao read-cd --read-raw --datafile a.bin --device /dev/cdrom --driver generic-mmc-raw a.tocこれでa.binとa.tocができる。

恒久的なURIを現在はパーマリンクというのか

日本でも新聞社は、本紙の広告収入の落ち込みをウェブで補おうと苦闘している。産経はMSNと組み、他方MSNのサイトに入っていた毎日は「毎日.jp」になった。コメント欄を作ったりしてウェブに適応しようとしているが、いまだに新聞記事の全文が読めず、早けれ…

サイバーカレーその6

ぜんぶくえない 努力してるのだが体が拒否する