haskell.hs
816 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
-- Syntax Highlighting test file for Haskell
-- Some comments about this file
-- Hello World in Haskell
putStrLn "Hello, Haskell"
-- Simple do structure
do putStrLn "What is 2 + 2?"
x <- readLn
if x == 4
then putStrLn "You're right!"
else putStrLn "You're wrong!"
-- Class def
class Num a where
(+) :: a -> a -> a
negate :: a -> a
-- Data Declaration
data Set a = NilSet
| ConsSet a (Set a)
-- Import statement
import somthing
-- Instance
instance Num Int where
x + y = addInt x y
negate x = negateInt x
-- Module
module Tree ( Tree(Leaf,Branch), fringe ) where
data Tree a = Leaf a | Branch (Tree a) (Tree a)
fringe :: Tree a -> [a]
fringe (Leaf x) = [x]
fringe (Branch left right) = fringe left ++ fringe right