On Wed, 3 Apr 2002, D. Tweed wrote: > > main = do content <- getContents > > let rpt letter = report content letter > > loop rpt alphabet
> I'm a bit confused how this can have worked... in Haskell `let' is used in > the context of a `let ..<1>.. in ..<2>..' where the code ellided in <1> > binds some names to values which are then used in the expression <2> (as > in `let x=sqrt 2 in exp x') and so the contents of main isn't (unless I'm > missing something) syntactically Haskell. Beats me, but it was the only (or at least the first) way I could find to create a function inside a do block... > Overall the code looks like a reasonable transliteration into Haskell; as > you get more competent with Haskell you'll find various higher level > functions that replace some of your stuff, e.g., stars can be written as > stars x = take x (repeat '*'). Neat! :) > Regarding Assoc, try just `import Assoc' without trying to cut down on > which entities are imported; if it works then you've missed some needed > elements from your import specification (the bit in ()'s after the module > name); if it doesn't then it probably can't find Assoc at all. In the latest version of hugs, if you try "import Assoc", you get: runhugs: Error occurred Reading file "assoc.hs": Reading file "/usr/share/hugs/lib/exts/Assoc.hs": Reading file "/usr/share/hugs/lib/exts/EdisonPrelude.hs": Reading file "/usr/share/hugs/lib/exts/Sequence.hs": Reading file "/usr/share/hugs/lib/Monad.hs": Reading file "/usr/share/hugs/lib/exts/Sequence.hs": Reading file "/usr/share/hugs/lib/exts/ListSeq.hs": Reading file "/usr/share/hugs/lib/exts/Assoc.hs": Parsing ERROR "/usr/share/hugs/lib/exts/Assoc.hs":51 - Haskell 98 does not support multiple parameter classes At least, *I* get that. :) And the -98 flag is just as bad: [~/work/haskell]: runhugs -98 assoc.hs runhugs: Error occurred Reading file "assoc.hs": Reading file "/usr/share/hugs/lib/exts/Assoc.hs": Reading file "/usr/share/hugs/lib/exts/EdisonPrelude.hs": Reading file "/usr/share/hugs/lib/exts/Sequence.hs": Reading file "/usr/share/hugs/lib/Monad.hs": Reading file "/usr/share/hugs/lib/exts/Sequence.hs": Reading file "/usr/share/hugs/lib/exts/ListSeq.hs": Reading file "/usr/share/hugs/lib/exts/Assoc.hs": Reading file "assoc.hs": ERROR "assoc.hs" - Entity "foldl1" imported from module "Assoc" already defined in module "Prelude" Which is why I restricted what was being imported. :) Anyway, thanks for the response! :) Cheers, - Michal http://www.sabren.net/ [EMAIL PROTECTED] ------------------------------------------------------------ Give your ideas the perfect home: http://www.cornerhost.com/ cvs - weblogs - php - linux shell - perl/python/cgi - java ------------------------------------------------------------ _______________________________________________ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe
