Broken link on cvs.haskell.org

2002-08-13 Thread Kathy Phillips
Title: InternetSeer Web Site Notification





			
	
	
		
		
		
		SUBJECT: Broken link on cvs.haskell.org
		There appears to be a problem on this page: http://cvs.haskell.org/Hugs/pages/downloading.htm
		When you click on your link to: http://rpmfind.net/linux/RPM/cooker/cooker/alpha/Mandrake/RPMS/hugs98-20011215-2mdk.alpha.html
you get the error: 404 Not Found
	
	We last last examined your page on Sun Mar 17, 2002 at 05:40:54 AM EST.
	If your page has not been updated since Sun Mar 17, 2002 at 05:40:54 AM EST, this link is 
	most likely currently broken. 
	
	As recommended by the Robot Guidelines, this email is to explain our system and to 
	let you know about the broken link on your site.
	
	InternetSeer is the largest FREE web site monitoring company in the world, 
	monitoring over 1.1 million web sites worldwide every hour.
	
	The error listed above was initially detected by our primary site monitor 
	in Philadelphia, Pa. then verified by our secondary site monitor located 
	in Los Angeles, Ca.
	
	If you find this information helpful and would like to receive alerts as soon as we detect an error 
	accessing your site, click here for instant signup. Remember, our service is free.
	
	As part of your free web site monitoring, you'll receive immediate notifications
	when we encounter problems accessing your web site and weekly performance reports.
	
		There is no need to cancel because InternetSeer will never contact you 
		again at this email address: [EMAIL PROTECTED] If you have other email addresses that you 
		would like excluded from any potential future contact 
		click here 
		to have those email addresses excluded from our system.
			
		InternetSeer does not store or publish the content of your pages, but rather uses 
		availability and link information for our research.Click 
		here to learn more about InternetSeer.
		
		Sincerely,
		
		Kathy Phillips
		Connectivity Analyst
		InternetSeer
		Website Monitoring Service
		
		As stated above, there is no need to cancel since YOU WILL NEVER be contacted again at 
		[EMAIL PROTECTED], but you may click here, for a removal confirmation from our website or
		simply reply to this message with the word "cancel" in the subject line.
		##[EMAIL PROTECTED]##
		SRC="38
		
		
	
	
	




RE: Yet more text pedantry

2002-08-13 Thread Simon Marlow

 Can't we make a mailing list for these issues?
 
 [EMAIL PROTECTED] is my proposal, who can create such a list?

I'll set up the list.  Anyone wish to volunteer to moderate it?

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



InternetSeer Free Activation Confirmation

2002-08-13 Thread Mike Dever
Title: Congratulations. Your Web Site is Registered

	
	
		
			Dear InternetSeer,
			
			Starting today, your site's connectivity will be tested every hour, seven days 
a week. You will begin to receive the following benefits from InternetSeer:
			
			
			A weekly performance report on your monitored Web page.
  
 Featuring valuable services to help you grow your business.
  

			Alerts when your Web page is not available.
			
			
			Click here to automatically login to your account. You can easily add more URL's to monitor or make changes to your account.
			
			For your records, your login name and password are below:

			
			Login Name:[EMAIL PROTECTED]
			Password:286lgz98
			

			
			Your FREE Web site monitoring service is now activated.

InternetSeer has arranged to offer you the following FREE Rewards. This is our way of saying thank you for doing business with us. Please take advantage of one or more of these great Registration Rewards.

Get your Complimentary One Year Subscription to Forbes Magazine!
Your complimentary one-year subscription to Forbes magazine is available now! 
That's 12 issues! Best of all there's NO PURCHASE NECESSARY and there's NO 
CREDIT CARD REQUIRED to accept your complimentary subscription.

30-Day FREE Trial of Web-Based Intranet
Is your business communicating and collaborating effectively? Get an online 
calendar, as well as tools for document and project management. Easily read and 
send email remotely. Take a 30-Day FREE Trial of the InternetSeer Web-based 
intranet service today.

FREE Do-It-Yourself Email Marketing Solution! (60-Day Free Trial)
Constant Contact provides a simple interface to add your unique message and the 
"Email Marketing Manager" does the rest! They provide you with dozens of 
professional templates, creates the HTML, AOL & text versions, hosts and manages 
your list, and even tracks your results.

FREE-  250 premium custom color business cards (an $85 value)
Get 250 premium custom color business cards (an $85 value) Choose from over 30 
templates, personal, business,  corporate, high impact.

Thank you and welcome to InternetSeer. Please let others know about our Service.

Mike Dever
CEO


		
  		
	


RE: Yet more text pedantry

2002-08-13 Thread Martin Norbäck

tis 2002-08-13 klockan 11.57 skrev Simon Marlow:
  Can't we make a mailing list for these issues?
  
  [EMAIL PROTECTED] is my proposal, who can create such a list?
 
 I'll set up the list.  Anyone wish to volunteer to moderate it?

Does it have to be moderated? This will make things progress more
slowly.

Regards,

Martin

-- 
Martin Norbäck  [EMAIL PROTECTED]  
Kapplandsgatan 40   +46 (0)708 26 33 60
S-414 78  GÖTEBORG  http://www.dtek.chalmers.se/~d95mback/
SWEDEN  OpenPGP ID: 3FA8580B



signature.asc
Description: PGP signature


RE: Yet more text pedantry

2002-08-13 Thread Simon Marlow


 tis 2002-08-13 klockan 11.57 skrev Simon Marlow:
   Can't we make a mailing list for these issues?
   
   [EMAIL PROTECTED] is my proposal, who can create 
 such a list?
  
  I'll set up the list.  Anyone wish to volunteer to moderate it?
 
 Does it have to be moderated? This will make things progress more
 slowly.

Not necessarily fully moderated, but there needs to be a list admin 
([EMAIL PROTECTED]) who is responsible for dealing with the messages that 
Mailman flags for auto-moderation, and user queries, etc.   I'm already the admin for 
way too many lists on haskell.org, otherwise I'd volunteer myself :-)

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



RE: difference between (evaluate . runST) and stToIO

2002-08-13 Thread Simon Marlow

 I can't seem to figure out what the difference is between using
 
   evaluate (runST action)
 
 and
 
   stToIO action
 
 when in the IO monad and running something in ST...they seem to behave
 identically...are they?
 
 If they are, why do they have different type signatures (one is ST
 RealWorld a - IO a, while the other is (forall s. ST s a) - IO a)?

With stToIO, you can do this:

   do r - stToIO newSTRef
  stToIO $ writeSTRef r 42
  ...

the types prevent you doing that with runST, but runST is safe to use in
pure code whereas stToIO must be used in the IO monad.

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



Announce: APP: The Haskell Array Preprocessor

2002-08-13 Thread Hal Daume III

Hi all...I'd read through the results of the survey and there seemed to be
a sentiment that people tend to build their own in-house utilities and
don't share them.  I have a small one, but if anyone wants to use it,
they're of course welcome.  I have made it available at:

  http://www.isi.edu/~hdaume/APP/

With some documentation.  The basic idea is to alleviate the pain of
dealing with stateful arrays (IOArrays and STArrays, for the most part,
but really anything that is an instance of MArray).

APP basically builds some syntactic sugar on to Haskell for dealing with
these and now allows constructions like:

Read:

  z - array[|x|][|y|]

Assign:

  array[|x|][|y|] - expr

Update:

  array[|x|][|y|] -$ expr

Use:

  array[|x|][|y|] = print

It's not perfect and makes some errors (but rarely), but it's very fast
and the translations are very simple (and, imo, obvious).  The exact
translations can be found on the web page or in the source code which is
distributed thereon.

Happy Haskelling!

 - Hal

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



RE: Text in Haskell: a second proposal

2002-08-13 Thread Simon Marlow

 At 2002-08-09 03:26, Simon Marlow wrote:
 
 Why combine I/O and {en,de}coding?  Firstly, efficiency. 
 
 Hmm... surely the encoding functions can be defined efficiently?
 
 decodeISO88591 :: [Word8] - [Char];
 encodeISO88591 :: [Char] - [Word8]; -- uses low octet of 
 codepoint
 
 You could surely define them as native functions very efficiently, if 
 necessary.

That depends what you mean by efficient: these functions represent an
extra layer of intermediate list between the handle buffer and the final
[Char], and furthermore they don't work with partial reads - the input
has to be a lazy stream gotten from hGetContents.  I don't want to be
forced to use lazy I/O.

 A monadic stream-transformer:
 
decodeStreamUTF8 :: (Monad m) = m Word8 - m Char;
 
hGetChar h = decodeStreamUTF8 (hGetWord8 h);
 
 This works provided each Char corresponds to a contiguous block of 
 Word8s, with no state between them. I think that includes all the 
 standard character encoding schemes.

This is better: it doesn't force you to use lazy I/O, and when
specialised to the IO monad it might get decent performance.  The
problem is that in general I don't think you can assume the lack of
state.  For example: UTF-7 has a state which needs to be retained
between characters, and UTF-16 and UTF-32 have an endianness state which
can be changed by a special sequence at the beginning of the file.  Some
other encodings have states too.

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



Re: Newbie question on statefullness

2002-08-13 Thread Shawn P. Garbett

 OTOH, if you want to do anything useful with any language you have to learn
 to do IO (and simple IO is tackled early in most languages), and therefore
 you must deal with Monads. I often wish that Haskell books and tutorials
 would introduce IO earlier; it is often near the end, in the advanced
 topics (after you've been dazzled/saturated by the magic you can do with
 list functions and comprehensions, and how easy it is to create abstract
 datatypes, and write parsers, etc...).

I think the fact that IO and efficient array updates, etc., are all best (to 
our current knowledge) handled in a pure function language by monads shows 
the actual underlying complexity that is hidden in many imperative languages. 
I drew an analogy between a state machine and an object that contained 
several variables once in a conversation. Vehement denial about an object 
being at all like a state machine came from the other parties. After much 
discussion, they conceded that yes an object really was a state machine but 
they'd never thought about it that way. The human mind is amazing in the 
level of complexity that it can deal with and the computations it can 
perform. Hidden complexity in programming languages however has led to 
numerous software problems that are common throughout the industry.

I just completed a project (with several others) that takes C code and 
crudely converts it into it's functional equivalent. The next step is to 
convert the output in a pseudo-language into true functional code. The number 
of side effects to deal with from some of the simplest expressions has been 
staggering. Most of the effort in the project was spent on the 
increment/decrement operators and switch and loop statements. Don't worry, 
there won't be a c2h (C - Haskell) anytime soon for those who remember 
dealing with f2c (Fortran - C) code, that's not the purpose of this project.

On a side note, Stroustroup recently wrote in an article about how the 
hello, world example was starting new C++ programmers down the wrong path 
from the beginning. He, of course, advocated using the iostreams and then 
went on to show several examples of wonderful things that could be done with 
iostreams. Iostreams seem to be closer to a functional concept than then clib 
printf variations. I think the book, 
_Structure_and_Interpretation_of_Computer_Programs_, by Abelson and Sussman 
is a much better freshman text because of it's functional approach. Real 
solid examples about the dangers of imperative constructs.

After years of warping my brain on C++ code, I'm enjoying learning the IO 
monad. It's starting to make sense at a much deeper level to me.

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



Analyzing Efficiency

2002-08-13 Thread Shawn P. Garbett

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

I've come up with three different methods of approach to solve the same 
problem in haskell. I would like to compare the three in terms of reductions, 
memory usage, and overall big O complexity.

What's the quickest way to gather these stats? I usually use the ghc 
compiler, but also have hugs installed. The big O complexity probably has to 
be done by hand, but maybe there's a tool out there to do it automagically.

Shawn
- -- 
You're in a maze of twisty little statements, all alike.
Public Key available from http://www.garbett.org/public-key
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.0.7 (GNU/Linux)

iD8DBQE9WU0BDtpPjAQxZ6ARAkTKAJ9qixYy5MT5QGyJ/95NGLNgVTECCQCf
GHELk++jO8XzaWUbp/mb9Og=
=MYjn
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell-cafe



Re: Analyzing Efficiency

2002-08-13 Thread Shawn P. Garbett

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1


On Tuesday 13 August 2002 01:37 pm, you wrote:
  I would like to compare the three in terms of reductions, memory
  usage, and overall big O complexity.

 I wouldn't use number of reductions as a guide if I was you.

Number of reductions does make a difference in this case, because it's a 
simple test problem with three equivalent implementations (in the same 
compiler). Nothing to create confusion like a system call, well actually all 
three solutions must call a set of IO calls in the same order. So I think it 
would make a good baseline comparison. I do agree that it's not a good 
general measurement of efficiency, and really doesn't reflect the scalability 
of the solution either (whereas big O notation would). Thanks for the heads 
up though.

The other tips and hints you gave me are exactly what I was looking for. No I 
just need a huge data set to pump into so it does a significant amount of 
garbage collection, and memory management...

Shawn Garbett
- -- 
You're in a maze of twisty little statements, all alike.
Public Key available from http://www.garbett.org/public-key
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.0.7 (GNU/Linux)

iD8DBQE9WVM5DtpPjAQxZ6ARAn2XAJ98Y4jNmnCocHzHEFpUM/vN3kTGmACfTnkf
Vk3m8x1OYHGyckskR4DDKQo=
=OWav
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell-cafe



Re: Newbie question on statefullness

2002-08-13 Thread Andrew J Bromage

G'day all.

On Mon, Aug 12, 2002 at 10:06:51PM +0100, Alistair Bayley wrote:

 OTOH, if you want to do anything useful with any language you have to learn 
 to do IO (and simple IO is tackled early in most languages), and therefore 
 you must deal with Monads. I often wish that Haskell books and tutorials 
 would introduce IO earlier; it is often near the end, in the advanced 
 topics (after you've been dazzled/saturated by the magic you can do with list 
 functions and comprehensions, and how easy it is to create abstract 
 datatypes, and write parsers, etc...).

Being fair for a moment, most Haskell books are intended as
undergraduate computer science textbooks.  There are many purposes
of these introductory courses, but learning a particular programming
language is not one of them.  You can teach a lot of computer science
without getting bogged down in the details of doing IO.

Cheers,
Andrew Bromage
___
Haskell-Cafe mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell-cafe



Haskell wiki problems

2002-08-13 Thread Andrew J Bromage

G'day all.

On Mon, Aug 12, 2002 at 04:19:38AM -0700, John Meacham wrote:

 grr. this used to be in a FAQ at the Wiki. whatever happened to that?

Unfortunately, the ReportingProblems page is one of the ones which
died.  It's also not in the google cache.

Does anyone know who's responsible for the wiki?

Cheers,
Andrew Bromage
___
Haskell-Cafe mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell-cafe



Re: Haskell wiki problems

2002-08-13 Thread John C. Peterson

Hi all.  Too many people on vacation is the real problem with the
wiki.  Should be back in operation soon.

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



RE: Text in Haskell: a second proposal

2002-08-13 Thread Ashley Yakeley

At 2002-08-13 04:13, Simon Marlow wrote:

That depends what you mean by efficient: these functions represent an
extra layer of intermediate list between the handle buffer and the final
[Char], and furthermore they don't work with partial reads - the input
has to be a lazy stream gotten from hGetContents.

For ISO-8859-1 each Char is exactly one Word8, so surely it would work 
fine with partial reads?

 decodeCharISO88591 :: Word8 - Char;

 encodeCharISO88591 :: Char - Word8;

 decodeISO88591 :: [Word8] - [Char];
 decodeISO88591 = fmap decodeCharISO88591;

 encodeISO88591 :: [Char] - [Word8];
 encodeISO88591 = fmap encodeCharISO88591;

 A monadic stream-transformer:
 
decodeStreamUTF8 :: (Monad m) = m Word8 - m Char;
 
hGetChar h = decodeStreamUTF8 (hGetWord8 h);
 
 This works provided each Char corresponds to a contiguous block of 
 Word8s, with no state between them. I think that includes all the 
 standard character encoding schemes.

This is better: it doesn't force you to use lazy I/O, and when
specialised to the IO monad it might get decent performance.  The
problem is that in general I don't think you can assume the lack of
state.  For example: UTF-7 has a state which needs to be retained
between characters, and UTF-16 and UTF-32 have an endianness state which
can be changed by a special sequence at the beginning of the file.  Some
other encodings have states too.

But it is possible to do this in Haskell...

The rule for the many functions in the standard libraries seems to be 
implement as much in Haskell as possible. Why is it any different with 
the file APIs?

-- 
Ashley Yakeley, Seattle WA

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