2011-02-01から1ヶ月間の記事一覧

ある検索サイトが私のプライマリ検索サイトでなくなった時

涼元悠一「青猫の街」( ISBN:4104271012 1998 年 12 月発行)p.106 より インターネットで怪しい情報を調べたい時には、人間が手作業で情報を厳選している YAHOO! のような検索サイトはあまり使えない。善い情報悪い情報の区別なしに検索ができる自動蒐集(…

Haskell で FizzBuzz ShizuDev

fizzbuzz i = (\lst -> if lst == [] then [show i] else lst) $ fb 3 "Fizz" $ fb 5 "Buzz" $ fb 7 "Shizu" $ fb 11 "Dev" $ [] where fb n s = \lst -> if i `mod` n == 0 then s : lst else lst prlst lst = do sequence_ $ map putStr lst putChar '\n' …

JavaScript のインスペクトで末尾再帰のループ展開

if (typeof Object.create !== 'function') { Object.create = function (o) { var F = function () {}; F.prototype = o; return new F(); }; } var thunk = { cookie: {} }; var make_thunk = function (func, args) { c = Object.create(thunk); c.force …

JavaScript の 関数名.caller は微妙だ

function hoge(x, f) { if (x === 1) { caller = hoge.caller hoge(2, function () { document.writeln(caller); document.writeln(hoge.caller); }); } else { f(); } } hoge(1, null); ↓実行結果 null function hoge(x, f) { if (x === 1) { caller = hoge…

Python のデコレータとインスペクトで末尾再帰のループ展開 修正版

id:metanest:20110220:1298203524 のをまともに直した import inspect class Thunk(object): def __init__(self, f, v): self.func = f self.args = v def force(self): return self.func(*self.args) def loop_ex(func): def ex_func(*args): framerecords …

Python のデコレータとインスペクトで末尾再帰のループ展開

id:Kazumi007:20090914:1252915940 とかを参考にしながらやってみた (追記)あきらかにおかしいわこれ... (追追記) id:metanest:20110221:1298253743 が修正版 import inspect class Thunk(object): def __init__(self, f, v): self.func = f self.args =…

地獄の FizzBuzz その 4

ステキな言語機能が無ければ作ればいいじゃない、という声が聞こえたので Scheme で (define-syntax anycond (syntax-rules () ((_ e1 ...) (let ((result #f) (flag #t)) (anycond-loop result flag e1 ...) result )))) (define-syntax anycond-loop (synt…

地獄の FizzBuzz その 3

JavaScript の配列内包で var range = function (begin, end) { for (let i = begin; i < end; ++i) { yield i; } } var dummy = [document.writeln(s) for each (i in range(1, 50)) if (s = "", i % 3 ? true : (s = s + "Fizz"), i % 5 ? true : (s = s +…

地獄の FizzBuzz その 2

Ruby で (1 .. 100).each {|i| s = [[3, "Fizz"], [5, "Buzz"], [7, "Pezz"], [11, "Hozz"], [13, "Shizu"]].map {|n, s| if i % n == 0 then s else "" end }.join "" if s.empty? then s = i.to_s end puts s } 実行結果 $ ruby19 fizzbuzz.rb 1 2 Fizz 4 …

地獄のFizzBuzz その 1

http://twitter.com/search?q=%23jigoku_no_fizzbuzz というわけで #include <stdio.h> static void fizzbuzz(int i, int n, char *s, int *flag) { if (i % n == 0) { printf("%s", s); *flag = 0; } } int main(void) { int i; for (i = 1; i < 100; ++i) { int fla</stdio.h>…

Ruby で。相互再帰に対応

まぁほとんどそのまま module LOOP_EX class Clusure # wrapper object attr_reader :func attr_reader :args def initialize f, v @func = f @args = v end end def loop_ex func private_name = (" " + func.to_s).to_sym # original method is callable b…

Python で

def tail(fun, *args): return (fun, args) def call_with_tco(fun, *args): esc = args[-1] c = (fun, args) while c[0] != esc: c = c[0](*c[1]) return c[0](*c[1]) def identity(x): return x def fact(n, acc, k): if n > 0: return tail(fact, n - 1, …

Ruby メタプログラミングで

Ruby メタプログラミングで末尾再帰をループに展開 module LOOP_EX class ObjectHolder # wrapper object attr_reader :value def initialize v @value = v end end def loop_ex func private_name = (" " + func.to_s).to_sym # original method is callabl…

Ruby で TCO

id:metanest:20110217:1297922613 をそのまま Ruby にもってくるとこうなるわけだが id:athos:20110119:p1 みたいなヘヴィーな格好良さがないな k の位置は JS 版と同じ最後に戻した def tail fun, *args [fun, args] end def call_with_tco fun, *args esc …

Scheme で TCO

末尾呼び出しの最適化が保証されている Scheme でやる意味は特にないわけだが原理の確認のためにやってみる ネタ元は Javascript in Ten Minutes ( https://github.com/spencertipping/js-in-ten-minutes/ )の §7.5 ; tco.scm (define (tail fun . args) (…

トラックバックおわた

「これがなくなったら困る!」と言えるのはいまのうちよ(笑)。ちなみにそういう意味での今回の最大の決断は「TrackBack機能の削除」か。もうみんな使ってないよね? http://sho.tdiary.net/20110215.html#p01 ガバナンスのない分散系はスパマーに対して無力だ…

メモ

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/33628 http://znz.s1.xrea.com/t/?date=20090102#p01 http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/37679 http://redmine.ruby-lang.org/issues/show/973

で、また結局

@T_ENGINE_FORUM は放置されてるわけで、http://www.t-engine.org/japanese.html の「最新ニュース」に連動してなきゃ広報になんないでしょというか

配列内包で FizzBuzz 改め ShizuDev

var range = function (begin, end) { for (let i = begin; i < end; ++i) { yield i; } } var dummy = [document.writeln( i % 15 === 0 ? "ShizuDev" : i % 3 === 0 ? "Shizu" : i % 5 === 0 ? "Dev" : i.toString() ) for each (i in range(1, 31))]; ran…

ふと検索してみたら

【菓子】樋上いたるのイラストを使った「オウザン・デ・イマン・カフェ」オリジナル 「メイドクッキー」「メイドロール」 4月発売 1 :あやめφ ★ :2009/03/25(水) 18:46:05 ID:???羽後町川原田にあり「羽後町のメイド喫茶」として知られる「オウザン・デ・…

Safari で JavaScript デバッグ

昨日 ShizuDev でやったことのひとつなのだが、勉強会用に持ち歩いてる MacBook はほとんどデフォルトのままで使っているわけだが http://developer.apple.com/jp/internet/safari/faq.html#anchor14 を見て「開発」メニューを有効にしたりとか

追跡調査重要

FOMAなどの第3世代携帯電話実機では1cm〜2cmまで近づけないと影響がないことが示されています。だんだん面白くなってきましたかね? さらに新しい携帯電話(イーモバイルで使われている1.7GHz帯や2GHz帯のCDMA2000など)になってくると、調査結果を理解する…

帰宅

ShizuDev より帰宅したわけだがネットワークが断絶している?

Module.current

提案中の機能( http://redmine.ruby-lang.org/issues/show/4043 ) class ModuleCurrentTestModule1 CURRENT = Module.current def self.foo Module.current end def foo Module.current end end def test_module_current assert_equal(TestModule, Module.…

Twitter

というわけで @ksmakoto です

Twitter

@metanest を取られてしまってスネていたのだけれども、そんなわけで別なアカウントを取ってみた

記録更新への挑戦

http://wiredvision.jp/news/201102/2011021021.html 時速1600キロ:「超音速自動車」製造開始

二郎騒動

落書きされたからその名前にしちゃった( google:生郎 )なんていうノンビリした時代ではなくなってしまったとでもいうか というか生郎の場合、中央線文化圏に染まってしまったのかもしれない

LISPキーボード

id:karasuyamatengu:20110208:1297136688 伝説のLISPキーボードたち

ナンバー バン!、と読むのか?

id:karasuyamatengu:20110210:1297363019 Tim Bray: 「URLに#!入れるな」