問題タブ [language-extension]

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

haskell - Haskell での ViewPatterns と複数の呼び出し

私はこれを読みました:

http://hackage.haskell.org/trac/ghc/wiki/ViewPatterns

私はアイデアが好きです、拡張機能を使いたいです。ただし、1 つのことを確認したいと思います: ビュー関数が 1 回の一致に対して 1 回評価されるかどうかです。

だから、私たちが持っているとしましょう:

を呼び出すとしましょうf aview指定された引数に対して 2 回呼び出されるか、1 回だけ呼び出されますaか?

編集

私はこれが事実であるかどうかを調べようとし、次のように書きました:

GHC を使用した出力:

GHC を使用した出力 (最適化あり)

GHCi を使用した出力:

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

haskell - cabalized プロジェクトで拡張機能を指定するための規則

任意の .hs ファイルについて、依存する言語拡張を次のように指定できます。

cabal 化されたプロジェクトは、.cabal ファイルでプロジェクトごとに言語拡張を指定することもできます。

これらのうち、「ベスト プラクティス」と見なされるのはどれですか? パッケージがどのコンパイラと互換性があるかを文書化する形式として、使用されているすべての拡張子を .cabal ファイルにリストする必要がありますか? それとも、どのファイルがどの拡張子に依存しているかを明確にするために、すべての拡張子をファイルごとに記録する必要がありますか? 両方の場所で広範囲に文書化するのはどうですか? それとも、ベストプラクティスはその中間ですか?

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

haskell - -XImplicitParams がプラグマではなく、コマンド ラインからのみ機能するのはなぜですか?

-XImplicitParamsOPTIONS_GHC プラグマでは機能しないのに、コマンド ラインからは機能するのはなぜですか?

次のコードが含まれている場合にghc t.hsスローされることがわかりましたが、正常に動作します。同上。 parse error on input 'a't.hsghc -XImplicitParams t.hsghci

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

haskell - ユーザーはどの Haskell (GHC) 拡張機能を使用/回避する必要がありますか?

GHC に拡張機能を使用するように指示された経験が数回ありますが、その拡張機能を使用するとコードがはるかに複雑になり、単純なリファクタリングで Haskell 98 (現在は2010 )、より簡単な解決策があります。

一方、GADT や Rank2Types (RankNTypes はめったにありません) を使用すると、作業が大幅に減り、コードがよりクリーンになる場合もあります。

一般に、より良い設計の可能性を曖昧にする傾向があるのはどの拡張機能で、一般的にそれを改善するのはどれですか? 両方を行うものがある場合、その拡張機能を使用することを決定する前に、ユーザーは何を探す必要がありますか (意図しているソリューションに当てはまるかどうかを確認します)。

( GHC Haskell 拡張機能を使用する必要があるかどうかも参照してください。 )

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

haskell - GHCi内から言語拡張を有効にするにはどうすればよいですか?

XRankNTypesGHCiで有効にしようとしています。どうすればよいですか?

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

security - GeneralizedNewtypeDeriving なしで Data.Set の整合性を破る

以下のコードは、安全でないGeneralizedNewtypeDeriving拡張機能を使用して、異なるインスタンスData.Setを持つ異なる要素を挿入することで中断しています。Ord

コードが出力され[1,3,5,7,8,6,9,6,4,2,0,9]ます。リストは順不同で、92 回あることに注意してください。

他の拡張機能を使用してこの辞書スワッピング攻撃を実行することは可能ConstraintKindsですか? はいの場合、Data.Setそのような攻撃に耐えられるように再設計できますか?

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

c++ - 言語拡張機能をオフにしてWindowsとDirectXコードを作成することは可能ですか?

プロジェクトで拡張機能をオフにしていますが、directxまたはwindowsヘッダーを含むすべてのcppファイルで拡張機能をオンにする必要があります。

これらのcppファイルの拡張機能をオフにすると、コンパイルされません。これを機能させる方法はありますか?

言語拡張機能を使用すると、正常にコンパイルされます。

VS2012 Express、C ++、DirectX9、およびWin764を使用しています。

エラーの例

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

haskell - UndecidableInstances プラグマをローカルで使用すると、コンパイルの終了時にグローバルな結果が生じる可能性がありますか?

Haskell ライブラリの設計者がUndecidableInstances何らかの理由で使用することにしたとします。ライブラリは正常にコンパイルされます。ここで、一部のプログラムがライブラリを使用する (型クラスのいくつかのインスタンスを定義するなど) が、拡張機能を使用しないとします。コンパイルが失敗する (終了しない) 可能性はありますか?

そのようなシナリオが発生する可能性がある場合は、例を見ていただければ幸いです。たとえば、mtlは多くのことを使用するため、 mtl (または拡張機能を使用する他の標準ライブラリ) にUndecidableInstances依存し、それ自体を使用せず、決定不能のためにコンパイルに失敗するプログラムを作成することは可能ですか?UndecidableInstances

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

javascript - 括弧のない関数呼び出しを使用した JavaScript 言語拡張 - 可能ですか?

どうしても、次のようなことをすることは可能ですか:

重要な部分は次の行です。

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

haskell - MTLライブラリにはどの言語拡張が必要ですか?

私は、既存のライブラリの設計に基づいて独自の小さなライブラリを実装することにより、モナド変換子を理解しようとしています。

私が立ち往生しているのは言語拡張です。MonadErrorでは、言及されている拡張子は。だけですUndecidableInstancesFunctionalDependenciesただし、とを使用しないと、同様のコードをコンパイルすることはできませんFlexibleInstances

FunDepsが必要だと私が信じる例:

そして柔軟なインスタンス:

コードはどのようにしMonadErrorて余分な2つの拡張を回避しますか?