問題タブ [arrows]

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

haskell - Netwireを学ぶための簡単な演習?

Haskell wiki> Netwireには、Netwireの優れた入門資料がいくつかありますが、今では(趣味のHaskellerとして)もっと何かに興味があります。私の矢/ネットワイヤーのスキルを磨くには、どのような簡単な演習が有益でしょうか?

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

haskell - Arrows/HXT とタイプ シグネチャ

私は Haskell で Arrows を学習しようとしているので、XML 用の矢印ベースの HXT ライブラリーを使用して単純なアプリケーションを作成しています。HXT wiki とチュートリアルの例では、関数型のシグネチャが省略されています。しかし、私は型がとても好きで、それらをどのように使用するかを考え出そうとしています. ここで、つまずきに出会いました。これらの関数が与えられた場合:

次の署名を割り当てる必要があると思います。

私は矢印構文を使用してこれらを一緒にフックしようとしています:

しかし、もし私の型署名が正しければ (GHC は文句を言っていない)、モナド構文とアロー構文を組み合わせて からXmlTree出て に戻る方法が必要になるだろうIO

進め方がわからない。誰にも洞察がありますか?

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

haskell - 特別な括弧 (| ... |) は何に脱糖しますか?

矢印表記のドキュメンテーション ページを読みましたが、「7.10.3. 独自の制御構造の定義」の下で使用されている「パイプ ブラケット」が何を desugar に変換するのかが完全にはわかりません。

上記のドキュメントの例を考えると

矢印表記を使用しない同等のコードは何ですか?

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

haskell - HXT と矢印のより良い使用

hxt を問題なく使用していますが、最初から問題がありました。次のコードを想像してみてください

私は多くのドキュメントを解析するためにそのように使用してきましたが、古典的なプログラミングの問題である抽象化の欠如の前に私はそれを使用しました。

この例のように、解析するファイルが 4 つ (およびさらに増える予定) あります。2 つの属性を持っているものもあれば、5 を持っているものもあれば、1 を持っているものもあります。私のファイルが持っている属性の量に応じて、異なるバージョンの liftKeys を書くことはできません。問題は、矢印や何をしているのかを本当に理解していないということです uu より単純なコードを書くには、いくつかの折り畳みまたは何かが必要です。

これのより良い使い方を知っていますか?

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

xml - HXTXML検索が期待される結果を返さない

だから私はこのXMLファイルを解析しています。内部のノードに到達すると、コード用に1つの子、記述用に1つ、外部ノード参照を保持する1つ以上の(孫)ノードがあります。

最初に単純な矢印表記と<+>集計を試して、必要なすべての情報を取得しましたが、それは大きなリストを表示するだけで、これを実現するためのよりエレガントな方法があるのではないかと思いました。

そこで、代わりに矢印表記を試して、コードを線に沿って見せるようにしました。

基本的にdeepは、このフィルターについて理解している限り、同じレベルのすべての「service-id-ref」ノードを返すことになっていますが、「list-info」名を満たす最初のノードには2つの「service-id-ref」子があります2つの異なる孫ノードとrefのノードは、毎回最初のノードにのみバインドされます。つまり、基本的には(String、String、[String])の3タプルを期待していましたが、取得したのは3つの通常の文字列だけです。

do-notation(または一般的に)の矢印についての私の理解が不十分なためですか、それとも他の方法でrefをバインドしようとする必要がありますか?

前もって感謝します

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

haskell - タプル内のHaskellArrows

矢印とその矢印を説明する文字列を保持するタプルを作成したいと思います。(矢印の代わりに)関数を使用してこれを行うと、次のように機能します。

fstで関数にアクセスでき、関数sndの説明文字列を取得できます。

ただし、次のように、関数を矢印で交換すると、次のようになります。

  • fstまだ動作し、私の矢印を返しますが、
  • が付いた説明文字列がありませんsnd

私はこのエラーメッセージだけを受け取りました:

なぜこのエラーが発生するのですか?それを回避するにはどうすればよいですか?

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

haskell - ここで矢印を使用するにはどうすればよいですか?

検討

これが を使用して簡単に記述できるという事実を無視すると、構文を使用してラムダを単純化elemできると強く感じていますが、正しく理解できません。Arrow

このラムダは、矢印を使用して簡略化できますか? また、矢印がいつ機能するかを「見る」方法と、適切な表現を見つける方法に関する一般的なヒントはありますか?

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

haskell - 計算構造 (モナド、アローなど)

私は Haskell で計算がどのようにモデル化されているかにかなり興味を持っています。いくつかのリソースでは、モナドを「構成可能な計算」、アローを「計算の抽象ビュー」と説明しています。このように記述されたモノイド、ファンクター、アプリカティブ ファンクターは見たことがありません。必要な構造が欠けているようです。

私はそのアイデアが面白いと思っており、似たようなことをする他の構成要素があるかどうか疑問に思っています. もしそうなら、それらを知るために使用できるリソースは何ですか? 便利な Hackage のパッケージはありますか?

注:この質問は Monads vs. Arrowsおよびhttps://stackoverflow.com/questions/2395715/resources-for-learning-monads-functors-monoids-arrows-etcに似ていますが、ファンターを超えた構造、適用可能なものを探していますファンクター、モナド、アロー。

編集: Applicative Functor は「計算構造」と見なされるべきであることは認めますが、まだ出会っていないものを本当に探しています。これには、アプリカティブ ファンクター、モナド、アローが含まれます。

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

haskell - 矢印のクリエイティブな使い方

Creative uses of monadsという投稿を読んだところ、非常に興味深いアイデアや参考文献がたくさんありました。私は個人的な意見や基本的な使用法や「標準的な」使用法に関する参考文献 (モナド対矢印haskell の矢印を理解するのに役立ちます) を探しているのではなく、スマートおよび/または重要なアプリケーションへの参考文献のリストを探しています (おそらく研究論文で?)。ありがとう。

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

haskell - この ArrowLoop.loop の定義はどのように機能しますか?

ArrowLoopを含む関数インスタンス

まず、署名に問題があります。どうすればb -> cから取得でき(b,d) -> (c,d)ますか? つまりc、結果のタプルの は入力の両方の要素に依存する可能性がありdます。

第二に、ここでの仕組みがわかりませんlet(c,d) = f (b,d)の循環定義が含まれていませんdか? どこdから来たの?正直なところ、これが有効な構文であることに驚いていますd

数学では、これは意味のあることです。たとえば、f は複雑な関数になる可能性がありますが、実数部 b のみを提供し、虚数部 d を選択するときに変化しない方法で選択する必要があります。 f (b,d) を評価すると、ある種の不動点になります。しかし、この類推が成り立つ場合、let式は何らかの形で d の不動点を「検索」する必要があります (複数存在する可能性があります)。それは私には魔法に近いように見えます。それとも、私は複雑すぎると思いますか?