[Haskell-cafe] Re: Use of abbreviations in Haskell

Achim Schneider barsoap at web.de
Mon Jan 5 07:40:34 EST 2009


Achim Schneider <barsoap at web.de> wrote:

> Ketil Malde <ketil at malde.org> wrote:
> 
> > Achim Schneider <barsoap at web.de> writes:
> > > import [qualified] module Foo [as F] [hiding(baz)] where
> > > 	bar = undefined
> > > 	baz = bar
> > 
> > Why do you want the 'where' there?  Why not simply treat a file
> > Foo.Bar as a concatenation of module Foo.Bar and optionally modules
> > Foo.Bar.*?
> > 
> Because the module definition syntax is "module Foo[(exports]
> where"... technically, it's not necessary, but it's nice.
> 
Additionally, I don't think concatenation works well here, n-ary trees
work better. 

module Foo where
	import module Bar where
		import module Baz where
			quux = undefined
		quux' = quux . quux
	quux'' = quux' . quux'
quux''' = quux'' . quux''

would be nice.

-- 
(c) this sig last receiving data processing entity. Inspect headers
for copyright history. All rights reserved. Copying, hiring, renting,
performance and/or quoting of this signature prohibited.




More information about the Haskell-Cafe mailing list