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

無限リスト

↑とは直接関係ないのですが、私は何年かに1度は無限リストが無いと死ぬ病にかかります。今更感炸裂ですので耳タコの方は戻るボタンをお押しください。所謂(「ハンドル」または「OOP」風の)ストリームに対する無限リストのメリットはいろいろあると思われるの…

忘年会におじゃましてきました

http://www.haskell.jp/cgi-bin/haskell.cgi?2009%C7%AF%CB%BA%C7%AF%B2%F1ほんとにあんたなんでここにいるの?みたいな子ですみません。感動したこと↓ Prelude> "あいうえお" "\12354\12356\12358\12360\12362" 隔世の感があります。(難しい話は全然分から…

よくわからない

C

$ cpp #define a b #define b a a b (Ctrl+D) a b$ cpp #define a b #define b c a b c (Ctrl+D) c c c$ cpp #define a() b() #define b() a() a() b() (Ctrl+D) <stdin>:3: error: detected recursion whilst expanding macro "a" <stdin>:4: error: detected recursion w</stdin></stdin>…

YAMLの読み書き

そういえばちょっと前に作ったものがありましたので紹介しておきます。libyamlを使うYAMLマッパーです。必要なもの。 libyaml *1 http://panathenaia.halfmoon.jp/alang/ocaml/ のyaml-ocaml *2 .dfm*3の読み書きをしようとしたときの副産物ですので余計なも…

Google日本語入力いいですね

とりあえずことえり、Anthyよりは賢そう とりあえずMacUIM経由Anthyよりは軽そう 数字を半角に固定できる 三国志辞書をインポートしなくても武将名なんか普通に出てくる 誤字も出てくる 要望は大量にあるのですが、案の定要望合戦になってますので絞らないと…

TextWranglerでbegin-end短縮入力

Delphiでやってたあれ。酷い説明です。でも無いと死ぬ。 "Open Scripts Folder"で開かれるフォルダにAppleScriptを入れると、TextWranglerのメニューにも出現しますので、後はOS標準機能でもってメニューにキーを割り当てるだけ。 insert begin.scpt tell ap…

みんな大好きWalterさんの負け惜しみ

D

2chのD言語スレよりリンク転載。http://www.digitalmars.com/pnews/read.php?server=news.digitalmars.com&group=digitalmars.D&artnum=100775

Go Go!!はGoogle様の協賛により開催されました

Go

とid:ranhaさんが書けと仰られた。http://atnd.org/events/2115 に、当日気付いて、その時は15/15でしたのであきらめて寝て、半分ぐらい時間が過ぎてから目が覚めて、なんだか17/18になっていたみたいですので参加させていただきました。ありがとうございま…

Yコンビネータ書いてみました

Go

package main import "fmt" type x_f func (a x_f) (func (a int) int) func Y(f (func (a (func (a int) int)) (func (a int) int))) (func (a int) int) { return ( func(proc x_f) (func (a int) int) { return f( func (arg int) int { return (proc(pro…

面接で質問は無いですか?と聞かれたら

「新入社員教育は外注かどうか」を忘れずに聞くようにしましょう。

それ例外でできるよ!

Ada

http://kmonos.net/wlog/101.html#_1934090919 の記事に対して、「それ例外でできるよ」とつぶやいたところ、「再帰では最内周で補足されてしまうため使えない」と言い伏せられたため、無理やり解決してみました。 恐らく何言ってんだか何やってんだかわから…

はてなポイントの処理

http://ameblo.jp/ujiro/entry-10343749088.html *1 1年間利用が無かったらはてなポイント没集の件。 私ははてなからのメールを見て人力検索で「皆さんはてなポイント何に使ってます?」って質問しようとしたら既にありましたw とりあえず1ポイントだけ誰か…

普通のCGIとしてbzr+httpプロトコルに応答

bzr

レンタルサーバーでbzrを使いたい!という話。bzrは、ftp越しに書き込みもできます。できますが、転送効率も考えて*1やはり格好良くbzr+httpプロトコルを使いたいところです。 Python製VCSの雄hgは、hgweb.cgiを普通に設置するだけで、http越しのclone、push…

型修飾 (妄想パート)

Queenタグは妄想俺言語用。とりあえずAdaベースで。静的割付け何度も、いくらstd::stringが頑張っても言語組み込みの文字列には敵わないという話をしていますが、それでももう少し頑張ろうという一環です。 To_Unbounded_Stringやstd::stringのコンストラク…

型修飾 (調べ物パート)

Ada

FLTVの発表資料のひとつ、luciferの設計コンセプトに触発されて、妄想を垂れ流したいと思いました。ここでの型修飾という言葉は言語組み込みの機能を指します。Cのconstみたいなやつです。C++のauto_ptrやC#のNullableやJavaの属性みたいなユーザー定義可能…

クロージャで簡易ストリーム

Ada

もうイテレータはどうでもよくてAda.Containersをdisっているだけです。 O'Camlでよく見るスタイルを真似るのはどうでしょう。 let print_all (print : 'a -> unit) (next : unit -> 'a option): unit = ( match next () with | Some item -> print item; pr…

イテレータ

Ada

Iterator に抵抗があるなら、自分の時代遅れを見直した方が良いです。 http://twitter.com/shinji_kono/status/3317315646 ……と言われたので、イテレータについて調べてみました。 プログラミング言語において配列やそれに類似するデータ構造の各要素に対す…

KeyRemap4MacBookのリポジトリから最新のものを取ってきたら

Mac

CapsLockが最初の1キーにしか効かなくなっていたため、適当に直したものを晒しておきます。 #メール送ったのですが反応をいただけないので……。反映していただきありがとうございます。ヽ(´ー`)ノ

ファイルをゴミ箱へ

これまでosxutilsのtrashを使っていたのですが、微妙にFinderと動作が違うのが微妙に気がかりでした。のでosascriptで再発明。 #!/usr/bin/osascript on run argv set wd to do shell script "pwd" tell application "Finder" repeat with i in argv set f t…

ターミナルからターミナルを開く

使用頻度はそんなに無いのですが、いざというときにめんどくさくないよねってことで。 #!/usr/bin/osascript on run argv set dir to do shell script "pwd" set cmd to "cd " & quoted form of dir if argv ≠ {} then set cmd to cmd & " ;" repeat with i …

RAN@某所様おつかれさまです。

http://bousyo.blog45.fc2.com/blog-entry-303.html信頼できる情報源が減ってしまいました。読んでて楽しいニュースを届けていただいていただけに残念です。 飽きたというのはよくわかります。私の場合ももうDelphi使ってて面白いところなんてあまり無いです…

X11.app上で日本語入力する設定覚書

Mac

X11上ではOSネイティブのIMが使えないので、UIMを設定するメモ。 何番煎じかわかりませんが、複雑さを思えばメモしたくなるのもわかっていただけると思います。 MacUIMをインストールする http://sourceforge.jp/projects/macuim/ Anthyが入ります。(Anthyで…

twitter撲滅委員会を脱退します

↑のような話をtwitterで@h_sakuraiさんや@alohakunさんとして楽しかった私は、もうtwitter撲滅委員会の会員資格は無いと思いました。 そもそもノイズ度で言えばtwitterよりもソーシャルブックマークのほうが高いしな……。ソーシャルブックマークが100%ノイズ…

いつもの妄想ってかんじで、、、C言語置換言語の要件

参考→http://d.hatena.ne.jp/h_sakurai/20090720#p3私の妄想を書いておきます。 1. アセンブラ親和性が良い 今のC言語は、外部シンボルに_が付いたり@が付いたり、それがコンパイラごとに違っていてアセンブラから見たときの扱いが、最悪とは言いませんが結…

initializationがスマートリンクされるようになるぞ

http://blogs.embarcadero.com/abauer/2009/05/29/38888 久しぶりにいいネタ発見しました。って2か月前か……。Delphiでは各ユニット*1毎に必要となる初期化時の処理をinitialization節に書いておくと、usesしただけでそれが実行されるようになって、いちいち…

ターミナルを現在のフォルダで開く、その2

http://d.hatena.ne.jp/ytqwerty/20090510#p2では、Terminal.appが起動していないときにウィンドウが2つ開かれてしまう…‥起動時にデフォルトでウィンドウ開く動作を抑制する方法が無さそうだった…‥ので、起動していないときは、起動時に開くウィンドウに対し…

IMの状態は取れたのですが

Mac

kextからCarbonを使う方法がわからない……。 system経由かなんかで呼んでやろうか……。 #include <CoreFoundation/CoreFoundation.h> #include <Carbon/Carbon.h> #include <stdio.h> int main (int argc, const char * argv[]) { TISInputSourceRef src = TISCopyCurrentKeyboardInputSource(); CFStringRef name = TISGet</stdio.h></carbon/carbon.h></corefoundation/corefoundation.h>…

KeyRemap4MacBookに項目を追加してみた

Shift+Spaceで"="。コード書くのに楽なんです。=>とか>=とか 導入は手順の通り。

0.51

http://panathenaia.halfmoon.jp/thebe/http://panathenaia.halfmoon.jp/wf/wforum.cgi?&no=396&reno=no&oya=396&mode=msgview バグ報告貰っていたので、修正。

.dfmをYAMLのように使う

Delphiでは、RTTIを用いたストリーミングで、.dfm形式については比較的簡単に読み書きすることができます。.dfmの実体はWindowsのリソースファイルですので、実行ファイルにリンクすることもでき、実際にVCLでは、フォームエディタで設計時に配置したコンポ…