File: haskell.hs

package info (click to toggle)
editra 0.5.30-1
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 9,904 kB
  • ctags: 7,945
  • sloc: python: 48,713; sql: 258; ansic: 241; sh: 187; php: 45; lisp: 38; tcl: 24; perl: 23; pascal: 21; haskell: 20; xml: 18; java: 18; cs: 18; erlang: 17; makefile: 17; cpp: 16; ruby: 16; asm: 15; csh: 9; ml: 9; ada: 9
file content (39 lines) | stat: -rw-r--r-- 816 bytes parent folder | download | duplicates (6)
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