問題タブ [pointfree]
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.
haskell - Haskell:マッピング関数アプリケーション
Haskellで行っている計算の一部は、にマップFloat
される関数のリストになりFloat
ます。次のように、これらすべての関数に1つの引数を適用したいと思います。
使い捨てラムダ関数を使用せずにこれを行う方法はありますか?私はHoogleを検索して、署名が()であると思うものを探しました[a -> b] -> a -> [b]
が、運がありませんでした。
haskell - Haskellで3つの引数をカリー化
Haskellで3つの引数を削除する関数をカリー化するのに問題があります。
免責事項:コースワークではなく、今日これに苦労している誰かからこの質問をされました、そしてそれは私を悩ませてきました。
私たちが与えられたカスタムタイプ/関数は(タイプのみを覚えることができます)
私たちは始めました:
そしてそれを次のように減らしました:
その後、立ち往生。最後の引数の使用を避ける方法がわかりません。私は以前どこかで同様の状況を見たことがあり、解決策があったことを知っています。
Haskellの天才が私がばかである理由を指摘できることを願っています...
haskell - どの関数もポイントのない形式に還元できますか?
多くの関数はポイント自由形式に縮小できますが、これはすべての関数に当てはまりますか?
たとえば、次の場合はどうすればよいかわかりません。
haskell - Haskell : 関数内のドット
この関数で「。」が使用されている理由を教えてください。?
haskell - ポイントフリーを利用するメリットはありますか?
私が大学にいたとき、私は Haskell を学ばなければなりませんでした。私のクラスの 1 つで、ポイントフリー関数の使い方を学びました。アカデミックな観点以外に、ポイントフリースタイルでプログラミングする利点はありますか?
効率の点で違いはありますか?ポイントフリーは、コード行が多いアプリケーションでは理解しにくいのではないでしょうか?
f# - ポイントフリー関数/クロージャーとジェネリック型の間のジレンマ?
ジェネリックにする唯一の方法は、明示的にすることです。let mainAttr x = getMainAttr alignment x
ただし、クロージャーを使用しなくなったため、mainAttr
呼び出されるたびalignment
にチェックする必要があります。
alignment
ジェネリックであるだけでなく、一度だけチェックする方法はありますか?
haskell - 引数が 2 つの Haskell 関数をポイントフリー スタイルに書き直すにはどうすればよいですか
私はHaskellで次の機能を持っています
私は、「慣用的な」Haskell の書き方を学ぼうとしています。これは、括弧の代わりに.
andを使用すること$
を好み、可能な場合はポイントフリー コードを好むようです。明示的x
に言及することを取り除くことができないようです。y
何か案は?
2つの引数の関数を無意味にすることで同じ問題が発生すると思います。
ところで、これは良いコードを書くことを追求しているだけです。「無意味にするために必要なものは何でも使用する」という宿題の練習ではありません。
ありがとう。
(コメントを追加) 回答ありがとうございます。あなたは、この関数がポイントフリーの恩恵を受けていないことを私に確信させました。また、式の変換を練習するための素晴らしい例もいくつか教えてくれました。私にはまだ難しく、C へのポインターと同じくらい Haskell に不可欠なようです。
haskell - マルチパラメータ関数を持つ haskell のドット演算子
Haskellでポイントフリーの関数を書きたいのですが、物事を簡単にするために、この関数を作りたいとしましょう:
これを改善できます
しかし、aとbを取り除く方法はありますか?
haskell - リスト内の各要素の頻度をカウントする関数を実装します
リスト内の各要素の頻度をカウントするプログラムを書こうとしています。
次のリンクで私のコードを表示できます。http://codepad.org/nyIECIT2 このコードでは、一意の関数の出力は次のようになります。
一意の出力を使用して、ターゲットリストの頻度をカウントします。ここでもコードを見ることができます:
しかし、ghci 6.13では、他のタイプのエラーも表示されています
[(=='a')、(=='、b')、(=='、c')]を使用する目的は何ですか。私が期待すること:ref="abc"とtarget="aabbaacc"の場合、
["aaaa"、 "bb"、 "cc"]が表示されたら、これにマップの長さを使用して頻度を取得できます。ここでは、使用する参照[(=='a')、(==' 、b')、(=='、c')]
ここにいくつかの論理エラーがあると思います[(=='a')、(=='、b')、(=='、c')]。
haskell - 式をポイントフリー スタイルに変換する (Haskell)
私はこのコードを書きましたが、ポイントフリー スタイルに書き直す必要があります。
だから私はこれをしました:
できます。私がこれをしたよりも:
そして、そうではありません...私の考え方の何が問題になっていますか?