これは圏です(はてな使ったら負けだとおもっていた)

きっと何者にもなれないつぎの読者につづく。

プログラミング

Gitolist、開発中。

どうもどうも。Gitolite を使ってさくら VPS 上と手許のマシンとで色々TeXやらプログラムやらを管理してるんですが、なんかウェブ経由で色々見れたほうが便利だし、構ってちゃん精神的にも嬉しいですよね。 まあそのために GitHub があると云えばそうなんで…

ICFP 2010 競技説明

ICFP 2010 Task description の非公式日本語訳を置いておきます。非公式でやっつけ仕事なので、誤訳などがあるかもしれません。見付けたらご指摘おねがいします。 また、訳文中の誤りによって何らかの損害を被っても何ら責任は負えませんので、悪しからず。 …

ICFP 2010 開幕

いよいよ始まりましたね、http://icfpcontest.org/2010/。僕も参加しようと思ってたんですが、恰度学部のオリエンテーション合宿とか云うよくわからないものに土日を取られてしまうので、実質今日と月曜しか参加出来ないのでした。で、取り敢えず konn と云…

Prolog をべんきょうしています

先週の木曜日、大学の図書室で『Think CでMacintoshプログラミングとか何年前www』『TAOCPがある……!!』などと暇を潰していたら、大量のProlog本に混じり『Prologの技芸 (以下 TAOP*1 )』を発見。すぐさま「ひとは若いうちにScheme, Prolog, Haskell に触…

日本国憲法ジェネレータ

学園祭もおわり、今日は後片付けの後は午前中で下校だったので、久し振りにプログラミングしてみた。http://konn.x0.com/cgi-bin/constitution/index.cgi色々忘れてて、結構時間掛けたわりにはあんまり面白くなかった……。 デフォルトで20条まで生成してくれ…

Collatz算法の木

なんとなくGraphvizをつかってみたくなって、簡単そうな Collatz 算法 で試してみた。 1 から指定ステップ数まで逆算したグラフを描きます。 require "rubygems" require "graphviz" level = ARGV.shift.to_i g = GraphViz.new("Collatz") def collatz(i) r …

Seven Trees

面白そうなんだけどやる時間がない……。Tree Integer Tree7 みたいな感じで間に整数挟む形で出来ないかと思ったんだけどまだ試せず。

rupircdも公開してみた。Ruby用twitterライブラリも公開してみた。

調子にのって、githubに昔つくった色々(約二つ)を公開。マトモに動かないのもあるかも(爆 rupircd 100% Pure Ruby の WEBrick ベースのIRCサーバ。キチンとクライアントが切断されない不具合あり。 Ruby/Twitter RubyからTwitter API を叩く為のライブラリ。…

0.2リリース

早速アップデートしました。ダウンロードはこちらからどうぞ。結果が String だった場合、inspectするかしないかを初期設定で選べる様に。ついでに今流行りの github に見様見真似でソースを公開してみた。 CodeReposとどっちにするか迷ったけど取り敢えず。

Ruby on Quicksilver

紫ログ:Gauche on Quicksilver - livedoor Blog(ブログ)を見て良いなぁと思ったのでRuby版を作ってみた。 http://blog.deadbeaf.org/2008/02/06/quicksilver-plugin-with-rubycocoa-more/を見ていつかなにか作りたいなぁと思っていたので挑戦。多分Leopard…

Io でももっとおk

sumimさんをびびらせてしまったので、お詫びに(?)対抗して本当に大丈夫なようにしてみた。一部動かなかったので修正。 Io> 100の平方根の逆数を表示する 0.1==> 0.1 Io> 100の平方根のな逆数をな表示すんねん 0.1==> 0.1 Io> 100の平方根の逆数を表示するで…

Io でもおk

http://wiredvision.jp/blog/masui/200803/200803030100.html via inforno :: 日本語プログラミング言語Scala Ruby もいいけど Smalltalk でも、おk。 - Smalltalkのtは小文字です勉強がてらIoでもやってみた。こんな感じです Io> 100の平方根の逆数を表示…

はてブのRubyラッパをつくった

……と書いたところで間違えて確定を押してしまった(爆 えーと、LeopardからのRubyCocoa環境がズバ抜けていいので、試しにソーシャルブックマークサービス用のツールをなんか一つでっち上げちまおうと思いたったわけです。……その前にやることやれよorz最新のRS…

油売り算 解法

方々で色々な方が解かれていますが。 問題 1 : 油売り算斗桶 (a) に油が 1 斗 (10 升) ある。これを等分したい。7 升枡 (b) と 3 升枡 (c) しかない。この 2 つの枡だけで、5 升ずつ等分する方法を記述せよ。この問題を解くにあたり、(a) に入っている油の容…

間違えて

間違えてC++をやってみようとおもいました。 最近チャットとかチャットとかはてなとかはてなとかで「C++はすばらしい」というのを良く聞くので。 教えて!びょーんすっぽすっぽ様!!

Set Oriented Programming

オフ中に(今もそうだけど)集合論を独学しながら考えた事。集合指向(セット指向)プログラミングとかあったらおもしろいかも。万物は集合で、その間の関係とか写像とかを定義しながら使うわけで。で、どの集合論を使うの?っていうと、まあ、ZFとBGという選択…

Haskell系の移転

g:haskellに入ったので、以後Haskellプログラミングに関することは、g:haskell:id:mr_konnに書きます。 こっちの方には、圏論のこととか気が向いたら書いてみようかなあ、と。多分まず最初は群から。# といっても、20日あたりから3月までずーっと電源OFFなの…

加速互除法・拡張ユークリッドの互除法 続報

IO ()さんのアドバイスにより、拡張ユークリッドの互除法と加速互除法を合体させられました。 ……というより、除算アルゴリズムから見て、どうみてもdiv1の定義が間違ってるのにそれを見逃していたってどうなんだ……orz では、載せます。 -- 剰余の絶対値が少…

組合せ in Haskell

id:Ozy:20060603#p2 id:Ozy:20060604#p1から。何となく気になったんで、Haskellで実装。……まあもっと簡単になるとは思うけど。以下、組合せを求めるのに必要な部分のみ抜粋。 dfoldl _ z [] _ = z dfoldl _ z _ [] = z dfoldl f z (x:xs) (y:ys) = dfoldl f …

Haksellで加速互除法・拡張ユークリッドの互除法

……を、書いてみました。 ユークリッドの互除法といえば、a, b 二数が与えられたときに、その最大公約数を求めるアルゴリズムです。 世界で一番古いアルゴリズムとか云われていたような。次のような手順で求めます。 a > b > 0 としたとき、 (1) b == 0 なら …

素因数分解器 改良

tさんのコメントを参考に書き直してみました。 結果、10行以上もの削減に成功しました! module Main where import List import Maybe import System import Numeric erat (x:xs) = x:erat [y | y <- xs, y `mod` x /= 0] primes = erat (2:[3,5..]) prms n …

素因数分解器異常発見

よく見たら何故か使う素数の上限が12迄になってました……orz と、云うわけで修正版です。 module Main where import List import Maybe import System import Numeric erat (x:xs) = x:erat [y | y <- xs, y `mod` x /= 0] primes = erat (2:[3,5..]) factori…

Haskell(再+)入門中。

何となく最近Haskellにはまっております。Haskellって、難しいんだけど、何故か、こう、惹かれる物がある気がします(私だけ? 同じ関数型言語ではOCamlが有名ですが、どうもあれは一回やろうとしたきりで、そんなにやる気が起きない。何だろうこの差は(笑Has…