on dev help sign in
remove HasQualified
a69f257Eitan Chatav
squeal-postgresql/src/Squeal/PostgreSQL/Definition.hs+28−16
@@ -184,7 +184,8 @@ in printSQL setup
184CREATE TABLE IF NOT EXISTS "tab" ("a" int NULL, "b" real NULL);
184CREATE TABLE IF NOT EXISTS "tab" ("a" int NULL, "b" real NULL);
185-}
185-}
186createTableIfNotExists
186createTableIfNotExists
187+ :: ( Has sch db schema
187− :: ( HasQualified sch tab db schema ('Table (constraints :=> columns))
188+ , Has tab schema ('Table (constraints :=> columns))
188 , SOP.SListI columns
189 , SOP.SListI columns
189 , SOP.SListI constraints )
190 , SOP.SListI constraints )
190 => QualifiedAlias sch tab -- ^ the name of the table to add
191 => QualifiedAlias sch tab -- ^ the name of the table to add
@@ -273,7 +274,8 @@ let
273CREATE TABLE "tab" ("a" int NOT NULL, "b" int NOT NULL, CONSTRAINT "inequality" CHECK (("a" > "b")));
274CREATE TABLE "tab" ("a" int NOT NULL, "b" int NOT NULL, CONSTRAINT "inequality" CHECK (("a" > "b")));
274-}
275-}
275check
276check
276− :: ( HasQualified sch tab db schema ('Table table)
277+ :: ( Has sch db schema
278+ , Has tab schema ('Table table)
277 , HasAll aliases (TableToRow table) subcolumns )
279 , HasAll aliases (TableToRow table) subcolumns )
278 => NP Alias aliases
280 => NP Alias aliases
279 -- ^ specify the subcolumns which are getting checked
281 -- ^ specify the subcolumns which are getting checked
@@ -307,7 +309,8 @@ let
307CREATE TABLE "tab" ("a" int NULL, "b" int NULL, CONSTRAINT "uq_a_b" UNIQUE ("a", "b"));
309CREATE TABLE "tab" ("a" int NULL, "b" int NULL, CONSTRAINT "uq_a_b" UNIQUE ("a", "b"));
308-}
310-}
309unique
311unique
310− :: ( HasQualified sch tab db schema('Table table)
312+ :: ( Has sch db schema
313+ , Has tab schema('Table table)
311 , HasAll aliases (TableToRow table) subcolumns )
314 , HasAll aliases (TableToRow table) subcolumns )
312 => NP Alias aliases
315 => NP Alias aliases
313 -- ^ specify subcolumns which together are unique for each row
316 -- ^ specify subcolumns which together are unique for each row
@@ -340,7 +343,8 @@ let
340CREATE TABLE "tab" ("id" serial, "name" text NOT NULL, CONSTRAINT "pk_id" PRIMARY KEY ("id"));
343CREATE TABLE "tab" ("id" serial, "name" text NOT NULL, CONSTRAINT "pk_id" PRIMARY KEY ("id"));
341-}
344-}
342primaryKey
345primaryKey
343− :: ( HasQualified sch tab db schema ('Table table)
346+ :: ( Has sch db schema
347+ , Has tab schema ('Table table)
344 , HasAll aliases (TableToColumns table) subcolumns
348 , HasAll aliases (TableToColumns table) subcolumns
345 , AllNotNull subcolumns )
349 , AllNotNull subcolumns )
346 => NP Alias aliases
350 => NP Alias aliases
@@ -456,8 +460,9 @@ type ForeignKeyed db
456 columns refcolumns
460 columns refcolumns
457 constraints cols
461 constraints cols
458 reftys tys =
462 reftys tys =
463+ ( Has sch db schema
459− ( HasQualified sch child db schema ('Table table)
464+ , Has child schema ('Table table)
460− , HasQualified sch parent db schema ('Table reftable)
465+ , Has parent schema ('Table reftable)
461 , HasAll columns (TableToColumns table) tys
466 , HasAll columns (TableToColumns table) tys
462 , reftable ~ (constraints :=> cols)
467 , reftable ~ (constraints :=> cols)
463 , HasAll refcolumns cols reftys
468 , HasAll refcolumns cols reftys
@@ -518,7 +523,8 @@ DROP statements
518-- >>> printSQL definition
523-- >>> printSQL definition
519-- DROP TABLE "muh_table";
524-- DROP TABLE "muh_table";
520dropTable
525dropTable
521− :: HasQualified sch tab db schema ('Table table)
526+ :: ( Has sch db schema
527+ , Has tab schema ('Table table))
522 => QualifiedAlias sch tab -- ^ table to remove
528 => QualifiedAlias sch tab -- ^ table to remove
523 -> Definition db (Alter sch (Drop tab schema) db)
529 -> Definition db (Alter sch (Drop tab schema) db)
524dropTable tab = UnsafeDefinition $ "DROP TABLE" <+> renderQualifiedAlias tab <> ";"
530dropTable tab = UnsafeDefinition $ "DROP TABLE" <+> renderQualifiedAlias tab <> ";"
@@ -529,7 +535,7 @@ ALTER statements
529
535
530-- | `alterTable` changes the definition of a table from the schema.
536-- | `alterTable` changes the definition of a table from the schema.
531alterTable
537alterTable
532− :: HasQualified sch tab db schema ('Table table0)
538+ :: (Has sch db schema, Has tab schema ('Table table0))
533 => QualifiedAlias sch tab -- ^ table to alter
539 => QualifiedAlias sch tab -- ^ table to alter
534 -> AlterTable sch tab db table1 -- ^ alteration to perform
540 -> AlterTable sch tab db table1 -- ^ alteration to perform
535 -> Definition db (Alter sch (Alter tab ('Table table1) schema) db)
541 -> Definition db (Alter sch (Alter tab ('Table table1) schema) db)
@@ -575,7 +581,8 @@ newtype AlterTable
575-- ALTER TABLE "tab" ADD CONSTRAINT "positive" CHECK (("col" > 0));
581-- ALTER TABLE "tab" ADD CONSTRAINT "positive" CHECK (("col" > 0));
576addConstraint
582addConstraint
577 :: ( KnownSymbol alias
583 :: ( KnownSymbol alias
578− , HasQualified sch tab db schema ('Table table0)
584+ , Has sch db schema
585+ , Has tab schema ('Table table0)
579 , table0 ~ (constraints :=> columns)
586 , table0 ~ (constraints :=> columns)
580 , table1 ~ (Create alias constraint constraints :=> columns) )
587 , table1 ~ (Create alias constraint constraints :=> columns) )
581 => Alias alias
588 => Alias alias
@@ -599,7 +606,8 @@ addConstraint alias constraint = UnsafeAlterTable $
599-- ALTER TABLE "tab" DROP CONSTRAINT "positive";
606-- ALTER TABLE "tab" DROP CONSTRAINT "positive";
600dropConstraint
607dropConstraint
601 :: ( KnownSymbol constraint
608 :: ( KnownSymbol constraint
602− , HasQualified sch tab db schema ('Table table0)
609+ , Has sch db schema
610+ , Has tab schema ('Table table0)
603 , table0 ~ (constraints :=> columns)
611 , table0 ~ (constraints :=> columns)
604 , table1 ~ (Drop constraint constraints :=> columns) )
612 , table1 ~ (Drop constraint constraints :=> columns) )
605 => Alias constraint
613 => Alias constraint
@@ -638,7 +646,8 @@ class AddColumn ty where
638 -- ALTER TABLE "tab" ADD COLUMN "col2" text NULL;
646 -- ALTER TABLE "tab" ADD COLUMN "col2" text NULL;
639 addColumn
647 addColumn
640 :: ( KnownSymbol column
648 :: ( KnownSymbol column
641− , HasQualified sch tab db schema ('Table table0)
649+ , Has sch db schema
650+ , Has tab schema ('Table table0)
642 , table0 ~ (constraints :=> columns) )
651 , table0 ~ (constraints :=> columns) )
643 => Alias column -- ^ column to add
652 => Alias column -- ^ column to add
644 -> ColumnTypeExpression db ty -- ^ type of the new column
653 -> ColumnTypeExpression db ty -- ^ type of the new column
@@ -666,7 +675,8 @@ instance {-# OVERLAPPABLE #-} AddColumn ('NoDef :=> 'Null ty)
666-- ALTER TABLE "tab" DROP COLUMN "col2";
675-- ALTER TABLE "tab" DROP COLUMN "col2";
667dropColumn
676dropColumn
668 :: ( KnownSymbol column
677 :: ( KnownSymbol column
669− , HasQualified sch tab db schema ('Table table0)
678+ , Has sch db schema
679+ , Has tab schema ('Table table0)
670 , table0 ~ (constraints :=> columns)
680 , table0 ~ (constraints :=> columns)
671 , table1 ~ (constraints :=> Drop column columns) )
681 , table1 ~ (constraints :=> Drop column columns) )
672 => Alias column -- ^ column to remove
682 => Alias column -- ^ column to remove
@@ -688,7 +698,8 @@ dropColumn column = UnsafeAlterTable $
688renameColumn
698renameColumn
689 :: ( KnownSymbol column0
699 :: ( KnownSymbol column0
690 , KnownSymbol column1
700 , KnownSymbol column1
691− , HasQualified sch tab db schema ('Table table0)
701+ , Has sch db schema
702+ , Has tab schema ('Table table0)
692 , table0 ~ (constraints :=> columns)
703 , table0 ~ (constraints :=> columns)
693 , table1 ~ (constraints :=> Rename column0 column1 columns) )
704 , table1 ~ (constraints :=> Rename column0 column1 columns) )
694 => Alias column0 -- ^ column to rename
705 => Alias column0 -- ^ column to rename
@@ -700,7 +711,8 @@ renameColumn column0 column1 = UnsafeAlterTable $
700-- | An `alterColumn` alters a single column.
711-- | An `alterColumn` alters a single column.
701alterColumn
712alterColumn
702 :: ( KnownSymbol column
713 :: ( KnownSymbol column
703− , HasQualified sch tab db schema ('Table table0)
714+ , Has sch db schema
715+ , Has tab schema ('Table table0)
704 , table0 ~ (constraints :=> columns)
716 , table0 ~ (constraints :=> columns)
705 , Has column columns ty0
717 , Has column columns ty0
706 , tables1 ~ (constraints :=> Alter column ty1 columns))
718 , tables1 ~ (constraints :=> Alter column ty1 columns))
@@ -833,7 +845,7 @@ createView alias query = UnsafeDefinition $
833-- :}
845-- :}
834-- DROP VIEW "bc";
846-- DROP VIEW "bc";
835dropView
847dropView
836− :: HasQualified sch vw db schema ('View view)
848+ :: (Has sch db schema, Has vw schema ('View view))
837 => QualifiedAlias sch vw -- ^ view to remove
849 => QualifiedAlias sch vw -- ^ view to remove
838 -> Definition db (Alter sch (Drop vw schema) db)
850 -> Definition db (Alter sch (Drop vw schema) db)
839dropView vw = UnsafeDefinition $ "DROP VIEW" <+> renderQualifiedAlias vw <> ";"
851dropView vw = UnsafeDefinition $ "DROP VIEW" <+> renderQualifiedAlias vw <> ";"
@@ -938,7 +950,7 @@ instance (KnownSymbol alias, PGTyped schema ty)
938-- >>> printSQL (dropType #schwarma :: Definition '["schwarma" ::: 'Typedef (PG (Enumerated Schwarma))] '[])
950-- >>> printSQL (dropType #schwarma :: Definition '["schwarma" ::: 'Typedef (PG (Enumerated Schwarma))] '[])
939-- DROP TYPE "schwarma";
951-- DROP TYPE "schwarma";
940dropType
952dropType
941− :: HasQualified sch td db schema ('Typedef ty)
953+ :: (Has sch db schema, Has td schema ('Typedef ty))
942 => QualifiedAlias sch td
954 => QualifiedAlias sch td
943 -- ^ name of the user defined type
955 -- ^ name of the user defined type
944 -> Definition db (Alter sch (Drop td schema) db)
956 -> Definition db (Alter sch (Drop td schema) db)
squeal-postgresql/src/Squeal/PostgreSQL/Expression.hs+5−4
@@ -484,7 +484,8 @@ row exprs = UnsafeExpression $ "ROW" <> parenthesized
484-- >>> printSQL $ i & field #complex #imaginary
484-- >>> printSQL $ i & field #complex #imaginary
485-- (ROW(0, 1)::"complex")."imaginary"
485-- (ROW(0, 1)::"complex")."imaginary"
486field
486field
487+ :: ( Has sch db schema
487− :: ( HasQualified sch tydef db schema ('Typedef ('PGcomposite row))
488+ , Has tydef schema ('Typedef ('PGcomposite row))
488 , Has field row ty)
489 , Has field row ty)
489 => QualifiedAlias sch tydef -- ^ row type
490 => QualifiedAlias sch tydef -- ^ row type
490 -> Alias field -- ^ field name
491 -> Alias field -- ^ field name
@@ -1613,7 +1614,7 @@ newtype TypeExpression (db :: DBType) (ty :: NullityType)
1613
1614
1614-- | The enum or composite type in a `Typedef` can be expressed by its alias.
1615-- | The enum or composite type in a `Typedef` can be expressed by its alias.
1615typedef
1616typedef
1616− :: HasQualified sch td db schema ('Typedef ty)
1617+ :: (Has sch db schema, Has td schema ('Typedef ty))
1617 => QualifiedAlias sch td
1618 => QualifiedAlias sch td
1618 -> TypeExpression db (nullity ty)
1619 -> TypeExpression db (nullity ty)
1619typedef = UnsafeTypeExpression . renderQualifiedAlias
1620typedef = UnsafeTypeExpression . renderQualifiedAlias
@@ -1621,7 +1622,7 @@ typedef = UnsafeTypeExpression . renderQualifiedAlias
1621-- | The composite type corresponding to a `Table` definition can be expressed
1622-- | The composite type corresponding to a `Table` definition can be expressed
1622-- by its alias.
1623-- by its alias.
1623typetable
1624typetable
1624− :: HasQualified sch tab db schema ('Table table)
1625+ :: (Has sch db schema, Has tab schema ('Table table))
1625 => QualifiedAlias sch tab
1626 => QualifiedAlias sch tab
1626 -> TypeExpression db (nullity ('PGcomposite (TableToRow table)))
1627 -> TypeExpression db (nullity ('PGcomposite (TableToRow table)))
1627typetable = UnsafeTypeExpression . renderQualifiedAlias
1628typetable = UnsafeTypeExpression . renderQualifiedAlias
@@ -1629,7 +1630,7 @@ typetable = UnsafeTypeExpression . renderQualifiedAlias
1629-- | The composite type corresponding to a `View` definition can be expressed
1630-- | The composite type corresponding to a `View` definition can be expressed
1630-- by its alias.
1631-- by its alias.
1631typeview
1632typeview
1632− :: HasQualified sch vw db schema ('View view)
1633+ :: (Has sch db schema, Has vw schema ('View view))
1633 => QualifiedAlias sch vw
1634 => QualifiedAlias sch vw
1634 -> TypeExpression db (nullity ('PGcomposite view))
1635 -> TypeExpression db (nullity ('PGcomposite view))
1635typeview = UnsafeTypeExpression . renderQualifiedAlias
1636typeview = UnsafeTypeExpression . renderQualifiedAlias
squeal-postgresql/src/Squeal/PostgreSQL/Manipulation.hs+19−10
@@ -232,7 +232,8 @@ INSERT statements
232insertRows
232insertRows
233 :: ( SOP.SListI columns
233 :: ( SOP.SListI columns
234 , SOP.SListI results
234 , SOP.SListI results
235− , HasQualified sch tab db schema ('Table table)
235+ , Has sch db schema
236+ , Has tab schema ('Table table)
236 , row ~ TableToRow table
237 , row ~ TableToRow table
237 , columns ~ TableToColumns table )
238 , columns ~ TableToColumns table )
238 => QualifiedAlias sch tab -- ^ table to insert into
239 => QualifiedAlias sch tab -- ^ table to insert into
@@ -263,7 +264,8 @@ insertRows tab rw rws conflict returning = UnsafeManipulation $
263insertRow
264insertRow
264 :: ( SOP.SListI columns
265 :: ( SOP.SListI columns
265 , SOP.SListI results
266 , SOP.SListI results
266− , HasQualified sch tab db schema ('Table table)
267+ , Has sch db schema
268+ , Has tab schema ('Table table)
267 , row ~ TableToRow table
269 , row ~ TableToRow table
268 , columns ~ TableToColumns table )
270 , columns ~ TableToColumns table )
269 => QualifiedAlias sch tab -- ^ table to insert into
271 => QualifiedAlias sch tab -- ^ table to insert into
@@ -277,7 +279,8 @@ insertRow tab rw = insertRows tab rw []
277-- | Insert multiple rows returning `Nil` and raising an error on conflicts.
279-- | Insert multiple rows returning `Nil` and raising an error on conflicts.
278insertRows_
280insertRows_
279 :: ( SOP.SListI columns
281 :: ( SOP.SListI columns
280− , HasQualified sch tab db schema ('Table table)
282+ , Has sch db schema
283+ , Has tab schema ('Table table)
281 , columns ~ TableToColumns table )
284 , columns ~ TableToColumns table )
282 => QualifiedAlias sch tab -- ^ table to insert into
285 => QualifiedAlias sch tab -- ^ table to insert into
283 -> NP (Aliased (ColumnValue db '[] params)) columns -- ^ row to insert
286 -> NP (Aliased (ColumnValue db '[] params)) columns -- ^ row to insert
@@ -289,7 +292,8 @@ insertRows_ tab rw rws =
289-- | Insert a single row returning `Nil` and raising an error on conflicts.
292-- | Insert a single row returning `Nil` and raising an error on conflicts.
290insertRow_
293insertRow_
291 :: ( SOP.SListI columns
294 :: ( SOP.SListI columns
292− , HasQualified sch tab db schema ('Table table)
295+ , Has sch db schema
296+ , Has tab schema ('Table table)
293 , columns ~ TableToColumns table )
297 , columns ~ TableToColumns table )
294 => QualifiedAlias sch tab -- ^ table to insert into
298 => QualifiedAlias sch tab -- ^ table to insert into
295 -> NP (Aliased (ColumnValue db '[] params)) columns -- ^ row to insert
299 -> NP (Aliased (ColumnValue db '[] params)) columns -- ^ row to insert
@@ -300,7 +304,8 @@ insertRow_ tab rw = insertRow tab rw OnConflictDoRaise (Returning Nil)
300insertQuery
304insertQuery
301 :: ( SOP.SListI columns
305 :: ( SOP.SListI columns
302 , SOP.SListI results
306 , SOP.SListI results
303− , HasQualified sch tab db schema ('Table table)
307+ , Has sch db schema
308+ , Has tab schema ('Table table)
304 , row ~ TableToRow table
309 , row ~ TableToRow table
305 , columns ~ TableToColumns table )
310 , columns ~ TableToColumns table )
306 => QualifiedAlias sch tab -- ^ table to insert into
311 => QualifiedAlias sch tab -- ^ table to insert into
@@ -318,7 +323,8 @@ insertQuery tab query conflict returning = UnsafeManipulation $
318-- | Insert a `Query` returning `Nil` and raising an error on conflicts.
323-- | Insert a `Query` returning `Nil` and raising an error on conflicts.
319insertQuery_
324insertQuery_
320 :: ( SOP.SListI columns
325 :: ( SOP.SListI columns
321− , HasQualified sch tab db schema ('Table table)
326+ , Has sch db schema
327+ , Has tab schema ('Table table)
322 , columns ~ TableToColumns table )
328 , columns ~ TableToColumns table )
323 => QualifiedAlias sch tab -- ^ table to insert into
329 => QualifiedAlias sch tab -- ^ table to insert into
324 -> Query db params (TableToRow table)
330 -> Query db params (TableToRow table)
@@ -427,7 +433,8 @@ UPDATE statements
427update
433update
428 :: ( SOP.SListI columns
434 :: ( SOP.SListI columns
429 , SOP.SListI results
435 , SOP.SListI results
430− , HasQualified sch tab db schema ('Table table)
436+ , Has sch db schema
437+ , Has tab schema ('Table table)
431 , row ~ TableToRow table
438 , row ~ TableToRow table
432 , columns ~ TableToColumns table )
439 , columns ~ TableToColumns table )
433 => QualifiedAlias sch tab -- ^ table to update
440 => QualifiedAlias sch tab -- ^ table to update
@@ -458,7 +465,8 @@ update tab columns wh returning = UnsafeManipulation $
458-- | Update a row returning `Nil`.
465-- | Update a row returning `Nil`.
459update_
466update_
460 :: ( SOP.SListI columns
467 :: ( SOP.SListI columns
461− , HasQualified sch tab db schema ('Table table)
468+ , Has sch db schema
469+ , Has tab schema ('Table table)
462 , row ~ TableToRow table
470 , row ~ TableToRow table
463 , columns ~ TableToColumns table )
471 , columns ~ TableToColumns table )
464 => QualifiedAlias sch tab -- ^ table to update
472 => QualifiedAlias sch tab -- ^ table to update
@@ -476,7 +484,8 @@ DELETE statements
476-- | Delete rows of a table.
484-- | Delete rows of a table.
477deleteFrom
485deleteFrom
478 :: ( SOP.SListI results
486 :: ( SOP.SListI results
479− , HasQualified sch tab db schema ('Table table)
487+ , Has sch db schema
488+ , Has tab schema ('Table table)
480 , row ~ TableToRow table
489 , row ~ TableToRow table
481 , columns ~ TableToColumns table )
490 , columns ~ TableToColumns table )
482 => QualifiedAlias sch tab -- ^ table to delete from
491 => QualifiedAlias sch tab -- ^ table to delete from
@@ -491,7 +500,7 @@ deleteFrom tab wh returning = UnsafeManipulation $
491
500
492-- | Delete rows returning `Nil`.
501-- | Delete rows returning `Nil`.
493deleteFrom_
502deleteFrom_
494− :: ( HasQualified sch tab db schema ('Table table)
503+ :: ( Has sch db schema, Has tab schema ('Table table)
495 , row ~ TableToRow table
504 , row ~ TableToRow table
496 , columns ~ TableToColumns table )
505 , columns ~ TableToColumns table )
497 => QualifiedAlias sch tab -- ^ table to delete from
506 => QualifiedAlias sch tab -- ^ table to delete from
squeal-postgresql/src/Squeal/PostgreSQL/Query.hs+2−2
@@ -859,7 +859,7 @@ newtype FromClause db params from
859
859
860-- | A real `table` is a table from the schema.
860-- | A real `table` is a table from the schema.
861table
861table
862− :: HasQualified sch tab db schema ('Table table)
862+ :: (Has sch db schema, Has tab schema ('Table table))
863 => Aliased (QualifiedAlias sch) (alias ::: tab)
863 => Aliased (QualifiedAlias sch) (alias ::: tab)
864 -> FromClause db params '[alias ::: TableToRow table]
864 -> FromClause db params '[alias ::: TableToRow table]
865table (tab `As` alias) = UnsafeFromClause $
865table (tab `As` alias) = UnsafeFromClause $
@@ -873,7 +873,7 @@ subquery = UnsafeFromClause . renderAliasedAs (parenthesized . renderQuery)
873
873
874-- | `view` derives a table from a `View`.
874-- | `view` derives a table from a `View`.
875view
875view
876− :: HasQualified sch vw db schema ('View view)
876+ :: (Has sch db schema, Has vw schema ('View view))
877 => Aliased (QualifiedAlias sch) (alias ::: vw)
877 => Aliased (QualifiedAlias sch) (alias ::: vw)
878 -> FromClause db params '[alias ::: view]
878 -> FromClause db params '[alias ::: view]
879view (vw `As` alias) = UnsafeFromClause $
879view (vw `As` alias) = UnsafeFromClause $
squeal-postgresql/src/Squeal/PostgreSQL/Schema.hs+1−17
@@ -77,7 +77,6 @@ module Squeal.PostgreSQL.Schema
77 , QualifiedAlias (..)
77 , QualifiedAlias (..)
78 , IsQualified (..)
78 , IsQualified (..)
79 , renderQualifiedAlias
79 , renderQualifiedAlias
80− , HasQualified
81 -- * Enumerated Labels
80 -- * Enumerated Labels
82 , IsPGlabel (..)
81 , IsPGlabel (..)
83 , PGlabel (..)
82 , PGlabel (..)
@@ -476,6 +475,7 @@ class IsQualified table column expression where
476instance IsQualified table column (Alias table, Alias column) where (!) = (,)
475instance IsQualified table column (Alias table, Alias column) where (!) = (,)
477
476
478data QualifiedAlias (qualifier :: Symbol) (alias :: Symbol) = QualifiedAlias
477data QualifiedAlias (qualifier :: Symbol) (alias :: Symbol) = QualifiedAlias
478+ deriving (Eq,GHC.Generic,Ord,Show,NFData)
479instance (q ~ q', a ~ a') => IsQualified q a (QualifiedAlias q' a') where
479instance (q ~ q', a ~ a') => IsQualified q a (QualifiedAlias q' a') where
480 _!_ = QualifiedAlias
480 _!_ = QualifiedAlias
481instance (q' ~ "public", a ~ a') => IsLabel a (QualifiedAlias q' a') where
481instance (q' ~ "public", a ~ a') => IsLabel a (QualifiedAlias q' a') where
@@ -491,22 +491,6 @@ renderQualifiedAlias _ =
491 in
491 in
492 if qualifier == "public" then alias else qualifier <> "." <> alias
492 if qualifier == "public" then alias else qualifier <> "." <> alias
493
493
494−class (KnownSymbol qualifier, KnownSymbol alias) => HasQualified
495− (qualifier :: Symbol)
496− (alias :: Symbol)
497− (xss :: [(Symbol,[(Symbol, kind)])])
498− (xs :: [(Symbol,kind)])
499− (x :: kind)
500− | qualifier xss -> xs
501− , alias xs -> x where
502−
503−instance
504− ( KnownSymbol qualifier
505− , KnownSymbol alias
506− , Has qualifier xss xs
507− , Has alias xs x
508− ) => HasQualified qualifier alias xss xs x
509−
510-- | @Elem@ is a promoted `Data.List.elem`.
494-- | @Elem@ is a promoted `Data.List.elem`.
511type family Elem x xs where
495type family Elem x xs where
512 Elem x '[] = 'False
496 Elem x '[] = 'False