Mercurial > repo
view interps/rhotor/Misc.hs @ 6934:04f9cc15cad5
<hppavilion[1]> le/rn last-class function/A last-class function is a function that cannot be passed as an argument, accept a function as an argument, be returned by a function, return a function, set to a variable other than its initial name, or be called
author | HackBot |
---|---|
date | Tue, 23 Feb 2016 00:02:33 +0000 |
parents | 859f9b4339e6 |
children |
line wrap: on
line source
module Misc ( stringToNodeTree, nodeTreeToString, numberToNodeTree, nodeTreeToNumber, apply ) where import Node stringToNodeTree :: String -> Node stringToNodeTree "" = Nil stringToNodeTree (c:t) = Cons (numberToNodeTree (fromEnum c)) (stringToNodeTree t) nodeTreeToString :: Node -> String nodeTreeToString Nil = "" nodeTreeToString (Cons a b) = (toEnum (nodeTreeToNumber a):nodeTreeToString b) numberToNodeTree :: (Integral a) => a -> Node numberToNodeTree 0 = Nil numberToNodeTree (n+1) = Cons Nil (numberToNodeTree n) nodeTreeToNumber :: (Integral a) => Node -> a nodeTreeToNumber Nil = 0 nodeTreeToNumber (Cons Nil a) = (nodeTreeToNumber a) + 1 apply :: Node -> Node -> Node apply a b = (Application a b)