問題タブ [ocaml]

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.

0 投票する
6 に答える
5137 参照

emacs - Lisp以外の言語でEmacs拡張機能を書く

既存のアプリケーション (OCaml で作成) を使用して、Emacs の「インターフェイス」を作成したいと考えています (たとえば、Emacs GDB モードなど)。大量の Lisp コードを書かずにこれを行うことを好みます。MVC の用語で言えば、View は Emacs である必要がありますが、Model と Controller は (主に) OCaml のままである必要があります。

Lisp 以外の言語で Emacs の拡張機能を書く方法を知っている人はいますか? これは、他の言語での Emacs 拡張 API へのバインディングの形をとるか (たとえば、OCaml をファーストクラスの Emacs 拡張言語にする)、またはたとえば、拡張が書き込み可能なパイプを持つ Emacs インタラクション モードのいずれかを取ることができます。 Emacs Lisp 式と結果値の読み取り。

0 投票する
2 に答える
8346 参照

parsing - yacc/ocamlyacc での reduce/reduce 競合の解決

演算子なしの関数適用 (Ocaml や Haskell など) と、2 項演算子と単項演算子の通常の組み合わせをサポートする ocamlyacc (通常の yacc とほぼ同じ) で文法を解析しようとしています。減算と否定の両方に使用できる「-」演算子との削減/削減の競合が発生しています。ここに私が使用している文法のサンプルがあります:

問題は、"a - b" のような式を取得した場合、パーサーはこれを "a (-b)" (b の否定、その後に適用) と縮小するか、"a - b" (減算)。減算削減は正しいです。そのルールを優先して競合を解決するにはどうすればよいですか?

0 投票する
3 に答える
3514 参照

ocaml - OCaml で循環依存関係を処理する

私は実験的な言語のインタプリタを書いています。言語の主な構成要素の 3 つは、定義、ステートメント、および式です。定義にはステートメントと式を含めることができ、ステートメントには定義と式を含めることができ、1 種類の式にステートメントを含めることができます。パターン マッチングを簡単に使用できるように、ユニオン型を使用してこれらすべてを表します。理想的には、これらのコードを別のファイルに配置したいと考えていますが、OMake は循環依存の問題について不平を言っています。私の知る限り、モジュール間の循環型定義は許可されていません。

これを解決するために私が知っている唯一の方法は、3 つの型すべてを一度に定義することです。

これには、型のすべてのコードが同じファイルにある必要があるようです。これを回避する方法はありますか?コード内の循環定義をどのように処理しますか?

0 投票する
2 に答える
858 参照

linux - GODI インストールの問題

Linux(Ubuntu)にGODIをインストールしようとしています。ocaml 言語のライブラリ管理ツールです。私は実際にこれを以前に2回インストールしましたが、少し前に問題はありませんでした-覚えている限りですが、今回は何が足りないのかわかりません.

適切なディレクトリをパスに追加したところ、それらはクイックecho $pathで表示され、次のgodi_confdirように報告されました。

(...そしてディレクトリが存在し、godi.confファイルが存在します)。だから、なぜ./bootstrap_stage2うまくいかないのか分かりません。

0 投票する
4 に答える
3127 参照

c# - C#でパラメータ化された列挙型を表す最良の方法は?

パラメータ化された列挙型を表す良い解決策はありますC# 3.0か? OCamlHaxeのようなものを探しています。今のところ、簡単に切り替えられるように単純な列挙型フィールドを持つクラス階層しか考えられませんが、もっと良いアイデアがあるのではないでしょうか?

以下の返信の 1 つである Ocaml の例を参照してください。Haxe コードは次のとおりです。

0 投票する
11 に答える
14876 参照

linux - OCAML IDEをご存知ですか?

OCAML / CAML IDEをご存知ですか?特にLinux上で動作するものは?

0 投票する
3 に答える
524 参照

ocaml - これは、OCaml の 2 次ベジエ関数の妥当な実装ですか?

ある友人が、コードベースで、スイッチ テーブルの巨大なラット ネストを使用して計算を実行する 2 次ベジエ曲線関数に出くわしました。彼は私に、巨大なコード ブロックを置き換えることができる短い式を 1 つ見つけるように要求しました。

2 つの異なる好奇心を満たすために、この関数を OCaml で実装してみようと思いました。私は非常に初心者の OCaml プログラマーであり、関数にも慣れていないため、この特定の実装を Google 経由で入手するのは困難です。

関数のパフォーマンス/正確性とその実装の両方に対する批評は非常に高く評価されます。

二次ベジエ曲線の実装:

0 投票する
5 に答える
10004 参照

ocaml - OCamlでスタックトレースを取得するにはどうすればよいですか?

Objective Caml言語は、スタックトレースを適切に要求した場合にのみ生成されます。バイトコードとネイティブコードの両方の要件は何ですか?

0 投票する
4 に答える
27841 参照

f# - F# を OCaml に変更

F# は OCaml から派生していますが、欠けている、または追加されている主な項目は何ですか? 具体的には、OCaml を学習するために利用できるリソースが、F# を学習したい人にも役立つかどうかについて興味があります。

0 投票する
4 に答える
3299 参照

functional-programming - Ruby、Lisp、Haskell、Erlang から Ocaml に移行

Ocaml の一貫した速度、迅速なプロトタイピング機能、および優れたメモリ管理について読んでいて、それを取り上げることにしました。

私はすでに Ruby、*lisp、Haskell、および Erlang を習得しているので、Ocaml で注目すべき KISS に違反する機能に特に関心があります。

上記の言語のバックグラウンドを持って Ocaml を始めた場合、理解するのに最もイライラしたことは何でしたか? この困難をどのように回避しましたか?言語の流れを理解するのにどのような類推が役立ちましたか?

また、あなたが単に Ocaml を学習しただけでなく、コーディングの問題の大部分を実際に Ocaml に変換したかどうかも知りたいです。