トップ «前の日記(2007-02-09) 最新 次の日記(2007-02-11)» 編集

はじめてのにき

ここの位置付け

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|04|05|06|07|08|09|

ToDo:


2007-02-10

_ 世界樹日記

飽きた。

(01:41)

_ sed sort

そういえば sed sort はループ展開された状態で 置いてあるんだけど、 ちゃんとループにすればすごい縮むと思う。 予想では100切る。

けどこれがめんだくさいんだなー。

まぁでもBFコンパイラ書くよりははるかにカンタンだろう。

(02:08)

_ できたんだけど

i@u ~/wrk/ag> cat csort.dat | sed -f csort.sed
..///:aaaaaaaaaaaaaaaaaaaabbbbbcccddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeefffffggggggggghhhhhhhhhhhhiiiiiiiiiiiiiiiijkklllllllllllmmmmmnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooppprrrrrrrrrssssssssssssssssssttttttttttttttttttttttttttttttttuuuuuuvvvvwwwwwwyyy

テスト二つ目がタイムアウトするのであった。 sed を高速化するのとかアホだなぁ。

あと

y/ !,.\/:<Habcdefghijklmnoprstuvwy/!,.\/:<Habcdefghijklmnoprstuvwy@/

とかがあるので100切るとかは全然ありえない話だった。

うーんメインループが遅いんだとは思うんだけど、 これの最適化のしかたとかさっぱりわからない。 アリゴリズム変えないといけなさそうでそれはとてもやりたくない。 うーん。

(03:10)

_ うーん

csort.sed思ったより長くなった。 メインループが高速化のせいで20-30Bくらい大きくなったみたい。

(03:57)

_ sed

/usr/share/doc/sed/examples/dc.sed を見てみよう。

#  Print a number in a non-decimal output base.  Uses registers a,b,c,d.
#  Handles fractional output bases (O<-1 or O>=1), unlike other dc's.
#  Converts the fraction correctly on negative output bases, unlike
#  UNIX dc.  Also scales the fraction more accurately than UNIX dc.
#
s,|?p,&KSa0kd[[-]Psa0la-]Sad0>a[0P]sad0=a[A*2+]saOtd0>a1-ZSd[[[[ ]P]sclb1\
!=cSbLdlbtZ[[[-]P0lb-sb]sclb0>c1+]sclb0!<c[0P1+dld>c]scdld>cscSdLbP]q]Sb\
[t[1P1-d0<c]scd0<c]ScO_1>bO1!<cO[16]<bOX0<b[[q]sc[dSbdA>c[A]sbdA=c[B]sbd\
B=c[C]sbdC=c[D]sbdD=c[E]sbdE=c[F]sb]xscLbP]~Sd[dtdZOZ+k1O/Tdsb[.5]*[.1]O\
X^*dZkdXK-1+ktsc0kdSb-[Lbdlb*lc+tdSbO*-lb0!=aldx]dsaxLbsb]sad1!>a[[.]POX\
+sb1[SbO*dtdldx-LbO*dZlb!<a]dsax]sadXd0<asbsasaLasbLbscLcsdLdsdLdLak[]pP,
b next

ううむ

(18:42)

_

入力無いから sed でチャレンジできないな。

(18:50)

_ しまった忘れてた

追加予定言語

  • APL
  • J
  • Curry
  • Erlang

とか考えてたけどすっかり忘れてたよ!

  • 2D
  • BALANCE

入出力どうすんだ

(20:51)

_ 同感

http://d.hatena.ne.jp/w_o/20070210#1171116378

明日早起きしたらできる気がしませんか。

(23:14)

本日のツッコミ(全3件) [ツッコミを入れる]
_ konn (2016-10-11 02:13)

ぜひ Unlambda と HQ9+ も!

_ shinh (2016-10-11 02:13)

Unlambda はまぁ入れたいところですが、アレオフィシャルな実装が Haskell で手に負えるのかなあという。 HQ9+ は仕様が曖昧なのでダメです。

* H 命令の仕様が不透明 (cf. http://shinh.skr.jp/m/?date=20070202#p17)
* 仕様にある通りの実装がおそらく現時点で存在しない (cf. HQ9+を用いて作られた実用的なプログラムは、それ以外のプログラミング言語を用いた場合に比べて約20倍の速度で動作するとされている http://ja.wikipedia.org/wiki/HQ9+)

このように不透明な言語を仕事で使う人の気が知れません。やはり、安心して10年動くプログラムを書くためには、 ANSI 標準になっている必要があり、となると、 Common LISP のみが唯一の解となることは言うまでもありません。なにより「LISPのいいとこどり」を自称する HQ9+ と違い、 Common LISP はチューリング完全なのです。

適当すぎるパロディだ。すんません。

_ (2016-10-11 02:13)

> 明日早起き
確かに。
今は、もう寝てしまって、明日早起きすればできる気がしてます。

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

2007年
2月
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
1.shinh(2016-10-11 02:13) 2.sumim(2016-10-11 02:13) 3.ySas(2016-10-11 02:13)
search / home / index

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

shinichiro.hamaji _at_ gmail.com / shinichiro.h