diff --git a/CHANGELOG.md b/CHANGELOG.md index 021435bb..50ee9a53 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,8 +7,7 @@ Notable changes to this project are documented in this file. The format is based Breaking changes: - Migrated FFI to ES Modules (#287 by @kl0tl and @JordanMartinez) - Change Generic Rep's `NoConstructors` to newtype `Void` (#282 by @JordanMartinez) -- Replace `forall proxy. proxy k` workaound with `Proxy k` (#281 by @JordanMartinez) -- Drop all kind-specific Proxy types (e.g. `Proxy2`, `Proxy3`) (#281 by @JordanMartinez) +- Replaced polymorphic proxies with monomorphic `Proxy` (#281, #288 by @JordanMartinez) New features: diff --git a/src/Data/Symbol.purs b/src/Data/Symbol.purs index c2a7c740..80f289e3 100644 --- a/src/Data/Symbol.purs +++ b/src/Data/Symbol.purs @@ -2,16 +2,10 @@ module Data.Symbol ( class IsSymbol , reflectSymbol , reifySymbol - , SProxy(..) ) where import Type.Proxy (Proxy(..)) --- | A value-level proxy for a type-level symbol. --- | **Deprecated as of v0.14.0 PureScript release**: use `Type.Proxy` instead. -data SProxy :: Symbol -> Type -data SProxy sym = SProxy - -- | A class for known symbols class IsSymbol (sym :: Symbol) where reflectSymbol :: Proxy sym -> String diff --git a/src/Type/Data/Row.purs b/src/Type/Data/Row.purs deleted file mode 100644 index f3f022c5..00000000 --- a/src/Type/Data/Row.purs +++ /dev/null @@ -1,22 +0,0 @@ -module Type.Data.Row where - --- | A proxy data type whose type parameter is a type of kind `Row Type` (a row --- | of types). --- | --- | **Deprecated as of v0.14.0 PureScript release**: use `Type.Proxy` instead. --- | --- | Commonly used for specialising a function with a quantified type. --- | For example, suppose we have an identity function for records of type: --- | ```purescript --- | recordIdentity :: forall row . RProxy row -> Record row -> Record row --- | recordIdentity _ rec = rec --- | ``` --- | Then applying this function to an `RProxy` with a specialised type --- | allows us to specify a concrete type for `row`: --- | ```purescript --- | :t recordIdentity (Proxy :: Proxy ( x :: Int, y :: Int )) --- | { x :: Int, y :: Int } -> { x :: Int, y :: Int } --- | ``` --- | Here `row` has been specialised to `( x :: Int, y :: Int )`. -data RProxy :: Row Type -> Type -data RProxy row = RProxy diff --git a/src/Type/Data/RowList.purs b/src/Type/Data/RowList.purs deleted file mode 100644 index 21bd48af..00000000 --- a/src/Type/Data/RowList.purs +++ /dev/null @@ -1,8 +0,0 @@ -module Type.Data.RowList where - -import Prim.RowList (RowList) - --- | A proxy to carry information about a rowlist. --- | **Deprecated as of v0.14.0 PureScript release**: use `Type.Proxy` instead. -data RLProxy :: RowList Type -> Type -data RLProxy rowlist = RLProxy