diff options
Diffstat (limited to 'src/PGF/CId.hs')
| -rw-r--r-- | src/PGF/CId.hs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/PGF/CId.hs b/src/PGF/CId.hs new file mode 100644 index 000000000..161529308 --- /dev/null +++ b/src/PGF/CId.hs @@ -0,0 +1,18 @@ +module PGF.CId (CId(..), wildCId, mkCId, prCId) where + +import Data.ByteString.Char8 as BS + +-- | An abstract data type that represents +-- function identifier in PGF. +newtype CId = CId BS.ByteString deriving (Eq,Ord,Show) + +wildCId :: CId +wildCId = CId (BS.singleton '_') + +-- | Creates a new identifier from 'String' +mkCId :: String -> CId +mkCId s = CId (BS.pack s) + +-- | Renders the identifier as 'String' +prCId :: CId -> String +prCId (CId x) = BS.unpack x |
