トップ «前の日記(2006-12-04) 最新 次の日記(2006-12-06)» 編集

はじめてのにき

ここの位置付け

2004|11|
2005|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|

ToDo:


2006-12-05

_ かぶってるとかチェックできてませんが…

とりあえず assert 出るならバグという方針なら。

i@u ~/test> cat tuple_spec.d
template hoge_(T) {}
template hoge(T...){
    alias hoge_!(T) hoge;
}

void f() {}

alias hoge!(f) a;
i@u ~/test> dmd -c tuple_spec.d
dmd: template.c:2622: void TemplateInstance::semanticTiargs(Scope*): Assertion `global.errors' failed.
zsh: abort (core dumped)  dmd -c tuple_spec.d
i@u ~/test> cat func_tmpl.d
template T(X...) {}
void f(){}
alias T!(&f) a;
i@u ~/test> dmd -c func_tmpl.d
global.errors = 0, gag = 0
0x8150cc8 symoff type=void(*)()
dmd: expression.c:774: virtual void Expression::toMangleBuffer(OutBuffer*): Assertion `0' failed.
zsh: abort (core dumped)  dmd -c func_tmpl.d

どっちも WINE でも再現

(00:14)

_ PHP

http://d.hatena.ne.jp/w_o/20061204#p5

なんか一瞬 PHP の動作が自然に見えたんだけど。

Io> A := Object clone do ( a := 1; f := method( write(a) ) )
==>  A_0x8d09508:
  a                = 1
  f                = method(...)
  type             = "A"
Io> B := Object clone do ( a := 2; f := method( A f ) )
==>  B_0x8d78570:
  a                = 2
  f                = method(...)
  type             = "B"

Io> B f
1==> nil

まぁ。それはそうか… PHP は後付けで OO 入れたんだよな。 それだとそうなるかなぁという感はある。

これあとで読む。

http://ll.jus.or.jp/lls2003/document/p2.log

(03:58)

_ その pragma

http://d.hatena.ne.jp/kurimura/20061204

知らんかったか忘れてた!

(04:11)

_ いや…!

拙者には print+ の + が非常に暗号でござったのです! なんか print~~ とかも見たことあったんですけどね。

http://www.typemiss.net/blog/kounoike/20061204-116

というか全体から漂うあやしげなオーラでしょうか。 おおなんか Perl Golf 慣れておられる感じだなぁというオーラ。

(04:51)

_ 解析的にも解けるだろうけど

http://arton.no-ip.info/diary/20061205.html#p01


T=1000
expect=0.0
done_prob = 0.0

for i in 3..T
  prob = (1.0 - done_prob - 1.0/(3.0**(i-2))) / 3
  done_prob += prob
  expect += prob * i
end

p expect

えーと個数一般化した場合は… 今度考えるるる

(05:15)

_ K

06:44 <******c> we are the knights who say 'D!'
06:44 <******c> D!
06:45 <****y> D!
06:45 <****s> D! D! D!
06:45 <******c> D! D!
06:45 <*****]> D! D! D! D! D! D! D! D! D! D! D! D! D! D! D! D! D! D! D! D! D!

(06:47)

_ tho

■tho : 【発音】罘u、【レベル】9
 【副・接】=though

まぁそうだろうなと思ってたけど調べてなかったので一応確認。

(06:48)

_ あーそれだと

l: __asm__("pop %eax"); なんかと同じことですよね。

http://d.hatena.ne.jp/giveup/20061205#1165270467

なんというか、一回帰るだけのスタックの幅の 都合をあわせただけで、 もう一個スタックフレーム作らんと 2回 ret はできないというか…

l: のところで main の頭相当の スタックフレーム作る処理をしてないのが問題なので。 一番簡単なのは main と同じ処理を 自分でインラインアセンブラで埋めてやることなんですが、

i@u ~/test> cat hello_again.c
#include <stdio.h>
#include <stdlib.h>
main(int argc, char **argv) {
    ((void (*)(void))&&l)();
    printf("world!\n");
    if (argc < 99) return 0;
l:
    __asm__("lea    0x4(%esp),%ecx;\n"
            "push   %ebp;\n"
            "mov    %esp,%ebp;\n"
            "push   %ebx;\n"
            "push   %ecx;\n"
            "sub    $0x10,%esp;\n");
    printf("Hello ");
    return 0;
}
i@u ~/test> gcc hello_again.c -g
i@u ~/test> ./a.out
Hello world!

これだと明らかに小細工が見えるので面白くないし 移植性も無いし…というような。

で、 l の該当位置を memcpy で main からコピーして拾ってくれば、 結構面白いかなぁと思ったのでした。

僕はスタックフレームが見えない子なので こういう遊びは苦手で困る

(07:54)

_ italics

http://docs.sun.com/app/docs/doc/802-1930-04/6i5u966q3?l=ja&a=view

ZH が enter_italics_mode で ZR が exit_italics_mode 。 んでもって今時の端末もあんまり italics は対応してない感じ、なのかなぁ。

(09:03)

_ xcompmgr

あっさり apt で入ったので少し遊ぶ。 sevilwm をちょっといじって、

KEY(XK_o, ev_exec_command, "transset-df -p -i %d 0.3")
KEY(XK_o|SHIFT, ev_exec_command, "transset-df -p -i %d 1.0")

みたいに %d を指定すると Window ID が渡るようにしたところ、 Ctrl+Alt+o で透過、 Ctrl+Alt+O で透過解除、とできるようになった。

後は背景に IRC のログでも流しておけばハピーな気がする。 気のせいかもしらんが。

ただ特に透過をオンにしておくとムッチャ重いね。 まぁ一瞬透けさせて裏を見る、って用途を考えてるので良し。

(09:44)

_ PHP はじめました

3rd   shinh             174  Php      9,827 (v21)

e-

(10:58)

_ PHPブログ

よくあるこんなコード。

i@un ~/test> cat stupid1.php
<?
for($i=0;++$i<10;)echo$i;
echo"\n";
i@un ~/test> php stupid1.php
123456789

for の最後につけると、

i@un ~/test> cat stupid1.php
<?
for($i=0;++$i<10;echo$i);
echo"\n";
i@un ~/test> php stupid1.php
PHP Parse error:  syntax error, unexpected T_ECHO, expecting ')' in /home/i/test/stupid1.php on line 2

えー。

print なら

i@un ~/test> cat stupid1.php <? for($i=0;++$i<10;print$i); echo"\n"; i@un ~/test> php stupid1.php 123456789

問題ないんです。えー。

(14:24)

_ でも

Java は拒否する♪

ダメじゃない!

(16:06)

_ そんなことより

今後の D にはネイティブ言語かつ なんていうんだあれ、静的に関数拘束?する言語における ランタイム情報のこれから、 みたいなのを見せてもらいたいのです。

ぜひライブラリで継続書ける言語とかになって欲しいものです。

(16:24)

_ なるほどっ

最近ネタスクリプト言語作ろうと思ってたから LISP かぶれしてたのか!

いや LISP セミナ〜でまさにそんな話を聞いたからな気もするけど

(18:02)

_ なんか

はてなでコメントしたら化けた。 EUC のサイトに w3m で化けるとはなにごと

(19:08)

本日のツッコミ(全2件) [ツッコミを入れる]
_ こーのいけ (2014-05-24 02:58)

オーラ出てますか。それは良かったです。意地でひねり出したので。
phpのechoって確か「文」扱いじゃなかったでしたっけ?

_ shinh (2014-05-24 02:58)

私も Perl でオーラ出せるようになりたいと思います。
php の話はええ、文なんだと思います。 echo(echo("A")) とかもできないんだなぁとしみじみ。

お名前:
E-mail:
コメント:
人生、宇宙、すべての答え
本日のリンク元

2006年
12月
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
1.shinh(2014-05-24 02:58) 2.rui(2014-05-24 02:58) 3.YT(2014-05-24 02:58)
search / home / index

全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。

shinichiro.hamaji _at_ gmail.com / shinichiro.h