[Haskell] Paul Hudak Memorial Symposium
On behalf of the Yale Computer Science department, I'd like to announce a symposium in memory of Paul Hudak that will take place at Yale on April 29 and 30. Friday will feature technical presentations by Paul's colleagues and students, including John Hughes, Phil Wadler, Walid Taha, and Bob Keller. There will be a reception with Paul's family that evening. On Saturday, John Hughes and I will reprise our retrospective of Paul's career. Yale will be showing off their research after this presentation. Full details are here: http://haskell.cs.yale.edu/paul-hudak-symposium/ Please register if you plan to attend. John ___ Haskell mailing list Haskell@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell
[Haskell-cafe] DNS Problems at haskell.org
Just to clarify - I was the contact for Haskell.org but the email address was no longer being forwarded. I had assumed I had been removed as the contact but unfortunately only the technical contact had been changed. All was finally resolved with the help of Yale, where they resurrected the old email address, and Galois, who fixed things up once they had access to the account at Network Solutions. Everything is now in capable hands - sorry about the problems. John ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Computer Camp for kids 13 - 15 years old in Colorado featuring Functional Reactive Programming
Western State College in Colorado has a computer camp for kids aged 13 - 15. Although we don't use Haskell (it's Python on the inside) the underlying engine is Functional Reactive Programming. We use a 3-D game engine to explore more than just programming - we cover a lot of math and physics. We have a very unique camp - every day includes 3 - 4 hours of recreation in the area: rafting, rock climbing, kayaking, mountain biking. Our website is at http://western.edu/academics/computerscience/computer-camp.html The camp is the last week of June. See the website for further details. We're trying to get the software in releasable form - should be ready to go in a few months. This is the fourth year of our camp and FRP has been an ideal way to introduce novices to computing. John (PS - all recreational activities at our camp are approved by Simon PJ - http://haskell.org/haskellwiki/Simon_Has_Fun) ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] A bright future for Haskell
Especially if SPJ decides to grow a beard. Unfortunately Paul is now clean shaven so maybe Haskell is in trouble. http://blogs.microsoft.co.il/blogs/tamir/archive/2008/04/28/computer-languages-and-facial-hair-take-two.aspx John ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell] Re: AmeroHaskell
It would be great if someone put a meeting together during SIGCSE - that's in Portland March 12-15, 2008. That's about the only time I get to crawl out from under my classes and interact with the outside world. We could announce something on the SIGCSE mailing list and maybe pull in some interesting outsiders. John [EMAIL PROTECTED] ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
[Haskell] haskell.org account cleanup / administration
I'm going to try and be more organized about administering haskell.org. I've started a wiki page, http://haskell.org/haskellwiki/Haskell.org, that will allow me to track the accounts I've given out and tell everyone what haskell.org is for and who to contact for various matters. Would everyone with an account on haskell.org please add themselves to the list on this page? We'll be shutting down accounts that have become inactive so this is the best way to let us know you're still around. Anyone that administers something on haskell.org should also place themselves in the contact list so that people will know who to turn to if something isn't working. It would be nice if the other haskell machines (like cvs.haskell.org) added something to this page (or created a new page). Thanks!!! John ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
[Haskell] Haskell Summer School (Camp) for Teens
The Computer Science department at Western State College is offering a very unique summer camp opportunity for high school Juniors / Seniors. Although our brochure and web page never mention Haskell, we're using Haskell on top of the Panda 3D game engine to allow students with no computer experience to do interesting things with computing, math, and physics. In addition, our program includes some recreational opportunities that those boring summer schools can't compete with! :-) If you know anyone that would be interested in this, please pass the message on. Our brochure is here: http://www.western.edu/computerscience/computer_camp.html And you don't have to tell them that this is a secret Haskell Indoctrination Camp. John Peterson Now at [EMAIL PROTECTED] ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
[Haskell] Switch to MediaWiki
We have finally finished moving nearly all of the top level haskell.org content over to the new wiki. Sometime soon switch to the new pages will happen. But meanwhile, there's a lot of work to do in the new wiki. Many of the pages on the old site were very out of date. The wiki pages are just as out of date, but at least you can fix them easily. The Links to Haskell people and projects is in pretty sad shape - a lot of people have moved and the links point many dead web pages. If you're listed, please check that your link is up to date. Even better, make yourself little user page in the wiki (every login has an associated user page), direct the link to that, and then you can throw your links and maybe a very short Haskell bio there. If you're not on the list just add yourself - we're not fussy. If there are links to group pages or companies missing you can add those. The Haskell in Education page is pretty outdated. It hasn't been seen to for a long time. I think that there's no longer much need to have a thumbnail sketch of each class at haskell.org but a link to your class homepage would be nice. You can always add a wiki page for your class and place information there. I expect this page will reorganize soon but if you get a link on it we'll make sure it stays on the site. Pages on jobs and consultants seem to be a bit out of date too - please edit as needed. The overall organization of the front page is definitely up for grabs - I believe there are too many links and we could simplify this. Be bold in your edits. Anyone with a good sense of style is welcome to add some MediaWiki templates to make things more interesting. We killed off most of the tables in the transition - some more tables would certainly help organize the site. And if you want to do some new logos, go for it. The old wiki will stay around - we have no intention of turning it off. However, I find the new wiki much nicer and hope that people will willingly migrate to the new one. Thanks to everyone who has helped with this, especially Ashley who did most of the hard work. I believe that haskell.org will stay much more current now. Olaf and I certainly won't miss getting email messages about broken links or new libraries. The new wiki is at http://haskell.org/haskellwiki/ - go have fun with it. I don't know when we'll make the switch but it will be soon. We most definitely will not be requiring that other haskell.org pages move to the wiki or change the url of anything currently hosted there. John ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
Re: [Haskell] Re: haskell.org Public Domain
I'm not sure how things work legally, but the wiki itself has all of the authorship information in it. Simply acknowledging that something came from the Haskell wiki would allow anyone to identify the underlying source given the ability to crawl around in page histories. I wouldn't want to have to acknowledge in any finer detail than that myself. I'm not sure if that is something that has to be addressed in the license itself or not though. John PS - please forgive my earlier attempt at lame humor when discussing the wiki. When talking about copying from the wiki I mentioned Paul Hudak and forgot a much needed smiley after his name. Paul is most definitely a writer of highly original content in the Haskell world and has absolutely no need to do anything untoward with the contents of haskell.org. Furthermore, the community should know that it is Paul that has to pay for haskell.org itself - something we should all be grateful for. ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
[Haskell] New look for haskell.org: MediaWiki
As everyone has noticed during the making Haskell more open discussion, MediaWiki was suggested as a better wiki technology for haskell.org. Ashley Yakeley has generously installed MediaWiki and we would like to migrate the main pages of haskell.org into this wiki. The migration is not complete - only the front page is finished - but I'd like to make this public now so that there's time for comments. In the end, this will allow anyone to come in and fix up the main haskell.org pages - the people, the projects, the help for beginners, whatever you want. Olaf and I will then step back and let the community work directly on the entire site without having to bother us (a big advantage!). This will also impact the old Haskell wiki. Rather than try to automatically convert the old wiki to the new one, we're going to ask the community to come in and do this for us. In particular, the new wiki is under the GNU FDL so the licenses are not necessarily compatible. We will keep the two wikis going side by side for a while but in the long term I hope all content migrates to MediaWiki (we won't be deprecating the Trac stuff - this will stay as is). I believe that MediaWiki is more professional looking and has a nice separation of documentation and discussion that MoinMoin lacks. I hope that this will result in better wiki content and a more organized site. Moving content by hand will give us all a chance to spruce up the existing content as it moves (and get rid of all the ugly CamelCase page names!). I expect that it will take another week or so for the rest of the haskell.org pages to move into the new wiki - at that point we'll flip the switch and take down the old pages (but not the old wiki yet) and change the main page to point into the MediaWiki. Content that isn't being maintained by Olaf and I will stay as before although I hope that more and more pages will move into the wiki and we won't have to give out accounts to people on haskell.org just to host projects. The new wiki isn't yet visible from the front page but you can find it at http://haskell.org/haskellwiki/Haskell For you style sheet gurus, the style sheet itself is also in the wiki at http://haskell.org/haskellwiki/MediaWiki:Quiet.css If anyone wants to help move the main pages over, drop me an email and I'll coordinate things. Feel free to start adding stuff to the new wiki. It won't be visible to the outside world immediately but you can get it ready for the switch over. This isn't a completely done deal - there is still time to object to the whole thing or make suggestions. Nothing will be visible to the outside world until we make the switch later. But I believe this will result in a much better site and also make life a lot easier for Olaf and I. (And I apologize to everyone that's asked for updates to haskell.org recently - I've been avoiding them to concentrate on this!). I'm sure some of the MediaWiki settings still need to be tweaked. Send me mail if something in the configuration of MediaWiki needs to be changed. A big thanks again to Ashley! John ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
Re: [Haskell] New look for haskell.org: MediaWiki
wiki is under the GNU FDL so the licenses are not necessarily compatible. As far as I understand, this means that if I see a sample of code on the haskell wiki, and just want to steal it for my project, I'm not allowed to, unless I also release my code under the GNU FDL? This is something worth debating. Certainly you can ask the author of the code for permission to use it but this is an extra burden. Would be nice to have a special wiki construct to mark content as posessing an extra license. The whole license debate should take place as soon as possible before we get a lot of content in there. I'm not wedded to the FDL. And another point, will this wiki be backed up? I am lead to believe that the existing hawiki isn't, so I keep backups of sections I'm involved with. We back up all of haskell.org except some of the old ghc releases. That shouldn't be a problem. ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
[Haskell] License for haskell.org content
I believe the scenario that the FDL addresses is that someone (probably Paul Hudak!) borrows massive amounts of stuff from the wiki, adds his own good stuff, and then publishes a nice book or something without having to share his additional contribution. Some people would like to be sure that their contributions can't be exploited in this manner. I'm no license lawyer - the BSD license would work just fine for me personally but we need to generate some overall agreement on this issue since everyone who contributes is potentially affected. John ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
[Haskell] Fonts on haskell.org
If someone sends me a new css file I'll be happy to throw it on haskell.org for you. Please send an email to this list if you want to do this so nobody else wastes their time. John ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
Re: [Haskell-cafe] wxFruit examples
Hi there! The wxFruit effort was a senior project that focused pretty much exclusively on the paddleball game. It didn't really create any software that we intend to maintain and distribute. I have a couple of students working on a continuation of this but I don't expect to release anything for a few more months. When I have some more time I'll address your example ... John ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell] Re: Global Variables and IO initializers
I've been meaning to get into this debate ... Koen proposes: Imagine a commutative monad, CIO. Commutative monads have the property that it does not matter in what order actions are performed, they will have the same effect. In other words, for all m1 :: CIO A, m2 :: CIO B, k :: A - B - CIO C, it should hold that: do a - m1 do b - m2 b - m2 ===a - m1 k a b k a b Now, one could imagine an extension X of Haskell98, in which modules are allowed to contain definitions of the form: p - m Here, p is a (monomorphic) pattern, and m is of type CIO A, for some type A. CIO is an (abstract) monad provided in a library module, just like IO is today. One could wonder where the primitive actions in the monad CIO come from? Well, library providers (compilers) could provide these. For example: newIORefCIO :: a - CIO (IORef a) newEmptyMVarCIO :: CIO (MVar a) And so on. The implementer of these functions has to guarantee that the actions do not destroy the commutativity of the CIO monad. This is done in the same way as today, compiler writers and users of the FFI guarantee that certain primitive operations such as + on Ints are pure. The FFI could even adapt CIO as a possible result type (instead of having just pure functions or IO functions in the FFI). This is definitely a step in the right direction. I am using this syntax already in Pan# and it's definitely the right thing to do. I would be hesitant to have any direct connection between this syntax and a specific monad (like CIO) - I want the same syntax in inner let statements and would like a context such as CMonad = to pop out when I see - in a let, where CMonad is any commutative monad. The monads I use are a name supply and writer (which writes into a set rather than a list to preserve commutativity). As long as CIO had these I could use it but it would ne more interesting to avoid placing the initializations in a specific monad. Ultimately, I want the main program to see the initializing action: main :: CMonad m = m () - IO () or if you have a specific monad in mind: main :: CIO () - IO () The use of the CMonad type class is probably tough since you might want to blend modules with different initialization monads. You can address this with yet more type classes or just give up and use a single CIO type. But the main thing I want is a feedback path from the initializers to the main program. You could hack this by allowing CIO computations to get at a name supply and write into some kind of output for the main program but that seems a bit hacky to me. Much better to allow the main program to run the initialization code. All of this rambling non-withstanding, the idea of top level - and a commutative monad are the really import ones. I think this would be an excellent way to address this issue in the real spirit of functional programming rather than just hacking things on and hoping they don't have any unintended consequences. John ___ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell
Re: [Haskell] confusing language in report and a bug in (ghc|hugs)
The intention in the report was to match in the order listed in the pattern - you need not consult the data declaration to understand the ordering. I think the report is clear enough - it's just a bug in ghc. John ___ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell
[Haskell] Announcing Pan# 1.0
Announcing Pan# 1.0 Pan# is a new front end for Conal Elliott's Pan system. Pan# is a stand-alone system that displays interactive functional images expressed in a slightly augmented Haskell subset. Pan# is ideal for demonstrating the core principles of functional programming in an interesting and creative manner. Features of this release include: * All examples from Conal's Fun of Programming chapter * Many examples stolen from Jerzy Karczmarczuk's functional textures work * Full type checking * New user interface controls (random numbers, Haskore timing tracks) * More Haskell features * Movie making capabilities * Improved viewer * Simplified syntax for monadic code Pan# runs on Windows and uses the .NET system for dynamic compilation. It has not yet been ported to Linux or Macs but if you're familiar with the open source .NET systems we would be glad to help someone move Pan# to other operating systems. Pan# is easy to install and use. It has been tested with high school students and has proven to be an effective vehicle for introducing novices to the basics of computer programming without getting wrapped up in the endless details of visual Basic or other industrial strength computer languages. Because functional programming is very close to mathematics, Pan# does not need to introduce unfamiliar computational paradigms to students. We are also investigating the use of Pan# as an instructional tool for high school mathematics - some examples of this are included in the distribution. You can download Pan# at http://haskell.org/edsl/pansharp.html Thanks to Microsoft Research for supporting this project. John Peterson, Yale Haskell Group [EMAIL PROTECTED] ___ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell
Re: [Haskell] Announcing Pan# 1.0
The difference between Pan and Fran is that Pan is stateless: the image is a pure function of the current control settings (system stimulus) rather that a stateful signal function as in Yampa or Fran. So you couldn't really do the infamous paddleball game or make use of switching or integrals or other stateful signal functions. If you're clever you can factor out the state - for example, you could do the bouncing ball example by finding a closed form solution to the ball trajectory instead of using a stateful integrator at runtime. But you couldn't do something like the traffic light program (an animation which switches colors with each mouse click) since there's no way to remember the current color of the light on each button press. That being said, you can still express many animations in a natural way - it's really the interaction that can't be done. There are many stateful control objects in Pan - it's just that the state lives in the controllers (such as the position of the sliders or movable points) rather than in the animation language. One of the cool things we've added is the ability to take event streams generated by other programs (in this case Haskore) and use these to drive an animation. So you could express something in a stateful way, either in Haskore or Yampa or whatever, and save the generated event streams for animation by Pan. Unfortunately I don't have a releasable version of Haskore + Pan event stream output stuff yet but it should be ready soon. John ___ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell
[Haskell] Website redesign
So there it was - another email message complaining about something on haskell.org. Your site is so `last century'. So I, as usual, said If you want it fixed, do it yourself. And thus the new look on haskell.org. Thanks much to Jon Lingard for giving us a facelift. The new look (same old content) is very professional. John ___ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell
Re: bugs from n+k patterns (was: Re: Preventing/handling space leaks)
The n+k pattern issue inspired endless debates on the Haskell committee and this feature was considered for removal in nearly every iteration of the Haskell report. We all agreed that n+k is extremely ad-hoc but that certain programs can be expressed slightly more elegantly using them. Unfortunately n+k doesn't match against negative numbers, so let n+1 = ... in n ... is not the same as let n = in (n-1) ... Of course n+k was designed for natural numbers but these are not a separate numeric type so you get a certain amount of confusion. One proposal was to make naturals a distinct type and restrict n+k to only naturals. The syntactic issues surrounding n+k are truely awful and I still have to look at the report to remember what happens with these: n+1 = 2 (n+1) = 2 A lot of people would have been happy to replace n+k by some view-like mechanism that gives the user control over the meaning of n+k but we never managed to get views into the report. John ___ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: African money
If the spam storm gets too heavy on haskell-cafe we can switch to moderator approval as on the main Haskell list. We have the spam assassin available at haskell.org but I've been reluctant to turn it loose on the lists. Maybe the time has come ... John ___ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: African money
I checked and we do have spam assassin running on all haskel.org mail. The latest Nigerian spamlet somehow made it past - unfortunately nobody has been keeping the spam rules up to date, The mail haskell list is member only posting but not haskell-cafe. The member only posting is slightly painful to keep in operation so we'd prefer not to change the status of haskell-cafe unless things get worse. Quite a few people subscribe to the haskell list and then find that they aren't recognized as members because of slight differences in the From: address so we have to manually approve post fairly often. John ___ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [OT] Teaching Haskell in High School
For exactly these reasons we have implemented Helium; not for replacing Haskell (we're very happy with Haskell), but for *learning* Haskell. There is no overloading, so types and type errors are easier to understand. The Helium compiler produces warnings for situations that are probably incorrect. I'm curious what the other gotcha's are that John refers to because it might give us inspiration for more warnings/language design decisions. I've been negligent in not playing with Helium yet - I'm sure that this sort of system is going to be a significant improvement for this sort of audience. I'm also hoping that Helium can be adapted into other problem domains which use typed functional languages. As far as language gotchas, the issue is much more in the way the programming environment responds to a problem than in the language design. If a system can generate a sensible response / suggestion when a student makes an error then I don't think there's any particular problem. Another issue is in how the material is presented - I think this makes a big difference in what errors a student is likely to encounter. When you teach in a slow, constructive manner I think you're less likely to encounter problems than in my case, where I was teaching from a mathematics perspective and asking students to transcribe their mathematical ideas directly into Haskell and hope that they work. Notationally, there were three problems that hit students hard and generated error messages that had nothing to do with their mistake. The numeric syntax requires digits on both sides of a decimal. Mistakes like a = .2 were extremely common. Unary minus was also a big problem - I solved this by requiring all negative number to be wrapped in parens. The varid / conid stuff also was a problem - it was hard to explain why a = 1 is OK and A = 1 isn't. This definitely was a problem with going straight into programming from math. There were a lot of problems with type errors. The numeric type classes pop up unexpectedly in error messages, rendering them cryptic. Monomorphism also caused some problems but as I recall it was the old Hugs that didn't handle monomorphism quite right anyway. Debugging was a serious problem - we basicly gave up on that. Since the programs were fairly short I could usually spot bugs fairly easily but I couldn't get students to do this on their own. Sorry if this isn't very precise - it's been a while. John ___ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell
Re: [OT] Teaching Haskell in High School
I've also been working high school students a bit and functional programming is a great way to teach the principals of computation. The best results come when FP is applied to domains that get kids excited. I've had very good luck with Haskore as an excellent way to bring computation to a general audience. I'm also working on a student friendly version of Pan that should be releasable in a few more weeks. The downside of Haskell is that none of the regular implementations (ghc, hugs) are really right for this level of student. Type inference is an especially nasty problem. There also a number of gotcha's lurking in the language that cause problems. But even so with a little supervision everything works quite well. I think fundamentals of computing as found in Haskell are good for a general mathematics class as opposed to a computer class where you have to deal with curriculum defined by the AP test or intertwined with some specific software environment. John ___ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell
Re: Report and web site
Yes - we'll have the new report up soon. Once Simon quits messing with it :-). John ___ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell
Re: ASSIST ME
The current plan is to filter via spews. We could go to member-only posting if that's what people want but it means that students asking their homework questions will have a harder time :-). Plus if the list is redistributed that's another problem. Our original spam filter was generating complaints so we've turned it off until we get the spews filter up and going. Send me comments and suggestions - I'm no expert in this area. John ___ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell
Re: let's can this spam?
Funny you should ask. We've got despamming ready to test on Monday. So hang in there one more day and things should get better. John ___ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell
New haskell.org policies
Our switch to a new server for haskell.org is complete. We are making a few changes in the way this machine is administered - instead of handing out the root password we are now using sudo instead. Anyone who used needs root access and is not a sudoer can contact me and I'll fix things. Some changes on the web pages made last week might be missing - if anyone has a problem I can help restore things. Finally, we now have far more disk space on haskell.org. I would encourage anyone with Haskell-related projects to consider using haskell.org for distributions, mailing list, and anything else you need. Contact me if you need more information about getting an account. John Peterson ___ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell
Re: mailing list trouble (haskell.org upgrade)
We've just upgraded haskell.org to a much faster machine and we've been slowly trying to get everything back to normal. There are a lot of things to do and we tried to do them Saturday morning when nobody was watching but I'm afraid we didn't get everything back in place before we were noticed. Everything should be back to normal soon. Let me know if anything is amiss tomorrow. John ___ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell
Re: Programming style question
The only semantic difference is in the type checker - the first form is not subject to monomorphism while the latter is unless a type signature is present. There should be no difference at all in the generated code. John ___ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell
Re: newtype | data
You can't recreate newtype with data. There's a long discussion of this in the report: check section 4.2.3 http://haskell.org/onlinereport/decls.html#sect4.2.3 John ___ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: Strange error in show for datatype
This problem is probably caused by the unbound type variable in values like (Str HEJ). Try giving a specific type as the parameter to LispList: (Str HEJ :: LispList Int) The error message here could me more informative! John ___ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell
Re: Advantages of Paper
We're not really in a position to mail out bound copies of the Haskell report. We generally distribute our tech reports in electronic form and haven't even been asked for paper copies in years. I've got a few bound Haskell reports that I give to visitors but we don't plan to print any more. It would be nice if the report was published in book form someday! The original problem here is that there's no comprehensive archive of Haskell related research papers. At one point we were maintaining a set of useful papers at haskell.org by hand (Olaf did all the hard work ...) but it's not really feasable to do any of the haskell.org maintainence by hand anymore. I've been slowly putting together software to automate haskell.org - forms for adding new applications, libraries, documents, and anything else that you could want. However, I'm not done and really need help to get things finished. In general, haskell.org is open to anyone that wants to work on these things and I would highly encourage anyone with time available to pitch in! I think haskell.org is the right place to give documents a permant home and will be glad to assist anyone that wants to work on this with me. John ___ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell
Re: Learning Haskell and FP
One more thing: I'm happy to incorporate any tutorial material into haskell.org. If you have material that would be appropriate please let me know and I'll add it to the site. I know there are some very good slides from Haskell courses that could be put into haskell.org. The document sources to the Gentle Intro are also available. We've already had some very generous help with it and Paul and I will be happy to support anyone that would like to improve it further. Finally, another thing that would be really nice in the way of tutorials is one from the perspective of an experienced C++ / Java programmer. Even a relatively short work that maps between the O-O terminology and the Haskell world would be quite useful. John ___ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell
The Haskell store is open ....
Head to http://www.cafepress.com/haskell for your holiday shopping. Thanks to Conal Elliott and Fritz Ruehr for their artwork. Conal's design was produced by Pan so this shirt is in fact powered by Haskell! I'll be glad to add more designs in the future. Once cafepress lets me put more than one design in a store I'll consolidate everything. Meanwhile, if you want to set up a separate store I can link it into haskell.org for you. John ___ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell
Haskell T-Shirt Contest
Tired of seeing people in OCaml TShirts at ICFP? Ready to show the world what language *real* programmers use? Well, here's your chance. We're going to add a "store" to haskell.org to offer Haskell stuff for your holiday shopping convenience. We're going to start with T-shirts and other stuff with a Haskell logo on it using cafepress (www.cafepress.com). Here's how it works: Send me a design usable by cafepress (see their web site for more information). I'm willing to add any reasonable design to the haskell store - there isn't going to be a just one winner in this contest. Entries not related to Haskell or in really bad taste may be rejected but I'll try to be fair. I'll link the store into haskell.org and we'll be ready to go. Anything related to Haskell is OK - you can send in a design for hugs or ghc or any other part of the Haskell universe. Items will be sold at no markup - this isn't a fund raiser. It's just a way for the Haskell community to become a little more visable. Send your graphics to [EMAIL PROTECTED] - I'll try to get the into the store as soon as possble. If you know of any other sites similar to cafepress that could sell other things let me know. All entrants will receive a copy of Hugs 98, completely free of charge. Rejected entries will receive ghc instead. :-) :-) John ___ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell
Re: doubles
Or you can just set USE_DOUBLE_PRECISION in options.h if you want to rebuild hugs. John
Re: Er is this list archived?
I have all of the archive links on the mailing list page fixed now. John
Re: Who is the webmaster for haskell.org ?
The haskell.org page should be quite clearly labelled - I do most of the maintainance with help from some of the community. Please let me know if there is anything that needs fixing. John
Postdoc Opportunities with the Yale Haskell Group
Post-Doctorate Research Position Yale University Department of Computer Science The Yale Haskell Project (http://haskell.org/yale) in the Department of Computer Science at Yale University is seeking applicants for a Post-Doctoral Research Position. Our research uses Haskell and "Functional Reactive Programming" as a foundation for a variety of embedded domain-specific languages, including FROB: a language for robot control, and FVision: a computer vision and visual tracking language. Our general areas of research include: o Foundational aspects of DSL research o Robotics and vision research using Haskell-based DSLs o Programming evironments for DSL use and construction o Compilation/optimization/transformation of DSLs Successful applicants must have a PhD in Computer Science or closely related field, and experience with modern programming languages such as Haskell, ML, or Java. The term of the position is 1 year with an option to renew for additional years. A starting date around September 2000 (or earlier) is preferred; candidates should have completed all thesis requirements by that time. A competitive salary will be offered, commensurate with the applicant's qualifications and experience. Yale University is an Equal Opportunity/Affirmative Action employer; qualified women and minority candidates are encouraged to apply. Interested applicants should send a resume, a short research statement, and three letters of recommendation to John Peterson (email address: [EMAIL PROTECTED]). Electronic application is preferred, but if necessary, applications may be sent to the address below. John Peterson Department of Computer Science Yale University P.O. Box 208285 New Haven, CT 06520-8285, USA Phone: 203-432-1272 Email: [EMAIL PROTECTED]
Re: HaskellDoc?
If you've looked at Andy Gill's Html module, he's proposed embedding a little XML in a leading comment: {- haskell:module NameHtml/ Version0.1/ Description Main import module for the Html combinators/ License The Haskell Html Library is Copyright copy; Andy Gill, and the Oregon Graduate Institute of Science and Technology, 1999, All rights reserved, and is distributed as free software under the license in the file "License", which is included in the distribution./ Author A HREF="http://www.cse.ogi.edu/~andy"Andy Gill/a/ Restrictions This works with all Haskell 98 compilers. /Restrictions TestedHugs98, GHC 4.03/ /haskell:module -} We haven't had a chance to formalize this yet but at some point soon haskell.org will have a way for users to submit library modules with information embedded in this manner and then we will use this information to update haskell.org's information about a library. John
Re: Haskore installation
This is a simple problem to fix - in Haskell 98 you need the following so that functions are in Show: instance Show (a - b) where showsPrec _ _ = showString " Function " I'll add this to the Haskore release. If you add this at the end of Basics.lhs you'll be able to load Haskore. John
Domain name problems
I believe that by now name service for haskell.org is back to normal. If there are any further problems with name service please let me know. As it turns out, this wasn't a technical problem but rather a political one. As name service transitioned from within the Yale CS department to the campus level, some higher level person decided that Yale name servers should serve only yale.edu and evicted haskell.org from the host table without advising anyone of this decision. After much wrangling by the local technical staff we seem to have convinced Yale that haskell.org is a legitimate domain name for Yale computers to answer to and all is now back to normal. Sorry for the inconvenience, John
Re: Haskell home page
Sorry about this - must be a Y2K thing!! Seriously, we have a problem with our domain server and I can't get this fixed until Monday. Meanwhile, I think haskell.cs.yale.edu will work as an alternate domain name for the time being. John
Re: Hugs bug with `x = 1'?
No - ghc is quite right on this one. The use of x in the module disambiguates the overloading of x here - any use of x in the module that resolves the overloading should make the monomorphism rule happy. Unfortunately, hugs applies defaulting too soon and the use of x that would satisfy monomorphism isn't considered before defaulting is applied. This is a know bug in Hugs. John
Functional Programming Research Positions at Yale
FUNCTIONAL PROGRAMMING RESEARCH POSITIONS Yale Haskell Group Department of Computer Science Yale University Are you a believer in functional languages? We are looking for several full-time researchers to help us bring functional programming into the real world. Our group is currently doing work in many different areas: domain-specific languages, robotics, vision, control systems, graphics and animation, security, simulation, concurrency, and other areas where functional languages can have an impact. The selected candidates will collaborate with other groups, both at Yale and outside of Yale, and apply functional programming in novel ways in a diverse set of projects. Candidates should be familiar with either Haskell (preferred) or ML. Most programming will be done in Haskell, with small amounts of C, C++, or Java on occasion. While we are not looking for any specific background other than FP, experience in some of the following additional areas is desired: component technology, Java/C/C++, robotics, type systems, and compilers for functional languages. Most importantly, we are looking for highly creative people with a love for functional programming. These research positions exist at several levels, so candidates with BS, MS, and PhD degrees will be considered. Starting salary will be commensurate with expertise and experience. Qualified women and minority candidates are encouraged to apply. Yale is an affirmative actions/equal opportunity employer. Interested individuals should contact John Peterson ([EMAIL PROTECTED]). Applications should include a resume or Curriculum Vitae with at least three references.
Functional Programming Research Position at Johns Hopkins
RESEARCH PROGRAMMING POSITION Computational Interaction Group Department of Computer Science Johns Hopkins University http://www.cs.jhu.edu/~hager/CIPS We are seeking a talented individual to fill a full-time position supporting research in the area of language design and software engineering for real-time vision, robotics, and human-computer interaction. The selected candidate will be part of an ongoing collaboration between the Yale Haskell Group and the Computational Interaction Group at The Johns Hopkins University. The ideal candidate would have a strong background in modern functional languages (particularly Haskell) as well as experience and interest in software engineering; background in computer vision and robotics is desirable but not essential. For more information on this research project consult http://www.haskell.org/frob. Interested individuals should send e-mail to Professor Greg Hager ([EMAIL PROTECTED]) and, if possible, include a resume or Curriculum Vitae.
New Gentle Introduction now available.
I've dumped a new version of the Gentle Intro on haskell.org. We've updated to Haskell 98 (finally!) and added a new chapter on monads. I've also resurrected the ancient online supplement we used to distribute with the late, lamented Yale Haskell compiler so all of the source code is now there and ready to execute in Hugs as you read. I could use help packaging some more versions of the document - if anyone wants to generate a .pdf for me that would be really nice! We're now done with the Gentle Intro at Yale - I'm "setting it free". We've added a copyright that allows anyone to modify, update, or improve the tutorial and made full sources for the tutorial available. So instead of complaining, just fix extend it yourself! We'll probably put this into a public CVS repository once we get a chance. John Peterson [EMAIL PROTECTED]
Re: Haskell Wish list: library documentation
Andy's example of function documentation looks fine to me. I'd also like to see HaskellDoc work at the module level too: define attributes such as an author, a version, Haskell system version, export list, imported modules, web site, repository, whatever ... In particular, I'd really like to see something that would generate an installer, capable of going from a documented Haskell program to a program that correctly installs the program, issuing any warnings / errors that are appropriate. I'd also like to see something that automates testing: note that his example contains examples that could be used to validate the module. I hope some sort of concrete proposal can be assembled at the Haskell workshop. John
FFI mailing list (ffi@cs.yale.edu)
This list has dead for a year or so - I'm sure many interested parties are not on it. This is the sort of thing that we ought to be able to handle more easily when we install some mailing list software at haskell.org - I can think of a number of topics that could be split off from the Haskell list. John
Re: Wiki Sites (now, haskell.org)
It's good to see so many people eager to help with haskell.org. We have plans for some significant changes at haskell.org and I hope this will result in a much more open, community developed site. Andy Gill and I had a meeting about this at OGI and we will have a new haskell.org online soon that will be administered jointly by all of the Haskell community. I'll be giving accounts to anyone interested in installing new software, creating new content, or just about anything else. We (well, actually mostly Andy ...) are developing a set of HTML forms that will interface with a bunch of XML databases. These forms will provide a very painless way for any users to submit new libraries, add new entries to the teaching page, locate people, help build a FAQ, and anything else we can think of. Once the new machine gets up and running I'll make an announcement to this forum and we can start getting more people on board. We're hoping to write all of the code that makes this happen in Haskell and also to use this code as an example of a real application in Haskell. Stay tuned ... John
report sources
OK - I've finally gotten around to adding the report sources to haskell.org. We encourage folks to render the report in new ways; any useful rendering of the report will be added to haskell.org. John
Haskell web pages
This summer I'd like to work with everyone on a major revamp of the Haskell web pages. In particular, organize the libraries pages and make it easier to search for existing code and more introductory material, including some "Haskell Programming Pearls" and a good FAQ. I'd also like to update the teaching stuff. The main problem at the moment (besides getting free time) is that I want to integrate everything with cvs so the whole community can access and modify the web pages and add some forms on the pages to make it easy to submit entries for the library page or the teaching page or add a question to the FAQ. So, in the short term I need to work on infrastructure rather than content. But soon I hope to make haskell.org much easier to contribute to. Please be patient! I'll announce to this forum when all is ready. Thanks, John
Strictness in Haskell
As others have mentioned, Haskell does not provide a direct means for strict evaluation. While the class system can be used, the trick of f x = x | x == x is not guaranteed to work since == methods defined by the user may not have the desired strictness property. I could always put instance Eq (Foo a) where x == x = True into a program to defeat the x==x strictness hack. Staying within standard Haskell you could add a class Strict as follows: class Strict a where strict :: a - Bool -- Use bool so that strict can be used in guards instance Strict Bool where -- a sample instance of strict strict x = case x of True - True False - True instance Strict a = Strict (Complex a) where -- This is actually hyperstrict strict (a:+b) = strict a strict b This would allow something like f x | strict x = ... Of course, you would have to build the class Strict from the ground up since it isn't provided for built-in datatypes or derived using `deriving', but it would work correctly. Wheather or not the lack of strictness in the language proper is a bug or a feature I leave to others to debate. However, as an implementer I can always add it to my own implementation! John
Haskell report 1.2 now available
Announcing == The Haskell Report Version 1.2 1 March 1992 The Haskell Committee, formed in September 1987 to design a "common" non-strict purely functional language, has released an updated version of the Haskell Report. Version 1.2 of the report was prepared for publication in SIGPLAN Notices in the May 1992 issue. It corrects some typographical errors in the 1.1 report, and clarifies the presentation in places, sometimes by giving new examples. A few small changes have also been made to the syntax and standard prelude. In addition to the new report, a Haskell tutorial by Paul Hudak and Joe Fasel is also now available. This will also be published in SIGPLAN Notices as a companion to the report. --- Both the new report and the tutorial are available via anonymous internet ftp. Three Haskell ftp sites have been established: nebula.cs.yale.edu (128.36.13.1) ftp.dcs.glasgow.ac.uk (130.209.240.50) animal.cs.chalmers.se (129.16.225.66) Each of these sites has an area devoted to Haskell-related material in pub/haskell. The file pub/haskell/FILES_ORG contains a complete list of the available material. The report can be found in: pub/haskell/report/report-1.2.dvi.Z -- A compressed dvi file pub/haskell/report/report-1.2.ps.Z -- A compressed postscript file The tutorial can be found in: pub/haskell/tutorial/tutorial.ps.Z -- A compressed postscript file (No dvi version available) An online supplement to the tutorial for users of Yale haskell is also available -- look in pub/haskell/tutorial/README for more information. These sites also contain current Haskell implementations, papers related to Haskell, the Gofer system, and archives of the Haskell mailing list. --- The report is also available from Yale as a technical report; however, we recomend waiting for the SIGPLAN publication instead. To get a hardcopy version of the report, send $10 to: The Haskell Project Department of Computer Science Yale University Box 2158 Yale Station New Haven, CT 06520 USA --- A mailing list for general discussions about Haskell is reachable in one of two ways: [EMAIL PROTECTED] or [EMAIL PROTECTED] To be added to the above mailing list, send mail to either [EMAIL PROTECTED] or [EMAIL PROTECTED], whichever is the nearer site to you. Please do not post administrative requests direct to the mailing list. To inquire about implementation status, send mail to one of the addresses mentioned in the preface of the report.