1read 100read
2013年17プログラム83: 【Lua】組み込み系言語総合 その6【Squirrel】 (232) TOP カテ一覧 スレ一覧 2ch元 削除依頼
C言語なら俺たちに聞け パート0001 (338)
Rubyについて Part48 (890)
OpenWatcom C++ (754)
VisualBasic6.0 対 VisualBasic .NET 2003 (461)
今まで見た中で一番すげーコメント (584)
人工知能は感情を獲得する事ができると思いますか? (570)

【Lua】組み込み系言語総合 その6【Squirrel】


1 :2013/03/10 〜 最終レス :2013/09/25
LuaやSquirrelやAngelScriptなどアプリケーションへの組み込み用途で
使われるプログラミング言語についてのスレッドです
まとめ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/

2 :
□Lua
ttp://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/

3 :
■関連してるかもしれないスレ
Io 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/

4 :
誰も立てないから同じテンプレで立ててみた
いつ立てるの?今でしょ!

5 :


6 :

次スレは>>980あたりが立てればいいか?

7 :
AngelScript|Д`)<新スレ乙

8 :
LuaJIT 2.0.1
Update 2013-03-08: Please apply Hotfix#1 to the 2.0.1 download.

9 :
         \   l´⌒\⌒\ \\ \
           \ ヽ   )  )   \\ \\   
              (   \ \∩___∩ \\ 
           \   \  ⌒⌒| ノ      ヽ  \\      
              \ \   /  ●   ● ト、\ \\\ 
               \  Y |    ( _●_)  ミ\  \\\  
               \ / 彡、_  |∪| ノ   \  \\\
                 (____)―ヽノ' ヽ      ̄ ̄ ヽ\\
                                \,  j  l l .l }
                         Lua!   l (_ノノノノ

10 :
Programming in Lua 第3版おめ

11 :
いつ?

12 :
なぜluaを使うのですか?

13 :
>>12
小さくて密度の高い事は美しいことだから。

14 :
スタックダンプが快感

15 :
テーブルの威力がすごすぎるから

16 :
めたたbぇ

17 :
luaを使うことを強いられているんだ!

18 :
luaにはC#のLINQやPythonのリスト内包表記は無いんですか?

19 :
metatableってクソじゃないか?
コードを難解にするだけじゃん

20 :
確かにリスト内包表記は可読性を著しく損なう糞だな。

21 :
>>20
あれほど簡潔なものはないとおもうが?

22 :
論点をずらすなよ

23 :
metatableはクソって話だったな

24 :
めたたbぇprpr

25 :
たとえば DATETIME というクラスを定義したときに
演算子をメタテーブルで与える。
これはC++のoperatorとかRubyの def 演算子()
に該当するなんのへんてつもないただの定義でないのん?

26 :
そもそもoperator再定義自体が下品で破廉恥な行為だ

27 :
せやな

28 :
確かに

29 :
リスト内包表記はいいものだ

30 :
あっそ

31 :
Luaにはなぜないのだろうね

32 :
クロージャとコルーチンで同じことできるし…

33 :
内包表記のためにそんなもん使うのは大袈裟だろ

34 :
内包表記っぽいものを作るのにコルーチンは使わんだろ
generatorじゃないんだから

35 :
pythonはジェネレーターだよ

36 :
いいね

37 :
>>35
ん?
pythonの内包表記は即座にリストとして展開されるよ
[ x ** 2 for x in range(10) if x%2 == 0 ] みたいに角かっこで書くやつね
( x ** 2 for x in range(10) if x%2 == 0 ) みたいに丸かっこで書くとgenerator式になる

38 :
Luaは関数の末尾呼び出しを最適化してくれるのがいいね

39 :
そんなんどこでもやってますよ・・?

40 :
JVM!JVM!

41 :
Luaはとにかく組み込みやすいのがいい。
逆に言えばLuaだけで何でもできると思ってる奴はアフォ

42 :
メタテーブルとcoroutineもすき

43 :
>39
関数型言語では当たり前だけど、pythonとかメジャーなスクリプトではスタックがあふれるだろ?

44 :
単なる末尾呼び出しの最適化は最適化の中でも初歩の初歩だしやってないわけないと思う・・・んだけどなあ

45 :
Luaで真似事しようとするとこんな感じ?
function 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)

46 :
最適化の理論とかはよく知らんけど
pythonの関数呼び出しは単純にC言語のコールスタックに依存してるので、どんどん積み上がっていくよ

47 :
>>45
これはキモイな
やはりpythonには勝てないか

48 :
Pythonはlambdaとdefが異なるのがガン。
Luaは区別無し。名前の無いfunctionがlambda

49 :
>45
やるとしたらそんな感じだろうね
でも、内包表記って言うよりはmapみたいな雰囲気になっちゃうよね
内包表記って数学の集合みたいに宣言的に記述できるってところがメリットのひとつだからなぁ
数学だとこんな感じ? S = { x^2 | x ∈ N, x < 10, x mod 2 = 0 }
やっぱり言語としてサポートしないとつらそう

50 :
>>48
すごく同意
pythonのlambdaは中途半端だね
Luaは文法がコンパクトですっきりしていて、すごく便利って感じではないが
でもコルーチンをサポートしてたり、末尾呼び出し最適化してたりで
ちょうどいい塩梅

51 :
しかし内包表記がないと一行が数倍にふくれあがるし見た目も悪い

52 :
単なるシンタックスシュガーだからパーサを弄ればできそうだけど
lispのリーダーマクロっぽいのほしいな

53 :
有志でlua#つくろうず

54 :
mrubyでいいじゃん
もっと欲張るならPythonも比較的組み込みやすい

55 :
mrubyの実行速度ってどんなもん?
なおrubyも内包表記はない模様

56 :
Luaとの比較だと、スクリプト自体の実行速度はちょっと遅めだけど誤差レベル
実行時のメモリのフットプリントが数倍くらい多い
APIがスタックベースじゃないため拡張は幾分書きやすいけど
そのせいでネイティブとの行き来が増えると実行コストは大きくなる傾向がある
JITはまだ実用レベルじゃない
みたいな感じ(俺調べ)
Luaに取って代わるかは知らんけど、二番煎じ処理系(Sq*とかxta*とか)は駆逐できそうな感じではある

57 :
mrubyの問題は .cのソースコードの行数でLuaの1.5倍ある。
1万6千行に対し二万四千行。
んで、LuaのソースコードはCでもC++でも
どちらでもコンパイル可能なので
Luaの関数の内部からC++のライブラリが使える
(ただしthrowが外側に貫通してはいけないけどね)
yaccとかも不要。
なんというか、最近のbisonとかは内部でm4使ってるとか
いろいろとめんどくさい仕様に改悪されてるから助かるw

58 :
Luaも確かv3.0くらいまではyacc使ってたんだけどね
今のパーサはシンプルな手書き再帰下降でLL(2)だから
内包表記の対応は難しいんじゃないかな

59 :
内包表記みたいなのの解析は、luaの場合パーサがLLかLRかよりも
構文木を介さず直接コード生成してるところが逆にネックになりそう

60 :
Luaのソースコード見てみたら他の言語に比べて超短いな
全部でこれだけかよってびっくりしたわ
これなら個人で解析出来るな、今日から読んでみるわ

61 :
パーサいじるんなら
ついでに「:」か「.」を別の記号に変えたくなるけどね

62 :
metaluaみたいにluaのパーサー上書きする方法はあるみたいだぞ。
luajitでは動かないみたいだが。

63 :
パーサー弄ってわざわざ「->」演算子を追加した事があるな俺

64 :
記念していつもの
lua-5.2.2
http://www1.axfc.net/uploader/so/2847097

65 :
おめ

66 :
AngelScript|Д`)<AngelScript2.26.2記念カキコ

67 :
おめ

68 :
>>64
依存関係がMSVCRT.DLLってことはMingW?

69 :
いいえ

70 :
んん VC6?

71 :
いいえ

72 :
てかコンパイル環境とか書いてないと
DLLって公開する意味あるの?
不整合とか気にするジャン。

73 :
いいえ

74 :
そうすっと たとえばEXEのランタイムと
DLL側のランタイムでデータフォーマットや
整列条件違ったら困ったことにならないの?

75 :
そういえばSquirrelだけ記念カキコがない

76 :
はい

77 :
Luaの場合はヘッダに構造体定義してるのがlua_Debugくらいだし
DLLの境界問題出にくいけどな
ちゅーかどこぞの馬の骨が捨て置いたバイナリに喰いつく暇があったら
自分のプロジェクトにLuaのソースコード突っ込んだ方が建設的かと

78 :
はい

79 :
Luaはなぜ早いのですか?
中の妖精さんと高額契約したのですか?

80 :
       /|
       |/__
       ヽ| l l│<ハーイ
       ┷┷┷

81 :
コアにVMを置いて中間コードを実行していること
(この方式は他も追従し追いつかれつつある)
VMがレジスタマシンであること
設計の合理性
(整数演算の切捨てなど、ボトルネックの分析が良かった)
JITなど速い方式の実装も行われている
かな

82 :
整数演算がボトルネックというのが分かりません
doubleのほうが百万倍遅いじゃないですか気持ち的に

83 :
うん、だからその理屈だと整数演算を切り捨ててはいけないんだけど
Luaはそれを切り捨てたのよ。
それでもベンチマーク成績は高かった。
つまり、演算以外の部分が問題だったわけね。

84 :
doubleそれほど遅くないよ。割り算を除けばせいぜい2倍位じゃないの?
intとdoubleの変換が遅かったりして。

85 :
doubleの処理は、今時のそこそこのデスクトップマシンと、
そこいらへんにたくさんあるARMとで、天と地ほどの差があるなw

86 :
整数演算がないと困るのはビット演算
が5.2でライブラリが追加されたからそれもほぼ解消

87 :
>>83
浮動小数演算がボトルネックにはならなかったって話と、整数演算が
ボトルネックだったって話は関係ないじゃん。

88 :
その辺のことはこのあたりかな
http://lua-users.org/wiki/FloatingPoint

89 :
そもそも誰も「整数演算がボトルネック」なんて話してないし

90 :
整数演算がボトルネックといっているのではなく、
浮動小数点演算の遅さは実は問題ではなかったという判断
だから整数演算いらんというデザイン

91 :
速くなればなるほど問題が表面化するというわけだな

92 :
JIT版の実装が良くなればたぶんね

93 :
>>89
つまり、整数演算切り捨てたこととLuaが速いことは関係ないってことだろ。
>>81はボトルネックと言っているが。

94 :
>>81はLuaが速い一因として設計の合理性を挙げていて
整数演算がボトルネックとは言ってないし
>>83>>90のフォローもそれを補強していると思うんだが
読解力がないのならしょうがない

95 :
言語仕様そのものが速さ目的で設計されてるってのもあるんでないか
ローカル変数をわざわざ指定しなきゃならんとか
書く側からすれば面倒な仕様だけど多分これだとGCがやりやすいんだろうなとか
ソース見たわけじゃないから分からんけどね

96 :
AngelScript|Д`)<みんなでtemplate触ろうぜ

97 :
Squirrel |Д`)<Squirrel 3.0.4記念カキコ

98 :
Squirrel更新か!?
と思ったのに!

99 :
AngelScriptにDelegate対応が来てた

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
【RAD統合環境】 Qt 総合スレ 15 【Win/Mac/Linux】 (506)
マルチプラットフォーム プログラミング言語 haXe (135)
★★ Java の宿題ここで答えます Part 72 ★★ (750)
COM (386)
Ruby で GUI するスレ (402)
(´・ω・`)人間はプログラムやがな (103)
--log9.info------------------
囲炉裏 〜64もふ( *´エ`)〜 (358)
【VOCALOID】鏡音リン&リン厨アンチスレ Part10 (375)
【ニコ生】外配信女krかれん (102)
【ニコニコ】BW2・PBR対戦動画スレ7【ポケモン】 (776)
IAアンチスレ (225)
【ニコ生】ドルジ〜ふしぎおじさん【AV監督】 (242)
【乞食】 ふじこ 【元デリ嬢】2 (144)
ニコ生【内藤佑輔】なまぽです (687)
ニコニコ生放送 Part1016 (805)
MAD制作初心者向けスレ123 (448)
【VOCALOID初音ミク等】ボカロ制作総合スレ part9 (632)
【飯田】木村ラジ夫首になりました【無職】 (433)
じん(自然の敵P)アンチスレ (513)
【XBOX360/PS3】ニコニコ動画 Call of Duty:Black ops2 part28 (701)
【復活!】まさまさスレ【乞食再開!】 (427)
【皇居のお堀】 まんごるもあの正体 【創価大学】 (536)
--log55.com------------------
★2ch.scは何故失敗したのか
★クロール批判要望スレ
★削ジェンヌに文句ある人集合
★迷惑行為報告担当 - 小さな親切募集中 2
★2ch.scへの要望スレ Part3
★かっこう観測所
★スレ立て人キャップ
★2ch.scニュース系板観測所