{-# LANGUAGE BlockArguments #-}
{-# LANGUAGE TemplateHaskell #-}
module Language.PureScript.Constants.Prim where
import Language.PureScript.Names (ModuleName)
import Language.PureScript.Constants.TH qualified as TH
$(TH.declare do
TH.mod "Prim" do
TH.cls "Partial"
TH.ty "Array"
TH.ty "Boolean"
TH.ty "Char"
TH.ty "Constraint"
TH.ty "Function"
TH.ty "Int"
TH.ty "Number"
TH.ty "Record"
TH.ty "Row"
TH.ty "String"
TH.ty "Symbol"
TH.ty "Type"
TH.asIdent do TH.asString do TH.var "undefined"
TH.mod "Prim.Boolean" do
TH.tys ["False", "True"]
TH.mod "Prim.Coerce" do
TH.cls "Coercible"
TH.mod "Prim.Int" do
TH.prefixWith "Int" do TH.clss ["Add", "Compare", "Mul", "ToString"]
TH.mod "Prim.Ordering" do
TH.prefixWith "Type" do TH.ty "Ordering"
TH.tys ["EQ", "GT", "LT"]
TH.mod "Prim.Row" do
TH.prefixWith "Row" do TH.clss ["Cons", "Lacks", "Nub", "Union"]
TH.mod "Prim.RowList" do
TH.ty "RowList"
TH.cls "RowToList"
TH.prefixWith "RowList" do TH.tys ["Cons", "Nil"]
TH.mod "Prim.Symbol" do
TH.prefixWith "Symbol" do TH.clss ["Append", "Compare", "Cons"]
TH.mod "Prim.TypeError" do
TH.clss ["Fail", "Warn"]
TH.tys ["Above", "Beside", "Doc", "Quote", "QuoteLabel", "Text"]
)
primModules :: [ModuleName]
primModules :: [ModuleName]
primModules = [ModuleName
M_Prim, ModuleName
M_Prim_Boolean, ModuleName
M_Prim_Coerce, ModuleName
M_Prim_Ordering, ModuleName
M_Prim_Row, ModuleName
M_Prim_RowList, ModuleName
M_Prim_Symbol, ModuleName
M_Prim_Int, ModuleName
M_Prim_TypeError]