【関数】Erlang Part 2【エリクソン】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2010/07/20(火) 16:13:49【関数】Erlang【エリクソン】
ttp://pc12.2ch.net/test/read.cgi/tech/1176479959/
■関連URL
ttp://www.erlang.org/
ttp://www.erlang.org/download/erlang-book-part1.pdf
ttp://ja.wikipedia.org/wiki/Erlang
ttp://www.planeterlang.org/
ttp://cean.process-one.net/
ttp://www32.atwiki.jp/erlang/
ttp://jijixi.azito.com/cgi-bin/diary/index.rb?category=Erlang
ttp://www.kmonos.net/alang/etc/erlang.php
ttp://quasiquote.org/log2/Erlang
ttp://www.youtube.com/watch?v=uKfKtXYLG78
ttp://video.google.com/videoplay?docid=-5830318882717959520
ttp://erlide.sourceforge.net/
ttp://rucila.s43.xrea.com/memo/?date=0304
0002デフォルトの名無しさん
2010/07/20(火) 16:14:21Erlangプログラミング
ttp://www.oreilly.co.jp/books/9784873114651/
0003デフォルトの名無しさん
2010/07/20(火) 17:19:32いちおつ
0004デフォルトの名無しさん
2010/07/20(火) 21:54:30あ、>>1乙
0005デフォルトの名無しさん
2010/07/20(火) 23:02:01ttp://ec2.images-amazon.com/images/I/41JJZCux%2BNL._SL500_AA300_.jpg
>>1乙
0006デフォルトの名無しさん
2010/07/21(水) 13:57:500007デフォルトの名無しさん
2010/07/21(水) 14:11:24【関数】Erlang Part2【エリクソン】
http://pc12.2ch.net/test/read.cgi/tech/1270087367/l50
0008デフォルトの名無しさん
2010/07/21(水) 23:55:330009デフォルトの名無しさん
2010/07/22(木) 00:35:180010デフォルトの名無しさん
2010/07/22(木) 02:35:100011デフォルトの名無しさん
2010/07/23(金) 01:15:120012デフォルトの名無しさん
2010/07/24(土) 17:08:16あまり聞かない気が。。。。
0013デフォルトの名無しさん
2010/07/25(日) 13:17:45これで普及に弾みがつくか?
0014デフォルトの名無しさん
2010/07/25(日) 16:06:190015デフォルトの名無しさん
2010/07/25(日) 19:45:120016デフォルトの名無しさん
2010/07/28(水) 01:01:240017デフォルトの名無しさん
2010/07/28(水) 23:33:49関数型言語に関する記述は少ないな。
実用的かも
0018デフォルトの名無しさん
2010/07/29(木) 12:57:570019デフォルトの名無しさん
2010/07/29(木) 13:09:510020デフォルトの名無しさん
2010/07/29(木) 13:20:00そうだよ
0021デフォルトの名無しさん
2010/07/29(木) 15:59:12http://www.infoq.com/jp/news/2010/07/objects-smalltalk-erlang
0022デフォルトの名無しさん
2010/07/29(木) 17:20:530023デフォルトの名無しさん
2010/07/29(木) 17:48:280024デフォルトの名無しさん
2010/08/02(月) 21:53:43F = fun(X) -> fun(X-1).
みたいな記述は出来ないの?出来損ないでさーせん
0025デフォルトの名無しさん
2010/08/03(火) 16:04:11再帰っていってくれよ
0026デフォルトの名無しさん
2010/08/08(日) 18:45:08pad([M1]) -> [$0,M1];
なる一文が入っているけれど、$0はなんで必要なの?
0027デフォルトの名無しさん
2010/08/08(日) 19:07:42つ Yコンビネータ
0028デフォルトの名無しさん
2010/08/08(日) 19:11:27Erlangを忘れ果てた漏れが嫌がらせで答えると
文字列が1文字だけだった場合にゼロパディングして2文字にしてるんだよ
たとえば 18:45:8 を 18:45:08 にするとか
0029デフォルトの名無しさん
2010/08/08(日) 20:32:08Thx.
実際試してみてゼロ埋めらしいとは分かったけど、どんな書式文法か?でした。
月・日は挙げてもらった通りだけど、年は最初から"2010"だから何も起こらない。
変数を1文字しかないと仮定して、$0を変数に添える事を+1文字分確保すると考えるのでしょうかね。
0030デフォルトの名無しさん
2010/08/08(日) 21:41:57Erlangの文字列と関数のパターンマッチングがどんなものかは理解してる?
飛ばし読みしてるんなら読み直したほうがいいと思う
003129
2010/08/08(日) 22:03:18io:formatがどう表示してくれるかの問題だと思っていたのですが
0032デフォルトの名無しさん
2010/08/08(日) 22:04:140033デフォルトの名無しさん
2010/08/29(日) 18:00:500034デフォルトの名無しさん
2010/08/29(日) 19:02:460035デフォルトの名無しさん
2010/08/29(日) 19:22:43言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究
0036デフォルトの名無しさん
2010/08/29(日) 20:10:49いや、うれしいよ。
バグでプロセスがダウンすることを前提にした言語って他に無いからね。
こんなに安全にプロセスが扱える言語って他にある?
逆に嬉しくないと思う理由が知りたい。
0037デフォルトの名無しさん
2010/08/29(日) 20:17:021. ワンファイルアプリ最高
2. windowsの慣習的にexeファイルがないと、erlangに詳しくない人は実行方法がすぐにわからない。
また、バッチファイルだとコマンドラインの印象があって、詳しくない人は不安を感じる。
3. インストールを前提とする以外の実行方法を提供する自由が欲しい
0038デフォルトの名無しさん
2010/08/29(日) 20:49:49ShllExecute叩くexe作るだけでいいんじゃないの。
Erlang側で準備する必要があるものとは正直思えない。
0039デフォルトの名無しさん
2010/08/29(日) 20:56:41糞でかいerlang処理系まるごと添付するのか?w
ダッサイなぁ
0040デフォルトの名無しさん
2010/08/29(日) 20:57:464. 起動を早くしたいから
0041デフォルトの名無しさん
2010/08/29(日) 21:09:59ガイキチは放置の原則を忘れていたよ。
一通り暴れたらヨソ行ってくれ。
0042デフォルトの名無しさん
2010/08/29(日) 21:48:36Rubyとかの他の言語でもあったよね。そういうの。Exerbか。
ある程度動くところまでやれば未踏で1年分の金くれるかもよ。
あとWindowsの場合、プロセスじゃなくてスレッドでどうこうしたほうがパフォーマンス出ると思うんだよ。
Chromeぐらいじゃないか?普通はスレッドであるべきところを意識的にプロセスにしたアプリケーションは。
0043デフォルトの名無しさん
2010/08/29(日) 22:00:03erlangのプロセスはOSのプロセスではなくてグリーンスレッドだよ。
0044デフォルトの名無しさん
2010/08/29(日) 22:22:030045デフォルトの名無しさん
2010/08/29(日) 22:22:54>>42 はい では言いだしっぺの法則で サンプルよろしく♪
0046デフォルトの名無しさん
2010/08/29(日) 22:30:180047デフォルトの名無しさん
2010/08/29(日) 22:30:53やりたくないことを人に押し付ける方便です
0048デフォルトの名無しさん
2010/08/29(日) 23:36:05そんなに安全な言語をWindowsで動かしてもしょうがないからでしょ
0049デフォルトの名無しさん
2010/08/29(日) 23:40:04安全だから気楽にプログラミングできるんじゃないか。
0050デフォルトの名無しさん
2010/08/30(月) 00:01:42土台がやわなら安全な言語も猫に小判、豚に真珠
0051デフォルトの名無しさん
2010/08/30(月) 04:20:23それを言うなら砂上の楼閣でしょう。
猫に小判と豚に真珠は、本人が価値を理解できないというたとえです。
0052デフォルトの名無しさん
2010/08/30(月) 17:41:07LinuxもMacもWindowsも堅牢性は大して変わらん。
微々たる差だよ。
それにCでやろうがJavaでやろうがErlangでやろうがエラー対策はちゃんとやるでしょうが。
0053デフォルトの名無しさん
2010/08/30(月) 21:44:17じゃあLinuxやMac使えばいいじゃん
Exeなんぞいらんぞ
0054デフォルトの名無しさん
2010/08/31(火) 14:16:37そりゃそうだがインストールベースの大きさを無視するのはよろしくないんじゃないか?
0055デフォルトの名無しさん
2010/08/31(火) 22:14:030056デフォルトの名無しさん
2010/08/31(火) 23:22:05やっぱEXEなんぞいらん
0057デフォルトの名無しさん
2010/09/01(水) 00:05:51サーバ以外の用途もあるでしょうが。
0058デフォルトの名無しさん
2010/09/01(水) 00:42:04だからexeがないんだろ
現実見ろよ
0059デフォルトの名無しさん
2010/09/01(水) 00:51:35ネイティブで動く.exe実行ファイルとは相容れないだろう
もしやるとしてもVMを包んだ実行ファイルで配布とかになる
0060デフォルトの名無しさん
2010/09/01(水) 09:29:33運用環境としてのWindowsはなし → EXE不要
0061デフォルトの名無しさん
2010/09/01(水) 15:23:57最近の『関数型言語でマルチスレッドゲーム製作』ブームで
ゲームに適してるって騙されてゲーム作った俺に誰でもいいから土下座して謝ってください。
0062デフォルトの名無しさん
2010/09/01(水) 15:25:290063デフォルトの名無しさん
2010/09/01(水) 15:45:47ちょっとまて、関数型言語がゲームに適しているってどこに書いてあったんだ?
あとerlangは関数型言語じゃなくてプロセス指向言語だぞ
0064デフォルトの名無しさん
2010/09/01(水) 15:46:120065デフォルトの名無しさん
2010/09/01(水) 16:23:19プロセス指向ってどんだけみみっちいな区分けすんだよw
どう考えてもErlangは関数型だろ。
ttp://game.watch.impress.co.jp/docs/20080911/epic.htm
PS4やらXBOX720やらになったら関数型言語が主役になるんだよ。
それで関数型言語マンセーなんだよ今は。
0066デフォルトの名無しさん
2010/09/01(水) 16:26:54それには理由があって、
基礎理論が何かで分けられるべきだと思うんだよ。
HaskellやMLやLispなどはlambda-calculusを基礎理論としているのに対して、
Erlangやgoなどはpi-calculusないしはCSPを基礎理論にしている。
だから関数型言語というよりもプロセス指向言語と呼んだほうが分類としては正しいと思うんだ。
0067デフォルトの名無しさん
2010/09/01(水) 17:50:310068デフォルトの名無しさん
2010/09/01(水) 19:22:310069デフォルトの名無しさん
2010/09/01(水) 19:30:310070!omikuji
2010/09/01(水) 19:47:070071デフォルトの名無しさん
2010/09/01(水) 23:15:59Sculptrisの登場で見放されちゃったんだから
こんな使えない3Dモデラー作ってないで、
素直にErlangの実行ファイル作成ソフト作ってくれよん!
って誰かWings3Dの作者に言ってよ英語わからないから!
0072デフォルトの名無しさん
2010/09/13(月) 18:16:10基礎理論で分類するなら、ラムダ計算をベースに構文糖を被せた
JavaScript/Smalltalk/Rubyあたりも関数型言語になるんか?
また、CSPを基礎理論とするOccamやGHC(KL1)等も
プロセス指向言語と呼んだほうが正しい分類なのか?
普通に(常識的に)、JavaScript/Smalltalk/Rubyは(関数型機構も使える)
オブジェクト指向言語でいいし、Occamは手続き型言語、
GHCは並列論理型言語でいいと思う。同様にErlangも関数型言語だね。
>>65
言っている事はアレだがw、紹介してくれたリンク先の記事は面白かった。
ただし、その記事(ゲームと超並列化)が対象としているのは
メモリ共有による「密結合型」並列計算だよ。
Erlangは相互リンク(たとえばネットワーク)による「粗結合型」並列計算、
あるいは「分散型」並列計算だから、記事にあるようなリアルタイム
3Dレンダリングを生かしたゲーム開発には向いていないと思われ。
0073デフォルトの名無しさん
2010/09/13(月) 18:20:240074デフォルトの名無しさん
2010/09/13(月) 18:22:34全く見当違い。
> 基礎理論で分類するなら、ラムダ計算をベースに構文糖を被せた
> JavaScript/Smalltalk/Rubyあたりも関数型言語になるんか?
完全な手続き型言語だろ。
> また、CSPを基礎理論とするOccamやGHC(KL1)等も
> プロセス指向言語と呼んだほうが正しい分類なのか?
そうだよ。
関数型言語はシーングラフベースのグラフィックスなら強いパワーを発揮しそうだ。
0075デフォルトの名無しさん
2010/09/13(月) 18:33:01より正確にはオブジェクト指向手続き型言語だろうね。
オブジェクト指向というのは大きな概念(パラダイム)だから、計算モデルと両立する。
だからオブジェクト指向関数型言語やオブジェクト指向並列論理言語も存在しうる。
0076デフォルトの名無しさん
2010/09/13(月) 18:37:04オブジェクト指向ってどういう基礎理論に基づいているの?
0077デフォルトの名無しさん
2010/09/13(月) 18:37:36オブジェクト指向並列論理言語ではなくて、オブジェクト指向論理言語に訂正。
ちなみに例を挙げれば、
・オブジェクト指向関数型言語:OCaml
・オブジェクト指向並列論理言語:ESP
になるけど、普通はそれぞれ関数型言語、論理型言語と呼ばれているし、それで正しい。
0078デフォルトの名無しさん
2010/09/13(月) 18:41:28君がオブジェクト信者だってことはわかったけど、
オブジェクト指向は指向と呼ばれることからわかるようにプログラミングスタイルを意味する言葉だよね。
0079デフォルトの名無しさん
2010/09/13(月) 18:43:40どうせやることは一緒なんだ。
0080デフォルトの名無しさん
2010/09/13(月) 18:45:17計算モデルとしての(狭義の)オブジェクト指向の基礎理論は「アクター理論」と呼ばれる。
これは作用型計算モデル(関数型言語)と命令型計算モデル(手続き型言語)を統ーした
計算モデル。このモデルでは、すべての要素(オブジェクト)がアクターになる。たとえば
関数は不変アクター(imutable actor)で、手続きは可変アクター(mutable actor)になる。
0081デフォルトの名無しさん
2010/09/13(月) 18:46:440082デフォルトの名無しさん
2010/09/13(月) 18:58:40その通り。だから>>80では「狭義の」と書いた。例えば「継承(inheritance)」ひとつを
とっても、静的言語ですらその形式的定義は完成していない(はず)。だから、たとえば
OCamlのオブジェクト指向は不完全なので(型推論が破綻しているので)、嫌う人は多い。
ま、いいかげんオブジェクト指向はErlangとはスレ違いの話題だから、これで終わりにする。
Erlangにおける並行オブジェクト指向プログラミングなんて話題になれば、また顔を出すよ。
0083デフォルトの名無しさん
2010/09/13(月) 21:53:00> ・オブジェクト指向並列論理言語:ESP
ESPは逐次型
逐次推論マシンPSIで使われていた
0084デフォルトの名無しさん
2010/09/16(木) 06:37:32Wings3Dソースみてみたけど、werl起動するだけみたいよ?
インストールするとErlangのディレクトリ構造でライブラリ(**/ebin/*.beam)があるし。
exeは出来なくても良いけど、ソース無し(*.beamだけ)の実行環境と、ライブラリ集めて
インストールパッケージ作る、簡単な方法はほしいと思う。
0085デフォルトの名無しさん
2010/11/03(水) 01:22:040086デフォルトの名無しさん
2010/11/03(水) 05:07:200087デフォルトの名無しさん
2010/11/04(木) 16:44:34バッチファイルをEXE化して実行ファイル作ろうと思っても、
OTPからerl.exeとかerlc.exeとか引っ張り出すと動かなくなる。
なんでWings3Dは動いてんだよぉ…
0088デフォルトの名無しさん
2010/11/15(月) 17:07:33スタイルさえ確立すればCでもErlangでも同じ。
0089デフォルトの名無しさん
2010/11/15(月) 17:08:280090デフォルトの名無しさん
2010/12/27(月) 06:37:49erlangがほとんど話題に上がらないのはなぜ?
0091デフォルトの名無しさん
2010/12/27(月) 07:38:460092デフォルトの名無しさん
2010/12/27(月) 09:06:100093デフォルトの名無しさん
2011/04/07(木) 09:11:31.10Erlang を共同で開発した Joe Armstrong と Robert Virding 両氏が,Erlang が Java から多大な着想を得たことを認めている。
ErlangFactory 2011 SF で行われたインタビューで両氏は,Erlang では「プロセス」と呼んでいるものを作る上で,
Scala の Actor が大きな影響を与えているという,以前からあった噂をついに
肯定したのだ。さらに Erlang の VM が,かの有名な Java 仮想マシン (Java Virtual
Machine,JVM) のクローン同然のものであることも告白した。
0094デフォルトの名無しさん
2011/04/07(木) 09:18:19.82うわ、これはショックだ
そうじゃないかと思ってはいたけど両御大の言葉ともなると
つらいものがあるな…漏れはArmstrong本で勉強したわけだし
きっと何か事情があるんだと思うな…そうであってほしい
0095デフォルトの名無しさん
2011/04/07(木) 09:30:56.90>かの有名な JVM に回帰すること,の2点を約束している。
むしろこのあたりでちょっとうれしかったり
0096デフォルトの名無しさん
2011/04/07(木) 09:31:33.38Posted by Sadek Drobi on Apr 01, 2011
0097デフォルトの名無しさん
2011/04/07(木) 09:33:02.12ぐはぁ、そういう記事を1週間も遅れて貼るかなもう
0098デフォルトの名無しさん
2011/04/07(木) 09:55:37.68しかも>>94は縦読みだ。
0099デフォルトの名無しさん
2011/04/07(木) 14:57:04.630100デフォルトの名無しさん
2011/04/07(木) 16:20:29.39that's right!
0101デフォルトの名無しさん
2011/04/07(木) 20:25:44.71Cool !
0102デフォルトの名無しさん
2011/04/07(木) 22:44:01.66Erlang再入門開始
カンマとセミコロンとピリオドの使い分けがようやく見えてきた
0103デフォルトの名無しさん
2011/04/08(金) 21:55:40.570104デフォルトの名無しさん
2011/04/09(土) 05:20:40.84Erlangやったからといってバラ色ではないことくらいの予知ならできるが。
0105デフォルトの名無しさん
2011/04/10(日) 00:55:39.830106デフォルトの名無しさん
2011/04/10(日) 19:36:25.14気にすんな
0107デフォルトの名無しさん
2011/04/10(日) 20:41:25.950108デフォルトの名無しさん
2011/04/10(日) 20:57:57.37気にすんな
0109デフォルトの名無しさん
2011/04/10(日) 23:50:53.530110デフォルトの名無しさん
2011/04/10(日) 23:52:29.12インストールに時間掛かるとか言うやつは、osインストールやった事無いだろ
0111デフォルトの名無しさん
2011/04/11(月) 13:12:35.07同じ構成のインスタンス借りてるんだろ?
ならコンパイルした結果を丸ごともってきゃいいじゃねぇか
0112デフォルトの名無しさん
2011/05/10(火) 20:00:37.36checkinstallでrpm化してもいいし。
最近のcheckinstallがどうも不具合ぶくみだが、、
0114天使 ◆uL5esZLBSE
2011/07/04(月) 11:22:19.64そんな言語使ってる奴ってどうみてもゴミだと思うんだけど
もしかして「;」これ打ち忘れてコンパイルエラー出すのが楽しいの?
そうか、二度と話かけんなよ
ゴミが口を開くな
0115天使 ◆uL5esZLBSE
2011/07/06(水) 07:44:35.82そんな言語使ってる奴ってどうみてもゴミだと思うんだけど
もしかして「;」これ打ち忘れてコンパイルエラー出すのが楽しいの?
そうか、二度と話かけんなよ
ゴミグラマじゃねーか
0116デフォルトの名無しさん
2011/11/30(水) 00:33:25.950117デフォルトの名無しさん
2011/11/30(水) 06:17:52.470118デフォルトの名無しさん
2011/11/30(水) 21:44:56.56eofにも到達しない場合、erlangでどうやって書いたらいいんだろう。
file:read(IoDevice, Number)だとNumber分だけ文字が入力されるまで待ってしまうわけで、
つまりシステムコールとしてのread(2)に近い動作をしてほしい。
流石に1文字づつ読みに行くみたいな頭悪いことしたくないし、Cとかで書いてラップするのが安定?
0119デフォルトの名無しさん
2011/12/12(月) 17:39:24.26文字列の処理が楽だから、プログラムの翻訳機がかなり作りやすい。
で、他にもっと使いやすい言語ある?
■ このスレッドは過去ログ倉庫に格納されています