5

Erlangはすでにインストールされています:

$dpkg -l|grep erlang
ii  erlang                          1:13.b.3-dfsg-2ubuntu2            Concurrent, real-time, distributed function
ii  erlang-appmon                   1:13.b.3-dfsg-2ubuntu2            Erlang/OTP application monitor
ii  erlang-asn1                     1:13.b.3-dfsg-2ubuntu2            Erlang/OTP modules for ASN.1 support
ii  erlang-base                     1:13.b.3-dfsg-2ubuntu2            Erlang/OTP virtual machine and base applica
ii  erlang-common-test              1:13.b.3-dfsg-2ubuntu2            Erlang/OTP application for automated testin
ii  erlang-debugger                 1:13.b.3-dfsg-2ubuntu2            Erlang/OTP application for debugging and te
ii  erlang-dev                      1:13.b.3-dfsg-2ubuntu2            Erlang/OTP development libraries and header
[... many more]

Erlangは機能しているようです:

$ erl
Erlang R13B03 (erts-5.7.4) [source] [64-bit] [smp:2:2] [rq:2] [async-threads:0] [hipe] [kernel-poll:false]

Eshell V5.7.4  (abort with ^G)
1> 

githubからlfeをダウンロードし、0.5.2をチェックアウトしました。

git clone http://github.com/rvirding/lfe.git
cd lfe
git checkout -b local0.5.2 e207eb2cad

$ configure
configure: command not found

$ make
mkdir -p ebin
erlc -I include -o ebin -W0 -Ddebug +debug_info src/*.erl
#erl -I -pa ebin -noshell -eval -noshell -run edoc file src/leex.erl -run init stop
#erl -I -pa ebin -noshell -eval -noshell -run edoc_run application "'Leex'" '"."' '[no_packages]'
#mv src/*.html doc/

私が逃した愚かな何かでなければなりません:o

$ sudo make install
make: *** No rule to make target `install'.  Stop.

$ erl -noshell -noinput -s lfe_boot start
{"init terminating in do_boot",{undef,[{lfe_boot,start,[]},{init,start_it,1},{init,start_em,1}]}}

Crash dump was written to: erl_crash.dump
init terminating in do_boot ()

hello worldソースファイルを作成し、コンパイルして実行する方法の例はありますか?

4

1 に答える 1

7

いいえ、あなたが逃したものは何もありません。LFE の Makefile は「不完全」であり、無視する必要があります。次のリリースで改善される予定です。必要なすべてのファイルが既にコンパイルされていることを補うために、.beam ファイルはebinディレクトリにあります。OTP の一部ではないため、そこにインストールする必要はないと思います。

これを処理する最も簡単な方法は、プライベート erlang ライブラリ ディレクトリを作成し、環境変数 ERL_LIBS をそこにポイントすることです。次に、LFE ディレクトリ全体をそこにドロップします。erlang が起動すると、コード サーバーが自動的にlfe/ebinディレクトリをパスに追加し、そこにある .beam ファイルが自動的に検出されてロードされます。これは、ebin ディレクトリを含むすべてのパッケージで機能します。これは Windows でも機能します。そう:

  1. たとえば、libsディレクトリを作成します~/erlang/lib
  2. 環境変数 ERL_LIBS を設定します。export ERL_LIBS=~/erlang/lib
  3. LFEディレクトリ全体をそこに置きます

erlang を起動すると/Users/rv/erlang/lib/lfe/ebin、コード パス ( ) に (またはどこにでも)表示されcode:get_path()ます。その後、LFE シェルを直接起動することもできます。

erl -noshell -noinput -s lfe_boot start

これを行う と がlfe将来lfe.bat的に含まれる予定です。

erlang と同様に、LFE の編集にはどのテキスト エディタでも機能します。emacs には LFE モードがありますが、これは基本的なものですが機能します。ウィンドウで LFE を実行することはまだできません。後で。これを含める最善の方法は、以下を .emacs ファイルに入れることです。

;; LFE mode.
(setq load-path (cons "/Users/rv/erlang/lib/lfe/emacs" load-path))
(require 'lfe-start)

にはいくつかのサンプル ファイルがありlfe/examples、すべて動作するはずです。lfe/test/visualサンプル ファイルとして含まれている私のテスト ファイルの束があります。通常の erlang シェルから LFE ファイルをコンパイルするには、次のようにします。

lfe_comp:file("foo").
l(foo).                 %No autloload here, do this to ensure loading

一方、LFE シェルから次のことを行います。

(c '"foo")              ;This will autoload

lfe/docs非常に正確ですが、user_guide.txt拡張する必要があるドキュメントがたくさんあります。LFE の Google グループもあります。

http://groups.google.se/group/lisp-flavoured-erlang

これにはいくつかの興味深い議論が含まれており、人々は github LFE wiki にかなり多くのことを書いています。

それくらいだと思います。さらに質問がある場合は、私に連絡してください。

于 2010-05-14T19:03:57.990 に答える