hugs bug?

Philippe Faes Philippe.Faes@rug.ac.be
Sat, 03 Feb 2001 20:30:56 +0100


This is a multi-part message in MIME format.
--------------0615D25923120B59FAC69992
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit


Hugs (version februari 2000) keeps reporting unexpected ';' or
unexpected '}' in files that don't even contain those characters. I know
very little about Haskell (I just started to try and study the language)
so my haskell files will probably not be correct. Still with this kind
of messages I have no clue of what to change in my programs. I don't
know if this is a bug, or something I'm doing wrong.
I'm using a Linux2.2 operating system on an i386 processor.

I attached a haskell source file (which is probably not even good
haskell syntax), and the unexpected error message reported by hugs. The
latter file was created typing:
hugs tree.hs > hugserror.txt

Thank you,

Philippe Faes

mailto:Philippe.Faes@rug.ac.be

--------------0615D25923120B59FAC69992
Content-Type: text/plain; charset=us-ascii;
 name="hugserror.txt"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="hugserror.txt"

__   __ __  __  ____   ___      _________________________________________
||   || ||  || ||  || ||__      Hugs 98: Based on the Haskell 98 standard
||___|| ||__|| ||__||  __||     Copyright (c) 1994-1999
||---||         ___||           World Wide Web: http://haskell.org/hugs
||   ||                         Report bugs to: hugs-bugs@haskell.org
||   || Version: February 2000  _________________________________________

Haskell 98 mode: Restart with command line option -98 to enable extensions

Reading file "/usr/local/share/hugs/lib/Prelude.hs":
Parsing       Dependency analysis                   Type checking             Compiling         Reading file "tree.hs":
Parsing
ERROR "tree.hs" (line 16): Syntax error in data type definition (unexpected `;', possibly due to bad layout)
Prelude> [Leaving Hugs]

--------------0615D25923120B59FAC69992
Content-Type: text/plain; charset=us-ascii;
 name="tree.hs"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="tree.hs"

-- haskell
-- poging tot implementeren van trees en optimal search tree
-- *** tree.hs ***
-- cf cursus G&S p430

-- nieuwe types
  type Weight = Float
  type Cost   = Float
  type Failweight = Weight
  type Token = Char

-- datastucturen
  data Tree      = Failnode Weight | Branch Token Tree Tree
  
  data Lijst     = [Lijstelem]
  data Lijstelem = Le Weight Failweight

-- functies
q :: Int -> Lijst -> Weight
q 0 (Lelm _ fw):ls = fw
q i l:ls | i>0 = q i-1 ls
	 | i<0 = error "fout in q"

p :: Int -> Lijst -> Weight

c :: Int -> Int -> Lijst -> Weight
c i i _ = 0
c i j l = (w i j l) + zoekmin 

w :: Int -> Int -> Lijst -> Weight
w 0 0 []     = error "fout in lijstbewerking in tree.hs"
w i i l = q i
w i j l = (w i j-1 l) + (q j) +(p j)
-- er wordt niet gecontroleerd of i>j; dat zou een fout moeten opleveren


zoekmin  :: Int -> Int -> Lijst -> Weight
zoekmin i j l = (c i (zoekroot-1 l) l) + (c (zoekroot l) j l)                 


zookroot ::  Int -> Int -> Lijst -> Int
--moet nog geimplementeerd worden


optboom :: Int -> Int -> Lijst -> Tree
optboom i i l = Failnode (q i)
optboom i j l = Branch (optboom i zoekroot) (zoekroot) (optboom (zoekroot+1) j)
  -- deze syntax klopt niet



--------------0615D25923120B59FAC69992--