sized-types-0.3.5.2: Sized types in Haskell.

Safe HaskellSafe
LanguageHaskell98

Data.Sized.Ix

Contents

Description

Sized types X0 to X256.

Copyright: (c) 2009 University of Kansas License: BSD3

Maintainer: Andy Gill andygill@ku.edu Stability: unstable Portability: ghc

Synopsis

Documentation

data X0 Source #

Instances

Eq X0 Source # 

Methods

(==) :: X0 -> X0 -> Bool #

(/=) :: X0 -> X0 -> Bool #

Ord X0 Source # 

Methods

compare :: X0 -> X0 -> Ordering #

(<) :: X0 -> X0 -> Bool #

(<=) :: X0 -> X0 -> Bool #

(>) :: X0 -> X0 -> Bool #

(>=) :: X0 -> X0 -> Bool #

max :: X0 -> X0 -> X0 #

min :: X0 -> X0 -> X0 #

Size X0 Source # 
type APP0 X0 Source # 
type APP0 X0 = X0
type APP1 X0 Source # 
type APP1 X0 = X1_ X0
type LOG X0 Source # 
type LOG X0 = X0
type SUCC X0 Source # 
type SUCC X0 = X1_ X0
type NOT X0 Source # 
type NOT X0 = N1
type Index X0 Source # 
type Index X0 = Int
type MUL x X0 Source # 
type MUL x X0 = X0
type ADD a X0 Source # 
type ADD a X0 = a
type ADD X0 a Source # 
type ADD X0 a = a
type ADD X0 N1 Source # 
type ADD X0 N1 = N1

type X1 = X1_ X0 Source #

type X2 = X0_ (X1_ X0) Source #

type X3 = X1_ (X1_ X0) Source #

type X4 = X0_ (X0_ (X1_ X0)) Source #

type X5 = X1_ (X0_ (X1_ X0)) Source #

type X6 = X0_ (X1_ (X1_ X0)) Source #

type X7 = X1_ (X1_ (X1_ X0)) Source #

type X8 = X0_ (X0_ (X0_ (X1_ X0))) Source #

type X9 = X1_ (X0_ (X0_ (X1_ X0))) Source #

type X10 = X0_ (X1_ (X0_ (X1_ X0))) Source #

type X11 = X1_ (X1_ (X0_ (X1_ X0))) Source #

type X12 = X0_ (X0_ (X1_ (X1_ X0))) Source #

type X13 = X1_ (X0_ (X1_ (X1_ X0))) Source #

type X14 = X0_ (X1_ (X1_ (X1_ X0))) Source #

type X15 = X1_ (X1_ (X1_ (X1_ X0))) Source #

type X16 = X0_ (X0_ (X0_ (X0_ (X1_ X0)))) Source #

type X17 = X1_ (X0_ (X0_ (X0_ (X1_ X0)))) Source #

type X18 = X0_ (X1_ (X0_ (X0_ (X1_ X0)))) Source #

type X19 = X1_ (X1_ (X0_ (X0_ (X1_ X0)))) Source #

type X20 = X0_ (X0_ (X1_ (X0_ (X1_ X0)))) Source #

type X21 = X1_ (X0_ (X1_ (X0_ (X1_ X0)))) Source #

type X22 = X0_ (X1_ (X1_ (X0_ (X1_ X0)))) Source #

type X23 = X1_ (X1_ (X1_ (X0_ (X1_ X0)))) Source #

type X24 = X0_ (X0_ (X0_ (X1_ (X1_ X0)))) Source #

type X25 = X1_ (X0_ (X0_ (X1_ (X1_ X0)))) Source #

type X26 = X0_ (X1_ (X0_ (X1_ (X1_ X0)))) Source #

type X27 = X1_ (X1_ (X0_ (X1_ (X1_ X0)))) Source #

type X28 = X0_ (X0_ (X1_ (X1_ (X1_ X0)))) Source #

type X29 = X1_ (X0_ (X1_ (X1_ (X1_ X0)))) Source #

type X30 = X0_ (X1_ (X1_ (X1_ (X1_ X0)))) Source #

type X31 = X1_ (X1_ (X1_ (X1_ (X1_ X0)))) Source #

type X32 = X0_ (X0_ (X0_ (X0_ (X0_ (X1_ X0))))) Source #

type X33 = X1_ (X0_ (X0_ (X0_ (X0_ (X1_ X0))))) Source #

type X34 = X0_ (X1_ (X0_ (X0_ (X0_ (X1_ X0))))) Source #

type X35 = X1_ (X1_ (X0_ (X0_ (X0_ (X1_ X0))))) Source #

type X36 = X0_ (X0_ (X1_ (X0_ (X0_ (X1_ X0))))) Source #

type X37 = X1_ (X0_ (X1_ (X0_ (X0_ (X1_ X0))))) Source #

type X38 = X0_ (X1_ (X1_ (X0_ (X0_ (X1_ X0))))) Source #

type X39 = X1_ (X1_ (X1_ (X0_ (X0_ (X1_ X0))))) Source #

type X40 = X0_ (X0_ (X0_ (X1_ (X0_ (X1_ X0))))) Source #

type X41 = X1_ (X0_ (X0_ (X1_ (X0_ (X1_ X0))))) Source #

type X42 = X0_ (X1_ (X0_ (X1_ (X0_ (X1_ X0))))) Source #

type X43 = X1_ (X1_ (X0_ (X1_ (X0_ (X1_ X0))))) Source #

type X44 = X0_ (X0_ (X1_ (X1_ (X0_ (X1_ X0))))) Source #

type X45 = X1_ (X0_ (X1_ (X1_ (X0_ (X1_ X0))))) Source #

type X46 = X0_ (X1_ (X1_ (X1_ (X0_ (X1_ X0))))) Source #

type X47 = X1_ (X1_ (X1_ (X1_ (X0_ (X1_ X0))))) Source #

type X48 = X0_ (X0_ (X0_ (X0_ (X1_ (X1_ X0))))) Source #

type X49 = X1_ (X0_ (X0_ (X0_ (X1_ (X1_ X0))))) Source #

type X50 = X0_ (X1_ (X0_ (X0_ (X1_ (X1_ X0))))) Source #

type X51 = X1_ (X1_ (X0_ (X0_ (X1_ (X1_ X0))))) Source #

type X52 = X0_ (X0_ (X1_ (X0_ (X1_ (X1_ X0))))) Source #

type X53 = X1_ (X0_ (X1_ (X0_ (X1_ (X1_ X0))))) Source #

type X54 = X0_ (X1_ (X1_ (X0_ (X1_ (X1_ X0))))) Source #

type X55 = X1_ (X1_ (X1_ (X0_ (X1_ (X1_ X0))))) Source #

type X56 = X0_ (X0_ (X0_ (X1_ (X1_ (X1_ X0))))) Source #

type X57 = X1_ (X0_ (X0_ (X1_ (X1_ (X1_ X0))))) Source #

type X58 = X0_ (X1_ (X0_ (X1_ (X1_ (X1_ X0))))) Source #

type X59 = X1_ (X1_ (X0_ (X1_ (X1_ (X1_ X0))))) Source #

type X60 = X0_ (X0_ (X1_ (X1_ (X1_ (X1_ X0))))) Source #

type X61 = X1_ (X0_ (X1_ (X1_ (X1_ (X1_ X0))))) Source #

type X62 = X0_ (X1_ (X1_ (X1_ (X1_ (X1_ X0))))) Source #

type X63 = X1_ (X1_ (X1_ (X1_ (X1_ (X1_ X0))))) Source #

type X64 = X0_ (X0_ (X0_ (X0_ (X0_ (X0_ (X1_ X0)))))) Source #

type X65 = X1_ (X0_ (X0_ (X0_ (X0_ (X0_ (X1_ X0)))))) Source #

type X66 = X0_ (X1_ (X0_ (X0_ (X0_ (X0_ (X1_ X0)))))) Source #

type X67 = X1_ (X1_ (X0_ (X0_ (X0_ (X0_ (X1_ X0)))))) Source #

type X68 = X0_ (X0_ (X1_ (X0_ (X0_ (X0_ (X1_ X0)))))) Source #

type X69 = X1_ (X0_ (X1_ (X0_ (X0_ (X0_ (X1_ X0)))))) Source #

type X70 = X0_ (X1_ (X1_ (X0_ (X0_ (X0_ (X1_ X0)))))) Source #

type X71 = X1_ (X1_ (X1_ (X0_ (X0_ (X0_ (X1_ X0)))))) Source #

type X72 = X0_ (X0_ (X0_ (X1_ (X0_ (X0_ (X1_ X0)))))) Source #

type X73 = X1_ (X0_ (X0_ (X1_ (X0_ (X0_ (X1_ X0)))))) Source #

type X74 = X0_ (X1_ (X0_ (X1_ (X0_ (X0_ (X1_ X0)))))) Source #

type X75 = X1_ (X1_ (X0_ (X1_ (X0_ (X0_ (X1_ X0)))))) Source #

type X76 = X0_ (X0_ (X1_ (X1_ (X0_ (X0_ (X1_ X0)))))) Source #

type X77 = X1_ (X0_ (X1_ (X1_ (X0_ (X0_ (X1_ X0)))))) Source #

type X78 = X0_ (X1_ (X1_ (X1_ (X0_ (X0_ (X1_ X0)))))) Source #

type X79 = X1_ (X1_ (X1_ (X1_ (X0_ (X0_ (X1_ X0)))))) Source #

type X80 = X0_ (X0_ (X0_ (X0_ (X1_ (X0_ (X1_ X0)))))) Source #

type X81 = X1_ (X0_ (X0_ (X0_ (X1_ (X0_ (X1_ X0)))))) Source #

type X82 = X0_ (X1_ (X0_ (X0_ (X1_ (X0_ (X1_ X0)))))) Source #

type X83 = X1_ (X1_ (X0_ (X0_ (X1_ (X0_ (X1_ X0)))))) Source #

type X84 = X0_ (X0_ (X1_ (X0_ (X1_ (X0_ (X1_ X0)))))) Source #

type X85 = X1_ (X0_ (X1_ (X0_ (X1_ (X0_ (X1_ X0)))))) Source #

type X86 = X0_ (X1_ (X1_ (X0_ (X1_ (X0_ (X1_ X0)))))) Source #

type X87 = X1_ (X1_ (X1_ (X0_ (X1_ (X0_ (X1_ X0)))))) Source #

type X88 = X0_ (X0_ (X0_ (X1_ (X1_ (X0_ (X1_ X0)))))) Source #

type X89 = X1_ (X0_ (X0_ (X1_ (X1_ (X0_ (X1_ X0)))))) Source #

type X90 = X0_ (X1_ (X0_ (X1_ (X1_ (X0_ (X1_ X0)))))) Source #

type X91 = X1_ (X1_ (X0_ (X1_ (X1_ (X0_ (X1_ X0)))))) Source #

type X92 = X0_ (X0_ (X1_ (X1_ (X1_ (X0_ (X1_ X0)))))) Source #

type X93 = X1_ (X0_ (X1_ (X1_ (X1_ (X0_ (X1_ X0)))))) Source #

type X94 = X0_ (X1_ (X1_ (X1_ (X1_ (X0_ (X1_ X0)))))) Source #

type X95 = X1_ (X1_ (X1_ (X1_ (X1_ (X0_ (X1_ X0)))))) Source #

type X96 = X0_ (X0_ (X0_ (X0_ (X0_ (X1_ (X1_ X0)))))) Source #

type X97 = X1_ (X0_ (X0_ (X0_ (X0_ (X1_ (X1_ X0)))))) Source #

type X98 = X0_ (X1_ (X0_ (X0_ (X0_ (X1_ (X1_ X0)))))) Source #

type X99 = X1_ (X1_ (X0_ (X0_ (X0_ (X1_ (X1_ X0)))))) Source #

type X100 = X0_ (X0_ (X1_ (X0_ (X0_ (X1_ (X1_ X0)))))) Source #

type X101 = X1_ (X0_ (X1_ (X0_ (X0_ (X1_ (X1_ X0)))))) Source #

type X102 = X0_ (X1_ (X1_ (X0_ (X0_ (X1_ (X1_ X0)))))) Source #

type X103 = X1_ (X1_ (X1_ (X0_ (X0_ (X1_ (X1_ X0)))))) Source #

type X104 = X0_ (X0_ (X0_ (X1_ (X0_ (X1_ (X1_ X0)))))) Source #

type X105 = X1_ (X0_ (X0_ (X1_ (X0_ (X1_ (X1_ X0)))))) Source #

type X106 = X0_ (X1_ (X0_ (X1_ (X0_ (X1_ (X1_ X0)))))) Source #

type X107 = X1_ (X1_ (X0_ (X1_ (X0_ (X1_ (X1_ X0)))))) Source #

type X108 = X0_ (X0_ (X1_ (X1_ (X0_ (X1_ (X1_ X0)))))) Source #

type X109 = X1_ (X0_ (X1_ (X1_ (X0_ (X1_ (X1_ X0)))))) Source #

type X110 = X0_ (X1_ (X1_ (X1_ (X0_ (X1_ (X1_ X0)))))) Source #

type X111 = X1_ (X1_ (X1_ (X1_ (X0_ (X1_ (X1_ X0)))))) Source #

type X112 = X0_ (X0_ (X0_ (X0_ (X1_ (X1_ (X1_ X0)))))) Source #

type X113 = X1_ (X0_ (X0_ (X0_ (X1_ (X1_ (X1_ X0)))))) Source #

type X114 = X0_ (X1_ (X0_ (X0_ (X1_ (X1_ (X1_ X0)))))) Source #

type X115 = X1_ (X1_ (X0_ (X0_ (X1_ (X1_ (X1_ X0)))))) Source #

type X116 = X0_ (X0_ (X1_ (X0_ (X1_ (X1_ (X1_ X0)))))) Source #

type X117 = X1_ (X0_ (X1_ (X0_ (X1_ (X1_ (X1_ X0)))))) Source #

type X118 = X0_ (X1_ (X1_ (X0_ (X1_ (X1_ (X1_ X0)))))) Source #

type X119 = X1_ (X1_ (X1_ (X0_ (X1_ (X1_ (X1_ X0)))))) Source #

type X120 = X0_ (X0_ (X0_ (X1_ (X1_ (X1_ (X1_ X0)))))) Source #

type X121 = X1_ (X0_ (X0_ (X1_ (X1_ (X1_ (X1_ X0)))))) Source #

type X122 = X0_ (X1_ (X0_ (X1_ (X1_ (X1_ (X1_ X0)))))) Source #

type X123 = X1_ (X1_ (X0_ (X1_ (X1_ (X1_ (X1_ X0)))))) Source #

type X124 = X0_ (X0_ (X1_ (X1_ (X1_ (X1_ (X1_ X0)))))) Source #

type X125 = X1_ (X0_ (X1_ (X1_ (X1_ (X1_ (X1_ X0)))))) Source #

type X126 = X0_ (X1_ (X1_ (X1_ (X1_ (X1_ (X1_ X0)))))) Source #

type X127 = X1_ (X1_ (X1_ (X1_ (X1_ (X1_ (X1_ X0)))))) Source #

type X128 = X0_ (X0_ (X0_ (X0_ (X0_ (X0_ (X0_ (X1_ X0))))))) Source #

type X129 = X1_ (X0_ (X0_ (X0_ (X0_ (X0_ (X0_ (X1_ X0))))))) Source #

type X130 = X0_ (X1_ (X0_ (X0_ (X0_ (X0_ (X0_ (X1_ X0))))))) Source #

type X131 = X1_ (X1_ (X0_ (X0_ (X0_ (X0_ (X0_ (X1_ X0))))))) Source #

type X132 = X0_ (X0_ (X1_ (X0_ (X0_ (X0_ (X0_ (X1_ X0))))))) Source #

type X133 = X1_ (X0_ (X1_ (X0_ (X0_ (X0_ (X0_ (X1_ X0))))))) Source #

type X134 = X0_ (X1_ (X1_ (X0_ (X0_ (X0_ (X0_ (X1_ X0))))))) Source #

type X135 = X1_ (X1_ (X1_ (X0_ (X0_ (X0_ (X0_ (X1_ X0))))))) Source #

type X136 = X0_ (X0_ (X0_ (X1_ (X0_ (X0_ (X0_ (X1_ X0))))))) Source #

type X137 = X1_ (X0_ (X0_ (X1_ (X0_ (X0_ (X0_ (X1_ X0))))))) Source #

type X138 = X0_ (X1_ (X0_ (X1_ (X0_ (X0_ (X0_ (X1_ X0))))))) Source #

type X139 = X1_ (X1_ (X0_ (X1_ (X0_ (X0_ (X0_ (X1_ X0))))))) Source #

type X140 = X0_ (X0_ (X1_ (X1_ (X0_ (X0_ (X0_ (X1_ X0))))))) Source #

type X141 = X1_ (X0_ (X1_ (X1_ (X0_ (X0_ (X0_ (X1_ X0))))))) Source #

type X142 = X0_ (X1_ (X1_ (X1_ (X0_ (X0_ (X0_ (X1_ X0))))))) Source #

type X143 = X1_ (X1_ (X1_ (X1_ (X0_ (X0_ (X0_ (X1_ X0))))))) Source #

type X144 = X0_ (X0_ (X0_ (X0_ (X1_ (X0_ (X0_ (X1_ X0))))))) Source #

type X145 = X1_ (X0_ (X0_ (X0_ (X1_ (X0_ (X0_ (X1_ X0))))))) Source #

type X146 = X0_ (X1_ (X0_ (X0_ (X1_ (X0_ (X0_ (X1_ X0))))))) Source #

type X147 = X1_ (X1_ (X0_ (X0_ (X1_ (X0_ (X0_ (X1_ X0))))))) Source #

type X148 = X0_ (X0_ (X1_ (X0_ (X1_ (X0_ (X0_ (X1_ X0))))))) Source #

type X149 = X1_ (X0_ (X1_ (X0_ (X1_ (X0_ (X0_ (X1_ X0))))))) Source #

type X150 = X0_ (X1_ (X1_ (X0_ (X1_ (X0_ (X0_ (X1_ X0))))))) Source #

type X151 = X1_ (X1_ (X1_ (X0_ (X1_ (X0_ (X0_ (X1_ X0))))))) Source #

type X152 = X0_ (X0_ (X0_ (X1_ (X1_ (X0_ (X0_ (X1_ X0))))))) Source #

type X153 = X1_ (X0_ (X0_ (X1_ (X1_ (X0_ (X0_ (X1_ X0))))))) Source #

type X154 = X0_ (X1_ (X0_ (X1_ (X1_ (X0_ (X0_ (X1_ X0))))))) Source #

type X155 = X1_ (X1_ (X0_ (X1_ (X1_ (X0_ (X0_ (X1_ X0))))))) Source #

type X156 = X0_ (X0_ (X1_ (X1_ (X1_ (X0_ (X0_ (X1_ X0))))))) Source #

type X157 = X1_ (X0_ (X1_ (X1_ (X1_ (X0_ (X0_ (X1_ X0))))))) Source #

type X158 = X0_ (X1_ (X1_ (X1_ (X1_ (X0_ (X0_ (X1_ X0))))))) Source #

type X159 = X1_ (X1_ (X1_ (X1_ (X1_ (X0_ (X0_ (X1_ X0))))))) Source #

type X160 = X0_ (X0_ (X0_ (X0_ (X0_ (X1_ (X0_ (X1_ X0))))))) Source #

type X161 = X1_ (X0_ (X0_ (X0_ (X0_ (X1_ (X0_ (X1_ X0))))))) Source #

type X162 = X0_ (X1_ (X0_ (X0_ (X0_ (X1_ (X0_ (X1_ X0))))))) Source #

type X163 = X1_ (X1_ (X0_ (X0_ (X0_ (X1_ (X0_ (X1_ X0))))))) Source #

type X164 = X0_ (X0_ (X1_ (X0_ (X0_ (X1_ (X0_ (X1_ X0))))))) Source #

type X165 = X1_ (X0_ (X1_ (X0_ (X0_ (X1_ (X0_ (X1_ X0))))))) Source #

type X166 = X0_ (X1_ (X1_ (X0_ (X0_ (X1_ (X0_ (X1_ X0))))))) Source #

type X167 = X1_ (X1_ (X1_ (X0_ (X0_ (X1_ (X0_ (X1_ X0))))))) Source #

type X168 = X0_ (X0_ (X0_ (X1_ (X0_ (X1_ (X0_ (X1_ X0))))))) Source #

type X169 = X1_ (X0_ (X0_ (X1_ (X0_ (X1_ (X0_ (X1_ X0))))))) Source #

type X170 = X0_ (X1_ (X0_ (X1_ (X0_ (X1_ (X0_ (X1_ X0))))))) Source #

type X171 = X1_ (X1_ (X0_ (X1_ (X0_ (X1_ (X0_ (X1_ X0))))))) Source #

type X172 = X0_ (X0_ (X1_ (X1_ (X0_ (X1_ (X0_ (X1_ X0))))))) Source #

type X173 = X1_ (X0_ (X1_ (X1_ (X0_ (X1_ (X0_ (X1_ X0))))))) Source #

type X174 = X0_ (X1_ (X1_ (X1_ (X0_ (X1_ (X0_ (X1_ X0))))))) Source #

type X175 = X1_ (X1_ (X1_ (X1_ (X0_ (X1_ (X0_ (X1_ X0))))))) Source #

type X176 = X0_ (X0_ (X0_ (X0_ (X1_ (X1_ (X0_ (X1_ X0))))))) Source #

type X177 = X1_ (X0_ (X0_ (X0_ (X1_ (X1_ (X0_ (X1_ X0))))))) Source #

type X178 = X0_ (X1_ (X0_ (X0_ (X1_ (X1_ (X0_ (X1_ X0))))))) Source #

type X179 = X1_ (X1_ (X0_ (X0_ (X1_ (X1_ (X0_ (X1_ X0))))))) Source #

type X180 = X0_ (X0_ (X1_ (X0_ (X1_ (X1_ (X0_ (X1_ X0))))))) Source #

type X181 = X1_ (X0_ (X1_ (X0_ (X1_ (X1_ (X0_ (X1_ X0))))))) Source #

type X182 = X0_ (X1_ (X1_ (X0_ (X1_ (X1_ (X0_ (X1_ X0))))))) Source #

type X183 = X1_ (X1_ (X1_ (X0_ (X1_ (X1_ (X0_ (X1_ X0))))))) Source #

type X184 = X0_ (X0_ (X0_ (X1_ (X1_ (X1_ (X0_ (X1_ X0))))))) Source #

type X185 = X1_ (X0_ (X0_ (X1_ (X1_ (X1_ (X0_ (X1_ X0))))))) Source #

type X186 = X0_ (X1_ (X0_ (X1_ (X1_ (X1_ (X0_ (X1_ X0))))))) Source #

type X187 = X1_ (X1_ (X0_ (X1_ (X1_ (X1_ (X0_ (X1_ X0))))))) Source #

type X188 = X0_ (X0_ (X1_ (X1_ (X1_ (X1_ (X0_ (X1_ X0))))))) Source #

type X189 = X1_ (X0_ (X1_ (X1_ (X1_ (X1_ (X0_ (X1_ X0))))))) Source #

type X190 = X0_ (X1_ (X1_ (X1_ (X1_ (X1_ (X0_ (X1_ X0))))))) Source #

type X191 = X1_ (X1_ (X1_ (X1_ (X1_ (X1_ (X0_ (X1_ X0))))))) Source #

type X192 = X0_ (X0_ (X0_ (X0_ (X0_ (X0_ (X1_ (X1_ X0))))))) Source #

type X193 = X1_ (X0_ (X0_ (X0_ (X0_ (X0_ (X1_ (X1_ X0))))))) Source #

type X194 = X0_ (X1_ (X0_ (X0_ (X0_ (X0_ (X1_ (X1_ X0))))))) Source #

type X195 = X1_ (X1_ (X0_ (X0_ (X0_ (X0_ (X1_ (X1_ X0))))))) Source #

type X196 = X0_ (X0_ (X1_ (X0_ (X0_ (X0_ (X1_ (X1_ X0))))))) Source #

type X197 = X1_ (X0_ (X1_ (X0_ (X0_ (X0_ (X1_ (X1_ X0))))))) Source #

type X198 = X0_ (X1_ (X1_ (X0_ (X0_ (X0_ (X1_ (X1_ X0))))))) Source #

type X199 = X1_ (X1_ (X1_ (X0_ (X0_ (X0_ (X1_ (X1_ X0))))))) Source #

type X200 = X0_ (X0_ (X0_ (X1_ (X0_ (X0_ (X1_ (X1_ X0))))))) Source #

type X201 = X1_ (X0_ (X0_ (X1_ (X0_ (X0_ (X1_ (X1_ X0))))))) Source #

type X202 = X0_ (X1_ (X0_ (X1_ (X0_ (X0_ (X1_ (X1_ X0))))))) Source #

type X203 = X1_ (X1_ (X0_ (X1_ (X0_ (X0_ (X1_ (X1_ X0))))))) Source #

type X204 = X0_ (X0_ (X1_ (X1_ (X0_ (X0_ (X1_ (X1_ X0))))))) Source #

type X205 = X1_ (X0_ (X1_ (X1_ (X0_ (X0_ (X1_ (X1_ X0))))))) Source #

type X206 = X0_ (X1_ (X1_ (X1_ (X0_ (X0_ (X1_ (X1_ X0))))))) Source #

type X207 = X1_ (X1_ (X1_ (X1_ (X0_ (X0_ (X1_ (X1_ X0))))))) Source #

type X208 = X0_ (X0_ (X0_ (X0_ (X1_ (X0_ (X1_ (X1_ X0))))))) Source #

type X209 = X1_ (X0_ (X0_ (X0_ (X1_ (X0_ (X1_ (X1_ X0))))))) Source #

type X210 = X0_ (X1_ (X0_ (X0_ (X1_ (X0_ (X1_ (X1_ X0))))))) Source #

type X211 = X1_ (X1_ (X0_ (X0_ (X1_ (X0_ (X1_ (X1_ X0))))))) Source #

type X212 = X0_ (X0_ (X1_ (X0_ (X1_ (X0_ (X1_ (X1_ X0))))))) Source #

type X213 = X1_ (X0_ (X1_ (X0_ (X1_ (X0_ (X1_ (X1_ X0))))))) Source #

type X214 = X0_ (X1_ (X1_ (X0_ (X1_ (X0_ (X1_ (X1_ X0))))))) Source #

type X215 = X1_ (X1_ (X1_ (X0_ (X1_ (X0_ (X1_ (X1_ X0))))))) Source #

type X216 = X0_ (X0_ (X0_ (X1_ (X1_ (X0_ (X1_ (X1_ X0))))))) Source #

type X217 = X1_ (X0_ (X0_ (X1_ (X1_ (X0_ (X1_ (X1_ X0))))))) Source #

type X218 = X0_ (X1_ (X0_ (X1_ (X1_ (X0_ (X1_ (X1_ X0))))))) Source #

type X219 = X1_ (X1_ (X0_ (X1_ (X1_ (X0_ (X1_ (X1_ X0))))))) Source #

type X220 = X0_ (X0_ (X1_ (X1_ (X1_ (X0_ (X1_ (X1_ X0))))))) Source #

type X221 = X1_ (X0_ (X1_ (X1_ (X1_ (X0_ (X1_ (X1_ X0))))))) Source #

type X222 = X0_ (X1_ (X1_ (X1_ (X1_ (X0_ (X1_ (X1_ X0))))))) Source #

type X223 = X1_ (X1_ (X1_ (X1_ (X1_ (X0_ (X1_ (X1_ X0))))))) Source #

type X224 = X0_ (X0_ (X0_ (X0_ (X0_ (X1_ (X1_ (X1_ X0))))))) Source #

type X225 = X1_ (X0_ (X0_ (X0_ (X0_ (X1_ (X1_ (X1_ X0))))))) Source #

type X226 = X0_ (X1_ (X0_ (X0_ (X0_ (X1_ (X1_ (X1_ X0))))))) Source #

type X227 = X1_ (X1_ (X0_ (X0_ (X0_ (X1_ (X1_ (X1_ X0))))))) Source #

type X228 = X0_ (X0_ (X1_ (X0_ (X0_ (X1_ (X1_ (X1_ X0))))))) Source #

type X229 = X1_ (X0_ (X1_ (X0_ (X0_ (X1_ (X1_ (X1_ X0))))))) Source #

type X230 = X0_ (X1_ (X1_ (X0_ (X0_ (X1_ (X1_ (X1_ X0))))))) Source #

type X231 = X1_ (X1_ (X1_ (X0_ (X0_ (X1_ (X1_ (X1_ X0))))))) Source #

type X232 = X0_ (X0_ (X0_ (X1_ (X0_ (X1_ (X1_ (X1_ X0))))))) Source #

type X233 = X1_ (X0_ (X0_ (X1_ (X0_ (X1_ (X1_ (X1_ X0))))))) Source #

type X234 = X0_ (X1_ (X0_ (X1_ (X0_ (X1_ (X1_ (X1_ X0))))))) Source #

type X235 = X1_ (X1_ (X0_ (X1_ (X0_ (X1_ (X1_ (X1_ X0))))))) Source #

type X236 = X0_ (X0_ (X1_ (X1_ (X0_ (X1_ (X1_ (X1_ X0))))))) Source #

type X237 = X1_ (X0_ (X1_ (X1_ (X0_ (X1_ (X1_ (X1_ X0))))))) Source #

type X238 = X0_ (X1_ (X1_ (X1_ (X0_ (X1_ (X1_ (X1_ X0))))))) Source #

type X239 = X1_ (X1_ (X1_ (X1_ (X0_ (X1_ (X1_ (X1_ X0))))))) Source #

type X240 = X0_ (X0_ (X0_ (X0_ (X1_ (X1_ (X1_ (X1_ X0))))))) Source #

type X241 = X1_ (X0_ (X0_ (X0_ (X1_ (X1_ (X1_ (X1_ X0))))))) Source #

type X242 = X0_ (X1_ (X0_ (X0_ (X1_ (X1_ (X1_ (X1_ X0))))))) Source #

type X243 = X1_ (X1_ (X0_ (X0_ (X1_ (X1_ (X1_ (X1_ X0))))))) Source #

type X244 = X0_ (X0_ (X1_ (X0_ (X1_ (X1_ (X1_ (X1_ X0))))))) Source #

type X245 = X1_ (X0_ (X1_ (X0_ (X1_ (X1_ (X1_ (X1_ X0))))))) Source #

type X246 = X0_ (X1_ (X1_ (X0_ (X1_ (X1_ (X1_ (X1_ X0))))))) Source #

type X247 = X1_ (X1_ (X1_ (X0_ (X1_ (X1_ (X1_ (X1_ X0))))))) Source #

type X248 = X0_ (X0_ (X0_ (X1_ (X1_ (X1_ (X1_ (X1_ X0))))))) Source #

type X249 = X1_ (X0_ (X0_ (X1_ (X1_ (X1_ (X1_ (X1_ X0))))))) Source #

type X250 = X0_ (X1_ (X0_ (X1_ (X1_ (X1_ (X1_ (X1_ X0))))))) Source #

type X251 = X1_ (X1_ (X0_ (X1_ (X1_ (X1_ (X1_ (X1_ X0))))))) Source #

type X252 = X0_ (X0_ (X1_ (X1_ (X1_ (X1_ (X1_ (X1_ X0))))))) Source #

type X253 = X1_ (X0_ (X1_ (X1_ (X1_ (X1_ (X1_ (X1_ X0))))))) Source #

type X254 = X0_ (X1_ (X1_ (X1_ (X1_ (X1_ (X1_ (X1_ X0))))))) Source #

type X255 = X1_ (X1_ (X1_ (X1_ (X1_ (X1_ (X1_ (X1_ X0))))))) Source #

type X256 = X0_ (X0_ (X0_ (X0_ (X0_ (X0_ (X0_ (X0_ (X1_ X0)))))))) Source #

class (Eq ix, Ord ix, Show ix, Ix ix, Bounded ix) => Size ix where Source #

Minimal complete definition

size, addIndex, toIndex

Methods

size :: ix -> Int Source #

return the size (number of possible elements) in type ix.

addIndex :: ix -> Index ix -> ix Source #

add an arbitary index to a specific ix position.

toIndex :: ix -> Index ix Source #

look at an ix as an Index, typically just an Int.

Instances

Size () Source # 

Methods

size :: () -> Int Source #

addIndex :: () -> Index () -> () Source #

toIndex :: () -> Index () Source #

Size X0 Source # 
Size a => Size (X1_ a) Source # 

Methods

size :: X1_ a -> Int Source #

addIndex :: X1_ a -> Index (X1_ a) -> X1_ a Source #

toIndex :: X1_ a -> Index (X1_ a) Source #

Size a => Size (X0_ a) Source # 

Methods

size :: X0_ a -> Int Source #

addIndex :: X0_ a -> Index (X0_ a) -> X0_ a Source #

toIndex :: X0_ a -> Index (X0_ a) Source #

Size ix => Size (Unsigned ix) Source # 
(Size x, Size y) => Size (x, y) Source # 

Methods

size :: (x, y) -> Int Source #

addIndex :: (x, y) -> Index (x, y) -> (x, y) Source #

toIndex :: (x, y) -> Index (x, y) Source #

(Size x, Size y, Size z) => Size (x, y, z) Source # 

Methods

size :: (x, y, z) -> Int Source #

addIndex :: (x, y, z) -> Index (x, y, z) -> (x, y, z) Source #

toIndex :: (x, y, z) -> Index (x, y, z) Source #

(Size x, Size y, Size z, Size z2) => Size (x, y, z, z2) Source # 

Methods

size :: (x, y, z, z2) -> Int Source #

addIndex :: (x, y, z, z2) -> Index (x, y, z, z2) -> (x, y, z, z2) Source #

toIndex :: (x, y, z, z2) -> Index (x, y, z, z2) Source #

all :: forall i. Size i => [i] Source #

A list of all possible indices. Unlike indices in Matrix, this does not need the Matrix argument, because the types determine the contents.

type family Index a Source #

Instances

type Index () Source # 
type Index () = ()
type Index X0 Source # 
type Index X0 = Int
type Index (X1_ a) Source # 
type Index (X1_ a) = Int
type Index (X0_ a) Source # 
type Index (X0_ a) = Int
type Index (Unsigned ix) Source # 
type Index (Unsigned ix) = Int
type Index (a, b) Source # 
type Index (a, b) = (Index a, Index b)
type Index (a, b, c) Source # 
type Index (a, b, c) = (Index a, Index b, Index c)
type Index (a, b, c, d) Source # 
type Index (a, b, c, d) = (Index a, Index b, Index c, Index d)

coerceSize :: (Index ix1 ~ Index ix2, Size ix1, Size ix2, Num ix2) => ix1 -> ix2 Source #

A good way of converting from one index type to another index type, typically in another base.

type family ADD a b Source #

Instances

type ADD a X0 Source # 
type ADD a X0 = a
type ADD X0 a Source # 
type ADD X0 a = a
type ADD X0 N1 Source # 
type ADD X0 N1 = N1
type ADD N1 N1 Source # 
type ADD N1 N1 = APP0 N1
type ADD N1 (X1_ b) Source # 
type ADD N1 (X1_ b) = APP0 b
type ADD N1 (X0_ b) Source # 
type ADD N1 (X0_ b) = APP1 (ADD N1 b)
type ADD (X1_ a) N1 Source # 
type ADD (X1_ a) N1 = APP0 a
type ADD (X0_ a) N1 Source # 
type ADD (X0_ a) N1 = APP1 (ADD a N1)
type ADD (X1_ a) (X0_ b) Source # 
type ADD (X1_ a) (X0_ b) = APP1 (ADD a b)
type ADD (X1_ a) (X1_ b) Source # 
type ADD (X1_ a) (X1_ b) = APP0 (SUCC (ADD a b))
type ADD (X0_ a) (X1_ b) Source # 
type ADD (X0_ a) (X1_ b) = APP1 (ADD a b)
type ADD (X0_ a) (X0_ b) Source # 
type ADD (X0_ a) (X0_ b) = APP0 (ADD a b)

type SUB a b = ADD a (SUCC (NOT b)) Source #

Orphan instances

Bounded X0 Source # 

Methods

minBound :: X0 #

maxBound :: X0 #

Enum X0 Source # 

Methods

succ :: X0 -> X0 #

pred :: X0 -> X0 #

toEnum :: Int -> X0 #

fromEnum :: X0 -> Int #

enumFrom :: X0 -> [X0] #

enumFromThen :: X0 -> X0 -> [X0] #

enumFromTo :: X0 -> X0 -> [X0] #

enumFromThenTo :: X0 -> X0 -> X0 -> [X0] #

Integral X0 Source # 

Methods

quot :: X0 -> X0 -> X0 #

rem :: X0 -> X0 -> X0 #

div :: X0 -> X0 -> X0 #

mod :: X0 -> X0 -> X0 #

quotRem :: X0 -> X0 -> (X0, X0) #

divMod :: X0 -> X0 -> (X0, X0) #

toInteger :: X0 -> Integer #

Num X0 Source # 

Methods

(+) :: X0 -> X0 -> X0 #

(-) :: X0 -> X0 -> X0 #

(*) :: X0 -> X0 -> X0 #

negate :: X0 -> X0 #

abs :: X0 -> X0 #

signum :: X0 -> X0 #

fromInteger :: Integer -> X0 #

Real X0 Source # 

Methods

toRational :: X0 -> Rational #

Show X0 Source # 

Methods

showsPrec :: Int -> X0 -> ShowS #

show :: X0 -> String #

showList :: [X0] -> ShowS #

Ix X0 Source # 

Methods

range :: (X0, X0) -> [X0] #

index :: (X0, X0) -> X0 -> Int #

unsafeIndex :: (X0, X0) -> X0 -> Int

inRange :: (X0, X0) -> X0 -> Bool #

rangeSize :: (X0, X0) -> Int #

unsafeRangeSize :: (X0, X0) -> Int

Size a => Bounded (X1_ a) Source # 

Methods

minBound :: X1_ a #

maxBound :: X1_ a #

Size a => Bounded (X0_ a) Source # 

Methods

minBound :: X0_ a #

maxBound :: X0_ a #

Size a => Enum (X1_ a) Source # 

Methods

succ :: X1_ a -> X1_ a #

pred :: X1_ a -> X1_ a #

toEnum :: Int -> X1_ a #

fromEnum :: X1_ a -> Int #

enumFrom :: X1_ a -> [X1_ a] #

enumFromThen :: X1_ a -> X1_ a -> [X1_ a] #

enumFromTo :: X1_ a -> X1_ a -> [X1_ a] #

enumFromThenTo :: X1_ a -> X1_ a -> X1_ a -> [X1_ a] #

Size a => Enum (X0_ a) Source # 

Methods

succ :: X0_ a -> X0_ a #

pred :: X0_ a -> X0_ a #

toEnum :: Int -> X0_ a #

fromEnum :: X0_ a -> Int #

enumFrom :: X0_ a -> [X0_ a] #

enumFromThen :: X0_ a -> X0_ a -> [X0_ a] #

enumFromTo :: X0_ a -> X0_ a -> [X0_ a] #

enumFromThenTo :: X0_ a -> X0_ a -> X0_ a -> [X0_ a] #

Eq (X1_ a) Source # 

Methods

(==) :: X1_ a -> X1_ a -> Bool #

(/=) :: X1_ a -> X1_ a -> Bool #

Eq (X0_ a) Source # 

Methods

(==) :: X0_ a -> X0_ a -> Bool #

(/=) :: X0_ a -> X0_ a -> Bool #

(Size a, Size (X1_ a), Integral a) => Integral (X1_ a) Source # 

Methods

quot :: X1_ a -> X1_ a -> X1_ a #

rem :: X1_ a -> X1_ a -> X1_ a #

div :: X1_ a -> X1_ a -> X1_ a #

mod :: X1_ a -> X1_ a -> X1_ a #

quotRem :: X1_ a -> X1_ a -> (X1_ a, X1_ a) #

divMod :: X1_ a -> X1_ a -> (X1_ a, X1_ a) #

toInteger :: X1_ a -> Integer #

(Size a, Size (X0_ a), Integral a) => Integral (X0_ a) Source # 

Methods

quot :: X0_ a -> X0_ a -> X0_ a #

rem :: X0_ a -> X0_ a -> X0_ a #

div :: X0_ a -> X0_ a -> X0_ a #

mod :: X0_ a -> X0_ a -> X0_ a #

quotRem :: X0_ a -> X0_ a -> (X0_ a, X0_ a) #

divMod :: X0_ a -> X0_ a -> (X0_ a, X0_ a) #

toInteger :: X0_ a -> Integer #

Size a => Num (X1_ a) Source # 

Methods

(+) :: X1_ a -> X1_ a -> X1_ a #

(-) :: X1_ a -> X1_ a -> X1_ a #

(*) :: X1_ a -> X1_ a -> X1_ a #

negate :: X1_ a -> X1_ a #

abs :: X1_ a -> X1_ a #

signum :: X1_ a -> X1_ a #

fromInteger :: Integer -> X1_ a #

Size a => Num (X0_ a) Source # 

Methods

(+) :: X0_ a -> X0_ a -> X0_ a #

(-) :: X0_ a -> X0_ a -> X0_ a #

(*) :: X0_ a -> X0_ a -> X0_ a #

negate :: X0_ a -> X0_ a #

abs :: X0_ a -> X0_ a #

signum :: X0_ a -> X0_ a #

fromInteger :: Integer -> X0_ a #

Ord (X1_ a) Source # 

Methods

compare :: X1_ a -> X1_ a -> Ordering #

(<) :: X1_ a -> X1_ a -> Bool #

(<=) :: X1_ a -> X1_ a -> Bool #

(>) :: X1_ a -> X1_ a -> Bool #

(>=) :: X1_ a -> X1_ a -> Bool #

max :: X1_ a -> X1_ a -> X1_ a #

min :: X1_ a -> X1_ a -> X1_ a #

Ord (X0_ a) Source # 

Methods

compare :: X0_ a -> X0_ a -> Ordering #

(<) :: X0_ a -> X0_ a -> Bool #

(<=) :: X0_ a -> X0_ a -> Bool #

(>) :: X0_ a -> X0_ a -> Bool #

(>=) :: X0_ a -> X0_ a -> Bool #

max :: X0_ a -> X0_ a -> X0_ a #

min :: X0_ a -> X0_ a -> X0_ a #

Size a => Real (X1_ a) Source # 

Methods

toRational :: X1_ a -> Rational #

Size a => Real (X0_ a) Source # 

Methods

toRational :: X0_ a -> Rational #

Show (X1_ a) Source # 

Methods

showsPrec :: Int -> X1_ a -> ShowS #

show :: X1_ a -> String #

showList :: [X1_ a] -> ShowS #

Show (X0_ a) Source # 

Methods

showsPrec :: Int -> X0_ a -> ShowS #

show :: X0_ a -> String #

showList :: [X0_ a] -> ShowS #

Size a => Ix (X1_ a) Source # 

Methods

range :: (X1_ a, X1_ a) -> [X1_ a] #

index :: (X1_ a, X1_ a) -> X1_ a -> Int #

unsafeIndex :: (X1_ a, X1_ a) -> X1_ a -> Int

inRange :: (X1_ a, X1_ a) -> X1_ a -> Bool #

rangeSize :: (X1_ a, X1_ a) -> Int #

unsafeRangeSize :: (X1_ a, X1_ a) -> Int

Size a => Ix (X0_ a) Source # 

Methods

range :: (X0_ a, X0_ a) -> [X0_ a] #

index :: (X0_ a, X0_ a) -> X0_ a -> Int #

unsafeIndex :: (X0_ a, X0_ a) -> X0_ a -> Int

inRange :: (X0_ a, X0_ a) -> X0_ a -> Bool #

rangeSize :: (X0_ a, X0_ a) -> Int #

unsafeRangeSize :: (X0_ a, X0_ a) -> Int