【Lua】組み込み系言語総合 その6【Squirrel】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2013/03/10(日) 15:10:32.28使われるプログラミング言語についてのスレッドです
まとめwiki(なにか質問する前に必ずみること!)
http://wikiwiki.jp/lua/
その他の参考URLは>2から
■前スレ
【Lua】組み込み系言語総合 その5【Squirrel】
http://toro.2ch.net/test/read.cgi/tech/1321063450/
■過去スレ
その4 http://hibari.2ch.net/test/read.cgi/tech/1301414458/
その3 http://hibari.2ch.net/test/read.cgi/tech/1272643397/
その2 http://pc12.2ch.net/test/read.cgi/tech/1243210301/
その1 http://pc12.2ch.net/test/read.cgi/tech/1205208141/
プログラミング言語 Lua
その3 http://pc11.2ch.net/test/read.cgi/tech/1160799232/
0002デフォルトの名無しさん
2013/03/10(日) 15:12:03.71ttp://www.lua.org/ (本家)
ttp://lua-users.org/ (lua-users)
ttp://luaforge.net/ (LuaForge)
http://sugarpot.sakura.ne.jp/yuno/html/lua51_manual_ja.html(5.1マニュアル和訳)
Lua言語の紹介
http://staff.aist.go.jp/yutaka.ueno/lua/docsjp.html
入門Luaプログラミング
http://www.amazon.co.jp/dp/4797342722/
□Lua as an Effect File Format for OpenGL
http://prideout.net/blog/?p=1
□Squirrel
http://www.squirrel-lang.org/ (本家)
http://sourceforge.net/projects/squirrel/
http://sourceforge.net/projects/sqplus/ (SqPlus)
http://sourceforge.net/projects/squirrelsh/ (Squirrel Shell)
http://wikiwiki.jp/lua/?Squirrel_Lang%2Ftoc(wiki内2.1マニュアル和訳)
□AngelScript
http://www.angelcode.com/angelscript/
□Xtal(ゲーム向け。スタックを意識しなくていい?)
http://d.hatena.ne.jp/xtalco/
http://code.google.com/p/xtal-language/
http://blog.livedoor.jp/dankogai/archives/50836939.html
□elastiC
http://www.elasticworld.org/
0003デフォルトの名無しさん
2013/03/10(日) 15:15:41.30Io Language
http://hibari.2ch.net/test/read.cgi/tech/1201100624/
2 part forth
http://pc11.2ch.net/test/read.cgi/tech/1073673931/
●●●●TCL/TKなら俺に聞け 2●●●●
http://pc11.2ch.net/test/read.cgi/tech/1177998764/
ECMAScript デス 4
http://toro.2ch.net/test/read.cgi/tech/1325448978/
各種ライブラリ紹介スレ2(ゲ制作)
http://pc11.2ch.net/test/read.cgi/gamedev/1177886529/
Eclipse統合M34【Java/C++/Ruby/Python/Scala】
http://toro.2ch.net/test/read.cgi/tech/1361510049/
「コンパイラ・スクリプトエンジン」相談室15
http://hibari.2ch.net/test/read.cgi/tech/1296214398/
Garbage Collection (GC)について語るスレ(DAT落ち)
http://pc11.2ch.net/test/read.cgi/tech/1141646850/
0004デフォルトの名無しさん
2013/03/10(日) 15:18:19.66いつ立てるの?今でしょ!
0005デフォルトの名無しさん
2013/03/11(月) 00:44:45.260006デフォルトの名無しさん
2013/03/11(月) 01:15:20.59次スレは>>980あたりが立てればいいか?
0007デフォルトの名無しさん
2013/03/11(月) 09:56:54.760008デフォルトの名無しさん
2013/03/11(月) 18:39:51.97Update 2013-03-08: Please apply Hotfix#1 to the 2.0.1 download.
0009デフォルトの名無しさん
2013/03/13(水) 21:01:52.29\ ヽ ) ) \\ \\
( \ \∩___∩ \\
\ \ ⌒⌒| ノ ヽ \\
\ \ / ● ● ト、\ \\\
\ Y | ( _●_) ミ\ \\\
\ / 彡、_ |∪| ノ \ \\\
(____)―ヽノ' ヽ  ̄ ̄ ヽ\\
\, j l l .l }
Lua! l (_ノノノノ
0010デフォルトの名無しさん
2013/03/19(火) 08:31:39.530011デフォルトの名無しさん
2013/03/19(火) 20:43:32.770012デフォルトの名無しさん
2013/03/19(火) 20:54:19.770013デフォルトの名無しさん
2013/03/19(火) 21:21:41.59小さくて密度の高い事は美しいことだから。
0014デフォルトの名無しさん
2013/03/19(火) 23:18:07.760015デフォルトの名無しさん
2013/03/20(水) 05:44:19.660016デフォルトの名無しさん
2013/03/20(水) 07:12:07.390017デフォルトの名無しさん
2013/03/20(水) 09:54:07.190018デフォルトの名無しさん
2013/03/20(水) 14:50:07.030019デフォルトの名無しさん
2013/03/22(金) 15:29:50.19コードを難解にするだけじゃん
0020デフォルトの名無しさん
2013/03/22(金) 17:52:56.000021デフォルトの名無しさん
2013/03/22(金) 19:55:31.63あれほど簡潔なものはないとおもうが?
0022デフォルトの名無しさん
2013/03/22(金) 20:16:28.690023デフォルトの名無しさん
2013/03/22(金) 21:49:15.120024デフォルトの名無しさん
2013/03/22(金) 23:37:53.280025デフォルトの名無しさん
2013/03/23(土) 00:31:02.17演算子をメタテーブルで与える。
これはC++のoperatorとかRubyの def 演算子()
に該当するなんのへんてつもないただの定義でないのん?
0026デフォルトの名無しさん
2013/03/23(土) 00:32:36.870027デフォルトの名無しさん
2013/03/23(土) 00:53:51.290028デフォルトの名無しさん
2013/03/23(土) 09:28:32.810029デフォルトの名無しさん
2013/03/23(土) 17:16:41.740030デフォルトの名無しさん
2013/03/23(土) 17:50:15.620031デフォルトの名無しさん
2013/03/23(土) 19:47:34.800032デフォルトの名無しさん
2013/03/23(土) 21:38:19.500033デフォルトの名無しさん
2013/03/24(日) 09:41:18.140034デフォルトの名無しさん
2013/03/24(日) 16:32:17.84generatorじゃないんだから
0035デフォルトの名無しさん
2013/03/24(日) 16:35:10.570036デフォルトの名無しさん
2013/03/24(日) 16:48:46.240037デフォルトの名無しさん
2013/03/24(日) 17:42:15.18ん?
pythonの内包表記は即座にリストとして展開されるよ
[ x ** 2 for x in range(10) if x%2 == 0 ] みたいに角かっこで書くやつね
( x ** 2 for x in range(10) if x%2 == 0 ) みたいに丸かっこで書くとgenerator式になる
0038デフォルトの名無しさん
2013/03/24(日) 17:46:46.830039デフォルトの名無しさん
2013/03/24(日) 18:13:24.430040デフォルトの名無しさん
2013/03/24(日) 18:34:00.430041デフォルトの名無しさん
2013/03/24(日) 19:27:34.14逆に言えばLuaだけで何でもできると思ってる奴はアフォ
0042デフォルトの名無しさん
2013/03/24(日) 20:05:41.560043デフォルトの名無しさん
2013/03/24(日) 20:12:10.70関数型言語では当たり前だけど、pythonとかメジャーなスクリプトではスタックがあふれるだろ?
0044デフォルトの名無しさん
2013/03/24(日) 20:15:13.570045デフォルトの名無しさん
2013/03/24(日) 20:31:15.66function LC(f)
local t = {}
for x in coroutine.wrap(f) do
table.insert(t, x)
end
return t
end
-- rangeの実装は省略
local t = LC(function () for x in range(10) do coroutine.yield(x ^ 2) end end)
0046デフォルトの名無しさん
2013/03/24(日) 20:32:18.04pythonの関数呼び出しは単純にC言語のコールスタックに依存してるので、どんどん積み上がっていくよ
0047デフォルトの名無しさん
2013/03/24(日) 20:33:56.31これはキモイな
やはりpythonには勝てないか
0048デフォルトの名無しさん
2013/03/24(日) 20:43:35.17Luaは区別無し。名前の無いfunctionがlambda
0049デフォルトの名無しさん
2013/03/24(日) 20:57:01.13やるとしたらそんな感じだろうね
でも、内包表記って言うよりはmapみたいな雰囲気になっちゃうよね
内包表記って数学の集合みたいに宣言的に記述できるってところがメリットのひとつだからなぁ
数学だとこんな感じ? S = { x^2 | x ∈ N, x < 10, x mod 2 = 0 }
やっぱり言語としてサポートしないとつらそう
0050デフォルトの名無しさん
2013/03/24(日) 21:05:14.50すごく同意
pythonのlambdaは中途半端だね
Luaは文法がコンパクトですっきりしていて、すごく便利って感じではないが
でもコルーチンをサポートしてたり、末尾呼び出し最適化してたりで
ちょうどいい塩梅
0051デフォルトの名無しさん
2013/03/24(日) 21:14:17.850052デフォルトの名無しさん
2013/03/24(日) 21:27:46.25lispのリーダーマクロっぽいのほしいな
0053デフォルトの名無しさん
2013/03/24(日) 21:31:07.630054デフォルトの名無しさん
2013/03/24(日) 21:33:14.06もっと欲張るならPythonも比較的組み込みやすい
0055デフォルトの名無しさん
2013/03/24(日) 21:59:26.75なおrubyも内包表記はない模様
0056デフォルトの名無しさん
2013/03/24(日) 22:59:45.74実行時のメモリのフットプリントが数倍くらい多い
APIがスタックベースじゃないため拡張は幾分書きやすいけど
そのせいでネイティブとの行き来が増えると実行コストは大きくなる傾向がある
JITはまだ実用レベルじゃない
みたいな感じ(俺調べ)
Luaに取って代わるかは知らんけど、二番煎じ処理系(Sq*とかxta*とか)は駆逐できそうな感じではある
0057デフォルトの名無しさん
2013/03/25(月) 00:06:08.811万6千行に対し二万四千行。
んで、LuaのソースコードはCでもC++でも
どちらでもコンパイル可能なので
Luaの関数の内部からC++のライブラリが使える
(ただしthrowが外側に貫通してはいけないけどね)
yaccとかも不要。
なんというか、最近のbisonとかは内部でm4使ってるとか
いろいろとめんどくさい仕様に改悪されてるから助かるw
0058デフォルトの名無しさん
2013/03/25(月) 03:30:49.12今のパーサはシンプルな手書き再帰下降でLL(2)だから
内包表記の対応は難しいんじゃないかな
0059デフォルトの名無しさん
2013/03/25(月) 07:51:15.04構文木を介さず直接コード生成してるところが逆にネックになりそう
0060デフォルトの名無しさん
2013/03/25(月) 17:54:00.04全部でこれだけかよってびっくりしたわ
これなら個人で解析出来るな、今日から読んでみるわ
0061デフォルトの名無しさん
2013/03/25(月) 21:59:44.09ついでに「:」か「.」を別の記号に変えたくなるけどね
0062デフォルトの名無しさん
2013/03/26(火) 01:13:30.00luajitでは動かないみたいだが。
0063デフォルトの名無しさん
2013/03/27(水) 21:52:23.470064デフォルトの名無しさん
2013/03/28(木) 08:20:38.05lua-5.2.2
http://www1.axfc.net/uploader/so/2847097
0065デフォルトの名無しさん
2013/03/28(木) 08:36:16.340066デフォルトの名無しさん
2013/04/02(火) 21:46:57.640067デフォルトの名無しさん
2013/04/02(火) 22:04:23.950068デフォルトの名無しさん
2013/04/02(火) 22:09:38.32依存関係がMSVCRT.DLLってことはMingW?
0069デフォルトの名無しさん
2013/04/02(火) 22:16:19.200070デフォルトの名無しさん
2013/04/02(火) 22:26:09.110071デフォルトの名無しさん
2013/04/02(火) 22:27:32.440072デフォルトの名無しさん
2013/04/02(火) 23:20:37.81DLLって公開する意味あるの?
不整合とか気にするジャン。
0073デフォルトの名無しさん
2013/04/02(火) 23:24:16.560074デフォルトの名無しさん
2013/04/03(水) 00:02:33.52DLL側のランタイムでデータフォーマットや
整列条件違ったら困ったことにならないの?
0075デフォルトの名無しさん
2013/04/03(水) 00:15:02.910076デフォルトの名無しさん
2013/04/03(水) 00:31:33.850077デフォルトの名無しさん
2013/04/03(水) 01:20:18.06DLLの境界問題出にくいけどな
ちゅーかどこぞの馬の骨が捨て置いたバイナリに喰いつく暇があったら
自分のプロジェクトにLuaのソースコード突っ込んだ方が建設的かと
0078デフォルトの名無しさん
2013/04/03(水) 01:22:27.160079デフォルトの名無しさん
2013/04/03(水) 20:17:59.94中の妖精さんと高額契約したのですか?
0080デフォルトの名無しさん
2013/04/03(水) 21:11:29.32|/__
ヽ| l l│<ハーイ
┷┷┷
0081デフォルトの名無しさん
2013/04/03(水) 21:37:47.94(この方式は他も追従し追いつかれつつある)
VMがレジスタマシンであること
設計の合理性
(整数演算の切捨てなど、ボトルネックの分析が良かった)
JITなど速い方式の実装も行われている
かな
■ このスレッドは過去ログ倉庫に格納されています