問題タブ [combinatory-logic]

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 に答える
1328 参照

python - NLTK CCG でのラムダ計算表現

ラムダ計算機能を備えた確率的 ccg を実装しようとしています。

基本的には、次のコードを実行したい:

しかし、NLTK の既存の CCG 実装は、{sem=\x.he(x)} [1.0] 種類の語彙の意味部分をサポートしていません。

これを処理できる他の CCG 実装はありますか? または、これを NLTK 内で表現できますか?

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

haskell - ファンクションポイントをフリーにする Haskell ユーティリティ

Haskell で自由形式を指すように関数を迅速かつ正確に削減したいと考えています。かなり読みやすい結果を生成したいと思います。これについてどうすればよいですか?

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

boolean - SKIコンビネータを使用してXORを表現できますか?

SKIコンビネーターについて質問です。

XOR (exclusive or) はS andKコンビネータのみを使用して表現できますか?

私は持っている

どこ

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

haskell - SystemT コンパイラと Haskell での無限型の処理

このブログ投稿をフォローしています: http://semantic-domain.blogspot.com/2012/12/total-functional-programming-in-partial.html

これは、 System T (単純な完全関数型言語)用の小さな OCaml コンパイラ プログラムを示しています。

パイプライン全体が (Camlp4 メタプログラミングを介して) OCaml 構文を使用して、それらを OCaml AST に変換し、SystemT ラムダ計算 (参照: module Term) に変換し、最後に SystemT Combinator 計算 (参照: module Goedel) に変換します。最後のステップも OCaml メタプログラミングAst.exprタイプでラップされます。

Template Haskell を使用せずに Haskell に変換しようとしています。

SystemT Combinator フォームについては、次のように記述しました。

Composeは順合成であり、 とは異なることに注意してください(.)

SystemT ラムダ計算から SystemT コンビネータ計算Elaborate.synthへの変換中に、関数は SystemT ラムダ計算変数を一連の合成射影式 (De Brujin Indices に関連) に変換しようとします。これは、コンビネータ計算に変数/変数名がないためです。Elaborate.lookupこれは、 関数を使用する で行われQuote.findます。

問題は、コンビネータ計算を GADT としてエンコードすることTHom a bです。関数の翻訳Quote.find:

Haskellに:

無限型エラーになります。

この問題は、GADTComposeで andFstSndfromを使用するとTHom a b、型シグネチャが無限に変化する可能性があるという事実から生じます。

Ast.exprこの記事では、 OCamlを使用して基になる式をラップしているように見えるため、この問題はありません。

Haskellで解決する方法がわかりません。次のような存在量化型を使用する必要がありますか

Fixまたは、無限型の問題を適応させるためのある種の型レベル。findただし、これがor関数をどのように変更するかはわかりませんlookup