packages feed

type-equality-check (empty) → 0.0.0.0

raw patch · 4 files changed

+113/−0 lines, 4 filesdep +basedep +type-levelsetup-changed

Dependencies added: base, type-level

Files

+ LICENSE view
@@ -0,0 +1,28 @@+Copyright © 2004       Oleg Kiselyov (Fleet Numerical Meteorology and Oceanography Center)+Copyright © 2004       Ralf Lämmel (Centrum Wiskunde & Informatica, Vrije Universiteit Amsterdam)+Copyright © 2004       Keean Schupke (Imperial College London)+Copyright © 2008, 2009 Brandenburgische Technische Universität Cottbus+All rights reserved.++Redistribution and use in source and binary forms, with or without modification, are permitted+provided that the following conditions are met:++    * Redistributions of source code must retain the above copyright notice, this list of conditions+      and the following disclaimer.++    * Redistributions in binary form must reproduce the above copyright notice, this list of+      conditions and the following disclaimer in the documentation and/or other materials provided+      with the distribution.++    * Neither the name of the copyright holders nor the names of the contributors may be used to+      endorse or promote products derived from this software without specific prior written+      permission.++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND+FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER+IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF+THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ Setup.lhs view
@@ -0,0 +1,4 @@+#!/usr/bin/env runghc++> import Distribution.Simple+> main = defaultMain
+ src/Data/TypeEq.hs view
@@ -0,0 +1,45 @@+module Data.TypeEq (++    TypeEq,+    typeEq++) where++    -- Data+    import Data.TypeLevel.Bool++    class TypeEq type1 type2 result | type1 type2 -> result where++        typeEq :: type1 -> type2 -> result++    instance TypeEq soleType soleType True where++        typeEq _ _ = true++    instance (TypeCast False result) => TypeEq type1 type2 result where++        typeEq _ _ = typeCast false++    class TypeCast type1 type2 | type1 -> type2, type2 -> type1 where++        typeCast :: type1 -> type2++    instance (TypeCastHelper () type1 type2) => TypeCast type1 type2 where++        typeCast = typeCastHelper ()++    class TypeCastHelper dummy type1 type2 | dummy type1 -> type2, dummy type2 -> type1 where++        typeCastHelper :: dummy -> type1 -> type2++    instance (TypeCastHelperHelper dummy type1 type2) => TypeCastHelper dummy type1 type2 where++        typeCastHelper = typeCastHelperHelper++    class TypeCastHelperHelper dummy type1 type2 | dummy type1 -> type2, dummy type2 -> type1 where++        typeCastHelperHelper :: dummy -> type1 -> type2++    instance TypeCastHelperHelper () soleType soleType where++        typeCastHelperHelper () value = value
+ type-equality-check.cabal view
@@ -0,0 +1,36 @@+Name:          type-equality-check+Version:       0.0.0.0+Cabal-Version: >= 1.2 && < 1.8+Build-Type:    Simple+License:       BSD3+License-File:  LICENSE+Copyright:     © 2004       Oleg Kiselyov+                            (Fleet Numerical Meteorology and Oceanography Center);+               © 2004       Ralf Lämmel+                            (Centrum Wiskunde & Informatica, Vrije Universiteit Amsterdam);+               © 2004       Keean Schupke+                            (Imperial College London);+               © 2008, 2009 Brandenburgische Technische Universität Cottbus+Author:        Wolfgang Jeltsch+Maintainer:    jeltsch@informatik.tu-cottbus.de+Stability:     provisional+Homepage:      http://softbase.org/type-equality-check/+Package-URL:   http://hackage.haskell.org/packages/archive/type-equality-check/0.0.0.0/type-equality-check-0.0.0.0.tar.gz+Synopsis:      Type equality check+Description:   This packages provides a type equality check whose implementation is basically the+               one from the HList library.+Category:      Data+Tested-With:   GHC == 6.8.3+               GHC == 6.10.1++Library+    Build-Depends:   base       >= 3.0 && < 4.1,+                     type-level >= 0.1 && < 0.3+    Extensions:      FlexibleContexts+                     FlexibleInstances+                     FunctionalDependencies+                     MultiParamTypeClasses+                     OverlappingInstances+                     UndecidableInstances+    Exposed-Modules: Data.TypeEq+    HS-Source-Dirs:  src