info

lua

luaでメタプログラミング(DSL)

宣言、luaは引数が文字列リテラル、テーブルリテラルだと、括弧が省略できる、ここではgenerateという関数を作っている、ようするに何かを操作する関数を作ればいい generate "iroiro" 文脈依存、luaにはRubyやCommonLispのような、instance_evalのみたいな…

アッカーマン関数+メモ化をいろいろな言語で

wikipediaから数式見て書いた http://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%83%E3%82%AB%E3%83%BC%E3%83%9E%E3%83%B3%E9%96%A2%E6%95%B0 Scheme(Gauche) (ack 4 2)でメモリ1Gほど使ってアロケートエラー(スタックオーバーフローかもしれないけど、わからな…

luaによる関数型風プログラミング

いろいろ再帰 function fact (x) if x == 1 then return 1 end return x * fact(x - 1) end function triangle(x) if x == 0 then return 0 end return x + triangle(x - 1) end function fib (x) if x < 2 then return x end return fib(x - 1) + fib(x - 2…

lua5.1のプラットフォーム間での互換性維持について(主に型のサイズについて)

参考 http://hammm.blog21.fc2.com/blog-entry-55.html luaではconfig.hをつくって、そこでコンパイル時にちゃんとサイズが決まるようになってる VMのインストラクションのサイズを追っていくとllimints.h http://www.lua.org/source/5.1/llimits.h.html typ…