RE: Default name of target executable

2005-10-14 Thread Simon Marlow
On 13 October 2005 18:57, Tomasz Zielonka wrote:

 On 10/11/05, Tomasz Zielonka [EMAIL PROTECTED] wrote:
 On 10/11/05, Simon Marlow [EMAIL PROTECTED] wrote:
 Ok, let's close this bikeshed. Someone want to send us a patch?
 
 I will try to do this
 
 On which branch of GHC should I be working?
 There are some differences between HEAD and STABLE
 in the relevant areas.

We always work on HEAD first, and port changes to STABLE if appropriate.

Cheers,
Simon
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Help wanted! Win32 and HGL for GHC on Windows

2005-10-14 Thread Simon Peyton-Jones
Dear GHC users

This is an appeal for help with the 

libraries/Win32 package [on Windows, obviously]
libraries/HGL package [on Windows]

Here's the situation:

* Win32 provides access to the native Windows API, which is obviously
   very useful for people writing Haskell on Windows.  HGL, the Haskell
   Graphics Library, is the graphics package used by Paul Hudak's book
   The Haskell School of Expression.

* The libraries/Win32 package is supposed to supercede the old hslibs
  win32 package. Ross Paterson ported the latter to become the former,
  but the libraries/Win32 package had not received very much testing,
  and Ross can't do any more himself.  We aren't confident that it's
  reliable.
 
   (Sadly, the two packages have the same name (modulo case) which has
   given rise to much confusion. But that's another matter.)

* The libraries/HGL package works fine on Unix, where it sits on top
  of the libraries/X11 package.  But it does not work properly on
  Windows, where it sits on top of libraries/Win32. It is not clear
  whether the problem is with the HGL package or the Win32 package.


So the current situation is that, for GHC on Windows, the new
hierarchical 
libraries world lacks
(a) a reliable Win32 package and 
(b) a HGL package that works at all.  
This is sad, especially as we are trying to nuke hsllibs altogether.


Question: would anyone be willing to fix the libraries/Win32 
package; and (better still) look after it thereafter?  
We'd be delighted to give commit rights to anyone 
who was willing to do this.  

[So far as we know the two libraries/ packages work ok in Hugs, so
there probably isn't that much to do.]

Many thanks

Simon
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: Help wanted! Win32 and HGL for GHC on Windows

2005-10-14 Thread Duncan Coutts
On Fri, 2005-10-14 at 09:20 +0100, Simon Peyton-Jones wrote:
 Dear GHC users
 
 This is an appeal for help with the 
 
   libraries/Win32 package [on Windows, obviously]
   libraries/HGL package [on Windows]

 Here's the situation:
 
 * Win32 provides access to the native Windows API, which is obviously
very useful for people writing Haskell on Windows.  HGL, the Haskell
Graphics Library, is the graphics package used by Paul Hudak's book
The Haskell School of Expression.

Well for the special case of the SOE library I have a re-implementation
of it based on Gtk+/cairo which should work on all platforms.

Another advantage is that it looks nicer when implemented with cairo:
http://haskell.org/~duncan/gtk2hs/SOE-cairo.png
HGL implementation vs Gtk/cairo implementation

If people actually use the rest of the HGL then this doesn't help.

I'm planning either to bundle this module with the next Gtk2Hs release
or release it as a seperate Cabal package.

Duncan

___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Network Exception

2005-10-14 Thread Arias

Hi,

I've a problem, I'm using this code on GHC compiler version 6.4.1:

--- BEGIN ---
module Main where
import System.IO
import Network

main = withSocketsDo $ do
handle - connectTo localhost ( PortNumber 8080 )
hSetBuffering handle LineBuffering
hClose handle
--- END ---

The problems is that it throws an exception at connectTo, the exception is:

getServiceEntry: does not exist (no such service entry)

The server and the port is correct, I have apache listening on port 8080 
and if I put http://localhost:8080/ on browser it loads a web page.


Do somebody knows what it happens and how to fix it? thanks.
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Profiling and Data.HashTable

2005-10-14 Thread Ketil Malde

Hi all,

I have a program that uses hash tables to store word counts.  It can
use few, large hash tables, or many small ones.  The problem is that
it uses an inordinate amount of time in the latter case, and
profiling/-sstderr shows it is GC that is causing it (accounting for
up to 99% of the time(!))

Is there any reason to expect this behavior?

Heap profiling shows that each hash table seems to incur a memory
overhead of approx 5K, but apart from that, I'm not able to find any
leaks or unexpected space consumption.

Suggestions?

-k
-- 
If I haven't seen further, it is by standing in the footprints of giants

___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: Network Exception

2005-10-14 Thread Dinko Tenev
It looks odd to me, because the service is not particularly meaningful to the transport, and thus not a crucial piece of
information. Unless I am missing something, this could be a
bug in the Network module.

You may want to try the lower-level stuff from Network.Socket instead.

Cheers,
Dinko
On 10/14/05, Arias [EMAIL PROTECTED] wrote:

Hi,I've a problem, I'm using this code on GHC compiler version 6.4.1:--- BEGIN ---module Main whereimport System.IOimport Networkmain = withSocketsDo $ dohandle - connectTo localhost ( PortNumber 8080 )
hSetBuffering handle LineBufferinghClose handle--- END ---The problems is that it throws an exception at connectTo, the exception is:getServiceEntry: does not exist (no such service entry)

The server and the port is correct, I have apache listening on port 8080and if I put http://localhost:8080/ on browser it loads a web page.Do somebody knows what it happens and how to fix it? thanks.
___Glasgow-haskell-users mailing listGlasgow-haskell-users@haskell.org

http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: Profiling and Data.HashTable

2005-10-14 Thread Adrian Hey
On Friday 14 Oct 2005 3:17 pm, Ketil Malde wrote:
 Hi all,

 I have a program that uses hash tables to store word counts.  It can
 use few, large hash tables, or many small ones.  The problem is that
 it uses an inordinate amount of time in the latter case, and
 profiling/-sstderr shows it is GC that is causing it (accounting for
 up to 99% of the time(!))

 Is there any reason to expect this behavior?

 Heap profiling shows that each hash table seems to incur a memory
 overhead of approx 5K, but apart from that, I'm not able to find any
 leaks or unexpected space consumption.

 Suggestions?

Well you could use a StringMap..
 http://homepages.nildram.co.uk/~ahey/HLibs/Data.StringMap/

But that lib a bit lightweight so probably doesn't provide
everyting you need at the moment. But it's something I mean
to get back to when I have some time, so if there's anything
in particular you want let me know and I'll give it some
priority.

You certainly should not need anything like 5k overhead per
map, and you don't have to work via the IO monad either
(though you can use an MVar StringMap or something if you
like).

Also, I seem to remember some thread about some problem
with Data.HashTable implementation and space behaviour.
Unfortunately I can't remember what the problem was and
don't know if it's been fixed :-(

Regards
--
Adrian Hey





___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: Help wanted! Win32 and HGL for GHC on Windows

2005-10-14 Thread Sven Panne
Am Freitag, 14. Oktober 2005 11:28 schrieb Duncan Coutts:
[...]
 Well for the special case of the SOE library I have a re-implementation
 of it based on Gtk+/cairo which should work on all platforms. [...]

Which additional stuff would one have to install on an e.g. off-the-shelf SuSE 
Linux distribution or Win2k to use your SOE version? If the answer is not 
none, then there is a good point in making HGL work on plain X11 *and* 
Win32. :-)

Cheers,
   S.
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: Profiling and Data.HashTable

2005-10-14 Thread Jan-Willem Maessen

On Oct 14, 2005, at 10:17 AM, Ketil Malde wrote:



Hi all,

I have a program that uses hash tables to store word counts.  It can
use few, large hash tables, or many small ones.  The problem is that
it uses an inordinate amount of time in the latter case, and
profiling/-sstderr shows it is GC that is causing it (accounting for
up to 99% of the time(!))

Is there any reason to expect this behavior?

Heap profiling shows that each hash table seems to incur a memory
overhead of approx 5K, but apart from that, I'm not able to find any
leaks or unexpected space consumption.




That 5K number made me immediately suspicious, so I took a look at  
the source code to Data.HashTable.  Sure enough, it's allocating a  
number of large IOArrays, which are filled with pointers.  The  
practical upshot is that, for a hash table with (say) 24 entries, the  
GC must scan an additional 1000 pointers and discover that each one  
is [].


I've seen other implementations of this two-level technique which use  
a smallish sEGMENT_SIZE in order to avoid excessive GC overhead for  
less-than-gigantic hash tables.  This might be worth doing in the  
Data.HashTable implementation.


[Curious: what (if anything) is being used to test Data.HashTable?   
I'd be willing to undertake very small amounts of fiddling if I could  
be sure I wasn't slowing down something which mattered.]


-Jan-Willem Maessen





Suggestions?

-k
--
If I haven't seen further, it is by standing in the footprints of  
giants


___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users







___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: Network Exception

2005-10-14 Thread Arias

Thanks for the reply.

I don't know if the problem is the same, but when I try to run this code:

main = withSocketsDo $ do
  host - getHostName
  putStrLn host

the getHostName throws this exception:

  getHostName: failed (Successful WSAStartup not yet performed 
(WSANOTINITIALISED))


:( I'm using Windows XP Professional

Sigbjorn Finne escribió:


Hi,

that error message is a bit confusing, to say the least:
getProtocolByName identifies itself as getServiceEntry
when failing. In this case, I'm quite sure, your snippet
fails because (getProtocolByName tcp) isn't successful.
I've no idea why your /etc/protocols doesn't contain an entry
for 'tcp'.

The error message in said function has now been fixed; thanks
for the report.

--sigbjorn

- Original Message - From: Arias [EMAIL PROTECTED]
To: glasgow-haskell-users@haskell.org
Sent: Friday, October 14, 2005 06:47
Subject: Network Exception



Hi,

I've a problem, I'm using this code on GHC compiler version 6.4.1:

--- BEGIN ---
module Main where
import System.IO
import Network

main = withSocketsDo $ do
handle - connectTo localhost ( PortNumber 8080 )
hSetBuffering handle LineBuffering
hClose handle
--- END ---

The problems is that it throws an exception at connectTo, the 
exception is:


getServiceEntry: does not exist (no such service entry)

The server and the port is correct, I have apache listening on port 
8080 and if I put http://localhost:8080/ on browser it loads a web page.


Do somebody knows what it happens and how to fix it? thanks.
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users 







___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: Profiling and Data.HashTable

2005-10-14 Thread John Meacham
On Fri, Oct 14, 2005 at 04:29:37PM +0100, Simon Marlow wrote:
 I'm not certain that this is your problem, but hash tables are by
 definition mutable objects, and mutable objects don't work too well with
 generational garbage collection, GHC's in particular.  Basically every
 GC, even the minor ones, will have to scan all the mutable objects.

Does this mean it will take time proportional to the number of mutable
objects, or the size of everything pointed to by a mutable object? like
, will I save GC time by having an IORef pointing to a Map rather than
a large mutable Array?

John

-- 
John Meacham - ⑆repetae.net⑆john⑈ 
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: Network Exception

2005-10-14 Thread John Meacham
By chance are you statically linking the program?

if you statically link a program on linux (and some other systems), it
cannot look up hostnames, protocols, or passwd entries.

you can look up the protocol number in /etc/protocols and hardcode it
and use IP addresses rather than names and it should work fine. I had
to use a similar workaround in the statically linked ginsu.

John

-- 
John Meacham - ⑆repetae.net⑆john⑈ 
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


[Haskell] Re: [Haskell-cafe] Re: Interest in helping w/ Haskell standard

2005-10-14 Thread Bulat Ziganshin
Hello Stephane,

Thursday, October 13, 2005, 11:24:30 AM, you wrote:
SB As someone who is not an academic researcher and not a student in CS,
SB I would like to express a personal opinion; we don't need a new
SB standard. To me, Haskell needs more libraries, more users (which means
SB more debugging and more documentations), more implementations, of
SB course more real applications (darcs did a lot of the success of
SB Haskell), so we can read their code, push sysadmins to install
SB Haskell, etc.

i put just the same opinion 1-2 months ago :)))  but i got answer that
current Haskell standard are too restrictive and ALL real programs use
extensions. we need to standartize these de facto used extensions in
order to simplify constructing of libraries and teaching language in
universities/courses. we must explicitly declare the language really
used in 2005, which is far away from the language used in 1998

-- 
Best regards,
 Bulatmailto:[EMAIL PROTECTED]



___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Re[2]: [Haskell-cafe] Interest in helping w/ Haskell standard

2005-10-14 Thread Bulat Ziganshin
Hello Sebastian,

Thursday, October 13, 2005, 4:09:55 PM, you wrote:

  (I'm specifically interested in seeing SPJ's records proposal
  included, and a new module system).

SS First of all I would like to urge the people who do end up working on
SS this to seriously consider replacing H98's records system. I may be

yes, it is a common viewpoint, afaik. the only problem is what this
new record system was never really implemented, partially because it
is not backward-compatible with H98, partially because Simons are not
very like such syntax sugar extensions, they prefer real semantic
beasts :)

so, this proposal is a bit out of luck :)))


-- 
Best regards,
 Bulatmailto:[EMAIL PROTECTED]



___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] How to zip folds: A library of fold transformers

2005-10-14 Thread Dylan Thurston
On Tue, Oct 11, 2005 at 05:25:24PM -0700, [EMAIL PROTECTED] wrote:
 First we define the representation of a list as a fold:
 
  newtype FR a = FR (forall ans. (a - ans - ans) - ans - ans)
  unFR (FR x) = x

 It has a rank-2 type. The defining equations are: if flst is a value
 of a type |FR a|, then
   unFR flst f z = z if flst represents an empty list
   unFR flst f z = f e (unFR flst' f z)
   if flst represents the list with the head 'e'
   and flst' represents the rest of that list

Presumably you noticed that this is isomorphic to the representation
of a list in lambda calculus, right?

Peace,
Dylan


signature.asc
Description: Digital signature
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] RE: [Haskell-cafe] Interest in helping w/ Haskell standard

2005-10-14 Thread Simon Peyton-Jones

| In that context, how well-understood is the combination of
impredicative
| types via boxy types and a proper existential quantifier at the
moment?
| It's certainly something that has many uses in an industrial context.

Stephanie Weirich, Dimitrios Vytiniotis, and I are currently re-writing
our paper about type inference for impredicative polymorphism.  I don't
think there's any difficulty with existentials, at least when they are
wrapped in a data constructor (which is the way GHC deals with
existentials at the moment).  We'll have a draft done in a couple of
weeks.  (Until then the paper on my home page is still approximately
right.)
http://research.microsoft.com/%7Esimonpj/papers/boxy

Can you elaborate on what you had in mind in your last sentence above?

Simon
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Re: PROPOSAL: class aliases

2005-10-14 Thread Ashley Yakeley
In article [EMAIL PROTECTED],
 John Meacham [EMAIL PROTECTED] wrote:

 This is a proposal for a language extension which will hopefully mitigate the
 issues holding back evolution of the standard prelude as well as provide
 useful class abstraction capabilities in general.

I've certainly been wanting a solution to this problem for a long time. 
Haskell needs to get past the Prelude compatibly. I've already explored 
a lot of ways the classes might be improved with HBase, but right now 
it's a whole other world incompatible with the standard Prelude.

Basically if it lets me do Functor = Idiom = Monad, and still compile 
earlier code, I'm for it.

-- 
Ashley Yakeley, Seattle WA

___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Re: PROPOSAL: class aliases

2005-10-14 Thread Ashley Yakeley
In article [EMAIL PROTECTED],
 Philippa Cowderoy [EMAIL PROTECTED] wrote:

 A lot of users would find Mappable more intuitive than 
 Functor for example, and the improved error messages might make it more 
 practical to call fmap map again.

And Simon PJ can at last rename Monad WarmFuzzyThing...

-- 
Ashley Yakeley, Seattle WA

___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Dazzle sources

2005-10-14 Thread Arjan van IJzendoorn

Hello everyone,

After the Dazzle presentation at the Haskell workshop, several people  
have asked us whether the source code is available. There is the  
possibility of commercialising Dazzle at some point in the future and  
for that reason we don't want to give away all our algorithms.  
However, the diagram editor part of Dazzle is something we would like  
to share with the community. Already Malcolm Wallace has been using  
this as a basis for another editor and has made some really nice  
improvements and generalisations. We plan to make an open-source  
project out of the diagram editor because we think that that is the  
part people will be most interested in.


Here are some of the features of the diagram editor that will be  
called Blobs:

- editing diagrams
- arcs with via points, in other words polylines
- saving to and reading from file, XML format (using HaXml)
- unlimited undo  redo (using the PersistentDocument library)
- printing a diagram
- save a diagram to JPG/PNG
- labels at nodes and arcs
- resizing a diagram
- based on wxHaskell and can therefore run on Windows, Linux and Mac  
OS X

- the XTC library (eXtended and Typed Controls) will be included
- and much more

Our plan is to set up a project website, a version management system  
and to reintegrate Dazzle with Malcolm's extended Blobs. Once we feel  
people can start using it, we will make an official announcement.


Regards, the Dazzle team (Martijn Schrage  Arjan van IJzendoorn)

___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] PROPOSAL: class aliases

2005-10-14 Thread Wolfgang Jeltsch
Am Donnerstag, 13. Oktober 2005 12:22 schrieb John Meacham:
 [...]

 although perhaps

class alias FooBar a = (Foo a, Bar a)  where ...

 since the new name introduced usually appears to the left of an equals
 sign.

Yes, exactly.

 This also solves the problems of where to put new supertype constraints.

class alias FooBar a = Show a = (Foo a, Bar a)  where ...

 should do nicely.

What is the difference between this and the following:

class alias FooBar a = (Show a, Foo a, Bar a) where ...

 [...]

Best wishes,
Wolfgang
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] GADTs and GHC

2005-10-14 Thread Simon Peyton-Jones
Dear Haskell folk

One of the interesting things about ICFP was the number of times GADTs
came up, either in papers or in discussions in the breaks.   Francois's
invited talk was very inspiring, and that was just the beginning.

Stephanie and Dimitrios and I are now busy revising our wobbly-types
GADT paper (which is implemented in GHC, but never published
http://research.microsoft.com/%7Esimonpj/papers/gadt/index.htm).  We
have a *far* simpler story now... but that means it'll reject some
programs that would be accepted by the earlier version.  We don't think
this loss of expressiveness is important, but we'd like to check.  Hence
this message:

If you use GADTs, would you to send us your GADT code, 
so we can check that we can still compile it?  

(A secondary reason for asking is that it'd be interesting just to see
the way you are using GADTs.)  

If you send your code just to me, I'll collect it.  You could

a) send a complete Haskell program, which should compile and run

b) send a Haskell module, or collection of modules, which should
compile,
but which isn't a complete program

c) send a Haskell module using GADTs,  but lacking the support modules
that would enable it to compile

d) send Omega code, which GHC won't understand, but which
demonstrates some cunning use of GADTs

All of these would be useful, even (c) and (d) --- we can eyeball the
code.  As a bonus, in the case of (a) or (b) I'll add your code to GHC's
regression suite, so that all future releases will guarantee to run your
code.  [Or at least if not it'll be deliberate!]  Tell me if you'd like
this; it'll become visible in GHC's CVS repository.

Thanks

Simon
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] PROPOSAL: class aliases

2005-10-14 Thread Wolfgang Jeltsch
Am Donnerstag, 13. Oktober 2005 15:58 schrieb Udo Stenzel:
 [...]

 Further, if classes with no methods have no use currently, this universal
 instance could be compiler generated whenever a class without methods is
 declared.

This does mean that you want to treat classes without methods special, doesn't 
it?  I think, that it is generally not a good thing to have special treatment 
for a specific case.

 [...]

 Udo.

Best wishes,
Wolfgang
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] PROPOSAL: class aliases

2005-10-14 Thread Wolfgang Jeltsch
Am Donnerstag, 13. Oktober 2005 15:43 schrieb Simon Peyton-Jones:
 John

 Replying just to you to avoid spamming everyone.

Hmm, you did write to the list as well...

 [...]

 I don't agree.  What do you mean by distinct types?  In H98 both of
 these are ok:

   f :: CD a = ty
   f = ...code...

   g :: (C a, D a) = ty
   g = f

This is not okay.  Hugs gives this error message (with ty = a):

Cannot justify constraints in explicitly typed binding
*** Expression: g
*** Type  : (C a, D a) = a
*** Given context : (C a, D a)
*** Constraints   : CD a

 [...]

Best wishes,
Wolfgang
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] PROPOSAL: class aliases (revised)

2005-10-14 Thread Remi Turk
On Thu, Oct 13, 2005 at 05:53:15PM -0700, John Meacham wrote:
 I have revised the proposal and put it on the web here:
 
  http://repetae.net/john/recent/out/classalias.html
 
 changes include a new, clearer syntax, some typo fixes, and a new
 section describing how class aliases interact with superclasses.
 
 I will update that web page with any new devolpments.
 
 John

Hi,

it sounds like a great idea. And as I don't really have anything
more fundamental to say about it, I'll invoke Wadlers Law now:

What about

 class Eq a = alias Num a = (Additive a, Multiplicative a)
or perhaps
 class alias Eq a = Num a = (Additive a, Multiplicative a)

instead of

 class alias Num a = Eq a = (Additive a, Multiplicative a)

If Eq a, then Num a is an alias for ...


Groeten,

Remi

-- 
Nobody can be exactly like me. Even I have trouble doing it.
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell-cafe] Newbie question on Haskell type

2005-10-14 Thread Cale Gibbard
Right, forgot about seq there, but the point still holds that there
are a very limited number of functions of that type, and in
particular, the functions can't decide what to do based on the type
parameter 'a'.

 - Cale

On 14 Oct 2005 05:49:27 -, [EMAIL PROTECTED]
[EMAIL PROTECTED] wrote:
 --- Cale Gibbard [EMAIL PROTECTED] wrote:

  As an example of this sort
 of thing, I know that there are only 4
  values of type a - Bool (without
 the class context). They are the
  constant functions (\x - True), (\x -
 False), and two kinds of
  failure (\x - _|_), and _|_, where _|_ is pronounced
 bottom and
  represents something along the lines of nontermination (aborting
 the
  program also counts).

 Not exactly. There are also (\x - seq x True)
 and (\x - seq x False), neither of which is equivalent to any of the four
 functions above.

 Regards,

 Janis Voigtlaender.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Newbie question on Haskell type

2005-10-14 Thread John Meacham
On Fri, Oct 14, 2005 at 03:17:12AM -0400, Cale Gibbard wrote:
 Right, forgot about seq there, but the point still holds that there
 are a very limited number of functions of that type, and in
 particular, the functions can't decide what to do based on the type
 parameter 'a'.


actually, without 'seq' _|_ and \_ - _|_ are indistinguishable. so you
only have 3 functions without seq, and 6 with it.

John

--
John Meacham - ⑆repetae.net⑆john⑈
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re[2]: [Haskell-cafe] Interest in helping w/ Haskell standard

2005-10-14 Thread Bulat Ziganshin
Hello Sebastian,

Thursday, October 13, 2005, 2:49:46 AM, you wrote:

SS I'm wondering what incremental and moderate extension means?
SS Does it mean completely backwards compatible or can it mean
SS completely new features including ones which subsume existing ones
SS (I'm specifically interested in seeing SPJ's records proposal
SS included, and a new module system).

i must figure out that these extensions are not really implemented at
this moment. imho, before including something in standard we need to
play with it some time

imho, features for new Haskell standard must include extensions common
for Hugs and GHC (because implementing in both compilers proves their
usefulness) and most wanted features from GHC. Haskell2 wiki page are
close to list all these features



-- 
Best regards,
 Bulatmailto:[EMAIL PROTECTED]



___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Re: Interest in helping w/ Haskell standard

2005-10-14 Thread Bulat Ziganshin
Hello Stephane,

Thursday, October 13, 2005, 11:24:30 AM, you wrote:
SB As someone who is not an academic researcher and not a student in CS,
SB I would like to express a personal opinion; we don't need a new
SB standard. To me, Haskell needs more libraries, more users (which means
SB more debugging and more documentations), more implementations, of
SB course more real applications (darcs did a lot of the success of
SB Haskell), so we can read their code, push sysadmins to install
SB Haskell, etc.

i put just the same opinion 1-2 months ago :)))  but i got answer that
current Haskell standard are too restrictive and ALL real programs use
extensions. we need to standartize these de facto used extensions in
order to simplify constructing of libraries and teaching language in
universities/courses. we must explicitly declare the language really
used in 2005, which is far away from the language used in 1998

-- 
Best regards,
 Bulatmailto:[EMAIL PROTECTED]



___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re[2]: [Haskell-cafe] Interest in helping w/ Haskell standard

2005-10-14 Thread Bulat Ziganshin
Hello Sebastian,

Thursday, October 13, 2005, 4:09:55 PM, you wrote:

  (I'm specifically interested in seeing SPJ's records proposal
  included, and a new module system).

SS First of all I would like to urge the people who do end up working on
SS this to seriously consider replacing H98's records system. I may be

yes, it is a common viewpoint, afaik. the only problem is what this
new record system was never really implemented, partially because it
is not backward-compatible with H98, partially because Simons are not
very like such syntax sugar extensions, they prefer real semantic
beasts :)

so, this proposal is a bit out of luck :)))


-- 
Best regards,
 Bulatmailto:[EMAIL PROTECTED]



___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re[2]: [Haskell-cafe] Interest in helping w/ Haskell standard

2005-10-14 Thread Bulat Ziganshin
Hello Simon,

Thursday, October 13, 2005, 1:42:24 PM, you wrote:

 (I'm specifically interested in seeing SPJ's records proposal
 included, and a new module system).

SM Highly unlikely, IMHO.  A new revision of the Haskell standard is not
SM the place for testing new research, rather it's a clear specification of
SM existing well-understood language features.

+1 :)

but we may add them to standard definition as Possible extensions
appendix. moreover, if some already implemented language extensions
(f.e., Template Haskell) are not good enough to be included in
standard itself, it may be also included here - just to have one place
where many language extensions are described. and also a source for
new features which MAY be included in Haskell2


-- 
Best regards,
 Bulatmailto:[EMAIL PROTECTED]



___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Newbie question on Haskell type

2005-10-14 Thread Ben Rudiak-Gould

Cale Gibbard wrote:

As an example of this sort of thing, I know that there are only 4
values of type a - Bool (without the class context). They are the
constant functions (\x - True), (\x - False), and two kinds of
failure (\x - _|_), and _|_, where _|_ is pronounced bottom and
represents something along the lines of nontermination (aborting the
program also counts).


Don't forget (\x - x `seq` True) and (\x - x `seq` False).

-- Ben
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Newbie question on Haskell type

2005-10-14 Thread Sebastian Sylvan
On 10/13/05, Huong Nguyen [EMAIL PROTECTED] wrote:
 Hi all,

 I want to write a small functionto test whether an input is a String or not.
 For example,

 isString::(Show a) =a -Bool
 This function will return True if the input is a string and return False if
 not

 Any of you have idea about that? Thanks in advance

I simply can not think of a reason for why you would want to do that.
The system already knows whether a values if of type String at
*compile-time* so there shouldn't really be any reason to test it at
run-time.

I think you'll get more insight if you just tell us why you think you
need it and then we could probably show you the idiomatic haskell
way to achieve what you need.


/S
--
Sebastian Sylvan
+46(0)736-818655
UIN: 44640862
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Examples of using STUArray + help with converting code

2005-10-14 Thread Joel Reymont

If I don't cast then how do I convert this code?

doubleToInts d = runST (
do arr - newDoubleArray (1,2)
   writeDoubleArray arr 1 d
   i1 - readIntArray arr 1
   i2 - readIntArray arr 2
   return (i1,i2))

Or can I just read an array of ints from the double array using the  
new polymorphic approach?


Thanks, Joel

On Oct 13, 2005, at 7:09 PM, Tomasz Zielonka wrote:


I also don't yet
understand how to cast that double array to read ints from it.



Don't.


--
http://wagerlabs.com/





___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


RE: [Haskell-cafe] Re: Interest in helping w/ Haskell standard

2005-10-14 Thread Marco Tulio Gontijo e Silva
Em Qui, 2005-10-13 às 09:47 +0100, Bayley, Alistair escreveu:
 -
 *
 Confidentiality Note: The information contained in this   message, and any
 attachments, may contain confidential   and/or privileged material. It is
 intended solely for the   person(s) or entity to which it is addressed. Any
 review,   retransmission, dissemination, or taking of any action in
 reliance upon this information by persons or entities other   than the
 intended recipient(s) is prohibited. If you received  this in error, please
 contact the sender and delete the   material from any computer.
 *

Is this kind of notice legal in the context of Haskell-Cafe?

-- 
Abraços,
marcot
mailto:[EMAIL PROTECTED]
jabber:[EMAIL PROTECTED]
UIN:50599075
MSN:[EMAIL PROTECTED]
Telefone:33346720
Celular:91844179
Endereço:Rua Paula Cândido 257/201
 Gutierrez 30430-260
 Belo Horizonte-MG
 Brasil


signature.asc
Description: This is a digitally signed message part


smime.p7s
Description: S/MIME cryptographic signature
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Newbie question on Haskell type

2005-10-14 Thread robert dockins
So this is essentially a parsing problem.  You want a user to be able 
input a string and have it interpreted as an appropriate data value.  I 
think you may want to look at the Parsec library 
(http://www.cs.uu.nl/~daan/parsec.html).  I don't think the direction 
you are heading will get the results you want.



As to typeable, the basic types are mostly all members of Typeable.  You 
can find a pretty good list here:


http://www.haskell.org/ghc/docs/latest/html/libraries/base/Data.Typeable.html#t%3ATypeable

Additionally, GHC can create Typeable instances automaticly for user 
defined datatypes; just add a deriving Typeable clause.


data SomeType = C1 | C2 deriving (Show,Eq,Typeable)

The restriction is that all types which appear in constructors must also 
be in Typeable.


I believe the DrIFT preprocessor can also create Typeable instances if 
you are not using GHC.


Huong Nguyen wrote:

Hello,

Thanks for your solution.

My main purpose is that I want to input a value and check whether this 
value is belong to some specific types or not. These types can be some 
popular types (such as: String, Char, Int, etc) or some more complex 
data structures defined by user. Thus, at first, I try with type String 
(even with that simple type, I still face difficulty ;-))


I want to ask you which types can be used with Data.Typeable. I read for 
over 15 minutes but it is still not clear with me.
For some other complex data types defined by user, what I should do to 
use Data.Typeable ?


Thank you very much.

On 10/13/05, *robert dockins* [EMAIL PROTECTED] 
mailto:[EMAIL PROTECTED] wrote:


In GHC you can do this:

  import Data.Typeable

  isString :: (Typeable a) = a - Bool
  isString x = typeOf x == typeOf (undefined::String)

Why do you want this?  It's not the kind of operation one does very
often in Haskell.


Huong Nguyen wrote:

  Hi all,
 
  I want to write a small functionto test whether an input is a
String or
  not. For example,
 
  isString::(Show a) =a -Bool
  This function will return True if the input is a string and
return False
  if not
 
  Any of you have idea about that? Thanks in advance
 
 
 


 
  ___
  Haskell-Cafe mailing list
  Haskell-Cafe@haskell.org mailto:Haskell-Cafe@haskell.org
  http://www.haskell.org/mailman/listinfo/haskell-cafe




___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Examples of using STUArray + help with converting code

2005-10-14 Thread Ketil Malde
Joel Reymont [EMAIL PROTECTED] writes:

 If I don't cast then how do I convert this code?

Uh, what is wrong with divMod?  

  *Main Data.Word (100::Word64) `divMod` (2^32)
  (2,1410065408)

 doubleToInts d = runST ( [...]

This will only give you a headache. :-)

-k
-- 
If I haven't seen further, it is by standing in the footprints of giants

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


RE: [Haskell-cafe] Re: Interest in helping w/ Haskell standard

2005-10-14 Thread Bayley, Alistair
 From: Marco Tulio Gontijo e Silva [mailto:[EMAIL PROTECTED] 

 Em Qui, 2005-10-13 às 09:47 +0100, Bayley, Alistair escreveu:

 *
 Confidentiality Note: The information contained in this message blah blah
blah

 Is this kind of notice legal in the context of Haskell-Cafe?

Sorry, but it's not under my control. My employer's email system is
configured to append this to every message, and I suspect that it's not
worth the hassle to try to get it removed.

Alistair.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Re: Interest in helping w/ Haskell standard

2005-10-14 Thread Wolfgang Jeltsch
Am Donnerstag, 13. Oktober 2005 13:39 schrieb Stephane Bortzmeyer:
 [...]

 Regexps and XML are, IMHO, also must haves.

By the way, it should be possible to handle regular expressions in an 
Haskell-like way.  I always couldn't understand why one has to write regular 
expressions as strings which have to be interpreted at runtime.  I would 
prefer something like this:

identifierRegExp = alpha +++ iterate (alpha ||| digit ||| underscore)
alpha = ('A' `to` 'Z') ||| ('a' `to` 'z')
digit = '0' `to` '9'
underscore = only '_'

What do others think?

Best wishes,
Wolfgang
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Re: Interest in helping w/ Haskell standard

2005-10-14 Thread Stephane Bortzmeyer
On Fri, Oct 14, 2005 at 04:20:24PM +0200,
 Wolfgang Jeltsch [EMAIL PROTECTED] wrote 
 a message of 23 lines which said:

 By the way, it should be possible to handle regular expressions in
 an Haskell-like way.

If you like so, but as one more possibility, not as the only way.

 I always couldn't understand why one has to write regular
 expressions as strings

Because the language used inside these strings is standard,
multi-language, widely used and documented?

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Re: Interest in helping w/ Haskell standard

2005-10-14 Thread Stephane Bortzmeyer
On Fri, Oct 14, 2005 at 04:20:24PM +0200,
 Wolfgang Jeltsch [EMAIL PROTECTED] wrote 
 a message of 23 lines which said:

   alpha = ('A' `to` 'Z') ||| ('a' `to` 'z')

If you intend to seriously specify a new language for regexps, please
consider Unicode. There are more letters than A to Z...

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Re: Interest in helping w/ Haskell standard

2005-10-14 Thread Philippa Cowderoy

On Fri, 14 Oct 2005, Stephane Bortzmeyer wrote:


On Fri, Oct 14, 2005 at 04:20:24PM +0200,
Wolfgang Jeltsch [EMAIL PROTECTED] wrote
a message of 23 lines which said:


By the way, it should be possible to handle regular expressions in
an Haskell-like way.


If you like so, but as one more possibility, not as the only way.



I'm not sure I see the need to do that specifically given the existance of 
libraries like Parsec?


--
[EMAIL PROTECTED]

There is no magic bullet. There are, however, plenty of bullets that 
magically home in on feet when not used in exactly the right circumstances.

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Examples of using STUArray + help with converting code

2005-10-14 Thread Udo Stenzel
joel reymont wrote:
 I don't understand the syntax needed to create a new double or float
 array with newArray from Data.Array.MArray. I also don't yet
 understand how to cast that double array to read ints from it.
 
 doubleToInts d = runST (
 do arr - newDoubleArray (1,2)
writeDoubleArray arr 1 d
i1 - readIntArray arr 1
i2 - readIntArray arr 2
return (i1,i2))

Just use newArray, writeArray and readArray.  Something (writeArray is
probably the easiest) will need an explicit type signature to resolve
the overloading.  Also from the GHC docs:

castSTUArray :: STUArray s ix a - ST s (STUArray s ix b)
  Casts an STUArray with one element type into one with a different
  element type. All the elements of the resulting array are undefined
  (unless you know what you're doing...).

Note the part in parentheses.  This is Haskell, not C after all.  A
clean solution may not be that far away.


Udo.
-- 
I underthand that people theem to like it better now.  
That it ith written in thee pluth pluth inthtead of lithp.


signature.asc
Description: Digital signature
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Re: Interest in helping w/ Haskell standard

2005-10-14 Thread Stephane Bortzmeyer
On Fri, Oct 14, 2005 at 03:34:33PM +0100,
 Jon Fairbairn [EMAIL PROTECTED] wrote 
 a message of 37 lines which said:

  Because the language used inside these strings is standard,
  multi-language, widely used and documented?
 
 10,000 lemmings can't be wrong?

Right, disregard ASCII and specify the lexemes of Haskell 2 in a new
encoding scheme, much better than ASCII :-)
 
 Not even the syntax of such regexps is checked at compile time.

Of course, from the compiler's PoV, they are just strings. May be a
new form of strings, like in Perl, to show that this is a regexp?

 Since Unicode is increasingly adopted, we could just use «regexp»

The Unicode standard for regexps, UTR #18
(http://www.unicode.org/reports/tr18/) uses the very same standard
syntax that you criticize.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Examples of using STUArray + help with converting code

2005-10-14 Thread Ketil Malde
Joel Reymont [EMAIL PROTECTED] writes:

 I must be missing something because I don't think the code below
 converts a double.

Yes, sorry, my bad.  I was (and is) confused about what you wanted to
do. 

-k
-- 
If I haven't seen further, it is by standing in the footprints of giants

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Examples of using STUArray + help with converting code

2005-10-14 Thread Joel Reymont
I'm just trying to replicate the example using the fresh syntax  
that does not use readDoubleArray, readIntArray, etc.


On Oct 14, 2005, at 4:32 PM, Ketil Malde wrote:


Yes, sorry, my bad.  I was (and is) confused about what you wanted to
do.


--
http://wagerlabs.com/





___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Re: Interest in helping w/ Haskell standard

2005-10-14 Thread Jon Fairbairn
On 2005-10-14 at 16:56+0200 Stephane Bortzmeyer wrote:
 On Fri, Oct 14, 2005 at 03:34:33PM +0100,
  Jon Fairbairn [EMAIL PROTECTED] wrote:
 
   Because the language used inside these strings is standard,
   multi-language, widely used and documented?
  
  10,000 lemmings can't be wrong?
 
 Right, disregard ASCII and specify the lexemes of Haskell
 2 in a new encoding scheme, much better than ASCII :-)

Haskell 98 isn't ASCII, but Unicode (Report, 2.1), current
compiler inadequacies notwithstanding. So we've done that
already. (And incidentally I'm on record as having argued
for ASCII rather than Unicode for Haskell source).

  Not even the syntax of such regexps is checked at compile time.
 
 Of course, from the compiler's PoV, they are just strings.

That's what I'm complaining about.

 May be a new form of strings, like in Perl, to show that
 this is a regexp?

That's what I'm suggesting.

  Since Unicode is increasingly adopted, we could just use «regexp»
 
 The Unicode standard for regexps, UTR #18
 (http://www.unicode.org/reports/tr18/) uses the very same standard
 syntax that you criticize.

So if we must have a short-form syntax, perhaps we should
use that one as I already intimated. However, as I read that
report, it's a standard way of adapting (any, standard or
otherwise) REs to handle unicode, not a standardisation of
regexps per se. Specifically


   Note: This is only a sample syntax for the purposes of
   examples in this document. (Regular expression syntax
   varies widely: the issues discussed here would need to be
   adapted to the syntax of the particular
   implementation. [...]

So it's not a Unicode standard for the syntax of regexps.

 Jón

-- 
Jón Fairbairn  Jon.Fairbairn at cl.cam.ac.uk


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Re: Interest in helping w/ Haskell standard

2005-10-14 Thread Niklas Broberg
  Regexps and XML are, IMHO, also must haves.

 By the way, it should be possible to handle regular expressions in an
 Haskell-like way.

Harp? :-)

http://www.cs.chalmers.se/~d00nibro/harp

/Niklas
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Newbie question on Haskell type

2005-10-14 Thread Ralf Hinze
Hi Huong,

attached you find a small program for parsing values of various (data)
types. It uses a generalized algebraic data type for representing types
and a universal data type for representing values. The parser itself is
rather simple-minded: it builds on Haskell's ReadS type. 

I don't know whether this is what you are after, but it was fun writing.
There are many opportunities for improvement: one could use a decent
combinator library for parsing; a type of dynamic values instead of a 
universal type etc.

Here are some example calls:

Main parseAny 4711
[(ValInt 4711,)]
Main parseAny \4711\
[(ValString 4711,)]
Main parseAny [4711, 0]
[(ValList [ValInt 4711,ValInt 0],)]
Main parseAny [4711, 'a']
[(ValList [ValInt 4711,ValChar 'a'],)]
Main parseAny [\hello world\]
[(ValList [ValString hello world],)]

Note that parseAny even parses heterogenous lists. 

Cheers, Ralf

---

 {-# OPTIONS -fglasgow-exts #-}

 data Type :: * - * where
   Char:: Type Char
   Int :: Type Int
   List:: Type a - Type [a]
   Value   :: Type Value

 string :: Type String
 string  =  List Char

 parse :: Type t - ReadS t
 parse (Char)   =  reads
 parse (Int)=  reads
 parse (List Char)  =  reads
 parse (List a) =  parseList (parse (a))
 parse (Value)  =  parseAny

 data Value 
   =  ValCharChar
   |  ValInt Int
   |  ValString  String
   |  ValList[Value]
   deriving (Show)

 parseAny 
   =   ValChar   $ parse Char
   + ValInt$ parse Int
   + ValString $ parse string 
   + ValList   $ parse (List Value)

Helper functions.

 parseList parsea
   =  readParen False (\ s - [ xs | ([, t) - lex s, xs - parsel t ])
   where parsel  s  =   [ ([], t) | (], t) - lex s ]
++  [ (x : xs, u) | (x,   t) - parsea s,
(xs,  u) - parsel' t ]
 parsel' s  =   [ ([], t) | (], t) - lex s ]
++  [ (x : xs, v) | (,, t) - lex s,
(x,   u) - parsea t,
(xs,  v) - parsel' u]

 infix  8  $
 infixr 6  +
 (f $ p) s  =  [ (f a, t) | (a, t) - p s ]
 (p + q) s  =  p s ++ q s
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Re: Interest in helping w/ Haskell standard

2005-10-14 Thread Aaron Denney
On 2005-10-13, Stephane Bortzmeyer [EMAIL PROTECTED] wrote:
 On Thu, Oct 13, 2005 at 11:29:57AM +,
  Robin Green [EMAIL PROTECTED] wrote 
  a message of 22 lines which said:

 ... and, in the case of the Standard Prelude section, or equivalent,
 a specification of well-understood functions that the spec authors
 agree should be provided in all implementations. ... (It is,
 however, one of the must haves for Haskell to be considered for
 use in production systems.)

 Regexps and XML are, IMHO, also must haves.

Bah, simple libraries.  They don't have to be part of the Standard
Prelude.

(See http://haskell.org/hawiki/RegexSyntax , BTW, which cantains some
DWIM operators overloaded on return type -- perl's scalar/list
distinction on steroids.)

-- 
Aaron Denney
--

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell] Re: [Haskell-cafe] Interest in helping w/ Haskell standard

2005-10-14 Thread John Meacham
On Thu, Oct 13, 2005 at 02:09:55PM +0200, Sebastian Sylvan wrote:
 Okay then. Consider this my contribution to the discussion.
 First of all I would like to urge the people who do end up working on
 this to seriously consider replacing H98's records system. I may be
 wrong but the impression I get is that enough people dislike the
 current system enough to warrant a replacement. And to me it seems to
 be a pretty much slam-dunk case that the proposal is *a lot* better
 than what we current have.

How about a standard HList-style library specified in the report? then
we get fancy records without having to change the language. Then we
could work on syntatic sugar to make HList records as easy to use as
built in ones.
John

-- 
John Meacham - ⑆repetae.net⑆john⑈ 
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Re: Interest in helping w/ Haskell standard

2005-10-14 Thread David Roundy
On Fri, Oct 14, 2005 at 07:15:11PM +, Aaron Denney wrote:
 On 2005-10-13, Stephane Bortzmeyer [EMAIL PROTECTED] wrote:
  On Thu, Oct 13, 2005 at 11:29:57AM +,
   Robin Green [EMAIL PROTECTED] wrote 
   a message of 22 lines which said:
  ... and, in the case of the Standard Prelude section, or equivalent, a
  specification of well-understood functions that the spec authors agree
  should be provided in all implementations. ... (It is, however, one
  of the must haves for Haskell to be considered for use in production
  systems.)
 
  Regexps and XML are, IMHO, also must haves.
 
 Bah, simple libraries.  They don't have to be part of the Standard
 Prelude.

I completely agree.  I'd rather decrease the number of libraries defined in
the language itself and decouple library standardization from the
definition of the language standard.  Libraries can much more easily be
developed and improved.
-- 
David Roundy
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Interest in helping w/ Haskell standard

2005-10-14 Thread David Roundy
On Thu, Oct 13, 2005 at 10:42:24AM +0100, Simon Marlow wrote:
 On 12 October 2005 23:50, Sebastian Sylvan wrote:
  (I'm specifically interested in seeing SPJ's records proposal
  included, and a new module system).
 
 Highly unlikely, IMHO.  A new revision of the Haskell standard is not
 the place for testing new research, rather it's a clear specification of
 existing well-understood language features.

Indeed.  I'd love to have a new Haskell 06 that adds just a carefully (and
conservatively) selected subset of ghc's extensions, if that meant that my
code would also run on hugs and jhc.

Like everyone else, there are *some* experimental features I'd love to see
go in, most particularly John Meacham's class aliases proposal, which seems
like (perhaps from my naive perspective) a moderately conservative change
that opens up huge possibilities for improved libraries (which could then
be developed to the new standard).
-- 
David Roundy
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Re: Interest in helping w/ Haskell standard

2005-10-14 Thread John Meacham
On Fri, Oct 14, 2005 at 03:34:33PM +0100, Jon Fairbairn wrote:
 On 2005-10-14 at 16:25+0200 Stephane Bortzmeyer wrote:
  On Fri, Oct 14, 2005 at 04:20:24PM +0200,
   Wolfgang Jeltsch [EMAIL PROTECTED] wrote 
   a message of 23 lines which said:
  
   By the way, it should be possible to handle regular expressions in
   an Haskell-like way.
  
  If you like so, but as one more possibility, not as the only way.
  
   I always couldn't understand why one has to write regular
   expressions as strings
  
  Because the language used inside these strings is standard,
  multi-language, widely used and documented?
 
 10,000 lemmings can't be wrong?
 
 Using strings for regexps is a disaster. Not even the syntax
 of such regexps is checked at compile time. (This was part
 of the point of my April 1st joke by the way).
 
 The language would certainly benefit from the inclusion of
 regexps the way Wolfgang suggested, but if we really need
 the short-form syntax (I'm not convinced; it seems pretty
 much a write only notation), then do it by having special
 syntax as a shorthand for the proper Haskell.
 
 Since Unicode is increasingly adopted, we could just use
 «regexp» and specify some rules to convert the regexp into
 Haskell, as ... is meant to stand for '.':'.':'.':[].

my perl-like regexps for haskell package adds (=~) that works very
similarly to the perl operator, but is much more flexible since we have
so many types to work with rather than just scalar or list context. in
any case it uses a typeclass for regexs and what sort of thing they
work on. so you could do

foo =~ .*foo$
let regex = mkRegex .*foo$ -- so the building of the regex will be
shared
foo =~ regex
o
foo =~ (my fancy regex domain specific language)


I should cabalize it...
John

-- 
John Meacham - ⑆repetae.net⑆john⑈ 
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Emptying a list

2005-10-14 Thread poogle
Before you read any more, let me just say I'm fairly new to Haskell, so forgive 
me if this is really basic stuff.


Hi there, I'm just wondering if there is a command for emptying a list?

Also, is there any way to incorporate list operations (concatenation in 
particular) in a do-statement on lists? Every time I try it gives a type error.

Thanks


Jeremy Frech



This email was sent from Netspace Webmail: http://www.netspace.net.au

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe