問題タブ [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 の無意味なパフォーマンス - 複数の関数を同じデータに効率的にマップする
多くの場合、複数の関数を同じデータにマップする必要があります。これを行うためにdpMapを実装しました
dpMap は 1 つの関数です。これは、データ dt を 1 回だけ読み取ることを意味しますか?
例として、リスト dt の最小値と最大値を計算することを検討してください。
(dt を取り除くことはできますが、-XNoMonomorphismRestriction を使用する必要があります)
このようなポイントフル形式で同じ関数を実装するよりもパフォーマンス上の利点はありますか?:
編集:定数メモリで動作する dpMap の一般的な実装はありますか?
別の素敵なブログ投稿を見つけました: http://www.haskellforall.com/2013/08/composable-streaming-folds.html ;これが役に立てば幸いです。
EDIT2:もう少しコンテキストの後、ここに解決策があります.dpMapの正確な実装はありませんが、パターンは十分に単純であるため、別の機能を保証しません:
使用法:
合計と長さも計算したい場合
使用法:
haskell - Haskellの多値関数による機能合成?
複数の引数を取る関数で関数合成を行うことができるかどうか疑問に思っていました。こんなことができるようになりたい
x を 2 つの数値の積に 3 を加算する関数に等しく設定します。
f# - ポイントフリー関数は再帰を引き起こしませんが、通常の関数はここで発生しますか?
ここでの副次的な質問として、F# でデリゲート マルチキャストのようなことを行う最も簡単な方法は何ですか?適切なタイトルで完全な質問を提起する方がよいと思います。
このバージョンでは再帰は発生しません: (ここでnotify
は不変のようですd
)
このバージョンはそうでしょう。(ここでnotify
は可変のようですd
)
別の失敗バージョン:
この行動の不一致がある理由に関するガイドラインやその他のリソースはどこにありますか? それは特定のコンパイラ/言語に結び付けられていますか、それともすべての関数型言語に適用される理論がありますか?
haskell - GHCで上位型を扱う際の特殊なケース?
GHCi セッションからの次の例を考えてみましょう:
これは、bar
ランク 2 型の関数を定義します。したがって、型推論は次の正しい型を推論できないはずです。
本当に、
驚くべきことに、同じものをポイントフリースタイルで書くとうまくいきます:
ここで型推論が上位の型を推論できるのはどうしてですか? これがGHCで特別に扱われていることを確認したり、私が間違っている場所を指摘したりできますか.
f# - F# 合成演算子について
私はF# での>>
and演算子の使用に精通しています。<<
しかし、より深い理解を得るために F# のソースを調べたところ、次のことで混乱してしまいました。
これらの表現を概念的にどのように解釈すればよいでしょうか? また、これらの表現をどのように説明しますか? 彼らはタイプを定義していますか?