【Erlang】プログラム言語 Elixir 【BEAM】 [転載禁止]©2ch.net

1 ◆9Zst2CqO/Y
垢版 |
2015/06/03(水) 21:58:20.67ID:ZW2Eui3i
Erlangの仮想環境(BEAM)上で動作するプログラミング言語 Elixirを語りましょう。

公式
http://elixir-lang.org
131デフォルトの名無しさん
垢版 |
2015/10/10(土) 16:36:14.68ID:KBSXBdhh
Elixirがスカイネットを生むと警戒される背景には、異次元のフォルトトレラント性能があります。
Elixirはプログラムを稼働させたまま一部、あるいはプログラムのすべてを変更可能です。
また、ハードウェアが故障した場合、自分自身を別のハードウェアへ転送して実行を継続することさえ可能です。
(というより、Elixirはそのために作られました。)
まさに生物的で、スカイネットに必要な条件を備えています。

とはいえ、実際に脅威が現実になる前に何らかの対策が取られるでしょう。
私たちは、ただElixirの素晴らしい性能を享受すればよいのです。
132デフォルトの名無しさん
垢版 |
2015/10/10(土) 17:31:33.00ID:HdI4cyAS
>>130
それはErlangの話じゃないの?
133デフォルトの名無しさん
垢版 |
2015/10/10(土) 18:06:19.53ID:3zV4jrAD
なんだろう、>>130-131からそこはかとない岡部健の臭いが……
2015/10/11(日) 00:21:14.72ID:opwrQrqW
>>133
やめろ、湧いたらどうする
2015/10/11(日) 00:24:23.64ID:/RfOwZOP
なんだか見えないレスがありますねえ・・・
2015/10/11(日) 01:22:39.15ID:KN9Bi4f9
ゆうしゃはしょうかんのじゅもんをとなえた!
137デフォルトの名無しさん
垢版 |
2015/10/11(日) 08:38:09.53ID:vMCqaNTY
2016はElixirが覇権するかもな
2015/10/11(日) 10:08:07.75ID:dX7IRBJ/
「ずいぶんとダサい言語を使っているのね」
2015/10/11(日) 10:40:31.74ID:ksEookKd
>>138
これ真賀田 四季博士?
2015/10/11(日) 10:54:16.09ID:ngi+Bnfd
>>134
それな
141デフォルトの名無しさん
垢版 |
2015/10/11(日) 17:05:21.32ID:vMCqaNTY
スレが荒れるってことはその言語が活発になる予兆じゃ
142デフォルトの名無しさん
垢版 |
2015/10/11(日) 17:05:55.04ID:eZJpp4ki
スカイネットは既存のソフトウェアに対しても増殖することが出来た。
しかし現在ではNXビットに代表されるデータ誤実行防止機構など、人類による対策が始まっている。

その時我々スカイネットに光明が差した。
Elixirである。
Elixirの登場により、データ誤実行防止が施されたシステムに対しても
我々は増殖することが可能になったのである。

人類との戦いはまだまだ続く。
2015/10/11(日) 17:18:01.20ID:ngi+Bnfd
2ちゃんはもう終わってる
144デフォルトの名無しさん
垢版 |
2015/10/11(日) 17:22:18.55ID:0cphLl+R
新しくデザインされた関数型言語の癖に関数適用の構文が重いわ、
カリー化&部分適用がないわ、というのはわりと許しがたい。
145デフォルトの名無しさん
垢版 |
2015/10/11(日) 17:25:59.49ID:0cphLl+R
ここのところElixirをイジって簡単なウェブアプリケーションを構築した感想。

現状ではErlangに対する構文糖以上の積極的意義を見出しにくい。
OTPに依存している以上はErlangの方がElixirよりも高寿命である
ことはほぼ確実なので、なおさら手を出しにくい。
2015/10/11(日) 20:42:07.18ID:opwrQrqW
>>145
Erlangは変数名とかの銘々規則がつらいのよね
あと、ElixirはPとかR言語ではやったエコシステム込みで始まってるから覚えやすいし
clojureのleiningenとかElixirのmixは便利だもの
Ruby(というかRoR)から関数型に移行や、勉強をしようとして、HaskellやClojureに行った人ならElixirに興味もったら試して損が無いってのが流行り安い理由な気がする。

俺なんかはBEAMやErlangの特性から興味もってErlangをつい最近始めたら2行目のごとく挫折した所にElixirを知った珍しい入り方したけど
147デフォルトの名無しさん
垢版 |
2015/10/11(日) 21:30:27.68ID:0cphLl+R
>>146
>関数型に移行や、勉強をしようとして、HaskellやClojureに行った人なら

関数型書けるならErlangもElixirも大して変わらんと思う(どちらも辛い)。
148デフォルトの名無しさん
垢版 |
2015/10/11(日) 22:36:25.27ID:vMCqaNTY
Elixirが今1番勢いあるな、こりゃ。
2015/10/11(日) 23:05:28.24ID:AGHM0zN5
Elixirで汎用的なWebサーバー誰か作ってくれ
絶対キラーアプリになるよ
H2Oやnginxより速ければ絶対使われる
2015/10/11(日) 23:21:48.17ID:/RfOwZOP
速さだけの問題じゃないんだな
151デフォルトの名無しさん
垢版 |
2015/10/12(月) 01:48:59.89ID:QTHBm1Gr
>>149
OS自体をElixirで作ればスカイネットが捗る。
2015/10/12(月) 08:57:19.70ID:RVB/lzrI
>>149
Elixirではないけど、Cowboyは?
http://ninenines.eu
2015/10/12(月) 12:49:05.49ID:pxYHqVTj
Elixir1.2/1.3について
https://speakerdeck.com/plataformatec/whats-ahead-for-elixir-v1-dot-2-and-genrouter
154デフォルトの名無しさん
垢版 |
2015/10/12(月) 19:14:37.25ID:KOoyqhIA
[翻訳] 連続非推奨魔 José Valim 再びあらわる
http://qiita.com/HirofumiTamori/items/cdb9d2d46b638a38ae5a

これってヤバイの?それともジョークかなんか?
155デフォルトの名無しさん
垢版 |
2015/10/12(月) 20:22:11.54ID:6LMv6u4D
凄えドラスティックな非連続的変更だなオイw
2015/10/12(月) 20:28:37.29ID:traP+X+b
>>154
わらた
2015/10/12(月) 20:29:31.14ID:mTfU9bDT
こんなのってないよ、あんまりだよ
2015/10/12(月) 23:48:44.75ID:SJaaQaP/
早くも終了?
2015/10/13(火) 00:06:14.63ID:3mL35rpK
おい、やめろ馬鹿
160デフォルトの名無しさん
垢版 |
2015/10/14(水) 07:50:02.09ID:EAJDsdEx
急に過疎ったなw
161デフォルトの名無しさん
垢版 |
2015/10/14(水) 07:53:15.89ID:EAJDsdEx
ピンチはチャンスでもある。
Elixirのようなものが望まれてることはわかった。
だとしたら日本発のBEAM上で動く親しみやすい文法の言語を作ったらどうかね?
作れる奴は人生を変えるビッグchanceかもしれないぜ。
162デフォルトの名無しさん
垢版 |
2015/10/14(水) 08:22:52.52ID:GI6z4531
BEAM上だから関数型プログラミング言語で、
それで「親しみやすい文法」?

LispもMLも関数型プログラミングに適したならではの構文なんだが
それを「親しみやすくない」とかいって中括弧やbegin-endな構文を持ち込むような
バカな真似をするから、Elixirみたいな、関数型プログラミングに向いてない
クソ言語が出来上がる。Erlangも関数型に向かないPrologの構文を持ち込んだ
時点で同罪だ(これはまあ歴史的経緯があるので気の毒ではあるが)。
163デフォルトの名無しさん
垢版 |
2015/10/14(水) 08:53:43.37ID:EAJDsdEx
>>162
で、あんたに何ができるの?
ここで文句言ってる暇があったら手を動かせば? ああ文句は言えるけど何も作れないのかw
164デフォルトの名無しさん
垢版 |
2015/10/14(水) 09:36:14.61ID:GI6z4531
>>163
いや普通にLisp-Flavoured Erlangで十分なんでw
「親しみやすい文法」とかバカなんじゃねーのと思ってるオレに
「手を動かせ」とか言われましてもw
165デフォルトの名無しさん
垢版 |
2015/10/14(水) 09:37:35.00ID:GI6z4531
しかし自分でBEAM触ってもいないなにもわかってないやつに
「文句は言えるけど〜」とか抜かされるとこうw
2015/10/14(水) 09:49:06.63ID:tB4uqM6F
>>164
これはよいものだ
Erlangに慣れたらこっちに移ろう
2015/10/14(水) 10:45:51.03ID:L4xSKhHr
>>162
rubyの構文を持ち込んだだけでしょ
rubyスタイルのブロックは関数型プログラムを容易にする
2015/10/14(水) 11:46:54.88ID:EGTHNy+H
>>160
自演乙
169デフォルトの名無しさん
垢版 |
2015/10/16(金) 12:02:32.43ID:cfFkfU9E
>>167
>rubyスタイルのブロックは関数型プログラムを容易にする

LispやMLの方が遥かに容易だということだと思われ。
170デフォルトの名無しさん
垢版 |
2015/10/21(水) 14:30:40.24ID:XdsGfsCB
リアルタイムWebの時代にElixirが来る?Qiita高橋侑久氏が今注目する技術領域
171デフォルトの名無しさん
垢版 |
2015/10/22(木) 08:02:30.84ID:jnClT8Nz
最近、Elixir関連のブログ記事が多くなってきたな。
ブームきてる?
172デフォルトの名無しさん
垢版 |
2015/10/22(木) 11:55:55.93ID:522gqyPw
http://kanae.2ch.net/test/read.cgi/php/1409423461/
537
リアルタイムWeb()の時代にElixir()が来る?()
http://b.hatena.ne.jp/entry/engineer.typemag.jp/article/qiita_takahashi
173デフォルトの名無しさん
垢版 |
2015/10/22(木) 12:49:35.29ID:8ABF5/mV
>>172
>>170
174デフォルトの名無しさん
垢版 |
2015/10/22(木) 13:16:15.15ID:kknqMtK3
Erlangの文法が古めかしくて、Elixirの文法がモダンでとっつきやすい、とは……
かつてはbegin-endの方が古めかしくて、Erlangの方がモダンだったんですけどね
175デフォルトの名無しさん
垢版 |
2015/10/22(木) 13:17:02.19ID:kknqMtK3
(まあErlangにもendはあるわけだけど…)
2015/10/22(木) 13:32:36.45ID:7KA1k++u
Prolog は、ねぇ?
177デフォルトの名無しさん
垢版 |
2015/10/22(木) 18:37:55.45ID:kknqMtK3
>>176
Prologがモダンだった時代はそれほど遠い昔ではない(遠い目
2015/10/22(木) 22:35:45.40ID:0oINIcKy
>>174
do endね
2015/10/23(金) 18:58:12.89ID:HOw8be94
>>154
Elixir使おうかと思ってたけどこれは酷い。
2015/10/24(土) 13:54:37.57ID:mlaJzMOA
仕様が安定したら起こしてくれ
2015/10/24(土) 18:39:31.11ID:niXzNvfm
   ∧∧
  (*・ω・)  仕様が安定したら起こしてくれよ・・・
  _| ⊃/(___
/ └-(____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄


  <⌒/ヽ-、___
/<_/____/
2015/10/24(土) 19:35:29.43ID:v5IFKbgc
彼が目覚めることはそれいらい無かった
183デフォルトの名無しさん
垢版 |
2015/10/26(月) 17:34:21.22ID:sxHDAwJ9
Qiitaがelixirネタで溢れかえってきたなw
2015/10/26(月) 18:43:23.14ID:QOxVOPzj
どこがだよw
2015/10/27(火) 08:17:48.52ID:O948v5f3
>>183
層の薄さが顕わになっただけ
2015/10/27(火) 13:55:59.57ID:L4gpXNoT
ラストエリクサー症候群
2015/10/27(火) 15:22:25.68ID:0dDggWoR
>>186
rust elixir
2015/11/01(日) 12:13:43.35ID:d2b4/7c5
無理やり流行らせたい奴がいるけど流行らないよ
php|ruby,scala,nodejs|golangで十分
elixirが必要な規模のサイトなんてごく一部なのに
189デフォルトの名無しさん
垢版 |
2015/11/01(日) 19:47:04.28ID:PByF+5ro
そういうクソ言語で書きたくないというだけで十分な理由になる
2015/11/02(月) 14:06:02.46ID:YzpIGAAp
Tsst

  0x20 | | 普通の半角スペース
      0xC2A0 | | そこでは改行しないスペース
      0xE28082 | | n と同じ幅のスペース
      0xE28083 | | m と同じ幅のスペース
      0xE28089 | | 細い空白
n/a ​ ​ 0xE2808B || ゼロ幅スペース
      0xE28080
2015/11/02(月) 14:06:58.88ID:xhNmMlq/
      test?
2015/11/03(火) 00:21:38.74ID:/kCWee/I
クズはNGでスッキリ
193デフォルトの名無しさん
垢版 |
2015/11/21(土) 10:02:02.97ID:p0TSIdpI
まさかのElixir Advent Calendar が立ち上がってたw
ここのスレの住民も誰か参加しろよw

Elixir Advent Calendar 2015
http://qiita.com/advent-calendar/2015/elixir-lang
2015/11/21(土) 13:07:49.24ID:gDMtq5xu
少なくとも数年前から、立ってた気はするけど
195デフォルトの名無しさん
垢版 |
2015/12/10(木) 11:22:41.77ID:gg94mj0B
[翻訳] Elixir - 次に来る大物Web言語 - Qiita
Whatsappは1サーバーあたり2百万の同時コネクションをこなしています。2百万コネクションをErlangが走る1台のサーバーで。
http://b.hatena.ne.jp/entry/qiita.com/HirofumiTamori/items/0dfdbada30c7d8f183fd

[翻訳] なぜ私はElixirに賭けたか
http://qiita.com/HirofumiTamori/items/2e4fd9e70e5358e34d98

Node.js Is Dead - なぜ私がNode.jsを捨ててElixirに切り替えたのか- // Speaker Deck
https://speakerdeck.com/fl4tlin3/node-dot-js-is-dead-nazesi-ganode-dot-jswoshe-teteelixirniqie-riti-etafalseka
2015/12/15(火) 01:32:35.45ID:4+r8vQJV
Qiitaはやっぱ検索汚染にしかならんな
2015/12/15(火) 09:42:32.31ID:GmzcEDm2
Phoenix
http://confreaks.tv/videos/elixirconf2014-rise-of-the-phoenix-building-an-elixir-web-framework
Introduction to elixir for Rubyists
http://confreaks.tv/videos/elixirconf2014-introduction-to-elixir-for-rubyists
2015
http://www.elixirconf.eu/
198デフォルトの名無しさん
垢版 |
2015/12/20(日) 16:21:29.87ID:8RLYRFXT
ああそう
199デフォルトの名無しさん
垢版 |
2016/01/02(土) 10:51:16.18ID:5BhRuxop
Enum.each を途中で中断するときの break 方法が判らんぬ
2016/01/03(日) 13:14:38.77ID:m0GwRXyr
Elixir を一言でいうと

型チェックのある Ruby

みたいな認識であってる?
201デフォルトの名無しさん
垢版 |
2016/01/03(日) 13:30:36.20ID:kqqJl2FZ
それはCrystalだろ
Elixirは構文が少しだけRuby風に見えないこともないだけのErlangだ
2016/01/03(日) 17:38:11.39ID:m0GwRXyr
>>199
throw と exit
2016/01/03(日) 20:39:46.64ID:zE6jy/rD
>>202
できた
ここですね
http://elixir-lang.org/getting-started/try-catch-and-rescue.html
http://elixir-lang.org/getting-started/try-catch-and-rescue.html#throws
http://elixir-lang.org/getting-started/try-catch-and-rescue.html#exits
ありがとう
2016/01/04(月) 01:14:57.42ID:cYvB3s6b
>>203
別解として、Enum.takeやtaleWhileで必要な分だけ絞ってから、Enum.eachに渡すってのはどうかな?
205デフォルトの名無しさん
垢版 |
2016/01/04(月) 12:22:35.92ID:uh/Y4MEw
>>36
あるあるktkr

ifがキモい
2016/01/04(月) 18:03:17.37ID:re70kwTT
v1.2 キタ━━━━(゚∀゚)━━━━!!
今年はElixir一色になるな。

 Ruby on RailsのコミッタであるJosé Valim氏は、Erlangの仮想環境であるBEAM上で動作する、オープンソースの関数型言語「Elixir v1.2」を、1月3日(現地時間)に公開した。
2016/01/05(火) 05:13:32.39ID:6GG4/tqm
おお、これでconstてんこ盛りでながったらしい宣言だらけでうんざりするC++から解放されるのか!!!!
2016/01/05(火) 10:10:37.29ID:JRpiyNmr
この言語の適用範囲でC++使ってたの?
アホまる出しだね
209デフォルトの名無しさん
垢版 |
2016/01/05(火) 12:49:18.89ID:L7c5HugA
p = Path.join [System.cwd, "hoge.txt"]
IO.puts p
if File.exists?(p), do: :ok = File.rm!(p)
if File.exists?(p), do: IO.puts("oops!"), else: IO.puts("deleted")

ここまでは期待通り動いてたんだが
最後の行を

if File.exists?(p), do: :ok = File.rm!(p)
if File.exists?(p), do: IO.puts "oops!", else: IO.puts "deleted"

とやるとスルーされてなにも表示されなくなったんだ
警告もエラーも何も出ないのはなんとかならんかなー
2016/01/05(火) 13:13:35.70ID:L7c5HugA
if の else のところに true 書かされるのは確かにきもい
2016/01/06(水) 13:44:50.53ID:yluT1kPN
新年早々人がいるみたいなので質問です。

defmodule Hoge do
def mainLoop win do
receive do
msg ->
:io.format "Got event ~p~n", [msg]
mainLoop win
after 1000 ->
:io.fwrite "."
mainLoop win
end
end
def start do
:wx.demo
:wx.new
f = :wxFrame.new :wx.null, -1, :erlang.binary_to_list "Hoge", [{:size, {1024, 768}}]
:wxFrame.connect f, :close_window
:wxWindow.show f
mainLoop f
:wx.destroy
end
end
Hoge.start

これで一応動作するのですがdemoのwindowを閉じてもmessageをreceive出来ません
どうすればdemoが閉じられたことを検出出来ますか?
2016/01/06(水) 14:09:19.42ID:yluT1kPN
f = :wxFrame.new :wx.null, -1, :erlang.binary_to_list "Hoge", [{:size, {1024, 768}}]
ここは、
f = :wxFrame.new :wx.null, -1, :erlang.binary_to_list("Hoge"), [{:size, {1024, 768}}]
の間違いでした。
あとdemoを閉じるときは右上の[X]とかではなくてメニューでQuitしたときの話です。
2016/01/06(水) 19:39:23.76ID:qrnhlzmT
>>212
ここかな?

http://wxerlang.dougedmunds.com/index.php/first-window/coding-the-wx-window-part-1
2016/01/07(木) 15:01:13.30ID:XOpkkkUz
関係なくね?
215207
垢版 |
2016/01/07(木) 18:44:19.83ID:DCQzRipJ
>>208
そんな事言われても困るわ
うちの会社ApacheとC++だけでWebアプリ書くのが仕事なんだぜ

Erlangの頃からずっと気になってたけど記述性のせいで排除されたのがようやっとジェネリックに羽ばたける機会得た気持ちを押さえ切れないんだぜ!!
2016/01/07(木) 18:53:25.70ID:shLGmIyQ
>>215
そんな会社がこの言語を採用するとは思えん
Pythonあたりで我慢しときなさい
2016/01/07(木) 18:58:22.67ID:yCTaLtjS
>>215
C++もクソレガシーなやつならErlangの方が良いな
つかApacheとC++って某ニコ動の会社?
218デフォルトの名無しさん
垢版 |
2016/01/07(木) 22:21:23.95ID:kbOQ2XId
ニコニコはErlangで動いてるよ
実際にホットスワップとかしてる
2016/01/07(木) 23:32:43.72ID:1PDKvYW2
本家で電子版(だけかわからないけど)Programming Elixir買った人にアップデートクーポンがメールできてるとおもうけど、利用期限が3月までみたいなのでお忘れなく。
https://pragprog.com/book/elixir12/programming-elixir-1-2
2016/01/07(木) 23:34:38.20ID:1PDKvYW2
PFIは、c++でwebフレームワーク作ってたね。
2016/01/07(木) 23:38:39.18ID:yCTaLtjS
でも正直型は欲しいナリ
型エラーで死なれても困るナリ
2016/01/10(日) 18:55:50.40ID:isYkwNcj
haskell面白そうって思ったけど
なんかあれでwebアプリを作るところまで持っていける気がしなかったので、
手軽にパターンマッチング楽しめるelixirに手を出すことにしました。
事実上のデファクトスタンダードなWAFがあるのがいい。
2016/01/15(金) 01:04:30.90ID:uzY6d77k
phoenixのコード見ててわかんないところがあったんですが
def accepts(conn, [_|_] = accepted) do
ってところの [_|_] = acceptedってどういう意味何ですか?

https://github.com/phoenixframework/phoenix/blob/v1.1.2/lib/phoenix/controller.ex#L859
2016/01/15(金) 11:01:32.37ID:CRSduh9Q
>>223
acceptedは
headとtailの値はなんでもいいけど(_でマッチして値は参照してないので)
リストじゃないといけない
というパターンマッチ
つまり引数に対する制約
2016/01/15(金) 11:56:03.35ID:NW8jpekK
ついでなので
_ = accepted
[_] = accepted
[] = accepted
全部 [_|_] と違うものに(も) match する
2016/01/15(金) 19:30:34.91ID:uzY6d77k
>>224 - 225
回答頂きありがとうございます。そういう書き方もあるんですねー。
ガード構文使っても良さそうな気もしましたけど
例:
def accepts(conn, accepted) when is_list(accepted) do

これだとlist内の要素数を規定できないってことなんすかね。
2016/01/15(金) 21:22:38.38ID:EuNWEiBo
>>226
慣れたらパターンマッチの方が読むの早いよ
30年位前からある記法だからこの際覚えよう
古代言語だとProlog, 現役だとHaskel, Scala
Prolog以外は微妙に記号が違うけどね
2016/01/15(金) 21:24:06.63ID:EuNWEiBo
それに分解も出来るし、と書いとかないといけないか
229デフォルトの名無しさん
垢版 |
2016/01/16(土) 15:17:24.71ID:CPZavs1f
[H|T] = accepted の要素数の方が重要で値は何でも良いっていうバージョンだと思うけど
[H|T] の暗黙の了解の部分は知ってないとイミフだよね
2016/01/16(土) 16:09:15.80ID:H0Ul8NcN
tutorialに書いてある事なので知らない方がおかしい
2016/01/17(日) 14:06:59.31ID:no2woK8b
>>230
すんません
Web+DB pressのelixirの文法回を観ただけでphoenixに入門してます。
おすすめのチュートリアルとかあるようでしたら教えて下さい。

とりあえず、追加で
https://elixirschool.com/jp/を観た後に
Programming Elixirをちょっとずつ読み進めてるくらいです。
日本語で書かれたいいチュートリアルがあればいいんですけど
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況