info

Lisp

scheme(gauche)で世界のナベアツ問題

3がつく数と3の倍数の時だけアホになる(片仮名になる)それ以外は普通に数字を表示 peercastの大会で課題だったので、っていうか就活の課題やれ俺www (use srfi-1) (use srfi-13) (define (unpack x y) (if (= x 0) y (unpack (quotient x 10) (append (list …

ANTLR、とりあえずS式がパースできるようになった

あとはアクションを書く シンボルの定義が予想以上に文字を食うのでそこらへんに手まどった。 C言語のAPiとか、ANTLR_VECTOR構造体のメンバがわからなかったけど公式ページにドキュメントがあってよかった。 toplevel : s_expr* ; s_expr : atom | list | '\…

アッカーマン関数+メモ化をいろいろな言語で

wikipediaから数式見て書いた http://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%83%E3%82%AB%E3%83%BC%E3%83%9E%E3%83%B3%E9%96%A2%E6%95%B0 Scheme(Gauche) (ack 4 2)でメモリ1Gほど使ってアロケートエラー(スタックオーバーフローかもしれないけど、わからな…

aescm使ってみた

aescmってのはscheme(他の言語でも使えるみたい)で使える、Rubyで言う所のerb、Perlで言う所のTemplate Toolkit。 普通にテキストを書いていって、テキストを繰り返したい時や一部だけ書きかえたい時プログラムを貼りつけられる。使ってる処理系はgauche 0.8…

gitの使いかたにコツを覚えはじめたのでgithub再開してみた

とりあえず、昔作りかけだったLispを公開してみようと思う。 http://github.com/yppp/HSLispeval.c applyとevalがある所、マーク&スイープのために自作スタックにしてみようかと思ってたけど、それで詰んでる。hslisp.h データ構造定義hslisp.y hslisp.l fle…

Lisp(scheme)のどこがうれしいの?

言語オタで無い人向けに説明するための、自分の中でのまとめ1.関数がファーストクラスオブジェクトでなにがうれしいの? 高階関数で、小さい問題のためにわざわざクラスを作るほどコードが肥大化しない。少し挙動が違うハンドラとかコールバックとか作ってい…

ネットの英語SICPちょっと見た

英語わからんふーん、フィボナッチ数列って木になるんだ http://codepad.org/qPmJOAWg末尾再帰の方法しかしらなかったなあ http://codepad.org/VotuJMiN