Type synonym impossible to fully apply in type application
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 25/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 領域
- compilers
調査の方向性
Start with the try.purescript reproduction and compare the annotation form y with the type application form z in PureScript 0.15.13. Investigate how type synonyms and kind inference are handled for type applications; done means z type-checks like y while the existing G example continues to work.
索引モデルが issue の本文から書いたものです。
説明
Description
Possible kind inference funkiness going on with synonyms in type applications.
Using the same type expression in an annotation vs a type application works differently.
To Reproduce
module Main where
import Prelude
import Type.Proxy (Proxy(..))
-- `i` will be determined when `x` is concrete
type F :: forall i . Row i -> Row i
type F x = ()
-- type checks; `i ~ Type`
y :: Proxy (F (() :: Row Type))
y = Proxy
-- fails:
-- Type synonym Main.F is partially applied.
-- Type synonyms must be applied to all of their type arguments.
z :: Proxy (F (() :: Row Type))
z = Proxy @(F (() :: Row Type))
type G = F (() :: Row Type)
-- also works
g :: Proxy G
g = Proxy @G
Expected behavior
z would also pass type checking.
PureScript version
0.15.13
- 主要言語
- Haskell
- スター
- 8.9k
- フォーク
- 575
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
purescript/purescript のほかの issue
-
type: bug
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
purescript/purescript#4595 · コメント 2 件 ·
-
type: bug
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
purescript/purescript#4590 · コメント 3 件 ·
-
type: bug
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
purescript/purescript#4589 · コメント 3 件 ·
-
type: bug
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
purescript/purescript#4588 · コメント 5 件 ·
-
type: enhancement
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
purescript/purescript#4587 · コメント 1 件 · リアクション 2 件 ·
purescript/purescript の issue をすべて見る
似ている issue
-
time-manager-0.4.0 オープンfailure: bounds
難易度 1/5 1時間未満 初心者へのやさしさ 72/100
commercialhaskell/stackage#8122 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
simplex-chat/simplex-chat#7547 ·
-
chore
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
alunduil/alunduil-chezmoi#775 ·
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
objectionary/phino#1350 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100