Broken link on cvs.haskell.org
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
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
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
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
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
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
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
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
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
-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
-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
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
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
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
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