問題タブ [utop]
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.
ocaml - utop はどのトップレベル ディレクティブをサポートしていますか?
utop で使用できるトップレベル ディレクティブに関するドキュメントが見つかりません。私が見つけたのは、デフォルトの ocaml トップレベルでサポートされているこのディレクティブのリストだけですが、そのリストは utop 用に完全ではないようで#typeof
、utop で動作することがわかっている のようなものが欠落しています。
autocomplete - utop でのオートコンプリート
新規の質問で申し訳ありませんが、OCaml を使い始めたばかりで、オートコンプリートを使用する方法が見つかりませんでした。
utop で何かを入力し始めると、シェルの下部に選択肢のリストが表示されます。有効な選択肢が 1 つしかない場合は、TAB を押すと、書いている内容がオートコンプリートされます。しかし、複数の有効な選択肢があり、必要なものを見つけた場合、それを選択する方法が見つかりませんでした (書き続ける以外に)。
たとえば(インポートしたと仮定してCore.Std
)次のように入力します
最初の提案はFloat.of_float
、2 番目の提案は ですFloat.of_int
。2番目のものを選択するにはどうすればよいですか?
ocaml - ocaml : utop, is there a way to list all functions of a module?
In utop, when opening a library (via ~require ...) or when opening a module (via open Module_name), is there a way to get the content of the library or module ? utop offers this by completion tabs, but I would like to see all the functions at once.
ocaml - トップレベルのディレクティブを ml ファイルに埋め込む
トップレベルについて間違った方法で考えているかもしれません。プロジェクトの一部としてトップレベルのディレクティブのコレクションを維持するための推奨される方法は何ですか?
OCaml ソース ファイルのようなトップレベル ディレクティブを含め#install_printer
て、プログラムのコンパイル時には無視され、実行時にはトップレベルで実行されるようにする方法はありますか?
理想的には、ディレクティブ自体が無視されたとしても、プログラムのコンパイル時にディレクティブの型をチェックしたいと思います。
ocaml - stdin\file から読み取るときの OCaml 文字列の長さ制限
私が大学で受けている Compiler Principles コースの一環として、OCaml で実装されたコンパイラを作成しています。これは、Scheme コードを CISC のようなアセンブリ (単なる C マクロ) にコンパイルします。コンパイラの基本的な操作は次のとおりです。
- ファイルを読み込んでOCaml
*.scm
に変換しますstring
。 - 文字列を解析し、さまざまな分析を実行します。
- セマンティック アナライザーからの AST 出力に対してコード ジェネレーターを実行し、テキストを
*.c
ファイルに出力します。 - そのファイルを GCC でコンパイルし、ターミナルで実行します。
さて、これを除いて、すべて順調です。入力ファイルを読み込もうとしています。これは約 4000 行の長さで、基本的には Scheme if
&が混在した 1 つの巨大な式ですand
。経由でコンパイラを実行していutop
ます。入力ファイルを読み取ろうとすると、すぐにスタック オーバーフロー エラー メッセージが表示されます。ファイルが大きすぎて OCaml で処理できないというのが私の最初の推測ですが、この理論を裏付けるドキュメントを見つけることができませんでした。
助言がありますか?
emacs - utop エラー: そのようなパッケージはありません: sexplib.syntax - `core.syntax' で必要です
ここでReal World Ocamlの手順に従って emacs ocaml 環境をセットアップしようとしていますが、utop を起動するとエラーが発生します。
私が実行ocamlfind list | grep sexp
した場合: コマンドラインから:
私の初心者の目には、 sexplib.syntax が存在しないことが示唆されています。
誰もこれを修正する方法を知っていますか?