問題タブ [ocamlbuild]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
compiler-errors - OCaml 警告 31、compiler-libs、および ppx
アプリケーションを OCaml 4.02.3 から 4.03.0 に移植しています。
に次のものがあるとしますlexer.ml
。
次のように実行しようとしています。
しかし、次のエラーが発生します。
compiler-libs
モジュールも呼び出されていることを理解していますがLexer
、それは私のレクサーと衝突します:
コンパイラ ライブラリをリンクしようとしているわけではありません。で使用されていることは理解していますが
ppx_sexp_conv
、これはプリプロセッサであるため、コンパイラ ライブラリをアプリにリンクする必要はありません。警告 31 は単なる警告であり、回避策として明示的に無視しようとしています (
-w @a-4-31
) が、うまくいきません。以前は 4.02.3 で動作していました。
ocaml - Jane Street の Core を Reason で使用するには?
OCaml は初めてで、(:P) Facebook Reason 構文を試しています。Core モジュール (既に opam でインストールされている) が見つからない場合、これをコンパイルする方法が見つかりません。
Real World OCaml からサンプル プログラムをコンパイルしようとしています。
これは、コンパイルに使用しているコマンドです: rebuild accum.native
.
これを入れたら( https://janestreet.github.io/installation.html_tags
の指示から)
エラーは変わりますが、どうすればよいかわかりません:
Core を Reason で使用するにはどうすればよいですか?
構文の採用は非常に簡単で、私は数時間しか読んでいませんが、OCaml 以外のユーザーが Reason を使用する方法についてのドキュメントはありません。
ocaml - Oasis findlibParent の目的を理解する
現在、Oasis を使用して OCaml ファイルのビルドを処理するプロジェクトに取り組んでいます。それはうまくいきます。findlibParent
ただし、ライブラリ定義で実際に何をしているのか混乱しています。
ドキュメントは指定します
FindlibParent: 現在のライブラリを含むライブラリ。現在のライブラリはその親として構築され、それに沿ってインストールされます。
私built as its parents
が何かを参照する途中で、どのような意味を持つのか理解できません。これは、定義にあるモジュールライブラリがfindlibParent: X
あり、モジュールの名前がY
である場合、のように参照する必要があるということopen X.Y
ですか?
これが明らかである場合は申し訳ありません - 言葉遣いは私にとって非常に紛らわしいです。
ありがとうございました!
ocaml - 内部モジュールの OASIS "Selective" Unbound モジュール エラー
Oasis を使用して小さな OCaml [4.03.0+flambda] プロジェクトをコンパイルしようとしています。4 つのモジュールがあり、3 つが Modules フィールドで宣言され、1 つが InternalModules を使用しています。私の _oasis 構成ファイルはそこにあります。
内部モジュールは Infix という名前で、オプション タイプを処理するための便利な中置演算子を集めたサブモジュール Option が含まれています。ここで入手できるコードの現在の github バージョンでは、すべてが正常に機能し、プロジェクトをビルドできます。とにかく、ソースファイルagent.mlに「open Infix.Option」という行を追加すると、次のようになります
次のエラーが表示されます
特に、現在のソース ファイル page.ml が同じオープンを実行し、問題やエラーなしで Infix.Open 演算子を使用しているため、これは予想外です。何が起こっているのか、なぜ agent.ml と page.ml が oasis によって異なる扱いを受けているのだろうか...
ocaml - OCaml: 複数レベルの src フォルダーで Oasis を使用する
プロジェクトをコンパイルするために使用しようとしていますoasis
が、プロジェクトは次のように編成されています。
では、モジュール(つまり、 )plugin_a.ml
を指すことに注意してください。type.ml
open Type
プロジェクトをコンパイルするために使用oasis
すると、次のように報告されます。
これが私の_oasis
ファイルの簡略版です:
私はここで何か悪いことをしていますか? または、私がやっていることは、このようなプロジェクトを編成するためのベストプラクティスではありませんか?