@@ -32,7 +32,8 @@ import Data.Symbol (SProxy(..), class IsSymbol, reflectSymbol)
3232import Data.Variant.Internal (class Contractable , class VariantMatchCases ) as Exports
3333import Data.Variant.Internal (class Contractable , class VariantMatchCases , class VariantTags , BoundedDict , BoundedEnumDict , RLProxy (..), RProxy (..), VariantCase , VariantRep (..), contractWith , lookup , lookupCardinality , lookupEq , lookupFirst , lookupFromEnum , lookupLast , lookupOrd , lookupPred , lookupSucc , lookupToEnum , unsafeGet , unsafeHas , variantTags )
3434import Partial.Unsafe (unsafeCrashWith )
35- import Type.Row as R
35+ import Prim.Row as R
36+ import Prim.RowList as RL
3637import Unsafe.Coerce (unsafeCoerce )
3738
3839foreign import data Variant ∷ # Type → Type
@@ -111,7 +112,7 @@ on p f g r =
111112-- | `show :: Int -> String`, or give the whole record an appropriate type.
112113onMatch
113114 ∷ ∀ rl r r1 r2 r3 b
114- . R .RowToList r rl
115+ . RL .RowToList r rl
115116 ⇒ VariantMatchCases rl r1 b
116117 ⇒ R.Union r1 r2 r3
117118 ⇒ Record r
@@ -153,7 +154,7 @@ case_ r = unsafeCrashWith case unsafeCoerce r of
153154-- | ```
154155match
155156 ∷ ∀ rl r r1 r2 b
156- . R .RowToList r rl
157+ . RL .RowToList r rl
157158 ⇒ VariantMatchCases rl r1 b
158159 ⇒ R.Union r1 () r2
159160 ⇒ Record r
@@ -239,20 +240,20 @@ unvariant v = case (unsafeCoerce v ∷ VariantRep Unit) of
239240revariant ∷ ∀ r . Unvariant r -> Variant r
240241revariant (Unvariant f) = f inj
241242
242- class VariantEqs (rl ∷ R .RowList ) where
243+ class VariantEqs (rl ∷ RL .RowList ) where
243244 variantEqs ∷ RLProxy rl → L.List (VariantCase → VariantCase → Boolean )
244245
245- instance eqVariantNil ∷ VariantEqs R .Nil where
246+ instance eqVariantNil ∷ VariantEqs RL .Nil where
246247 variantEqs _ = L.Nil
247248
248- instance eqVariantCons ∷ (VariantEqs rs , Eq a ) ⇒ VariantEqs (R .Cons sym a rs ) where
249+ instance eqVariantCons ∷ (VariantEqs rs , Eq a ) ⇒ VariantEqs (RL .Cons sym a rs ) where
249250 variantEqs _ =
250251 L.Cons (coerceEq eq) (variantEqs (RLProxy ∷ RLProxy rs ))
251252 where
252253 coerceEq ∷ (a → a → Boolean ) → VariantCase → VariantCase → Boolean
253254 coerceEq = unsafeCoerce
254255
255- instance eqVariant ∷ (R .RowToList r rl , VariantTags rl , VariantEqs rl ) ⇒ Eq (Variant r ) where
256+ instance eqVariant ∷ (RL .RowToList r rl , VariantTags rl , VariantEqs rl ) ⇒ Eq (Variant r ) where
256257 eq v1 v2 =
257258 let
258259 c1 = unsafeCoerce v1 ∷ VariantRep VariantCase
@@ -262,13 +263,13 @@ instance eqVariant ∷ (R.RowToList r rl, VariantTags rl, VariantEqs rl) ⇒ Eq
262263 in
263264 lookupEq tags eqs c1 c2
264265
265- class VariantBounded (rl ∷ R .RowList ) where
266+ class VariantBounded (rl ∷ RL .RowList ) where
266267 variantBounded ∷ RLProxy rl → L.List (BoundedDict VariantCase )
267268
268- instance boundedVariantNil ∷ VariantBounded R .Nil where
269+ instance boundedVariantNil ∷ VariantBounded RL .Nil where
269270 variantBounded _ = L.Nil
270271
271- instance boundedVariantCons ∷ (VariantBounded rs , Bounded a ) ⇒ VariantBounded (R .Cons sym a rs ) where
272+ instance boundedVariantCons ∷ (VariantBounded rs , Bounded a ) ⇒ VariantBounded (RL .Cons sym a rs ) where
272273 variantBounded _ = L.Cons dict (variantBounded (RLProxy ∷ RLProxy rs ))
273274 where
274275 dict ∷ BoundedDict VariantCase
@@ -280,7 +281,7 @@ instance boundedVariantCons ∷ (VariantBounded rs, Bounded a) ⇒ VariantBounde
280281 coerce ∷ a → VariantCase
281282 coerce = unsafeCoerce
282283
283- instance boundedVariant ∷ (R .RowToList r rl , VariantTags rl , VariantEqs rl , VariantOrds rl , VariantBounded rl ) ⇒ Bounded (Variant r ) where
284+ instance boundedVariant ∷ (RL .RowToList r rl , VariantTags rl , VariantEqs rl , VariantOrds rl , VariantBounded rl ) ⇒ Bounded (Variant r ) where
284285 top =
285286 let
286287 tags = variantTags (RLProxy ∷ RLProxy rl )
@@ -300,10 +301,10 @@ instance boundedVariant ∷ (R.RowToList r rl, VariantTags rl, VariantEqs rl, Va
300301class VariantBounded rl ⇐ VariantBoundedEnums rl where
301302 variantBoundedEnums ∷ RLProxy rl → L.List (BoundedEnumDict VariantCase )
302303
303- instance enumVariantNil ∷ VariantBoundedEnums R .Nil where
304+ instance enumVariantNil ∷ VariantBoundedEnums RL .Nil where
304305 variantBoundedEnums _ = L.Nil
305306
306- instance enumVariantCons ∷ (VariantBoundedEnums rs , BoundedEnum a ) ⇒ VariantBoundedEnums (R .Cons sym a rs ) where
307+ instance enumVariantCons ∷ (VariantBoundedEnums rs , BoundedEnum a ) ⇒ VariantBoundedEnums (RL .Cons sym a rs ) where
307308 variantBoundedEnums _ = L.Cons dict (variantBoundedEnums (RLProxy ∷ RLProxy rs ))
308309 where
309310 dict ∷ BoundedEnumDict VariantCase
@@ -330,7 +331,7 @@ instance enumVariantCons ∷ (VariantBoundedEnums rs, BoundedEnum a) ⇒ Variant
330331 coerceCardinality ∷ Cardinality a → Int
331332 coerceCardinality = unsafeCoerce
332333
333- instance enumVariant ∷ (R .RowToList r rl , VariantTags rl , VariantEqs rl , VariantOrds rl , VariantBoundedEnums rl ) ⇒ Enum (Variant r ) where
334+ instance enumVariant ∷ (RL .RowToList r rl , VariantTags rl , VariantEqs rl , VariantOrds rl , VariantBoundedEnums rl ) ⇒ Enum (Variant r ) where
334335 pred a =
335336 let
336337 rep = unsafeCoerce a ∷ VariantRep VariantCase
@@ -351,7 +352,7 @@ instance enumVariant ∷ (R.RowToList r rl, VariantTags rl, VariantEqs rl, Varia
351352 in
352353 coerce $ lookupSucc rep tags bounds dicts
353354
354- instance boundedEnumVariant ∷ (R .RowToList r rl , VariantTags rl , VariantEqs rl , VariantOrds rl , VariantBoundedEnums rl ) ⇒ BoundedEnum (Variant r ) where
355+ instance boundedEnumVariant ∷ (RL .RowToList r rl , VariantTags rl , VariantEqs rl , VariantOrds rl , VariantBoundedEnums rl ) ⇒ BoundedEnum (Variant r ) where
355356 cardinality =
356357 Cardinality $ lookupCardinality $ variantBoundedEnums (RLProxy ∷ RLProxy rl )
357358
@@ -371,20 +372,20 @@ instance boundedEnumVariant ∷ (R.RowToList r rl, VariantTags rl, VariantEqs rl
371372 in
372373 coerceV $ lookupToEnum n tags dicts
373374
374- class VariantOrds (rl ∷ R .RowList ) where
375+ class VariantOrds (rl ∷ RL .RowList ) where
375376 variantOrds ∷ RLProxy rl → L.List (VariantCase → VariantCase → Ordering )
376377
377- instance ordVariantNil ∷ VariantOrds R .Nil where
378+ instance ordVariantNil ∷ VariantOrds RL .Nil where
378379 variantOrds _ = L.Nil
379380
380- instance ordVariantCons ∷ (VariantOrds rs , Ord a ) ⇒ VariantOrds (R .Cons sym a rs ) where
381+ instance ordVariantCons ∷ (VariantOrds rs , Ord a ) ⇒ VariantOrds (RL .Cons sym a rs ) where
381382 variantOrds _ =
382383 L.Cons (coerceOrd compare) (variantOrds (RLProxy ∷ RLProxy rs ))
383384 where
384385 coerceOrd ∷ (a → a → Ordering ) → VariantCase → VariantCase → Ordering
385386 coerceOrd = unsafeCoerce
386387
387- instance ordVariant ∷ (R .RowToList r rl , VariantTags rl , VariantEqs rl , VariantOrds rl ) ⇒ Ord (Variant r ) where
388+ instance ordVariant ∷ (RL .RowToList r rl , VariantTags rl , VariantEqs rl , VariantOrds rl ) ⇒ Ord (Variant r ) where
388389 compare v1 v2 =
389390 let
390391 c1 = unsafeCoerce v1 ∷ VariantRep VariantCase
@@ -394,20 +395,20 @@ instance ordVariant ∷ (R.RowToList r rl, VariantTags rl, VariantEqs rl, Varian
394395 in
395396 lookupOrd tags ords c1 c2
396397
397- class VariantShows (rl ∷ R .RowList ) where
398+ class VariantShows (rl ∷ RL .RowList ) where
398399 variantShows ∷ RLProxy rl → L.List (VariantCase → String )
399400
400- instance showVariantNil ∷ VariantShows R .Nil where
401+ instance showVariantNil ∷ VariantShows RL .Nil where
401402 variantShows _ = L.Nil
402403
403- instance showVariantCons ∷ (VariantShows rs , Show a ) ⇒ VariantShows (R .Cons sym a rs ) where
404+ instance showVariantCons ∷ (VariantShows rs , Show a ) ⇒ VariantShows (RL .Cons sym a rs ) where
404405 variantShows _ =
405406 L.Cons (coerceShow show) (variantShows (RLProxy ∷ RLProxy rs ))
406407 where
407408 coerceShow ∷ (a → String ) → VariantCase → String
408409 coerceShow = unsafeCoerce
409410
410- instance showVariant ∷ (R .RowToList r rl , VariantTags rl , VariantShows rl ) ⇒ Show (Variant r ) where
411+ instance showVariant ∷ (RL .RowToList r rl , VariantTags rl , VariantShows rl ) ⇒ Show (Variant r ) where
411412 show v1 =
412413 let
413414 VariantRep v = unsafeCoerce v1 ∷ VariantRep VariantCase
0 commit comments