問題タブ [fay]

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 投票する
0 に答える
1163 参照

javascript - 関数型リアクティブプログラミング—フェイは十分に表現力がありますか?

だから私はかなり複雑なjavascript/htmlクライアントをやっていて、たくさんのajax呼び出しと他のコールバック主義の関与があります。私はこの目的のためにフェイを使うという考えを楽しんでいます。私はエルムを知っています。それを試してみて、FRP要素が好きでした。今、私はフェイで同様の構造が可能かどうかを知りたいと思っています。

この時点でフェイのFRPの具体例はありますか?

編集:Programmers.Stackexchangeに移行:https ://softwareengineering.stackexchange.com/questions/186102/functional-reactive-programming-is-fay-expressive-enough

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

haskell - フェイにファイル/ディレクトリを含める正しい方法は何ですか?

私は次の--includeようなオプションの後に1つのディレクトリでFayを使用してHaskellをJSにコンパイルしようとしています:

fay --include src\Tmv src\Tmv\Client\Main.hs

Tmv.SharedTypesClient\Main.hsで使用されるモジュールを定義するSharedTypes.hsファイルがsrc\Tmvにあります。次のエラーが発生します。

-vオプションは機能しません。私はパラメータのいくつかのバリエーションを試しました。絶対パス、引用符、エスケープされた(二重)円記号。
構成:fay 0.10.1.0、ghc 7.4.2(i386)、Windows 7 x64

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

haskell - Haskell fay のインストールに失敗しました

fayをインストールしようとしていますが、src のコンパイルに失敗します。

これは私のミスなのかパッケージの問題なのかわかりません。

私が使用している: arch linux、ghc-7.4.2、cabal-1.16.0.3

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

haskell - cabal は fa で問題をインストールします

実行しようとしていますcabal install fay fay-base。ただし、次のエラーが表示されます。

「一度通常の方法でインストールしてから、目的の方法でインストールする」ように求められたときに、何をするように求められているのかわかりません。

何か案は?

元の投稿:

実行しようとしていますcabal install fay fay-base。ただし、次のエラーが表示されます。

別のパッケージのインストールでこのエラーを受け取りましたが、どれがどれだったか思い出せません (ゲーム パッケージの 1 つだったと思うので、あきらめるのが簡単でした)。-lHSsplit についてグーグルで調べてみましたが、助けが見つかりませんでした。

インストールする必要がある依存関係を誰かが知っていますか?

cabal install splitこれは、Daniel Fischer の提案に従ってsplit をインストールすることで解決されました。

前もって感謝します!

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

haskell - Fay コードの永続的なモデル タイプ

私は Yesod scaffolded サイト (yesod 1.1.9.2) を使用しており、昨日数時間かけて、Yesod での Fay の基本的な使い方について頭を悩ませました。これで、Fay を使用して AJAX 機能のチャンクをページに追加するための意図したワークフローを理解できたと思います (他の誰かがステップバイステップが役立つと思うかもしれないという理由だけで、ここでは少し衒学的になります)。

  • Example aにデータ コンストラクターを追加しますSharedTypes.Command
  • の式case readFromFay Command of ...Handler.Fay.onCommand、新しいデータ コンストラクターに一致するケースを追加します。
  • fay/Home.hs をパターンにした Fay ファイル 'Example.hs' を /fay に作成します。ここのどこかで、式を使用しますcall (Example "foo") $ myFayCallback
  • 生成している Javascript を使用するページのルートとハンドラーを定義します。ハンドラーで、 を使用します$(fayFile' (ConE 'ScriptR) "Example.hs")

私の質問:現在の Yesod/Fay アーキテクチャでは、Persistent モデル タイプを Fay コードと共有するにはどうすればよいですか?

Fay ファイルでの使用import Modelが機能しません -- この Fay ファイルを使用しているページを読み込もうとすると、ブラウザーにエラーが表示されます (エラーを警告する Fay の標準的な方法だと思います)。モジュール「モデル」を見つけますが、次のディレクトリのみを検索しました。

  • projectroot/cabal-dev//share/fay-0.14.2.0/src
  • projectroot/cabal-dev/share/fay-base-0.14.2.0/src
  • projectroot/cabal-dev/share/fay-base-0.14.2.0
  • プロジェクトルート/フェイ
  • projectroot/fay-shared

また、SharedTypes.hs でモデルをインポートおよび再エクスポートしようとしましたが、同じエラーが発生しました。

これを行う方法はありますか?そうでない場合、なぜですか?(私は Haskell と Yesod の両方に比較的慣れていないので、「なぜ?」という質問への回答は非常に役に立ちます。)

編集:

この質問のタイトルで Persistent に言及すると誤解を招く可能性があることに気付きました。私がやろうとしていることをより明確にするために: 私のモデルのために Yesod が定義するのと同じデータ型を使用して、Fay コードでデータを表現できるようにしたいだけです。たとえば、このように config/models でモデルを定義すると...

... タイプの値を受け取ったり返したりする AJAX 'コマンド' を定義しFoo、Fay コードをFoos で処理できるようにしたいと考えています。私の Fay コードから Persistent のクエリ機能を直接使用することはできないことを理解しています。私は Model.hs と config/models のすべてを Persistent と頭の中で関連付けているので、タイトルで Persistent についてのみ言及しました。

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

node.js - nodejs から fay コードを要求する

nodejsのサーバー側で他の単純なjavascriptファイルからfayコンパイルされたモジュールを要求することは可能ですか? それは素晴らしいことです。commonjs と互換性のあるモジュールを生成するためのオプションがコンパイラにあるのではないでしょうか?

0 投票する
0 に答える
237 参照

haskell - Fayと並行して複数のajaxクエリ

2 つの AJAX 呼び出しを並行して実行する JS コードを移植しようとしていますが、操作する前に両方を完了する必要があります。JQuery を使用すると、次のことができます。

今、私はFayをどう扱うべきか分かりません. haskell のマルチスレッド部分は利用できません。両方のフェッチを順次ではなく並行して実行したいので、状態モナドは本当に必要ありません。

Fay ソースでこの例、Cont.hsを見つけました。実際に問題を解決できるかどうかはわかりませんが、「fay Cont.hs」を実行しただけではコンパイルされません。GHC.Base.Monad を知らないと文句を言っています。これはFayの現在のGITヘッドです。

編集:可能であればHaskellのセマンティクスを喜ばせたいと思います.そうでない場合は...はい、jqueryの「then」をラップします。Fay で継続または FRP を実現する方法がわかりません。そのためのガイダンスをいただければ幸いです (FRPの場合、Fay が十分に表現力があるかどうかは疑問です)。したがって、2番目の選択肢として、「then」をラップするだけですが、可能であれば、JSが(おそらく配列を介して)行うように、任意の数の同時ajaxリクエストを受け入れることを本当に望んでいます。これは達成が複雑になる可能性があります。自分でやってみますが、無理だと思います。

fay-jqueryバインディングでこのコメントを見ました:

--no-ghc フラグを使用する必要がありました。フラグはタイプチェックを無効にしますが、それについては夢中ではありません。

このような問題を解決する言語として Haskell の方が優れていると確信しているのに、そのような操作を JS ライブラリに頼らなければならないのはいらだたしいことです。

EDIT2 :私が欲しいのはコルーチンのようです。私はいくつかのHasteコードが関連することをしているのを見たことがありますが、正確にはそうではありません。この問題に対する Haste または GHCJS ソリューションも受け入れます。

EDIT3:通常のHaskellでは、これでうまくいくようです。GHCJS と Haste で動作すると思いますが、Fay ではおそらく JS をラッピングする必要があると思います...

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

fay - Fay: 別の Fay ファイルを含めますか?

プログラムの心臓部であるFayファイルが1つありますが、ロジックにはヘルパーが必要です。たとえば、部分文字列を置き換えるメソッドです。私が理解していることから、Hackage から直接多くの Haskell ライブラリによって提供されるメソッドが必要な場合、それらの Haskell ライブラリを使用することはできませんが、コードをコピーしてプロジェクトに貼り付ける必要があります。それが私がしたことです。プロジェクトの新しいファイルである Utils.hs に、MissingH ライブラリの他のヘルパーと一緒に「置換」関数をコピーして貼り付けました。

その Utils.hs は、Fay で問題なくコンパイルされます。また、メインの Fay ファイルにインポートすると、メイン プロジェクト ファイルの JS ファイルが問題なく取得されます。ただし、実行時に次のエラーが発生します。

Fay がヘルパー ファイルのコードをメインの JS ファイルに含めるとは思わないので、読み込み中の HTML に両方の JS ファイルを含めます。そして、メイン ファイルをロードするときに utils ファイルがロードされることをさらに確実にするために、次のようにロードします。

しかし、これにもかかわらず、私はまだエラーが発生します。「--library」を指定して Utils.hs をコンパイルしようとしましたが、役に立ちませんでした。

だから私の質問は、生成された JS が別の HS ファイルに入れたヘルパー関数を見つけるために、どのセットアップを達成する必要があるかということです。そのようなセットアップの例はオンラインにありますか? 私が見つけた Fay の使用のほとんどは、すべてのコードが 1 つの HS ファイルに含まれていますが、fay-jquery のように、cabal からの外部 Fay コードを使用することがよくあります。私の場合、これらの単純なヘルパーのためだけにカバール プロジェクトをセットアップするのはやり過ぎです。