トップ «前の日(12-12) 最新 次の日(12-14)» 追記

日々の流転


2001-12-13

λ. 憂鬱な雨だ。でも霧に包まれたSFCはそう悪くないかも。霧の向うから現れた鴉がガリバー池の手前の木に止まる瞬間とか。

λ. 経済産業省の業務説明会

経済産業省の業務説明会に行ってきた。官僚も良いかもと思った。

法律だけ知ってても仕方がない
→ 立法政策論

技術だけ知ってても仕方がない
→ 技術を社会制度の中でどう位置づけるか?

公正さ、「こうあるべきだ」だけではだめ
→ ビジネスモデルが描けてるか?

研修が充実してる

他の人ならお金を払わないと出来ないことが、タダで出来る。
例えば、色々な人に会えて、情報のハブになれる。
ポートフォリオ的には、低リスク、低リターン。

特定の顧客ではなくて、国民全体のために働くので、
比較的自分に嘘をつかなくて良い。

2002-12-13

λ. 言語の意味論

.

λ. "What the hell are Monads?" をネタにHaskellのMonadを紹介

"What the hell are Monads?" をネタにして、Haskellでの Monad の使われ方について簡単に説明してみる。"What the hell are Monads?"よりはWadlerやMoggiの論文の方が個人的には好きなんだけど、長さ的にこっちの方が丁度良かったので。

その後、倉吉へ。

λ. Amazon

11日にamazon.co.jpでRHG他数冊を注文したのですが、配送予定日が 2003-01-10 〜 2003-01-29 になっていて泣きそうです。冬休みに読むために注文したんだけど…… (T_T)

本日のツッコミ(全2件) [ツッコミを入れる]

ψ かねみつ [おっ。RHG増刷りっすね。]

ψ さかい [増刷おめでとうございます。> 青木さん って、ここに書いてもしょうがないけど。(^^; それにしても、早く届かない..]


2006-12-13

λ. 著作権の価値評価と相続税

小熊さんのところで著作権は無体財産権として相続税がかかるということを知る。考えてみれば当たり前だけど、これまで考えたことが無かった。国税庁の通達の「著作権の評価」の部分を読むと、「複利年金現価率」とか難しい言葉を使っているけど、将来の印税収入の割引現在価値みたいな感じで評価されるようだ。「年平均印税収入の額×0.5×評価倍率」の0.5倍という数字がどこから来ているのか謎だけど。

それから、その形算式に権利の存続期間が全く入っていないという話ですが、「相続税は資産すなわち経済的価値への課税であり、権利への課税ではないから」ということではないでしょうか。経済的価値の評価であれば、権利の存続期間ではなく「著作物に関し精通している者の意見等を基として推算したその印税収入期間」を基準にするのは適切でしょう。もちろん、推算した印税収入期間を超えても権利の存続期間であれば収入を生じる可能性はありますが、この「可能性」は価値評価するのが難しく、そのため相続税として正当化するのもまた難しいのではないかと思います。

λ. 『硫黄島からの手紙』

『硫黄島からの手紙』を観てきた。平日の昼間だからガラガラだと思っていたが、混んでるとまでは言えないにしても、結構人が入っていた。内容は、涙無しには見れないというほど没入することは出来なかったが、心を打つものはあった。ただ、ある程度の前提知識を持っていないと、タイムスケジュールが分かりにくいのではないかと思った。

Tags: 映画
本日のツッコミ(全3件) [ツッコミを入れる]

ψ 小熊善之 [そうか! 「著作物に関し精通している者の意見等を基として推算したその印税収入期間」を存続期間にしちゃえばいいんだ!(..]

ψ タナカコウイチロウ [硫黄島とOR 映画とは直接関係有りませんが、硫黄島の戦いを数理的に分析したものが有ります。 佐藤 著、自然の数理と社..]

ψ さかい [>小熊さん それ案外良いかもしれませんよ (笑 さらに相続者をその推算のプロセスに巻き込むなどすれば、存続期間を印税..]


2007-12-13

λ. malloc-free な C 言語はチューリング完全

ku-ma-meさんが「malloc-free な C 言語はチューリング完全か」と書いていた。そこでku-ma-meさんも「再帰をうまく使えばできるのかな」と書いているけど、再帰を使って全部スタック上に確保してしまえば良さそうだ。 ヒープがないならスタックを使えばいいじゃない

Brainf*ck

とりあえず、メモリが有界でないBrainf*ckが実装できればチューリング完全だと思うので、実装してみた。

#include <stdio.h>

struct cell {
    struct cell *prev, *next;
    unsigned char value;
};

static void
f(const char *pc, struct cell *p)
{
    struct cell c = { .prev=p, .next=NULL, .value=0 };
    if (p) p->next = &c;
    p = &c;

    while (1)
        switch (*pc++) {
        case '\0': return;
        case '>':
            if (p->next)
                p = p->next;
            else
                return f(pc, p);
            break;
        case '<': p = p->prev; break;
        case '+': p->value++; break;
        case '-': p->value--; break;
        case '.': putchar(p->value); break;
        case ',': p->value = getchar(); break;
        case '[':
            if (!p->value) {
                int lv=1;
                while (lv)
                    switch (*pc++) {
                    case '[': lv++; break;
                    case ']': lv--; break;
                    }
            }
            break;
        case ']':
            {
                int lv=1;
                pc-=2;
                while (lv)
                    switch (*pc--) {
                    case '[': lv--; break;
                    case ']': lv++; break;
                    }
                pc++;
            }
            break;
        }
}

void brainfuck(const char *prog){ f(prog, NULL); }

実行用のコード。

#include <glib.h>
#include <stdio.h>
#include <locale.h>

int main(int argc, char **argv)
{
    GError *err = NULL;
    gchar *prog;
    setlocale(LC_ALL, "");
    g_file_get_contents(argv[1], &prog, NULL, &err);
    if (err) {
        puts(g_locale_from_utf8(err->message, -1, NULL, NULL, NULL));
        return 1;
    } else {
        brainfuck(prog);
        return 0;
    }
}

プログラムを読み込む処理は本質的ではないため、今回はプログラムの読み込み自体はmalloc-freeにはしなかった。というのも、読み込み処理をわざわざCで書かなくても、プログラムを既存の「brainf*ck自身で書かれたbrainf*ck処理系」に固定してしまえば済む話なので。

一般化?

ってか、つきつめて考えると、今のCならプログラムをCPS変換wして、以下のような関数を使えば良いか。しょーもないオチだけど。

void malloc_cps(size_t n, void (*k)(void*, void*), void *user_data)
{
    unsigned char a[n];
    k(a, user_data);
}

2008-12-13

λ. RHG読書会::東京 Practical Common Lisp 第十三回

前回が11月29日だったので、まだ二週間しか経ってなくて、「もう今日か」という感じだった。

λ. やつれたらしい

今週は何人かの人に「やつれたんじゃない?」と言われた。 やつれた自覚はなかったのだけど、確かに2,3日まともに食べれない・消化できない状態だったからなぁ。


2009-12-13

λ. HIMA #3 「副作用」

お題
「副作用」
動機
「Haskellには副作用がないので並列プログラミングに適する」という宣伝がある一方で,命令プログラマによってくりかえされる質問に「Haskellには副作用がないのにどうしてゲームが書けるのか」というのがあります.これに納得のいく説明というのを聞いたことがない気がしています.どのような説明なら,質問者も回答者も納得できるでしょうか.

私は、nobsunやkazuさん達が話しているのをほとんど眺めているだけだったのだけれど、「副作用」というものを自分がどう考えているか見直す良い機会になった(見直した結果は「関数型プログラマにとっての副作用」)。

関連

Tags: haskell