CommonLisp

CodeIQの言語総選挙の予選でcodegolf

先月開催されたCodeIQの言語総選挙の問題の予選ルールがショートコーディング入門によさ気で面白かったのです。 出題者がショートーコーディング本の著者のOzyさんという事もあり、これは解説でゴルフコードの紹介なんかもあるんでないかなーと期待して気合…

windowsでsbcl+lispbuilderのセットアップ

chatonのCL部屋で困ってる人がいたみたいなので。 ここのsbclのwindows forkを使えば最速(全プラットフォーム中)でサンプルの動作まで持っていけるはず。 配布のこととかも考えたらライブラリの配置、ロード方法をしっかり理解しといた方が良いとは思うけど…

逆FizzBuzz

http://www.jasq.org/2/post/2012/05/inverse-fizzbuzz.html http://d.hatena.ne.jp/matarillo/20120515/p1 より。入力を正規表現に変換してしまえばとても簡単になる。 https://gist.github.com/2708823 けれど、cl-ppcreだと上記のコードのままじゃちょっ…

Google Code Jam 2011 (予選) 参加記録と新言語「Anko C++」

Google Code Jam ついった見てたらLISPで参加してる人がちらほら見えたので自分もやってみた。初参加。 結果はA,B,Cそれぞれsmall, large両方正解で70点。Dはsmallで弾かれて0点。 Problem A. Bot Trust 自分のターンでない時には行動ポイントを貯め、自分の…

[ ] で再帰

ふと思い立って、以前Arcを真似て書いた無名関数リーダーを再帰できるようにしてみた。 良い記号が思い付かないのでとりあえず ^ で。 xyzzy-lisp/brackets.l at master · youz/xyzzy-lisp · GitHub (defun bracket-reader (stream char) (declare (ignore c…

Parens Language in Lisp

404 Blog Not Found:Math - 新言語、(), [] and {} これはLispで実装しとかないとなーという事で書いてみた。Gauche用。 parens language (in scheme) こんな感じで動いてます。 gosh> (parens->lisp '((((())))(((())))(((()))))) ; (UUUU)(UUU)(UUU) = SKK…

xyzzy用リーダーマクロ x 3

ちょっと前にリーダーマクロに関するtweetや記事が色々出てたので(発端はここ?)、普段xyzzyの*scratch*で使っているリーダーマクロを晒してみる。 #?= (debug-printリーダー) Gauche's debug-print macro for CL Gaucheの#?=の劣化コピー。CLでも使用可。 > …

#+:nil

リリカル☆Lisp開発日記 » Blog Archive » #+のちょっといい話 #:aとか任意のuninternedなシンボルを使っても大丈夫そうだなーという事を考えて@Yubeshi: (list 1 #+#:|ちょっと外しときますね| 2 3)2010-07-14 13:18:13 via APIってな感じで||を使ってコメン…

CLでpangram

HackerNews見てたら有名なパングラムのアレの実写映像が。 The quick brown fox ... | Typophile …か、かわいい!折角なのでPanprogram(?)をCLで書いてみた。 文字列とか適当な名前のシンボルを使っちゃうとつまらないので、CLパッケージからexportされてるシ…

formatで◆

HakerNews経由で Google グループ あなごる過去問にありそう? (format t "~{~*~#@T~:*~#@**~#@{**~}~%~#@*~*~}~:*~{~#@*~#@T~#@*~**~#@{**~}~%~}" (make-list (read))) 7 * *** ***** ******* ********* *********** ************* ************* *********…

CLでshorten lambda

http://blog.practical-scheme.net/gauche/20100428-shorter-namesの^_a-zをxyzzyとかで使ってみようか、という事で書いてみた。 short aliases for lambda expression ひげぽんさんのshortenライブラリにある^a*とかも付け加えてあります。これで^_を使えば…

待ち判定

makeplex salon:あなたのスキルで飯は食えるか? 史上最大のコーディングスキル判定 (1/2) - ITmedia エンタープライズ 泥臭いけど2時間くらいでなんとかなったような気がする。 http://gist.github.com/356548しかし七対子のテストした時 * (find-waiting …

CL版ModanShogi

http://gihyo.jp/dev/column/01/prog/2010/aprilfool2010-01 Route 477 - プログラミング言語ModanShogiを公開しましたプロesolang作家yhara先生のファンの1人としてこれは取り組まねばなるまい、という事でCLに移植。 http://gist.github.com/351580 パーサ…

Normal Distribution Table

あなごる - kozima の日記 - cadr group anarchy golf - Normal Distribution Table 2バイト差だったけど解答見ると結構違うなあ。 自分の (format t" Z |~{ 0.0~d~^ ~} ----+~70@{-~}"'(0 1 2 3 4 5 6 7 8 9)t)(dotimes(i 310)(format t"~[ ~,,-2f |~] ~2@*…

find anagrams

anarchy golf - find anagrams 今朝方投稿した90byteのコード (loop(set'w #1=(read-line))(format(apply'= 1(map'list(lambda(c)(count c w))#.#1#))"~A "w)) sortは破壊的だし、と思って避けてたらヘンテコなコードになっていた。 投稿したときは「これで…

復習

anarchy golf - Goldbach partition 匠の仕事にたんぽぽを乗せるお仕事。#n=の理解が間違っていたので if(every'p #1=`(,p,(- n p)))nconc #1# ↓ if(every'p`#1=(,p,(- n p)))nconc`#1# の変形はエラーになるだろなーとか思ってた。このリーダーマクロを再定…

closette

#1 (defun (setf <access-fn>) ...) - 日々ごちゃごちゃと考える defunはclosette付属のnewcl.lispの定義をそのまま使って、あとxyzzyにないtypecase, ecase, print-unreadable-object等を適当に書き、んでstd-instanceの定義のprint-functionで引っか…

AO Bench(4)

http://gist.github.com/66945 途中だけど気になったので比較Windows XP SP3 (Core2 1.86 GHz) Evaluation took: 8.578 seconds of real time 8.546875 seconds of total run time (8.437500 user, 0.109375 system) [ Run times consist of 0.205 seconds G…

shibuya.lisp tt#3後

shiroさんの発表見てて思いだしたAO Benchをちょっと改修。10秒切れた。 コンパイル時のnoteを見るにまだ最適化できてない箇所がわんさかあるのでもうちょっと頑張る。あとweb4r、サクっと動かせたは良いがレスポンスが異常に遅い時があるので忘れないうちに…

amazon ok 2

祝 Let Over Lambda 邦訳出版! - 'T - cadr groupを見て9日のうちに予約完了したはずなのだけど今日になって配送予定日未確定通知がorz

Gray code

anarchy golf - Gray code (let ((n (read)) (x 3) (l '(0 1))) (dotimes (i (1- n)) (setq l (append l (mapcar #'(lambda (a) (logxor x a)) l)) x (* x 2))) (dolist (c l) (format t "~V,'0B~%" n c))) といった方法も思いついたんだけど短く書けない。 …

聴講希望で

第32回たまたま帰ってきたCL勉強会@Chaton8時だョ!全員集合 ネタ募集 - 'T - cadr group唯一取ったプログラミングというか計算機っぽい講義の課題でエセチューリングマシンをjsで書いた事は覚えてるんだけど、講義の内容は遥か記憶の彼方…とりあえずググって…

思い付かないので

とりあえず整理だけ。変数名をc[ad]+rにしたのもいけなかったな… (defun nalist-to-plist (alist) (do* ((result (car alist)) (a alist next) (next #1=(cdr a) #1#)) ((null a) result) (let ((1st (car a)) (2nd a) (3rd (cadr a))) (setf (car 2nd) (cdr…

10分なら

寝る前にやってみようと思ったのに1時間かかった件 o...rz 10分でコーディング x 2 〜リストの破壊的操作篇〜 - 'T - cadr group最初(loop for 〜 on 〜 …)使って書き始めてはまった。 (defun nalist-to-plist (alist) (do* ((result (car alist)) (a alis…

見事な仕事だと(ry

http://practical-scheme.net/chaton/ (via さようならありがとうLingr、こんにちは破壊力ばつ牛ンChaton - 'T - cadr group)仕事はぇー。ところでsymbolicwebはどこ行ったんだろう。 ここは更新されてるみたいだけど。

hexagon

anarchy golf - hexagon 2nd fixed atom5個分で書けてしまうCL最強ですね (format t"~{ ~*~#@{ ~}~:*~#@*__~#@{/ \\__~}~#@*~* ~}~:*~{/ \\~#@*~#@{__/ \\~}~:*~#@*~#@{__/ \\~} ~:*\\__/~#@*~#@{ \\__/~}~:*~#@*~#@{ \\__/~} ~}~:*~{~*~^~:*~#@* ~#@{ ~}~#@…

un dialecte émotionnel de Lisp

comp.lang.lispからエイプリルーフールネタ Google グループ http://www.lrde.epita.fr/~didier/software/smilisp.php :o(が開き括弧 :-)が閉じ括弧に。同梱のsmilisp.elを使ってsmilisp-bufferすると smileyっての知らなんだ。 で、スレより Sorry, but I d…

文字列型の指定

http://blog.bugyo.tk/lyrical/2009/03/cl-4.htmlのコメントの続き。SBCLのソース(code/seq.lisp)をチラっと見てみたら、もしかしてvectorと指定した方が速い?と思って追試してみた。 ほぼ同じ内容のコード(ansiclのテキスト使った)をリピート回数2万回で型…

リーダーマクロ

色々感想書く前に、忘れないうちに酒のネタ。 全世界でのべ100万回くらい書かれてそう。 (asdf:oos 'asdf:load-op :cl-ppcre) (set-macro-character #\{ #'(lambda (s c) (let ((args (cl-ppcre:split " " (string-upcase (symbol-name (read s))))) (body (…

shibuya.lisp #2

面白かった。 以下感想だかメモだか良く分からない何か。 会場着 受付で配られた名札がCLのREPLでCLOSなコードだった。 * (defperson :type :Guest :name "youz") #<person ...> * (attend-party-p *) t #|Shibuya.lisp Technical Talk #2|# 懇親会で、構造体ですねーと</person>…