「F#をまねる」をまねる

F# の |> 演算子がかっこよいので、Haskell で作ってみた。 infixl 0 |> (|>) :: a -> (a -> b) -> b a |> f = f a 以下のようにシェルのパイプのような感じで使う。 foo :: String foo = [1..100] |> map (*2) |> filter (\x -> x `mod` 6 == 0) |> sum |> …

gitをインストール

CC=/usr/bin/gcc ./configure --prefix=/usr/local make prefix=/usr/local sudo make prefix=/usr/local install意味がわからんけど configure にしか prefix=/usr/local つけてないとホームにインストールされてしまうので全部つけた. gccをインストール…

gitがアンインストールできない

CC=/usr/bin/gcc ./configure --prefix=/usr/local make sudo make install→何故かホームにインストールされる →sudo make uninstall →make: *** No rule to make target `uninstall'. Stop. 馬鹿なの?死ぬの?

gcc-4.6.1をインストール

gccをダウンロード,展開 GMPとMPFRとMPCをダウンロード,展開してgccを展開したディレクトリに放り込む configure,make,make install でできた.最初はGMP,MPFR,MPCをそれぞれmakeしてたけどgccのconfigureの時に何故かどうしても見付けてくれなかった(…

Hash#selectとHash#rejectの意外な相違点

rejectはデフォルト値を受け継ぐが,selectは受け継がない. Hash.new(42).select { nil }[0] # => nil Hash.new(42).reject { nil }[0] # => 42 リファレンスマニュアルの説明の微妙な違いは,この挙動の違いから来るものなのか? key, value のペアについ…

疑問メモ: IntはOrderedではない

Intは何故Orderedじゃないの? まさかHello, world!の次に

replの補完の挙動が怪しい

".".TABと打つと以下のようになる.バグ? scala> ".".<console>:1: error: unclosed string literal " ^"a".TABなら期待通りの動作をした. あとトップレベルメソッド(正確にはなんと呼ぶのか忘れた)が補完されないものがある.readLineとか. それからreadLineに食</console>…

Firefox4でGM_xmlhttpRequestが動かない

クロスドメインどころか同ドメインでも動かなかった alertは入ってない (クロスドメインでも)リクエストは届いているみたいなんだけどonloadもonreadystatechangeもonerrorも無反応 いみふ (6/10追記) 再起動したら動いたり突然動かなくなったりしてますます…

espresso.elのswitch-caseのインデントの修正

http://e-arrows.sakura.ne.jp/2010/12/closure-library-on-js2-mode.htmlを参考に設定していたのだけど,これだとcaseの中身のインデントがうまくいかなかった. myapp.main = function() { var Fruit = some.namespace.Fruit; switch (fruit) { case Fruit…

ac-complete-with-anythingが動かない

キーバインドして直接呼ぶと(error "pulldown-width accessing a non-pulldown") anything-call-source経由だと(wrong-type-argument arrayp nil)で直前がpulldown-width(nil) お手上げ (追記) 一瞬,普通にanythingしただけで(wrong-type-argument arrayp n…

(rnrs records syntactic)とsrfi-17の一般化されたset!

(rnrs records syntactic)とsrfi-17を組み合わせて使いたかったんだけど,どうも手動でsetterをset!しなければならないようだったので,マクロの勉強ついでにsetterをset!してくれるものを書いた. 最初は手続きで書いてdefine-record-typeの後に置くような…

Racket(PLT Scheme)をインストール

日が経っているのでうろ覚え. サイトからMac OS向けっぽいのをダウンロード 展開して/Applications/にぶち込む "/Applications/Racket v5.0.2/bin"にPATHを通す これでplt-r6rsでR6RSが動く.ただ,これだと"/Applications/Racket v5.0.2/man"とかガン無視…

GaucheでHaskellのscanl

Haskellのscanlに相当するものがなかったので書いた. (修正 9:24) (use gauche.collection) (define (scan-with-iterator+builder f seed end? next add! get) (let loop ((seed seed)) (add! seed) (if (end?) (get) (loop (f (next) seed))))) (define-me…

Gaucheが落ちた

$ gosh -V Gauche scheme shell, version 0.9 [utf-8,pthreads], i386-apple-darwin9.8.0 $ gosh gosh> (define-class <foo> () ()) <foo> gosh> (define-method foo ((self <foo>))) #<generic foo (1)> gosh> ((car (class-direct-methods <foo>))) something's wrong. $ 落ちたッ!第三部完! (</foo></generic></foo></foo></foo>…

tree-mapの比較関数のデフォルト値

gosh> (coerce-to <tree-map> '(("a" . 1) ("b" . 2))) WARNING: unknown keyword :size *** ERROR: real number required: "a" これは=と ついでに変な警告出てる.</tree-map>

鶴亀

とこぷよにて. http://www.inosendo.com/puyo/rensim/??8000004805400605500885600864605664546845454885868444885655665645646864888555 土台で黄色をうまく処理できなかったものを,鶴亀でうまく消化できた. 鶴亀を自然に使えれば,土台の幅が凄く広がる…

京都大学11月祭ぷよぷよ通大会

‚Q‚O‚P‚O@‹ž“s‘åŠw‚P‚PŒŽÕ‚Õ‚æ‚Õ‚æ’Ê‘å‰ïに参加. 予選(バトルスタンプ)で13勝.1本先取なのと,いろいろなレベルの人がいるので,博打速攻する人が多かった気がする. 19勝くらいすれば決勝にいけたんだったかな. 大会後,観戦したり,しろまさんと初代…

Rabbitでenscriptがおかしい?

= test # enscript ruby a = []とすると空の箱が表示される.a = []の前に空行を入れるとちゃんと表示された.

非アクティブ時のクリックしたときの挙動

rabbit0.9.0で確認.非アクティブ時にクリックした時に次のスライドへ進むかどうかが,クリックでスライドを進めたことがあるかどうかで変わる. 非アクティブ時にクリックした時は次のスライドに進んで欲しくないので,こうした. @@ -36,6 +36,7 @@ else h…

lambdaメソッドがlambda?でないProcを返す

def f(&b) lambda(&b) end f {}.lambda? # => false フンギャー

srfi-18とsrfi-34のraise

(call/cc (lambda (k) (with-exception-handler (lambda (x) (print "condition: ") (print x) (k 'exception)) (lambda () (with-exception-handler (lambda (x) (raise (list 'foo x))) (lambda () (raise 'bar))))))) srfi-18のraiseだと無限ループして,…

dynamic-windマジぱねぇっす

(dynamic-wind (lambda () (print 'before1)) (lambda () (define cont #f) (print 1) (dynamic-wind (lambda () (print 'before2)) (lambda () (print 2) (set! cont (call/cc values))) (lambda () (print 'after2))) (dynamic-wind (lambda () (print 'be…

foldのcallbackの引数の順序

絶対おかしいと思うんだけどどうしてこうなっているのか… (fold list 0 '(1 2 3) '(4 5 6)) ; => (3 6 (2 5 (1 4 0))) この仕様の所為で,foldの実装で素直にapplyできないんだけど… 実装が複雑になってもコストは同じなんだろうか. 意味的にも固定数のもの…

括弧の呪縛

C++

C++0xのコード. int main() { [](){}() ; } http://cpplover.blogspot.com/2009/11/lambda.html 本当,Lispは括弧だらけとか言ったの誰だよw

BiwaSchemeメモ

JavaScriptで書かれたScheme処理系BiwaSchemeに関するメモ. R6RS準拠を目指している. call/ccが何故か構文 call-with-current-continuationを評価させると#だけどcall/ccだとundefined(でも使える) mapのcallbackの中で作られる継続のextentが(多分)mapに…

delayは要らない子?

Gaucheのような (lazy 3) を許す処理系だと,実はdelayを使う意味ってなかったりする?

Spidermonkey1.8 RC1をインストール

Macで普通にmake -f Makefile.refすると, cat: ../../dist/Darwin_DBG.OBJ/nspr/Version: No such file or directoryと言われてmakeに失敗する.NSPRというものに依存しているらしい.そこで,まずNSPRを入れる. cvs -q -d :pserver:anonymous@cvs-mirror.…

Emacs上でFirefoxが動けばいいのに

任意のアプリケーションにEmacsを被せるツールがあればいいのになぁ GUI含め

百万鬼夜行

そういえば最近「百万鬼夜行」とった.久々でヘタクソなのに取れてしまう怪現象のせいで酷いリプレイが残る.

scheme-modeのeldoc-modeでEmacsがフリーズする

#/\"\"(|)/ これ書いて最後ら辺で適当にポイント動かしてるとEmacsがフリーズする. 使ってるのはCarbon Emacs. eldoc-mode切ると落ちなくなった.再びeldoc-modeするとやはりフリーズ.