問題タブ [scrap-your-boilerplate]

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

haskell - TypeRepと「Type」GADTの関係

リロードされたボイラープレートのスクラップ」では、著者は、オリジナルと同等であると思われる「ボイラープレートのスクラップ」の新しいプレゼンテーションについて説明しています。

ただし、1つの違いは、GADTでエンコードされた「ベース」タイプの有限の閉集合を想定していることです。

元のSYBでは、型セーフキャストが使用され、Typeableクラスを使用して実装されます。

私の質問は次のとおりです。

  • これら2つのアプローチの関係は何ですか?
  • 「SYBリローデッド」プレゼンテーションにGADT表現が選択されたのはなぜですか?
0 投票する
1 に答える
486 参照

haskell - GHC Generics に対する SYB (ボイラープレートの破棄) の利点

GHC Generics と比較して、SYB でしかできないタスク、または SYB ではるかに簡単なタスクはありますか?

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

haskell - ボイラープレートなしで型「T a」から「T b」に変換する

したがって、「注釈」タイプによってパラメーター化された、多数のケースを持つ AST データ型があります。

私は注釈型ST、そしていくつかの機能を持っていますf :: S -> T。Expr 値内で発生するそれぞれの変換を使用してExpr S、 を取得して に変換したいと考えています。Expr TfS

SYB またはジェネリックを使用してこれを行い、すべてのケースでパターン マッチを回避する方法はありますか? こういうのに向いているタイプのようです。私はSYBに精通していないため、具体的な方法を知ることができません。