2007-11-01ãã1ã¶æéã®è¨äºä¸è¦§
ãããã¦ãããã£ã¦ãã¾ããComSys2007åæ¥ããããããªã ãã¹ã¿ã¼ã»ãã·ã§ã³ãã£ã¦ãNILFS - Continuous Snapshotting Filesystem for Linuxãããã楽ãããã ã£ãããã¹ã¿ã¼ã»ãã·ã§ã³ã¯æ·å± ä½ãè²ã èãã¦æ¥½ãããªãæã£ãã ãªãã ãè¦ããã¨ã®ãã人â¦
http://q.hatena.ne.jp/1195950564 ã俺æ§ãã®ã¢ã«ã´ãªãºã ã ã£ããã飯3æ¯ã¯é£ãããªï¼ï¼ï¼ãã¨ãããããªã¢ã«ã´ãªãºã ã¯ç¡ããã©ããé¡ãè¦ã¦æµ®ããã ã®ã¯ãã¤ã¯ã¹ãã©ã®ã¢ã«ã´ãªãºã ã人工ç¡è³ãä½ããã¨è©¦ã¿ãã¨ãã«å¿ è¦ã«ãªã£ã¦å¦ãã ãèªçºçã«å¿ è¦æ§â¦
ããã°ã©ã æ¸ãã®ã¯ã¨ããããããã¾ãèªãã§ãªãã®ãè¯ããªããæ¸ãæ¹ããã¤ãã«ãã¾ãã¦ããã¶ãã¡ãã£ã¨æ¸ã£ã¦ããããããã³ã¼ãã¬ãªã¬ãªæ¸ãããï¼ ãã©ä»ã¯ã¬ãã¼ããä»ä¸ããªããã°ãããªããã«ãã¨ãæ¸ãã¦ãã¼ã§æ©ãã¬ãã¼ãä»ä¸ããã
ãªã¼ãã³ãã£ã³ãã¹ããã£ã¦ãããã¡ãã¡ã®ç 究室ã«é¦ã¤ã£ãã¿ã¾ãã£ã¦ããããªãããã¾ã«è§£èª¬ãã¦ãããå¦çããã¨ãå°ãããªãããéãå¦ç§ã¨ãè¦ãã®ã楽ããã£ãããããªãä»å¤§ã®ç 究室ã¨ãè¦ãã®ãå²ã¨æ¥½ãããã ããã£ã³ã¹ããã°è²ã è¦ã¦ãããããªãâ¦
ãªã¢å ãã¼ã¯ãããããid:hayamizãã(@hayamizu)ã«é ã£ã±ãã£ãããã¯ãã(@alohakun)ãã¯ãã¾ãã¦ãããã¦ã¦ãããããã
Dè¨èª(ãããDMD2.007以éã§ããã³ã³ãã¤ã«ã§ããªãããã以éã§ãã³ã³ãã¤ã«ã§ãããä¿è¨¼ã¯ç¡ã)ã§æ¸ããMinIPS(é»é大æ å ±å·¥å¦ç§ã«ã¦ä½¿ããã¦ãæè²ç¨ããã»ããµ)ã®ã¢ã»ã³ãã©ã¨ããç¯å²éå®ããéãã ãã¨æã£ãããªã®ã§lex/yacc使ã£ã¦æ¸ãç´ãã¦ã¿ã¾ããâ¦
lex/yacc使ã£ã¦ã¢ã»ã³ãã©ã½ãã®æ¸ããããã¨ããããã¢ã»ã³ããªããã°ã©ã ãå ¥åã¨ãã¦ãMinIPSãã·ã³èªã2é²æ°ã§åããã¦ã¿ãã % flex -I asm.l % bison -d -y asm.y % gcc lex.yy.c y.tab.c -lfl -o minasm % ./minasm add $1, $2, $3; add instruction â¦
ãªããå¿ è¦ã«ãªã度ã«æ¸ãã¦ãã®ã§ã¡ã¢ãçã1ã«ãªãã®ã£ã¦ãè¦æ ¼ã§æ±ºã¾ã£ã¦ãããªããå¾ã§JIS X 3010ãªãããã void printBin(unsigned int val, int len) { for(;len>0;--len){ int x = (val&((1<
æ§æ解æã£ã¦ãææ¸ããnotavaCCã§ãããã£ããã¨ç¡ãããªã®ã§ä¸åº¦lex/yaccãªãã®ããããã¹ãã ã¨æã£ãã ã¨ããããé»åã¥ããã flexããã¥ã¡ã³ãã®ä¾ã»ã¼ãã®ã¾ã¾ã http://www.asahi-net.or.jp/~wg5k-ickw/html/online/flex-2.5.4/flex_6.html#SEC32 â¦
ãã¤ãæ¸ãããã»httpdã®ã³ã¼ãã縮ãã¦ããã ã¡ããã¨çµäºããªãæªã人ã127.0.0.1:9999ã¨ãã§ç¹ããã use IO::Socket;$SIG{CHLD}=sub{wait};for($s=new IO::Socket::INET( LocalPort,9999,Listen,5,Reuse,1);$c=$s->accept;){if(!($p=fork)){while( <$c>â¦
ãã£ããå¿ãã¦ã¾ãããã©ãParrotã§éã³ããã£ãã®ã§ããã¨ããããããè¦ãã¦ãªãã®ã§å¾©ç¿ã PASMã¯Parrotã®ã¢ã»ã³ããªè¨èªãParrotã®å½ä»¤ã¨ä¸å¯¾ä¸ã§å¯¾å¿ãããPIRã¯Parrotã®ä¸é表ç¾ãä½ã¬ã¤ã¤ã¼ã®PASMã¨ä¸ä½ã¬ã¤ã¤ã¼ã®è¨èªã®éã«ä½ç½®ãããPASMããããâ¦
ã¦ãã¨ãã«ããªãã§çå¹´ããã®ï¼ æ»ã¬ã®ï¼ãã¨ãè¨ã£ã¦ããã°ããã¨æãã¾ãã人ã«ãã£ã¦ã¯ããªãã§çå¹´ããªãã®ï¼ããªã©ã¨æå³ä¸æãªãã¨ãèããããã¦ãããããããããã¾ãããä¸é¨ã«ã¯ã俺ã«ã¨ã£ã¦ãã®é ã®æ«æã¨ãã®å¯æ¬¡çãªçµæã¨ãã¦ã®çå¹´ã¯ç¡é§ã«â¦
æ£å¼å称ãMinIPSã¢ã»ã³ãã©ãã©ã以åã®ä½ãããããããååã¤ããã®å¥½ããªèªåå確èªãã¤ãã§ã«pre alpha 1ã¨ããããã¼ã¸ã§ã³æ å ±ä»ãã¨ãããããããããã«ããã£ã¦æãã§ããã ã¾ãå®éãã®ç¨åº¦ã®ãã¨ãããããã©âããããè¨ã訳è¯ããªãããä¸å¿ãâ¦
微調æ´ãæ©è½è¿½å ã¯ãã¦ãªãã http://konbu.s13.xrea.com/lib/minipsm.exe ããã°ã©ã ã¨ãã½ã¼ã¹ã³ã¼ãã¨ãNYSLãã¨ãã©ãã§ããããã ãã©ãããã ãªãã¯ãã¼ã¸ã£ã¯ãã£ã±ããããªã2.007ãä½é¨ããããã以åã®Dè¨èªã«ã¯æ»ããªãã(å²ã¨æ¬æ°)以ä¸ã³ã¼ããâ¦
import std.stdio; int fill() { int[100] x; } int delegate() mkcounter(int i) { return {return i++;}; } int main() { int delegate() c1 = mkcounter(1); int delegate() c2 = mkcounter(3); writefln("%d", c1()); fill(); writefln("%d", c2()); filâ¦
ãã°ããããå°ã£ããªãã©ãã©ãWindowsã®å± å¿å°ãè¯ããªã£ã¦ããã
ãMinIPS(é»æ°é信大å¦ã«ã¦CPUæè²ç¨ã«ç¨ãããã¦ãMIPSãã©ãããã»ããµ)ã®ã¢ã»ã³ãã©ãã©ã以åã®ä½ããç¥ãã¦ãã¿ãããæ¸ãã¾ãããåã§ãç¥ãã¾ããã http://konbu.s13.xrea.com/lib/minipsm.exe ä½ã«ä½¿ããã¨è¨ãã¨ããã¶ãé»æ°é信大å¦é»æ°éä¿¡å¦é¨â¦
ãã¼ãPCãæã£ã¦ãã®ã§ãããå ¥ã£ã¦ãOSãWindows XPã ã£ãã®ã§ããããã¯ãããªããLinuxã*BSDãããå ¥ãããã§ãããããããã®PCãCDãã©ã¤ãã¶ã£ãããã¦ããç¾ä»£ã®è¥è ãããããã¡ããFDDãªãããã¾ããããªã®ã§ããããã¦Windows XPã使ã£ã¦ãã¾ãâ¦
ã¨ããããCè¨èªãDè¨èªãJavaãSchemeãPerlãOCamlãRubyã§catããã°ã©ã ããå¼æ°ã§ä¸ãããããã¡ã¤ã«ãé çªã«æ¨æºåºåã«åºåãããã¤ã仲éå¤ãä¸äººã è¨æ£ ã³ã¡ã³ãã«ãæ¸ãã¾ãããã©ãæ¬å½ã¯Perl以å¤ã¯æ¬æ¥ã®catã¨ã¯éã£ã¦ãå¼æ°ç¡ãã£ãã¨ãã¯å³çµäºâ¦
ãã©å¹³æ¥ã®ãããªæéããããããç«æã ããªãè¡ããªãããªããã©ãåå è²»\8000ã¨ããããªã«å®ãããªããååã ãåå ããã®ããªã¼ãå¦çä¼å¡ãªã\2000ï¼ è¡åçã«æ å ±å¦çå¦ä¼ä¼å¡ç³ãè¾¼ã¿ãã¦ãã¾ã£ããããªãããããã«ã¯éã«åããã¼ãã©ã ãã¤ãå§ãâ¦
ãããã¨ããã§è©±é¡ã«ãªã£ã¦ã¾ããã©D2.007ã«ãã¦ããããã¯ãã¼ã¸ã£ããã§ããããã¦ã³ãã¼ãã¯Change Logããã http://www.digitalmars.com/d/changelog.html ã§ã¾ãã¯ãã¼ã¸ã£ä½¿ã£ã¦Brainfuckã¤ã³ã¿ããªã¿æ¸ãã¦ã¿ã¾ãããåã«ã¯ã©ã¹ã¨ã使ã£ã¦ããã£ã½â¦
ã¤ã³ã¹ãã¼ã«ãã£ã¹ã¯ã1æã«åããã¨ããæ®éã«ãã£ã¦ããæ¥æ¬èªè¨å®ã«ãªãã¨ãã¨ã便å©ã ã£ããã©ãããã±ã¼ã¸ã®å°ãªãã¨ãã¢ã¬ã ã£ãã®ã§Debianã«ãã¦ã¿ããã¾ããæè¿ãã°ãããã£ã¨Vineã ã£ããã¨ããããã ã§ãã¾ãå¤ãã£ã¦ã¿ããã©ãããªå¤ããããâ¦
% ledit >hoge.pl while(<>){ printf "%5d $_", ++$i; } %ã¨ãã£ã¿ã¨ãã¦ãããã¨ä½¿ããã
% cat tail.php ï¼ php tail.php loop 1 loop 2 ... loop 6155 loop zsh: segmentation fault php tail.phpã§ãããã¼ã % cat tail.pl our $count = 0; sub loop{ print ++$count, "\n"; loop(); } loop(); % peâ¦
å é±åæ§ãæ°å¤è¨ç®ãªè¬ç¾©ä¸ã«OCamlã§ã®å®è£ ãæ¸ããã # let secant f x1 x2 stop = let delta xn1 xn2 = (f xn2) *. (xn2 -. xn1) /. ((f xn2) -. (f xn1)) in let stopcond = stop f delta in let rec iter xn1 xn2 = if (stopcond xn1 xn2) then xn2 elsâ¦