問題タブ [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 投票する
3 に答える
2644 参照

emacs - Emacs for OCamlをダウンロードしてインストールする方法は?

この質問をするのが遅れているように感じますが、私はしばらくの間壁に頭をぶつけてきました...

このディレクトリは、emacsを入手するためのWebサイトhttp://ftp.gnu.org/pub/gnu/emacs/によってリンクされています。どのファイルが欲しいですか?ダウンロードemacs-23.1.tar.gzして解凍しましたが、どうしたらいいかわかりません。実行するファイルが見つかりません。

(私はVistaを実行しています。)

そして、OCamlでトゥアレグモードを使いたいです。ヘルプ?

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

module - OCaml: モジュールの設定

OCaml を使用して一連のデータを生成し、それらを比較したいと考えています。Set.OrderType、 などのモジュール タイプのドキュメントを見たSet.Makeことがありますが、セットを初期化する方法やそれらを使用する方法がわかりません。

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

sqlite - 「cma ファイルはバイトコード オブジェクト ファイルではありません」 => どういう意味ですか?

o'caml プログラムから sqlite データベースにアクセスするために、ocaml-sqlite3 バインディングをインストールしようとしています。

configure と make はスムーズに進みますが、インストールは失敗します。ファイル sqlite3.cma はバイトコード オブジェクト ファイルではないためです (以下を参照)。

その一般的な理由は何ですか?この特定の lib でそれを経験しましたか? ソースからコンパイルされた ocaml v 3.11.1 を実行しています。

編集: ファイルは ocamlfind によって提供されているようですが、問題は 64 環境を使用していることが原因である可能性があります。

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

mysql - OCamlのデータベースバインディング?

OCamlプログラムからデータベースにアクセスするためのライブラリを見つけようとしています。ocaml-sqliteを試した後、少し遅いので満足できません。

MySQLモジュールを見たことがありますが、メンテナンスされていないようです。

0 投票する
18 に答える
1598 参照

python - このデータベース要約タスクを高速に実行するには、どの言語を使用できますか?

そこで、私は小さなデータ処理タスクを処理するPythonプログラムを作成しました。

これが私が望む計算の構成言語での非常に簡単な仕様です:

つまり、各行について、単語、浮動小数点数、および別の単語を解析します。それらをプレーヤーID、スコア、および日付と考えてください。各プレイヤーの上位5つのスコアと日付が必要です。データサイズは簡単ではありませんが、巨大ではありません。約630メガバイト。

同様に短く(以下のPythonのように)、はるかに高速にするために、実際に実行可能な言語をどのように記述すべきかを知りたいです。

入力データの例を次に示します。

これが私がそれから得た出力です:

、には7つの値があり、値が上位5から外れるため、との値3を削除します。値が1つしかないため、その「上位5」はその1つの値のみで構成されます。cdbb4

これは、MySQLで同じクエリを実行するよりも高速に実行されます(少なくとも、クエリを実行する方法で)が、ほとんどの時間をPythonバイトコードインタープリターに費やしていると確信しています。別の言語では、おそらく1分あたりではなく1秒あたり数十万行を処理できると思います。ですから、より高速な実装の言語で書きたいと思います。

しかし、どの言語を選ぶべきかわかりません。

これをSQLで単一のクエリとして表現する方法を理解できていません。実際 select * from foo into outfile 'bar';、入力データだけでもMySQLの機能に感心していません。

Cは当然の選択ですが、line.split()2タプルのリストの並べ替え、ハッシュテーブルの作成などでは、標準ライブラリにないコードを記述する必要があるため、14行ではなく100行以上のコードになります。

C ++の方が良い選択のようですが(標準ライブラリに文字列、マップ、ペア、およびベクトルがあります)、コードはSTLでかなり乱雑になるようです。

OCamlは問題ありませんが、同等のものがありline.split()ますか?そのマップのパフォーマンスについては悲しいですか?

Common Lispは機能するかもしれませんか?

ループを高速コードにプッシュダウンできる、このようなデータベース計算用のMatlabに相当するものはありますか?誰かがを試しましたか?

(編集:サンプルの入力および出力データを提供することでdavethegr8のコメントに応答し、Pythonプログラムのバグを修正しました!)

(追加編集:うわー、このコメントスレッドはこれまでのところ本当に素晴らしいです。ありがとう、みんな!)

編集:

2007年にsbcl-develで不気味に似た質問がありました(ありがとう、Rainer!)。awkこれは、いくつかのテストデータを生成するためのWill Hartungのスクリプトです(実際のデータのジップの分布はありませんが)。

0 投票する
1 に答える
1715 参照

ocaml - Ocaml: 現在の作業ディレクトリを設定しますか?

Windows システムで現在の作業ディレクトリを設定するにはどうすればよいですか?

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

module - OCaml: ツリー関数

木を扱うためのモジュールや関数はありますか? 次のようなタイプがあります。

サブツリーの挿入、削除などに苦労しています。

グーグルを使用しましたが、何も見つかりません。

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

c# - ファンクターと「ジェネリック」の違いは何ですか

私はOCamlのファンクターを見ています。C++//のいわゆる汎用オブジェクトとまったく同じように見えC#ますJava。今のところJavaの型の消去を無視し、C ++テンプレートの実装の詳細を無視すると(言語機能に興味があります)、ファンクターはジェネリックスとまったく同じです。私がそれを正しく理解していれば、ファンクターはあなたが提供するタイプからの新しい関数のセットをあなたに与えるので、例えば

しかし、OCamlを大まかに書き直すことができます

の中へC#

確かに、ファンクターはに影響を与えるため、わずかな違いがあります(これは、の名前空間Moduleと同様に、関数と値の定義の集まりにすぎません)。C#

しかし、それだけですか?ファンクターは単に名前空間に適用されるジェネリックですか?または、私が見逃しているファンクターとジェネリックの間に重要な違いはありますか?

ファンクターが単なる名前空間のジェネリックであるとしても、そのアプローチの重要な利点は何ですか?クラスは、ネストされたクラスを使用してアドホック名前空間として使用することもできます。

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

python - オートコンプリートのための Python 型推論

型推論の Ocaml/Haskell アルゴリズムを使用して、Python のより良い自動補完を提案することは可能ですか?

アイデアは、たとえば次の場合にオートコンプリートを提案することです。

良い出発点はありますか?

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

syntax - "match ... true -> foo | false -> bar" は Ocaml で特別な意味を持っていますか?

コードを読んでいる Ocaml プロジェクトのさまざまな場所で、次の構成要素に遭遇しました。

一見すると、通常のifステートメントのように機能します。一見すると、それは.. 通常のifステートメントのように機能します。ぱっと見、SOさんにお願いすることにしました。ifこの構文には特別な意味がありますか、それとも特定の場合に重要なステートメントとの微妙な違いがありますか?