Recommended
2014 08-30 life with roslyn
running web app on elixir
Phoenixを使った案件でリリースまでに起きた問題と対応
関数型言語ElixirのIoTシステム開発への展開
ElixirをIoTボードで動かしてみた ~ラズパイ・big.LITTLE・Zynq編~
Nerves!? Elixir!?? 関数型言語でれっつIoT開発!!
Cookpad Summer Intern 2015 - Programming Paradigm
Build Dockferile with Haskell
やや関数型を意識した風Elixir/Phoenixご紹介
Debianを用いたCortex-M3マイコン開発事例のご紹介
asm.js x emscripten: The foundation of the next level Web games
解説?FSharp.Quotations.Compiler
PlaySQLAlchemy: SQLAlchemy入門
130427 kansai-emacs-github
PlaySQLAlchemyORM2017.key
More Related Content
2014 08-30 life with roslyn
running web app on elixir
Phoenixを使った案件でリリースまでに起きた問題と対応
Similar to Elixir lang bootstrap (20) 関数型言語ElixirのIoTシステム開発への展開
ElixirをIoTボードで動かしてみた ~ラズパイ・big.LITTLE・Zynq編~
Nerves!? Elixir!?? 関数型言語でれっつIoT開発!!
Cookpad Summer Intern 2015 - Programming Paradigm
Build Dockferile with Haskell
やや関数型を意識した風Elixir/Phoenixご紹介
Debianを用いたCortex-M3マイコン開発事例のご紹介
asm.js x emscripten: The foundation of the next level Web games
解説?FSharp.Quotations.Compiler
PlaySQLAlchemy: SQLAlchemy入門
130427 kansai-emacs-github
PlaySQLAlchemyORM2017.key
More from Tsunenori Oohara (17)
Elixir-Conf-Japan-2017-session-ohr486
running-elixir-in-production
Shibuya.ex #1 Elixirを本番環境で使ってみたという事例紹介
Elixir lang bootstrap4. elixir-langのインストール
$ git clone git@github.com:elixir-
lang/elixir.gitgit@github.com:elixir-lang/elixir.git
$ make clean
$ make ★今日の話
$ make test
$ make install
5. ディレクトリ構成
elixir_repo
|- Makefile
|- bin # 実行ファイル(elixir,elixirc,iex,mix)、実体はerlのシェルスクリプト
|- lib
|- elixir ★
| |- ebin # beamファイルの出力先
| |- src # コンパイラ(rebarでerlangコードをコンパイル)
| |- lib # カーネル/コアモジュール(elixircでelixirコードをコンパイル)
|- eex
|- iex
|- logger
|- mix
7. compile elixir
1. elixirコンパイラ(erlang)のコンパイル
– lib/elixir/src 以下のerlファイル,use rebar
2. コア/カーネルモジュールのコンパイル
– elixir_compilerモジュール/core関数の実行
• lib/elixir/lib 以下のコアルモジュールハンドリング
3. lib/elixir/lib/*.ex のコンパイル(elixirc)
4. Unicodeモジュールのコンパイル(elixirc)
– lib/elixir/unicode # String.Unicode module
8. compile elixir compiler
• lib/elixir/src/*.erl
– Rebarでコンパイル
– lib/elixir/ebin/elixir_xxx.beam を吐く
– Core: elixir_compiler.erl
• Behaviour
– Application
• elixir.erl
– GenServer
• elixir_config.erl
• elixir_counter.erl
• elixir_code_server.erl
– Supervisour
• elixir_sup.erl
10. compile elixir kernel
• lib/elixir/lib/*.ex, */*.ex, */*/*.ex
– elixircでコンパイル
– lib/elixir/ebin_/Elixir.XXX.beam を吐く
11. bin
• elixir/elixirc
– 実体はシェルスクリプト
– やっている事はerlコマンドの実行
• erl –s Mod Func # ModモジュールのFunc関数を実行
• iex:
– elixirモジュール,start_cli関数 を実行
– 実体はElixir.Kernel.CLI.main の実行
• mix: Mix.CLI.mainをbin/elixirで実行