RE: Missing table for -opt? flags in users_guide:phases.sgml

2003-10-23 Thread Simon Marlow
 
 In users_guide/phases.sgml, in the section concerning passing flags
 through to cc, as or ld, I think there is a missing list of flags:
 
 sect2 id=forcing-options-through
   titleForcing options to a particular phase/title
   indextermprimaryforcing GHC-phase 
 options/primary/indexterm
 
   paraOptions can be forced through to a particlar compilation
   phase, using the following flags:/para
 
^^
   paraSo, for example, to force an option-Ewurble/option
   option to the assembler, you would tell the driver
   option-opta-Ewurble/option (the dash before the E is
   required)./para

Thanks, well spotted.  Fixed now.

Cheers,
Simon

___
Glasgow-haskell-bugs mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


[ ghc-Bugs-828975 ] misleading stability

2003-10-23 Thread SourceForge.net
Bugs item #828975, was opened at 2003-10-23 15:10
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=108032aid=828975group_id=8032

Category: Documentation
Group: 6.0.1
Status: Open
Resolution: None
Priority: 5
Submitted By: Axel Simon (as49)
Assigned to: Nobody/Anonymous (nobody)
Summary: misleading stability

Initial Comment:
In the haddock generated doumentation the tag
stability is experimental for most modules and
provisional for the Haskell 98 Prelude modules
(except e.g. Bool which is experimental, probably
because it is in a different module from what the
Haskell Report sais it would be). Having such overly
conservative classification renders the whole tag
useless. All Prelude modules should be stable as well
as the FFI, FiniteMap and many others.

Cheers,
Axel.


--

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=108032aid=828975group_id=8032
___
Glasgow-haskell-bugs mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


RE: Posible bug while optimizing? (Was: RULES for SPECIALIZ(E)ations)

2003-10-23 Thread Simon Peyton-Jones
Oh yes, this is a bug all right.  I'm looking into it. Thanks for
reporting it

S

| -Original Message-
| From: [EMAIL PROTECTED]
[mailto:glasgow-haskell-users-
| [EMAIL PROTECTED] On Behalf Of Juanma Barranquero
| Sent: 22 October 2003 09:58
| To: GHC users
| Subject: Re: Posible bug while optimizing? (Was: RULES for
SPECIALIZ(E)ations)
| 
| An even simpler example, with just one module:
| 
| ---
|   module Test where
| 
|   import Data.List (genericLength)
| 
|   {-# RULES
|   genericLength/length genericLength = length
|#-}
| ---
| 
|   D:\...\hask ghc -O -fglasgow-exts --make Test.hs
|   Chasing modules from: Test.hs
|   Compiling Test ( Test.hs, ./Test.o )
| 
|   D:\...\hask ghc -O -fglasgow-exts --make Test.hs
|   Chasing modules from: Test.hs
|   Skipping  Test ( Test.hs, ./Test.o )
| 
|   tcLookupGlobal (id): `Data.List.genericLength' is not in scope
|   When checking the transformation rule genericLength/length
| 
| Surely that *must* be a bug, mustn't?
| 
| 
| 
| Juanma
| 
| 
| ___
| Glasgow-haskell-users mailing list
| [EMAIL PROTECTED]
| http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


___
Glasgow-haskell-users mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


RE: Optimization options?

2003-10-23 Thread Simon Marlow
 
 User's Guide 6.2 says:
 
 So, when we want very fast code, we use: -O -fvia-C.
 
 but I've seen programs which use the (apparently 
 undocumented) -O2-for-C flag too.

-O2-for-C was removed (from the docs at least) for three reasons:

  - it is equivalent to -optc-O2

  - GCC has a recent history of bugs in -O2, and we didn't want to
encourage people to use known-broken compiler options.

  - it makes very little difference anyway.

Cheers,
Simon

___
Glasgow-haskell-users mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: package treating

2003-10-23 Thread Serge D. Mechveliani
Thanks to Simon Marlow for the explanations.

  By the way, I somehow lost the way to the  Postscript file  of the
  GHC User Guide, how does one get it? 
 
   http://www.haskell.org/ghc/documentation.html
 

With  .ps,  I sometimes print the Manual to the paper, to book.
Say, print the pages 1 -- 300.
I do not know how to do this with .html.
I can convert some small part to .ps when viewing .html.
But it is desirable to be able to convert it  all  to one  .ps
file. 
I am sorry for the ignorance, but does .html replace fully .ps ?


On DoCon test for GHC
-
is suggestion to use DoCon for the automatic GHC test.
For many years, almost any new GHC version has a bug which is 
displayed by  1) `making' DoCon ported from the last GHC version,
  2) running  T_.test.  

Simon Marlow wrote that the reason for not doing this is that
it is a lot of code for the nightly builds.
But  DoCon source + manual.ps  make a file  docon-xxx.zip  
of about  800 K byte, 5 times smaller than  ghc-src.
It builds in a couple of minutes, it is 20 times faster than
ghc builds from source.


On last reliable GHC version

For any occasion:
it is good to always keep available on public the latest reliable 
GHC version.

For example, the DoCon program failed (so far) with ghc-6.0.1,
due to the gc bug in ghc. 
And the DoCon Installing guide  says: 
it was tested for  ghc-5.02.2 
At least, DoCon user should be able to download and install this 
ghc-5.02.2   (in this particular case, I suspect, 5.04 fits).

With kind regards,

-
Serge Mechveliani
[EMAIL PROTECTED]



___
Glasgow-haskell-users mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


RE: package treating

2003-10-23 Thread Simon Marlow
 
   By the way, I somehow lost the way to the  Postscript file  of the
   GHC User Guide, how does one get it? 
  
http://www.haskell.org/ghc/documentation.html
  
 
 With  .ps,  I sometimes print the Manual to the paper, to book.
 Say, print the pages 1 -- 300.
 I do not know how to do this with .html.
 I can convert some small part to .ps when viewing .html.
 But it is desirable to be able to convert it  all  to one  .ps
 file. 
 I am sorry for the ignorance, but does .html replace fully .ps ?

The postscript is available from the link I gave you.  Here's a direct
link:

  http://www.haskell.org/ghc/docs/latest/users_guide.ps.gz

 On last reliable GHC version
 
 For any occasion:
 it is good to always keep available on public the latest reliable 
 GHC version.
 
 For example, the DoCon program failed (so far) with ghc-6.0.1,
 due to the gc bug in ghc. 
 And the DoCon Installing guide  says: 
 it was tested for  ghc-5.02.2 
 At least, DoCon user should be able to download and install this 
 ghc-5.02.2   (in this particular case, I suspect, 5.04 fits).

We keep all previous GHC distributions available onlin.   Version 5.02.2
is still available here:

  http://www.haskell.org/ghc/download_ghc_502.html

(this is linked from the download page).

Cheers,
Simon
___
Glasgow-haskell-users mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


library-guide.ps

2003-10-23 Thread Serge D. Mechveliani
Thanks.

Simon Marlow points at   .../ghc/ .../users_guide.ps.gz

It is shown near it the  hierarchical library guide,
which is also needed and which does not provide .ps.

Regards,

-
Serge Mechveliani
[EMAIL PROTECTED]
___
Glasgow-haskell-users mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


SPECIALIZEing something from another module

2003-10-23 Thread Hal Daume III
Is this possible, or need the specializations go in the defining module.  
Is this decision based on a fundamental problem with allowing 
specializations anywhere, or was it just a design choice (in which case I 
would encourage it's removal)...

Thanks!

 - Hal

-- 
 Hal Daume III   | [EMAIL PROTECTED]
 Arrest this man, he talks in maths.   | www.isi.edu/~hdaume

___
Glasgow-haskell-users mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: ANNOUNCE HToolkit 1.2 released

2003-10-23 Thread Arun Kumar S Jadhav
I tried to install port (after installig haddock), but it says it can't find 
libs directory of haddock (specifically it says it doesn't find base.haddock).
Any solution to this?, 'coz I very badly want to try out HToolkit.


Regards,
Arun Kumar S Jadhav, Masters Student, 
KReSIT, IIT-Bombay, India
Ph: +91-22-25764967
http://www.it.iitb.ac.in/~arunk

On Wednesday 22 October 2003 12:50, Krasimir Angelov wrote:
 haskell [EMAIL PROTECTED]

-- 

___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell


Re: ANNOUNCE HToolkit 1.2 released

2003-10-23 Thread Krasimir Angelov

--- Arun Kumar S Jadhav [EMAIL PROTECTED] wrote:
 I tried to install port (after installig haddock),
 but it says it can't find 
 libs directory of haddock (specifically it says it
 doesn't find base.haddock).
 Any solution to this?, 'coz I very badly want to try
 out HToolkit.

This is not too important. The documentation can be
build without the base.haddock. In Windows the library
is placed in ${GHC_DIR}\doc\html\base.

Krasimir

__
Do you Yahoo!?
The New Yahoo! Shopping - with improved product search
http://shopping.yahoo.com
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell


RE: ghc6 behavior with circular instance declaration

2003-10-23 Thread Simon Peyton-Jones
| -- convententionally, we write:
| {-
| instance (Myeq a) = Myeq [a] where
| myeq (x:xs) (y:ys) = (myeq x y)(myeq xs ys)
| -}
| 
| instance (Myeq a,Myeq [a]) = Myeq [a] where
| myeq (x:xs) (y:ys) = (myeq x y)(myeq xs ys)
| 
| 
| 
| I want to make the 2nd call of myeq to be  of an
| instance function from the context instead of a
| recursive call. And obviously there is an obvious
| cycle in the instances declaration.

I don't know why you would possibly want this.
So far as I can see from your message, the recursive dictionary
you are trying to build is exactly the same as what GHC will build
automatically from the conventional instance declaration.

| I run it in ghc6.0.1, it is reported well-typed, but
| when I run it with some arguments, I get a run-time
| error.
| 
| Loading package base ... linking ... done.
| Compiling Myeq ( Myeq.hs, interpreted )
| Ok, modules loaded: Myeq.
| *Myeq myeq [] []
| 
| Context reduction stack overflow; size = 21

You must have use -fallow-undecidable-instances, 
and if you do that, you risk divergence.  It's really 
not clear what you expect to happen.

Simon

___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell


RE: ghc6 behavior with circular instance declaration

2003-10-23 Thread Kenny
Hi Simon,

 --- Simon Peyton-Jones [EMAIL PROTECTED] wrote:
 
 I don't know why you would possibly want this.

yes, in this example there isn't any obvious reason to
motivate us writing such instance, but I am interested
in how GHC now handles coinduction in type class. It
will be neat if we can express coinductive algorithm
in terms of Haskell type class. Currently I am working
a project with Dr Martin Sulzmann in which we think
such an extension is neccessary.

 So far as I can see from your message, the recursive
 dictionary
 you are trying to build is exactly the same as what
 GHC will build
 automatically from the conventional instance
 declaration.
Yes, exactly, I realized that after I compiled the
code with -fext-core flag. Is it because it tries to
avoid building infinite evidence constructors?

Thanks for pointing out. 

Regards,
Kenny LU Zhuo Ming

Research Assistant
School of Computing
National University of Singapore



__
Do You Yahoo!?
Faster. Easier. Bingo. 
http://sg.search.yahoo.com
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell


Re: ghc6 behavior with circular instance declaration

2003-10-23 Thread Marcin 'Qrczak' Kowalczyk
W licie z ro, 22-10-2003, godz. 06:15, Kenny pisze:

 instance (Myeq a,Myeq [a]) = Myeq [a] where
 myeq (x:xs) (y:ys) = (myeq x y)(myeq xs ys)

 I want to make the 2nd call of myeq to be of an instance function
 from the context instead of a recursive call.

Why? Since there can be at most one Myeq [a] instance in a program,
this is the same.

-- 
   __( Marcin Kowalczyk
   \__/   [EMAIL PROTECTED]
^^ http://qrnik.knm.org.pl/~qrczak/

___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell


Re: replacing guile with haskell?

2003-10-23 Thread Graham Klyne
At 01:14 22/10/03 +0200, Peter Simons wrote:
Graham Klyne writes:

  I'm thinking in particular that a function that turned a regular
  expression into a Parsec parser function could be useful, as in:
  regexp.compile :: String - GenParser Char st [String]

Just curious: Why would you want something like that? I thought that
the good thing(tm) about regular expressions is that they can be
parsed by a finite state machine rather than a recursive descent
parser, so for all I know, the C regular expression library that comes
with your system is most likely much faster than any Parsec code would
every be.
The comment was motivated by my finding that Parsec to be very useful for 
handling higher-level syntactic constructs, but dealing with lexical 
constructs can be more complex.  It had occurred to me that a 
regexp-matching component could provide a useful ad-hoc lexer for parsec.

Another reason that occurred to me was that one can start out with a regexp 
being a quick (and-maybe-dirty) way to get a textual value parsed.  Then 
increasing requirements, feature creep, etc., mean that the regexp ends up 
getting embodied in ad-hoc code to deal with non-finite aspects of an 
evolving syntax.  If the regexp processing were already handled within the 
Parsec framework, it seems to me a natural evolutionary path to use it with 
other Parsec combinators.

These may not be good reasons, just the ones that happened to be in my head 
when I made that comment.

I also noted ajb's comments about overloading of terminology here ... and 
agree, I was using the term rather loosely ... in this case I was thinking 
of the kind of regular expression that can be handled with a finite 
automaton -- I've never mastered all the full complexities of 
Perl-compatible regexes and the like.  The extension of regexes beyond this 
form is IMO symptomatic of the second of my points above.

#g


Graham Klyne
For email:
http://www.ninebynine.org/#Contact
___
Haskell-Cafe mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: replacing guile with haskell?

2003-10-23 Thread Graham Klyne
At 20:40 21/10/03 -0400, [EMAIL PROTECTED] wrote:
I've done it for regular expressions (e.g. lex, alex etc), but not for
regexps (e.g. Text.Regex).  This particular terminology overload annoys
me no end, by the way.
I checked the code into haskell-libs.  It hasn't propagated through to
the web view of the repository yet, but you should eventually be able
to find it here:
http://cvs.sourceforge.net/viewcvs.py/haskell-libs/libs/text/

Look for Dfa.lhs.
Thanks for this... it turns out I have an immediate use for it.  I've 
downloaded it but I'm having a little trouble figuring out how to drive 
it.  Is there any description anywhere?

Absent that, this is what I am figuring (am I getting this right?):

+ The supplied regex is a value of type Re t, which describes an expression 
to match a sequence of tokens of type t.  In common use, t might be Char.

+ The constructors for Re are:
ReOr [Re t]-- matches any one of the Re's in the list
  | ReCat [Re t]   -- matches a sequence of the RE's in the list
  | ReStar (Re t)  -- matches zero or more of the given Re
  | RePlus (Re t)  -- matches one or more of the given Re
  | ReOpt (Re t)   -- matches zero or one of the given Re
  | ReTerm [t] -- matches a sequence of tokens exactly matching
  the given list.
That last is very much guesswork:  is it true that
ReTerm ts = ReCat $ map (\t ReTerm [t]) ts
?
A function to construct an (Re Char) from a simple textual representation 
would be handy.  Maybe I'll tackle that.

...

Having got an Re value, matchRe is a function that applies it (after 
compilation) to a sequence of 't', returning True if the expression is 
matched, otherwise False.

Is this about right?

There's another function matchRe2, which seems to do something recursive 
with the regular expression but I can't figure out what.  Is it just a 
different implementation strategy?  It does seem to give the same answers.

...

I also noticed this comment in the code:
[[
Utility typeclasses for enforcing all the constraints we need
on our monad's free type variables.  Note that this requires both
-fglasgow-exts and -fallow-undecidable-instances in GHC to work
properly.
]]
I was wondering if the use of -fallow-undecidable-instances might cause 
problems with Hugs, though it does seem to work.

I'm also wondering if there's a way to use this to match a leading 
subsequence (rather than the entire sequence of tokens supplied), and to 
discover which parts of the regexp have been matched.

...

[later]

I've also looked at the Haskell Dynamic Lexer Engine
(http://www.nondot.org/sabre/Projects/HaskellLexer/) that Derek pointed out 
... it looks a closer fit to my current goals, though I do like the 
purity of your approach (i.e. its focus on the core engine).

#g


Graham Klyne
For email:
http://www.ninebynine.org/#Contact
___
Haskell-Cafe mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell-cafe


random numbers

2003-10-23 Thread Jacinta Mary FITZGERALD


I'm very much a beginning programmer, studying Haskell. I have two
questions -

Firstly, I am trying to generate random numbers in Haskell, but although I
have found a 'random' library on www.zvon.org, I don't really know how to
include library functions, and the documentation given doesn't really tell
me the effective difference between all the functions provided in the
library. In another interesting development, I couldn't find any mention
of this library in haskell.org's list of libraries.

Secondly, but perhaps more importantly, is there a more 'beginnerish' list
that I should be addressing this to? I've been following discussions on
this one and they don't seem to be at quite this level.


Thanks
Jac
___
Haskell-Cafe mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell-cafe