mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-31 04:23:40 +00:00
0.2.5 initial commit
Makefile incomplete
This commit is contained in:
20
agent/src/Lib/TyFam/ConditionalData.hs
Normal file
20
agent/src/Lib/TyFam/ConditionalData.hs
Normal file
@@ -0,0 +1,20 @@
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
module Lib.TyFam.ConditionalData where
|
||||
|
||||
import Startlude
|
||||
|
||||
import Data.Singletons.TH
|
||||
|
||||
type Include :: Bool -> Type -> Type
|
||||
type family Include p a where
|
||||
Include 'True a = a
|
||||
Include 'False _ = ()
|
||||
genDefunSymbols [''Include]
|
||||
type Keep :: Type ~> Type
|
||||
type Keep = IncludeSym1 'True
|
||||
type Full :: ((Type ~> Type) -> Type) -> Type
|
||||
type Full t = t Keep
|
||||
type Strip :: Type ~> Type
|
||||
type Strip = IncludeSym1 'False
|
||||
type Stripped :: ((Type ~> Type) -> Type) -> Type
|
||||
type Stripped t = t Strip
|
||||
Reference in New Issue
Block a user