| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Tao.Example
Example Usage
tao-example provides example usages of the tao package to test some slightly more complicated type-level computations than what is shown the the tao package's Getting Started section. tao-example tests three different type functions: Take, Drop, and Chunk. The implementations of these type functions are available in Tao.Example.List.
Takegrabs the firstnelements from a type-level list, wherenis aNat. This is similar to the value-leveltakefunction.Dropdiscards the firstnelements from a type-level list, wherenis aNat. This is similar to the value-leveldropfunction.Chunkgroups the type-level list into sub-lists each of sizen, wherenis aNat.
Unit tests
unitTests :: Proxy () Source #
Implementation:
unitTests :: Proxy '() unitTests = Proxy :: Proxy (AssertAll '[ "Take" @<> OneTwo @=? Take 2 OneToFour , "Take (none)" @<> Empty @=? Take 0 OneToFour , "Take (more than length)" @<> OneToFour @=? Take 8 OneToFour , "Drop" @<> ThreeFour @=? Drop 2 OneToFour , "Drop (none)" @<> OneToFour @=? Drop 0 OneToFour , "Drop (more than length)" @<> Empty @=? Drop 8 OneToFour , "Chunk" @<> '[OneTwo, ThreeFour] @=? Chunk 2 OneToFour , "Chunk (none)" @<> Empty @=? Chunk 0 OneToFour , "Chunk (more than length)" @<> '[OneToFour] @=? Chunk 8 OneToFour , "Chunk (uneven groups)" @<> '[ '[1, 2, 3], '[4] ] @=? Chunk 3 OneToFour ])