Re: [Haskell-cafe] Missing comment highlighting in vim syntax script
On 14 dec 2008, at 19:04, Claus Reinke wrote: The Haskell syntax script for vim mentions this mailing list as the maintainer. Perhaps one of you could fix this bug. Comments on the same line as import declarations don't get highlighted: I don't know how this list-as-maintainer idea is going to work, but the fix seems straightforward: find the line in $VIMRUNTIME/ syntax/haskell.vim that says syn match hsImport \import\.*he=s+6 contains=hsImportMod and change it to syn match hsImport \import\.*he=s+6 contains=hsImportMod,hsLineComment,hsBlockComment See :help syn-contains. Good fix. Have also modified my copy and forwarded the patch to the vim maintainer. With kind regards, Arthur van Leeuwen. -- Arthur van Leeuwen arthu...@cs.uu.nl ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Data.Map add only if not exist and return true if added
On 9 dec 2008, at 09:11, John Ky wrote: Hi, I'm looking for a function for Data.Map that will insert a new key and value into the map if the key doesn't already exist in the map. When the key already exists, I don't want the value updated in the map. Additionally, I want to know whether the key/value was inserted or not so that I can return that fact as a boolean from my function. I can't work out which function in Data.Map is suitable for this task and I wanted to avoid two lookups. Data.Map.insertLookupWithKey (\k n o - o) should do the trick. The first element of the tuple returned is the Maybe a that is Nothing if no value existed at the given key, the second element is the updated map. With kind regards, Arthur. -- /\/ | [EMAIL PROTECTED] | Work like you don't need the money /__\ / | A friend is someone with whom | Love like you have never been hurt /\/__ | you can dare to be yourself | Dance like there's nobody watching ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Human-friendly compiler errors for GHC
On 13 jul 2008, at 15:36, Max Bolingbroke wrote: [snip, patches towards friendlier error messages in GHC] Then again, we don't do fuzzy matching, only completion of partial identifiers and suggesting possible qualified names and imports for unqualified ones. Agreed: doing fuzzy matching on every available identifier from all packages would truly suck. I would propose just looking for exact matches in non-imported modules for identifiers that are not in scope. The approach taken by Helium (which doesn't quite do full Haskell''98 yet) is to not just do fuzzy matching, but to figure out if the identifiers that were fuzzily matched also have the right type. For more info, read Bastiaan Heeren's PhD Thesis: Top Quality Type Error Messages. available at http://people.cs.uu.nl/bastiaan/phdthesis/ Well, noone has actually said they think fuzzy matching would be useful yet, so I suspect this patch is dead on the vine :). I've filed a ticket with the code anyway (http://hackage.haskell.org/trac/ghc/ticket/2442) so at least it's available for others to look at. More help is very much useful. However, there are different use cases that imply different types of help and diffent types of searching. With kind regards, Arthur van Leeuwen. -- /\/ | [EMAIL PROTECTED] | Work like you don't need the money /__\ / | A friend is someone with whom | Love like you have never been hurt /\/__ | you can dare to be yourself | Dance like there's nobody watching ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] lhs syntax highlighting in vim
On 11 jun 2008, at 12:29, Ian Lynagh wrote: On Wed, Jun 11, 2008 at 01:23:58AM +0100, Eric Stansifer wrote: The syntax highlighting file for literate haskell in vim says that its maintainer is haskell-cafe@haskell.org, so hopefully one of you will find this relevant. In literate haskell files, vim optionally highlights the non-code text according to TeX markup. The syntax highlighting file looks for key phrases (e.g., \documentclass) to decide whether to use TeX markup highlighting; but it (erroneously, in my opinion, and at variance with the documentation) will use TeX markup highlighting on any lhs file that contains the '%' character anywhere in it. The bug is in line 74 of version 1.01 of the lhaskell.vim syntax highlighting file. I agree that this is wrong. It used to only look at the first 20 lines, so we were covering the case where a TeX file began with some TeX comments. We'd also look for ^\s*%, rather than a % anywhere. If we are going to look at the whole file then checking for comments isn't necessary. Unfortunately that scan is not necesarily compatible with people dynamically turning on syntax highlighting. But just searching for % is *dead* wrong, I fully agree. I've modified the search code and submitted a patch to the Vim maintainers. With kind regards, Arthur van Leeuwen. -- /\/ | [EMAIL PROTECTED] | Work like you don't need the money /__\ / | A friend is someone with whom | Love like you have never been hurt /\/__ | you can dare to be yourself | Dance like there's nobody watching ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Sillyness in the standard libs.
On 29-nov-2007, at 14:44, Simon Marlow wrote: Brandon S. Allbery KF8NH wrote: On Nov 19, 2007, at 16:06 , Arthur van Leeuwen wrote: here is a puzzle for you: try converting a System.Posix.Types.EpochTime into either a System.Time.CalendarTime or a Data.Time.Clock.UTCTime without going through read . show or a similar detour through strings. fromEnum and/or toEnum are helpful for this kind of thing, and I am occasionally tempted to bind cast = toEnum . fromEnum because I need it so much. Let's ignore System.Time since it's obsoleted by Data.Time. Yes. That's what I wanted to do at first. :) I just spent a little while trying to solve this puzzle, and it turns out there *is* a right way to do this: for t :: EpochTime, posixSecondsToUTCTime (fromRational (toRational t) :: POSIXTime) Which, unfortunately, does not work with time-1.1.1 which is in GHC 6.6.1. Going through Rational is the right solution, though. My hackish detour was to use fromIntegral . toInteger . fromEnum You want to go via Data.Time.Clock.POSIXTime, because that's what an EpochTime is. Now, EpochTime does not have an Integral instance, because it is the same as C's time_t type, which is not guaranteed to be an integral type. You have fromEnum, but that would be a hack: there's no guarantee that EpochTime fits in an Int, and if EpochTime is a fractional value you lose information. But you *can* convert to a Rational with toRational, and from there you can get to a POSIXTime with fromRational (also realToFrac would do). It turns out there are good reasons for all this, it just ends up being quite obscure. I'll put the above formula in the docs. Yes, that would be good! Note that both the docs for DiffTime and EpochTime state that they contain seconds, and both are somewhat unclear as to whether they contain any higher precision than whole seconds. With kind regards, Arthur. -- /\/ | [EMAIL PROTECTED] | Work like you don't need the money /__\ / | A friend is someone with whom | Love like you have never been hurt /\/__ | you can dare to be yourself | Dance like there's nobody watching ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Sillyness in the standard libs.
LS, here is a puzzle for you: try converting a System.Posix.Types.EpochTime into either a System.Time.CalendarTime or a Data.Time.Clock.UTCTime without going through read . show or a similar detour through strings. The problem comes up when trying to easily nicely display the access, modification or status change times of a full directory of files, using System.Posix.Files.Filestatus to get at the times. A closely related issue: fromIntegral is in Integral which also requires quotRem. However, the two are semantically quite disjoint. I can *easily* see the semantics of fromIntegral on EpochTime, but not the semantics of quotRem on EpochTime. Having fromIntegral would solve the above puzzle... :) With kind regards, Arthur. -- /\/ | [EMAIL PROTECTED] | Work like you don't need the money /__\ / | A friend is someone with whom | Love like you have never been hurt /\/__ | you can dare to be yourself | Dance like there's nobody watching ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Building Haskell stuff on Windows
On 7-nov-2007, at 18:38, Duncan Coutts wrote: On Wed, 2007-11-07 at 17:34 +0100, Arthur van Leeuwen wrote: Hello all, maybe I'm just not used enough to Windows, but let me explain my woes of today. It seems to me to be *much* too hard to get a full install of GHC + GTK2Hs going on Windows, going from the idea that I want the currently released stable versions of everything. It is far too hard. For one thing the released tarball does not build with ghc-6.8.1. That's why I'm working on a new point release. - ran configure - discovered I needed happy (this was not documented!) Hmm, that's not right. The gtk2hs tarballs come with the lexer and parser pre generated. The configure script checks for alex and happy but does not (should not) fail if they're not present and the pre- generated code is present. I certainly build on a windows server where alex and happy are not installed. Well, honestly, that was a bit of a fib: the tarball's configure did in fact not break on alex and haskell. Just the development version did. - discovered gtk2hs 0.9.12 hides 'containers' That's the bit where we notice gtk2hs-0.9.12 was released well before ghc-6.8.1 and thus does not work with it. Every non-trivial package needs updating in various minor ways to work with ghc-6.8.1. Yup. No surprises there. - broke down and darcs got gtk2hs development tree - installed automake - ran autoreconf I've never managed to get automake to work on windows. I always generate tarballs under linux and then build them on windows. This also allows me to avoid installing happy/alex on windows. Well, I didn't have any Unix available at that point, so I kinda had to, even though I remembered the world of pain that is autoconf and automake. - discovered automake for MSYS 1.0.10 is too old - installed automake-1.9 - ran aclocal-1.9 - ran autoconf - ran configure - discovered I need to explicitly add GTK libs to aclocal - ran aclocal-1.9 -I with GTK library path - ran autoconf Wow, it actually worked did it? It did. After an hour's worth of convincing that it really could work, and remembering that autoreconf really only calls other parts of the autotools, that you can also call by hand. - ran configure for gtk2hs - ran make Oh good, glad that bit works :-) Yeah, if you make sure not to have any binaries in paths with embedded spaces... ;) - complained on IRC - ran make install I expect it fails in the package registration stage right? Yes, I never do that, I always build images for the installer and never install direct, so that path is probably bit-rotted. No. It actually installed. However, building binaries against the installed gtk2hs then fails with a linker error... - sighed deeply Ofcourse, on complaining I learned that hackage contains alex 2.2, rather than 2.10, but that is not apparent from the alex webpages. It seems to me that much of this is way too hard to figure out... figuring out the dependency graph should not be necessary, as the developers should know what parts go into their code! Yes it is too hard. In the case of Gtk2Hs I think it'll be easier when Gtk2hs changes to use Cabal for it's build system. Then it will not require mingw/msys which should improve things dramatically. Should it? I think the big issue is autoconf rather than MSYS, and path troubles related to make and configure... and while this is slightly less painful on Unix systems it still hurts quite a bit, even there. Furthermore, as much as I applaud hackage, it is not ready for use, as it does not afford things you might want, such as searching for latest (stable) releases of packages. Yes, there is nothing to distinguish latest from stable. With sufficiently accurate deps I think this is solvable, and perhaps the ability to tweak the deps after a package is released (to tighten them if they were too lax for example). That would be nice, but having the status bits would be even better. It makes distinguishing between 'this can be used in production code' and 'this is for the brave, beware of lions' possible. Just having the dependencies doesn't. And the distinction is a strong necessity when actually using Haskell... Plus, it is still not the default go-to place for many things. That's changing reasonably quickly. Especially if you put pressure on maintainers of packages that you get from anywhere other than hackage. Repeat the mantra if it's not on hackage it doesn't exist. Ah, yes, that is a thing. However, googling for alex does not lead me to hackage, nor does the alex webpage. Ditto for Happy. Maybe developers that decide to put their most recent versions on hackage could document that on the main webpages of their code? (I've ran into this with FileManip as well, not just with Alex). Good idea. So
[Haskell-cafe] Building Haskell stuff on Windows
Hello all, maybe I'm just not used enough to Windows, but let me explain my woes of today. It seems to me to be *much* too hard to get a full install of GHC + GTK2Hs going on Windows, going from the idea that I want the currently released stable versions of everything. So, this is the way I progressed (from a clean Windows install): - Installed MinGW 5.1.3 - Installed MSYS 1.0.10 - Installed GHC 6.8.1 - edit /etc/fstab in MSYS to correctly bind MinGW - Installed gtk-dev-2.10.11-win32-1 - Downloaded gtk2hs-0.9.12.tar.gz - cd /d/haskell/gtk2hs-0.9.12 - ran configure - discovered I needed happy (this was not documented!) - Downloaded happy-1.17.tar.gz - unpacked, configured, built, installed - ran configure for gtk2hs - discovered I needed alex (this was not documented!) - Downloaded alex-2.10.tar.gz - Setup.lhs of alex-2.10 did not compile due importing Distribution.Simple(compilerPath) - Installed darcs - darcs got alex development tree - Setup.lhs of alex-2.10 compiled - building alex-2.10 failed due to wishing an existing alex - broke down and downloaded alex-2.10 binaries - installed alex-2.10 next to happy in C:\Program Files\Haskell\bin - ran configure for gtk2hs - ran make - discovered alex should not be in C:\Program Files as make breaks on paths with embedded spaces... - copied C:\Program Files\Haskell to C:\Haskell and modified $PATH - reran configure for gtk2hs - ran make - discovered gtk2hs 0.9.12 hides 'containers' - broke down and darcs got gtk2hs development tree - installed automake - ran autoreconf - discovered automake for MSYS 1.0.10 is too old - installed automake-1.9 - ran aclocal-1.9 - ran autoconf - ran configure - discovered I need to explicitly add GTK libs to aclocal - ran aclocal-1.9 -I with GTK library path - ran autoconf - ran configure for gtk2hs - ran make - complained on IRC - ran make install - sighed deeply Ofcourse, on complaining I learned that hackage contains alex 2.2, rather than 2.10, but that is not apparent from the alex webpages. It seems to me that much of this is way too hard to figure out... figuring out the dependency graph should not be necessary, as the developers should know what parts go into their code! Furthermore, as much as I applaud hackage, it is not ready for use, as it does not afford things you might want, such as searching for latest (stable) releases of packages. Plus, it is still not the default go-to place for many things. Maybe developers that decide to put their most recent versions on hackage could document that on the main webpages of their code? (I've ran into this with FileManip as well, not just with Alex). With kind regards, Arthur. -- /\/ | [EMAIL PROTECTED] | Work like you don't need the money /__\ / | A friend is someone with whom | Love like you have never been hurt /\/__ | you can dare to be yourself | Dance like there's nobody watching ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Building Haskell stuff on Windows
On 7-nov-2007, at 17:43, Neil Mitchell wrote: Hi Arthur, The correct steps to take are: 1) install GHC from the windows installer - trivial 2) install Gtk2hs from the windows installer Unfortunately Gtk2hs hasn't been updated to work with GHC 6.8.1, so step 2 will fail. The person who is going to do this is Duncan. He usually breaks down and does this once people start complaining on the mailing list. - Installed MinGW 5.1.3 Generally, if you have to install MinGW you can pretty much guarantee that something somewhere is going to go wrong - not enough people test this route to make it reliable. Actually, the MinGW/MSYS thing was also necessary for another package that I needed, plus, the GTK2Hs build instructions explicitly state that you need it. Oh, and I *definitely* liked the vim and bash that I got from it. No cmd.exe and it's odd syntax for me! :) Windows and Haskell is not a well travelled route, but if you stray of the cuddly installer packages, it gets even worse. But it shouldn't. Really it shouldn't. Even though Windows is not my preferred platform, it is by no means different enough to warrant such additional complexity. Plus, GHC is developed at Microsoft, and the currently most featureful Haskell IDE is on Windows... With kind regards, Arthur. (Who will surely do more Windows development with Haskell soonish) -- /\/ | [EMAIL PROTECTED] | Work like you don't need the money /__\ / | A friend is someone with whom | Love like you have never been hurt /\/__ | you can dare to be yourself | Dance like there's nobody watching ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Building production stable software in Haskell
On 18-sep-2007, at 14:10, Simon Marlow wrote: Adrian Hey wrote: Neil Mitchell wrote: Hi They are less stable and have less quality control. Surely you jest? I see no evidence of this, rather the contrary in fact. No, dead serious. The libraries have a library submission process. It does not follow that libraries that have not been submitted to this process are less stable and have less quality control. Nor does it follow that libraries that have been through this submission process are high quality, accurately documented, bug free and efficient (at least not ones I've looked at and sometimes even used). Adrian's right - the set of libraries that are shipped with GHC is essentially random. A bit of history: Originally we shipped pretty much all freely-available non-trivial Haskell libraries with GHC. At some point (about 5 years ago or so) the number of Haskell libraries started to grow beyond what we could reasonably ship with GHC, and some of them were providing duplicate functionality, so we stopped adding to the set. We made a few small exceptions (e.g. filepath) for things that we felt really should be in the default GHC install, but to a large extent the set of libraries that are shipped with GHC has remained constant over the last 3 major releases. In 6.6, we made a nomenclature change: we divided the packages shipped with GHC into two: those that are required to bootstrap GHC (the boot libraries, until recently called the core libraries), and the others that we just include with a defualt binary install (the extra libraries). On some OSs, e.g. Debian, Ubuntu, Gentoo, you don't even get the extra libraries by default. This was intended to be a stepping stone to decoupling GHC from these libraries entirely, which is possible now that we have Cabal and Hackage. What I'm getting around to is that being shipped with GHC is not a category that has any particular meaning right now. I think it's time the community started to look at what libraries we have in Hackage, and identify a subset that we should consider standard in some sense - that is, those to which the library submission process applies, at the least. If there were such a set, we could easily make GHC's extra libraries equal to it. Ofcourse, now we hit the situation that Eclipse is in as well: everything worthwhile should be downloaded next to the base functionality. This has lead to many slightly differing distributions of Eclipse. The same problem occurs with Linux distributions... I personally always liked Python's 'batteries included' approach. Python comes with enough libs standard to be genuinely useful. This, I think, is a good model from a marketing point of view. With regards, Arthur. -- /\/ | [EMAIL PROTECTED] | Work like you don't need the money /__\ / | A friend is someone with whom | Love like you have never been hurt /\/__ | you can dare to be yourself | Dance like there's nobody watching ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] RLE in Haskell: why does the type variable get instantiated?
On 31-jul-2007, at 11:38, Chris Eidhof wrote: Hey Haskell-Cafe, I was trying out the code in Dons's article [1], and I noticed a weird thing when doing it in GHCi. When binding the function composition to a variable, the type suddenly changes. I'm not completely sure why this happens. Is this because GHCi is in a monad and wants to find an instance for the type variable? Yes, that is mostly correct. GHCi does defaulting of types, and in this case the type variable defaults to Integer. With regards, Arthur. -- /\/ | [EMAIL PROTECTED] | Work like you don't need the money /__\ / | A friend is someone with whom | Love like you have never been hurt /\/__ | you can dare to be yourself | Dance like there's nobody watching ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] RE: haskell for web
On 18-jul-2007, at 14:09, Marc Weber wrote: On Tue, Jul 17, 2007 at 03:27:20PM -0700, brad clawsie wrote: On Wed, Jul 18, 2007 at 12:17:12AM +0200, Hugh Perkins wrote: On 7/17/07, Martin Coxall [EMAIL PROTECTED] wrote: I wonder why 'we' aren't pushing things like this big time. When Ruby took off, more than anything else it was because of Rails. i agree that web programming is a domain that cannot be ignored i have wondered what it would take to get a mod_haskell for apache Asking google and the wiki search? http://haskell.org/haskellwiki/News/1999 http://losser.st-lab.cs.uu.nl/mod_has (v0.1.7, 14 January 2000) But I haven't checked how up to date those sources are. Not at all. Eelco has repeatedly admitted these sources have greatly bitrotted, and are in dire need of resuscitation. With regards, Arthur. -- /\/ | [EMAIL PROTECTED] | Work like you don't need the money /__\ / | A friend is someone with whom | Love like you have never been hurt /\/__ | you can dare to be yourself | Dance like there's nobody watching ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Nix for Hackage/Cabal
On 6-jul-2007, at 18:08, Duncan Coutts wrote: On Fri, 2007-07-06 at 16:47 +0200, apfelmus wrote: Hello, http://nix.cs.uu.nl/index.html Nix is a purely functional package manager. This means that it treats packages like values in purely functional programming languages such as Haskell - they are built by functions that don't have side- effects, and they never change after they have been built. To me, it sounds like the ideal solution to package/make/build management in general and Cabal/Hackage/Cabal-install in particular. After all, compilation is just a _pure_ function compile :: Source - Dependencies - Object So, the suggestion is to use Nix for Hackage/Cabal. This way, we get package installation/deinstallation for free. I didn't look into it, but it seems that the package description language can express most content from .cabal files and I guess that it even eliminates the need for most of Cabal's functionality like finding compilers and such. I was under the impression that it didn't work on Windows. From another quick look at the website, it looks like that's right. Does anybody happen to know otherwise? It does in fact work under Windows. However, it currently depends on cygwin for most of its building infrastructure. This is not fundamental to the system, fortunately. There is just too little manpower behind it to lift it from its Linuxy start... Oh, and Daan Leijen seems to have written something about the same subject for some reason or another. With regards, Arthur van Leeuwen. (Who has forwarded the initial mail to Eelco Dolstra, designer of Nix, to see if he wants to chime in) -- /\/ | [EMAIL PROTECTED] | Work like you don't need the money /__\ / | A friend is someone with whom | Love like you have never been hurt /\/__ | you can dare to be yourself | Dance like there's nobody watching ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] OK, so this VIM thing -- how do I make it actually work?
On 5-jun-2007, at 10:58, Michael T. Richter wrote: I've given up on getting a decent text editor for editing Haskell (specifically literate Haskell -- plain Haskell works fine in GEDIT). Instead I fire up VIM and get ... a total mess. At first I think maybe I've screwed up a whole bunch of settings or something, so I nuke everything in my home directory that begins with .vim and then, for added measure, head over to /usr/share and nuke the entire ./vim directory tree. I then reinstall vim (from the Ubuntu Edgy archives) to get a brand new set of config files unsullied by my hands. I still get a dog's breakfast. A screen shot of what I'm seeing with a representative example of a .lhs file to show what I mean can be found at http:// img357.imageshack.us/img357/5798/gvimexamplezv4.png. (I've pared it down to the minimum I could find that shows the behaviour clearly.) The problems I'm seeing are the ugly white-on-red for underlines, the lack of any kind of differentiation for keywords/ operators/etc. vs. identifiers (although some punctuation is recognized, specifically curly braces), comments not being noted, etc. Basically it looks like the Haskell is simply not being recognized at all (and, if the @saBinds@ thing is what I think it is, it looks like some latex isn't being recognized fully either). Can anybody vim-centric please take a look at this and give me a few educated guesses as to what is happening here? Yes, I can. What you see happening is that the syntax highlighter doesn't get completely switched from TeX mode to Haskell mode on the change marked by \begin{code} (and back again on \end{code}). Therefore, lone underscores (which are usually in error in TeX outside of mathematics) are marked as errors. This should be fixed. I'll look into it. The reason I've never run into it is simple: I tend not to use underscores in my Haskell code. :) With regards, Arthur van Leeuwen. -- /\/ | [EMAIL PROTECTED] | Work like you don't need the money /__\ / | A friend is someone with whom | Love like you have never been hurt /\/__ | you can dare to be yourself | Dance like there's nobody watching ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Profiling, GUIs and libraries
On 20-mei-2007, at 17:39, Anthony Chaumas-Pellet wrote: Hello, I'm currently hacking away a wxhaskell program that uses up 100% CPU even when it should be idle. So, rather than doing blind guesswork, I've thought about using profiling to spot the zealous function. I do not need a very accurate result, though. ghc with -prof -auto(-all) produces the following error message, however: Could not find module `Graphics.UI.WX': Perhaps you haven't installed the profiling libraries for package wx-0.10.1? Use -v to see a list of the files searched for. So, I guess I need to rebuild wx with profiling, but I'm not sure how to do that exactly; search engine and the Wiki did not turn up any pointers, and there are no ready-made options to build wx with profiling. It seems Cabal can build a library with profiling automatically, but I don't think there exists a Cabalized version of wx yet. That, and I'm not sure if recompiling libraries to add profiling is a great idea, as wx itself may depend on other external libraries. So, is there a better way than profiling in my case, or am I missing something obvious here? You are not missing anything obvious. The process is in fact somewhat tricky. What you have to do is the following: - compile wxHaskell with profiling (by editing the makefiles to include the -prof -auto-all argument to GHC) - *install* the profiled wxHaskell - manually move the profiled object libraries to ones including the _p string before the .a, e.g. move /usr/local/wxhaskell/lib/libwx.a to /usr/local/wxhaskell/lib/libwx_p.a - manually move the profiled .hi files to .p_hi files, e.g. move /usr/local/wxhaskell/lib/imports/Graphics/UI/WX.hi to /usr/local/wxhaskell/lib/imports/Graphics/UI/WX.p_hi - compile wxHaskell without profiling - install the non-profiled wxHaskell - enjoy the ability to use wxHaskell in both profiled and unprofiled versions Note: this assumes you are on a Unix-like system. I have no clue how to do this on Windows, but I'm told it is similar. Oh, and this is tested and works. The external libraries that wx relies on are either truly external, as in called through the FFI, or GHC standard libs that normally already have a profiling version available. With regards, Arthur van Leeuwen. -- /\/ | [EMAIL PROTECTED] | Work like you don't need the money /__\ / | A friend is someone with whom | Love like you have never been hurt /\/__ | you can dare to be yourself | Dance like there's nobody watching ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] global variables
On 21-mei-2007, at 9:31, Simon Peyton-Jones wrote: | I see no need two answer this again I believe I have already made my | views perfectly clear already and provided ample evidence to justify | them. Surely I don't need to do it again? Is there a Wiki page about this somewhere? Often email gets into a loop because not everyone reads everything on Haskell Cafe. (There's just too much of it.) When that happens, a good thing do to is to summarise the various positions on a Wiki page, so the debate can progress by refining text rather than by repeating it. There is the additional advantage that someone coming along later can still make sense of the debate. As I am sure Adrian would tell you were he awake: http://www.haskell.org/haskellwiki/Top_level_mutable_state With regards, Arthur van Leeuwen -- /\/ | [EMAIL PROTECTED] | Work like you don't need the money /__\ / | A friend is someone with whom | Love like you have never been hurt /\/__ | you can dare to be yourself | Dance like there's nobody watching ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Editor
On 21-mei-2007, at 13:56, Michael T. Richter wrote: Hell, even comparing the out-of-the-box syntax highlighting support in Gedit vs. (G)Vim is instructive. Code like makeRandomValueST :: StdGen - (MyType, StdGen) (which, incidentally, was far easier to copy from in Gedit than GVim to paste into this message) only differentiates :: and - from the text and delimiters in GVim while in Gedit (keeping in mind that Gedit isn't a very good editor!) differentiates those plus makeRandomValueST vs. StdGen and MyType. And the parentheses. This is an interesting take on things. What to highlight and why is decidedly non-trivial. Personally, I strongly *dislike* highlighting of user-defined identifiers. And honestly, in Haskell, most identifiers are user-defined. Furthermore, the haskell vim highlighter actually allows you to highlight delimiters, True and False, the names of a number of types, and the names of debugging functions. It requires settings to turn that on though, as the highlighter should be as minimally visually intrusive in its default setting as possible. Or at least, that's what I think, and I was the last person to get his grubby paws on vim's highlighter for Haskell. It does highlight literate Haskell code quite nicely however, both in bird track style and in TeX style. It does expect literate Haskell to be in .lhs files though... Note that it is somewhat tricky to distinguish between the occurences of the a's before and after the semicolon in the following: map :: ( a - b ) - [a] - [b]; map f (a:as) = f a : (map f as) I'd like to see what GEdit does to that. :) Doei, Arthur van Leeuwen. -- /\/ | [EMAIL PROTECTED] | Work like you don't need the money /__\ / | A friend is someone with whom | Love like you have never been hurt /\/__ | you can dare to be yourself | Dance like there's nobody watching ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Why the Prelude must die
On 27-mrt-2007, at 20:17, Nicolas Frisby wrote: Gut feeling: the quick'n dirty script case occurs far less than the whole module case. Thus I think the benefit of automatically importing the Prelude if the module declaration is omitted should not happen: the Principle of Least Surprise out-weighs the small benefit to a rare case. In my experience quick'n'dirty scripts tend to end up as full-blown modules later on in their life. This, to me, is a strong indication to make importing the prelude explicit. Furthermore, the arguments against explicit importing seem to be easier teaching and shorter code, as one needs much of the Prelude almost everywhere. However, Java seems to offer a reasonable datapoint in this argument: almost everything in the language needs to be explicitly imported, but for java.lang. Ofcourse, java.lang is quite annoyingly big... so a good example it is not. Regarding type variable naming, a few of my more hardware minded friends I've asked to try Haskell often tease me about the opaque type variable names in the Prelude--it seems greater consideration of type variable names in the Prelude might behoove new users. Good point. It would also make the Prelude sources (and Haddock docs) *much* easier to understand. Doei, Arthur. -- /\/ | [EMAIL PROTECTED] | Work like you don't need the money /__\ / | A friend is someone with whom | Love like you have never been hurt /\/__ | you can dare to be yourself | Dance like there's nobody watching ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: Re[2]: [Haskell-cafe] What is the best way to understand large programs?
On 30-jan-2007, at 23:52, Bulat Ziganshin wrote: Hello Neil, Monday, January 29, 2007, 2:26:03 AM, you wrote: Having a Hoogle database for a large program is also handy for figuring out where things are and what they do - especially when the program has introduced new custom data types. vim+hasktags can just show definition of every identifier in separate window. i'm not 100% sure but afair vim can also show all usages of given identifier Unfortunately the current incarnations of hasktags do not generate tags files that vim likes much. Workarounds are to use ghci 6.6's :tags command, or to sort the generated tags files afterwards. Another gotcha: hasktags generates the files 'tags' and 'TAGS' by default. This *will* break on case-insensitive file systems such as e.g. default installations of HFS+ on Macs. Doei, Arthur. -- /\/ | [EMAIL PROTECTED] | Work like you don't need the money /__\ / | A friend is someone with whom | Love like you have never been hurt /\/__ | you can dare to be yourself | Dance like there's nobody watching ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] mapTuple
On 11-jan-2007, at 16:30, Marco Túlio Gontijo e Silva wrote: Em Qui, 2007-01-11 às 16:14 +0100, minh thu escreveu: you might want invistigate heterogeneous lists : in your case, it's heterogeneous typle. But aren't tuples always heterogeneous? Yes, and precisely therein lies the problem. There is no way for the compiler to infer that in tupleMap f (a, b) = (f a, f b) the type of f should be polymorphic. If you want it to be, explicitly require it to be so: tupleMap :: (forall a b . a - b) - (b,c) - (d,e) tupleMap f (a,b) = (f a, f b) However, this will still not allow you to write tupleMap show (string,3) as you require f to be fully polymorphic, and not constrained by any context. With regards, Arthur. -- /\/ | [EMAIL PROTECTED] | Work like you don't need the money /__\ / | A friend is someone with whom | Love like you have never been hurt /\/__ | you can dare to be yourself | Dance like there's nobody watching ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: [Haskell] Haskell Weekly News: December 20, 2006
On 20-dec-2006, at 2:17, Donald Bruce Stewart wrote: -- - Haskell Weekly News http://sequence.complete.org/hwn/20061220 Issue 54 - December 20, 2006 -- - Announcements Haskell Vim plugin. Arthur van Leeuwen [15]announced a new [16]vim plugin for Haskell providing some preliminary folding support, easy insertion of type signatures into programs, and support for handling .hi files. 15. http://article.gmane.org/gmane.comp.lang.haskell.cafe/17675 16. http://www.cs.uu.nl/~arthurvl/haskell.vba Read that as 'support for automatically ignoring .hi files' (which really helps when editing large programs consisting of multiple files... it makes tab Do The Right Thing). Doei, Arthur. -- /\/ | [EMAIL PROTECTED] | Work like you don't need the money /__\ / | A friend is someone with whom | Love like you have never been hurt /\/__ | you can dare to be yourself | Dance like there's nobody watching ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Haskell ftplugin for vim
Hiya folks, I got slightly annoyed at having to tab beyond .hi files when editing haskell code with vim, so I decided to wrap some stuff together in a haskell file type plugin. It has some preliminary (read: very stupid) folding support, and allows you to call out to ghci easily to get type signatures included in your text. Get it at http://www.cs.uu.nl/~arthurvl/haskell.vba Doei, Arthur. -- /\/ | [EMAIL PROTECTED] | Work like you don't need the money /__\ / | A friend is someone with whom | Love like you have never been hurt /\/__ | you can dare to be yourself | Dance like there's nobody watching ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] How to use a wiki to annotate GHC Docs? was Re: [Haskell] Re: Making Haskell more open
On 16-nov-2005, at 13:14, Wolfgang Jeltsch wrote: Am Mittwoch, 16. November 2005 12:33 schrieb Scott Weeks: The public comment/wiki spam problem is easily solved. Use JavaScript to generate a value and put it in a hidden form field. Check for that value server side, if it's there then allow the post otherwise disallow. Most if not all bots don't have JavaScript engines. But not all users use JavaScript. A nicer solution might be to have the server generate a distorted image of a key (as is done with user registration to combat automated user generation) that should be typed in for an edit to be accepted (if you are not logged in). Doei, Arthur. /\/ | [EMAIL PROTECTED] | Work like you don't need the money /__\ / | A friend is someone with whom | Love like you have never been hurt /\/__ | you can dare to be yourself | Dance like there's nobody watching ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Dread __DISCARD__
On 17-sep-2005, at 18:14, Wolfgang Thaller wrote: I'm on Mac OS 10.4.2, using ghc 6.4 (from the haskell.org .dmg) and gcc 4.0.0. Other wxHaskell programs (the samples and my own experiments) compile without tripping over this. GHC 6.4 is incompatible with gcc 4.0.0 when -O or -via-C is used. You can work around this problem by either not using -via-C and always adding -fasm *after* -O, or by setting your default compiler to gcc-3.3 using sudo gcc_select 3.3 ... but be aware that this also affects other C compilations; switch back using sudo gcc_select 4.0 Ofcourse, you can also add -pgmc /usr/bin/gcc-3.3 to the ghc commandline for you compilations. This does not affect other C compilations, and is easily added to e.g. makefiles that use a GHCFLAGS variable... The upcoming GHC 6.4.1 will of course fix this problem. Good to hear that. Doei, Arthur. -- /\/ | [EMAIL PROTECTED] | Work like you don't need the money /__\ / | A friend is someone with whom | Love like you have never been hurt /\/__ | you can dare to be yourself | Dance like there's nobody watching PGP.sig Description: This is a digitally signed message part ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] file line operation perhaps need loop
On Wed, Jul 20, 2005 at 02:27:36PM +0800, Sun Yi Ming wrote: Hello, I have two txt file,and i want to mix the two files line by line, e.g. $ cat url1.txt url1_1.line url1_2.line $ cat url2.txt url2_1.line url2_2.line and i want this file as result: $ cat aha.txt url1_1.line url2_1.line url1_2.line url2_2.line i first write this snippet of code: --- import System.IO mix :: [a] - [a] - [a] mix [] ys = ys mix xs [] = xs mix (x:xs) (y:ys) = [x,y] ++ mix xs ys f1 = do contents1 - readFile url1.txt contents2 - readFile url2.txt let urls1 = lines contents1 urls2 = lines contents2 urls = mix urls1 urls2 writeFile aha.txt (unlines urls) -- this works fine, but i think if the two file are very big, and the readFile will consume too many mem. Ah, but this is exactly where lazyness wins bigtime: a smart implementation of readFile will lazily read the actual file for as far as needed. Thus, reading with readFile will not read the entire file into memory at once. What will happen is that writeFile starts writing, and upon discovery of needing the value of urls it will then start reading. Any value already written in this case obviously turns into garbage and will be garbage collected. I would be slightly surprised if this code uses more than constant memory. so i need to read the file line by line but stunned by the loop in IO Monad: --- main = do h1 - openFile url1.txt ReadMode h2 - openFile url2.txt ReadMode line1 - hGetLine h1 line2 - hGetLine h2 print $ line1 : line2 : [] -- i don't howto do hClose h1 hClose h2 -- any ideas? thank you all. Yes. You need to split the lines line1 - hGetLine h1 line2 - hGetLine h2 print $ line1 : line2: [] into a separate function that will then recurse over the file. Doei, Arthur. -- /\/ | [EMAIL PROTECTED] | Work like you don't need the money /__\ / | A friend is someone with whom | Love like you have never been hurt /\/__ | you can dare to be yourself | Dance like there's nobody watching ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Usage of | in classes
On Tue, Jun 07, 2005 at 03:54:06PM +0200, Frank-Andre Riess wrote: Hi, Gracjan's question led me to another question: class Monad m = Ref m r | m - r where newRef :: a - m (r a) readRef :: r a - m a writeRef :: r a - a - m () What's the meaning of the bar and the function type in this declaration. I've seen something like that before (with state monads, I think), but couldn't find an explanation in the Haskell grammar (or anywhere else on haskell.org). It is a functional dependency. That is, in this case, the choice of type r is uniquely determined by the choice for the type m. See also http://haskell.org/hawiki/FunDeps and http://www.haskell.org/ghc/docs/latest/html/users_guide/type-extensions.html#functional-dependencies Thanks in advance, My pleasure. Doei, Arthur. -- /\/ | [EMAIL PROTECTED] | Work like you don't need the money /__\ / | A friend is someone with whom | Love like you have never been hurt /\/__ | you can dare to be yourself | Dance like there's nobody watching ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] module Crypt_Discordian - code critique requested
On Wed, Feb 23, 2005 at 12:27:19AM +, Terrence Brannon wrote: Hi, I am getting into Haskell so I decided to convert a Perl module of mine: http://cpan.uwinnipeg.ca/htdocs/Crypt-Discordian/Crypt/Discordian.html into Haskell. I was pleased at the cleanliness and conciseness of the Haskell code. However, I am sure that it can be improved on and am soliciting any feedback you may have about this module. Thanks, metaperl on #haskell module Crypt_Discordian where import List vowel_list = aeiouAEIOU is_vowel c = c `elem` vowel_list move_vowels lis = move_vowels' lis [] [] move_vowels' [] c v = v ++ c move_vowels' (x:xs) c v | is_vowel x = move_vowels' xsc (x:v) | otherwise = move_vowels' xs (x:c)v remove_spaces str = filter (\x - x /= ' ') str encrypt str = List.sort $ move_vowels $ remove_spaces str How about module CryptDiscordian where import List vowels = aeiouAEIOU isVowel = (flip elem) vowel_list moveVowels xs = filter (not . isSpace) $ (filter (not . isVowel) xs ++ filter (is_vowel) xs) encryptDiscordian xs = map chr $ sort $ map (ord . toLower) $ reverse $ moveVowels xs [snip description of algorithm] Obviously, if it is implemented differently it won't be the Discordian encryption anymore, now will it? Note that my version is more conforming than yours, as you don't convert to numbers and back... Unfortunately, the algorithm doesn't state how to deal with capitalization, so I chose to just map to lowercase... Doei, Arthur. -- /\/ | [EMAIL PROTECTED] | Work like you don't need the money /__\ / | A friend is someone with whom | Love like you have never been hurt /\/__ | you can dare to be yourself | Dance like there's nobody watching ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] module Crypt_Discordian - code critique requested
On Wed, Feb 23, 2005 at 08:46:23AM +0100, Arthur van Leeuwen wrote: On Wed, Feb 23, 2005 at 12:27:19AM +, Terrence Brannon wrote: [snip, encryptia discordia] How about module CryptDiscordian where import List vowels = aeiouAEIOU isVowel = (flip elem) vowel_list moveVowels xs = filter (not . isSpace) $ (filter (not . isVowel) xs ++ filter (is_vowel) xs) encryptDiscordian xs = map chr $ sort $ map (ord . toLower) $ reverse $ moveVowels xs Which won't work, as it lacks an import Char. Doei, Arthur. (Still waking up, apparently) -- /\/ | [EMAIL PROTECTED] | Work like you don't need the money /__\ / | A friend is someone with whom | Love like you have never been hurt /\/__ | you can dare to be yourself | Dance like there's nobody watching ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: library documentation
On Thu, Jan 27, 2005 at 12:41:27PM -, Simon Marlow wrote: On 27 January 2005 10:46, Peter Simons wrote: Isaac Jones writes: http://www.haskell.org/hawiki/LibraryDocsNeedingHelp This is a great idea. I have been thinking you know what would make contribution to the library efforts even simpler? If they were available in a Darcs repository. Saying darcs push after you've spontaneously added a three-line explanation into a standard library is a lot more attractive than cvs diff, cutting and pasting that diff into an editor, and e-mailing it to the -libraries list. (Who submits a diff for three lines of documentation?) One of the reasons why Darcs is great is that it makes submitting changes very simple for _everybody_. This would be great, but unfortunately the activation energy is quite high: we're already pretty committed to CVS, so we either move over to darcs wholesale, or we keep GHC in CVS and libraries in darcs. Neither is particularly attractive right now - darcs isn't ready for projects the size of GHC (at least, last I looked), and having a split repository would be a nightmare. However, having a darcs repository just for the docs would be better than having a wiki, right? That way you have a central repository with documentation all ready to go in the format you'd need to enter into CVS, and then once in a while, e.g. when a new GHC release is imminent, someone goes through the burden of going through all the documentation submissions and incorporates those that are applicable in the CVS tree... The beauty of darcs, as I see it, is that a repository is basically a directory structure with some metadata inside it, and that directorystructure can just as easily *also* be under CVS... Doei, Arthur. -- /\/ | [EMAIL PROTECTED] | Work like you don't need the money /__\ / | A friend is someone with whom | Love like you have never been hurt /\/__ | you can dare to be yourself | Dance like there's nobody watching ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Non-technical Haskell question
On Thu, Dec 09, 2004 at 02:34:09AM +0100, Sebastian Sylvan wrote: Anyway, I'm currently working on an article for a Swedish print magazine on Haskell (similar to the one linked above, but less argumentative) that's due out at the end of January 2005. Hopefully that will contribute to spark the interest of a few imperative programmers to try Haskell out. I think that's a pretty good way to go about it. If you calmly list the benifits of Haskell, with a few tutorial-ish examples, and get that published in a print magazine (which the mainstream programmers read) I think that could convince quite a few people to give it a try. It does indeed help. The Dutch edition of c't published an article on Clean in the march edition of 2003, which seems to have lead to some new influx on the Clean mailinglists. Doei, Arthur. -- /\/ | [EMAIL PROTECTED] | Work like you don't need the money /__\ / | A friend is someone with whom | Love like you have never been hurt /\/__ | you can dare to be yourself | Dance like there's nobody watching ___ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] ANNOUNCE: Haskell Communities Activities Report (6th ed., May 2004)
Just a bit more than half a year after the previous edition, I am pleased to announce on behalf of the many contributers that the Haskell Communities and Activities Report (6th edition, May 2004) http://www.haskell.org/communities/ is now available from the Haskell Communities home page in several formats: PDF, for screenreading as well as printing, HTML, for those of you who prefer not to deal with plugins or external viewers, and PostScript, for those of you who have nice quick printers that do not grok PDF. Many thanks go to all the people that contributed to this report, both directly, by sending in descriptions, and indirectly, by doing all the interesting things that are reported. I hope you will find it as interesting a read as we did. If you haven't encountered the Haskell Communities and Activities Reports before, you may like to know that the first of these reports was published in November 2001. Their goal is to improve the communication between the increasingly diverse groups, projects and individuals working on, with, or inspired by Haskell. The idea behind these reports is simple: Every six months, a call goes out to all of you enjoying Haskell to contribute brief summaries of your own area of work. Many of you respond (eagerly, unprompted, and well in time for the actual deadline ;) ) to the call. The editor collects all the contributions into a single report and feeds that back to the community When we try for the next update, six months from now, you might want to report on your own work, project, research area or group as well. So, please put the following into your diaries now: End of October 2004: target deadline for contributions to the October 2004 edition of the HCA Report Unfortunately, many Haskellers working on interesting projects are so busy with their work that they seem to have lost the time to follow the Haskell related mailing lists and newsgroups, and have trouble even finding time to report on their work. If you are a member, user or friend of a project so burdened, please find someone willing to make time to report and ask them to `register' with the editor for a simple e-mail reminder in the middle of October (you could point us to them as well, and we can then politely ask if they want to contribute, but it might work better if you do the initial asking). Ofcourse, they will still have to find the ten to fifteen minutes to draw up their report, but maybe we can increase our coverage of all that is going on in the community. Enjoy, communicate, and program! Arthur van Leeuwen -- /\/ |[EMAIL PROTECTED] | Work like you don't need the money /__\ / | A friend is someone with whom | Love like you have never been hurt /\/__ | you can dare to be yourself | Dance like there's nobody watching ___ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] REMINDER - Contributions to HCA Report (May 2004 edition)
Dear Haskellers, we would like to remind you of the opportunity to contribute to the May 2004 edition of the Haskell Communities Activities Report. Why not take the few minutes necessary to type up a new or updated entry and send it in? We would love to see people write on the following subject(s): - The Haskell Mailing List - The Haskell Cafe - The Haskell 98 reports - Concurrent Haskell - hierarchical libraries - HaskellDB - HXml - QuickCheck - Yale Haskell group - Parallel and Distributed Functional Languages Research Group at Heriot-Watt University Ofcourse, if you have done other interesting things with Haskell we would very much like to know about those as well! If at all possible, could you please send in your contribution by friday *this* week, i.e. May 7th 2004? We will update the topics list on http://www.haskell.org/communities/topics.html with a nice tickmark as soon as we have received your contribution, to show that you too support the Haskell Communities and Activities Report! Thanks, Arthur (interim editor, May 2004 edition) -- Haskell Communities and Activities Report (May 2004 edition) All contributions are due in by the end of next week! http://www.haskell.org/communities/ ___ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Call for Contributions - HCA Report (May 2004 edition)
Dear Haskellers, two changes of season and one of editor later, we strongly suspect the Haskell community has also moved along admirably. Thus comes the need to refresh our list of all things Haskell, and give *you* the opportunity to tell all the world about your passion. We invite your contributions to the imminent sixth edition of the Haskell Communities Activities Report http://www.haskell.org/communities/ Submission deadline: 7 May 2004 (please send your contributions to [EMAIL PROTECTED], in plain ASCII or LaTeX format) The Haskell Communities Activities Reports biannually report on the state of Haskell over the last 6 months, and sometimes on plans for the next 6 months. If you have only recently joined the Haskell world, browse the November 2003 edition -- you will find an overview of what's going on as well as starting points and links that may provide many answers. We would much like you to send your contributions in by the first week of May, and will then endeavor to publish the collective report roughly a month before the start of summer. Note that this is a great opportunity to gauge the state of your research, update your web pages, release new versions, announce entirely new projects, summarize developments in sub-communities for every Haskeller to see, etc. :) The way we like to do things is have you update all existing summaries, as the purpose of these reports is to show *recent/current* activities. We will drop any topics that haven't had any activity since May 2003, so if you haven't updated your topic since then, now is a good time! Ofcourse, if you have new things to share, so much the better. We would love to hear of it, and include it in the report. Please keep your contributions short though, a couple hundred words maximum, as we would like to keep the size of the report reasonable. It is intended as an overview after all. Looking forward to your contributions, Arthur (interim editor, May 2004 edition) --- topics New suggestions for current hot topics, activities, projects, etc. are welcome - especially with names and addresses of potential contacts, but here is a non-exclusive list of likely topics (see also http://www.haskell.org/communities/topics.html ): General Haskell developments; Haskell implementations; Haskell extensions; Standardization and documentation; Haskell tutorials, howtos and wikis; Organisation of Haskell tool and library development; Haskell-related projects and publications; new research, fancy tools, long-awaited libraries, cool applications; Feedback from specialist mailing lists to the Haskell community as a whole; Haskell announcements; all (recent) things Haskell Announcements: if you've announced anything new on the Haskell list over the last six months, you'll want to make sure that is reflected in this edition! Project pings: if you're maintaining a Haskell tool or library or somesuch, you'll want to let everyone know that it is still alive and actively maintained, even if there have been no new additions, but all the more if there have been new developments. Tutorials: if you've fought with some previously undocumented corner of Haskell, and have been kind enough to write down how you did manage to build that graphical user interface, or if you' ve written a tutorial about some useful programming techniques, this is your opportunity to spread the word (short, topic-specific, and hands-on tutorials that only show how to achieve a certain practical task would do a lot to make things easier for new Haskellers - please write some!) Applications: if you've been working quietly, using Haskell for some interesting project or application (commercial or otherwise), you might want to let others know about what you're using Haskell for, and about your experiences using the existing tools and libraries; are you using Haskell on your job? An interesting thread about using Haskell and more generally functional programming for non-Haskell things seems to recur with reasonable frequency - why not write a sentence or two about your use of Haskell for our report? Feedback: if you're on one of the many specialist Haskell mailing lists, you'll want to report on whatever progress has been made there (GUI API discussions, library organisation, etc.) If you're unsure whether a contact for your area of work has come forward yet, have a look at the report's potential topics page, or get in touch with me. I've contacted last time's contributors, hoping they will volunteer to provide updates of their reports, and will update the contacts on the topics page fairly regularly. But where you don't yet see contacts listed for your