[Haskell-cafe] Is "let" special?
Hi all, is there something special about "let"? I don't mean only its use in haskell, but in the general context of programming languages. I've been given a few hints over time when I asked question concerning DSLs but regretfully didn't follow them up. Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] who's in charge?
Hi aditya, thanks for the tip. No, I must admit a deal breaker it is not, giving all the advantages of haskell on the one hand I think I'd be able to life with something half baked. Günther Am 29.10.10 06:53, schrieb aditya siram: I understand your frustration at not having free tested libs ready-to-go, Java/any-other-mainstream-language programmers tend to expect this and usually get it. If a lack of libs is a dealbreaker for you and you want to use a functional programming language with some of Haskell's advantages (like immutability, lazy data structures and STM) I encourage you to check out Clojure [1] a nicely designed Lisp. It is tightly integrated in to the JVM and you have access to all the Java libs you want. -deech [1] http://clojure.org/ 2010/10/27 Günther Schmidt Hi Malcolm, well if I would like to point out that, for instance, Haskell exists for a lot more than 10 years now, and that, while the language per se rocks, and there are cool tools (cabal) and libraries (list, Set, Map), there still isn't even a mail client library, I wonder whom to escalate this to, and who is going to do something about it. I understand some parties wish to avoid success at all costs, while others, commercial users, benefit from the edge haskell gives them already and which probably can help themselves in case of, again, for instance a missing mail client library. And then there is the ones like me, which also want to benefit from the edge Haskell gives them over users of other languages and want to develop Real World Apps and who cannot easily help themselves in case of a missing mail client library. So while there are many aspects of the future of haskell, who effectively is it that steers the boat? Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] who's in charge?
Dear John, The key point is: you haven't paid any of us for this, and you have nothing even close to some sort of support contract. I perceive a sense of entitlement on your part that people owe you no-cost coding. Would you please stop perceiving this then? Because no I don't. I won't deny that I'd be happy if it was there but that I think that I'm entitled to it is just off. So you may stop it, please. Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: who's in charge?
Hello Lennart, Am 29.10.10 01:44, schrieb Lennart Augustsson: It's working just fine. I've never wanted a mail client library. :) Yes, that is wonderful, I'm really happy for you :P -- Lennart ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] who's in charge?
Dear John, Am 29.10.10 01:23, schrieb John Goerzen: On 10/28/2010 05:44 PM, Günther Schmidt wrote: There is no need for a mail client library on many platforms. Just pipe the data to /usr/sbin/sendmail and poof. Done. That would work well for sending (on Unix), but not for receiving. Quite true. For receiving, we have tools like fetchmail, imapsync, offlineimap, MH, the list goes on. The Unix philosophy is all about pluggable bits and pieces that can be reused all over the place. I like that philosophy. It means that one doesn't have to reinvent mail handling n times for n languages. As long as your language can do some piping, you can handle the basics of mail. Now, I'll grant you that fetchmail won't solve every possible mail access scenario. It isn't, for instance, good enough to be the backend of OfflineIMAP. But I do want to push back on the notion that, on POSIX platforms, these things have to be reinvented for each language. It just isn't so. Has it occurred to you that there is no mail client library because there is no need for one? No, to be honest, it never has. I absolutely cannot conceive of it. It'd be like not having HDBC for instance and having to roll my own database driver. It wouldn't have mattered how great a language haskell is, had Hmm, I am perhaps uniquely qualified to say "been there, done that" ;-) The existing Haskell database drivers at the time didn't meet my needs. They lacked some things I considered rudimentary and standard. I felt about them approximately the way you did about mail. I decided that Haskell would be enough of a long-term win to justify writing HDBC. So I did, and I'm glad of it. I think you are getting some resistance here because you appear to be demanding that others volunteer their time to meet your pet need. Well this is exactly what I have the most problem with. This assumption. It is exactly this where I am seriously taking offense. I suddenly am taking fire from all sides for things that were actually said more bluntly by people before me. One of the responses out of the hysteria that developed even suggested I was calling for a dictator. Get a grip. Other people before me lamented about the lack of a good email client library as can be seen here: http://www.reddit.com/r/haskell_proposals/top/?t=year Do not assume that the words that were put into my mouth by hysterical posters are indeed my own, they are not. Consider what I did say and not what others suggest I did. I also noticed that one of your co-authors made statements regarding the quality of available libraries on hackage, without being blown to bits. My own posts in this thread did not come close to even suggesting that. This attitude doesn't usually work. Nor should it. it not had HDBC I would have had no choice but to drop it and move on. Or you could have written HDBC. Or you could have used unixODBC, which already solved that problem. (Whoops, did I do a tiny bit of wheel reinvention myself? Indeed I did, with the PostgreSQL HDBC backend. There are reasons for it though.) Database connectivity to me is one of the essential things I need to be able to do, and so is email, as is xml, as is http. HTTP is another thing that can easily be "outsourced". I've been somewhat unhappy at various points in time with the Haskell HTTP libraries. No problem, though; there's always Curl. One can choose the Haskell libcurl binding or call the Curl binary directly; it's even portable to all sorts of platforms, and you get not just HTTP, but FTP, Gopher, SCP, and some other useful protocols along for the ride. Well it's not necessarily only about sending mail, it's more about the whole shebang one wants / needs to do with mail. So if it's not about sending, it's about receiving or accessing stored mail. The Maildir spec is very simple and easily implemented. Google tells me there is an implementation in xmonad already. Tools to get mail into Maildirs are plentiful and featureful. I appreciate that you are a proficient Unix / Posixler but it just so happens that I was thinking more about accessing POP3 account, which I imagine to a fairly common usage scenario. To my defense I did mention that the lack of certain libraries does not cause the same problem to more capable people, such as yourself, as they do to people less capable. Hey you rolled your own database access library (and shared it, much appreciated). But most would struggle with such a lack. There is this one posters who likes to repeatedly point out how none of his programs ever needed email, so how could it be a problem then. Well good for him, but in my experience it's needed. My point is this: using existing tools on your system, and turning a blind eye to their implementation language, can be a perfectly workabl
Re: [Haskell-cafe] who's in charge?
Dear John, Am 28.10.10 23:57, schrieb John Goerzen: On 10/27/2010 10:08 AM, Günther Schmidt wrote: Dear Malcolm, since there is no mail client library even after 10+ years I suggest to rethink the approach, because frankly, it's not working. Why do you keep suggesting this? http://hackage.haskell.org/package/WashNGo Thanks for this, I wasn't aware that it also offered email handling. There is no need for a mail client library on many platforms. Just pipe the data to /usr/sbin/sendmail and poof. Done. That would work well for sending (on Unix), but not for receiving. Has it occurred to you that there is no mail client library because there is no need for one? No, to be honest, it never has. I absolutely cannot conceive of it. It'd be like not having HDBC for instance and having to roll my own database driver. It wouldn't have mattered how great a language haskell is, had it not had HDBC I would have had no choice but to drop it and move on. Database connectivity to me is one of the essential things I need to be able to do, and so is email, as is xml, as is http. Frankly I am unimpressed with monster 10,000-SLOC mail client libraries that make it a lot harder for me to pipe some stuff to sendmail. Well it's not necessarily only about sending mail, it's more about the whole shebang one wants / needs to do with mail. Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] On being called a troll
Hi everyone, this post is to argue my own case. Today I have made the most upsetting experience of being called a troll, twice. I have posted to this list for over 3 years now and until lately it was an enlightening experience. The responses to my questions have usually been helpful and friendly. But for some time now, I have noticed that the tone on this list has changed. It seems to have become ok to respond quite brutally and without regard for the other persons feelings. It also seems to have become ok to chime in. For some reason it has become acceptable to politicalize a subject at the earliest convenience and take the gloves off. I am 42 now and am surprised how much this still hurts, after all I survived the schoolyard bullies and who would have thought that these times would ever come again? I urge you, my fellow haskellers, to show some restraint when we are dealing with one another on this list. And to think twice before you launch a personal attack. Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: Haskell and a complete mail client lib?
Hi Don, thank your this link. Also thank you for supplying a link to this page http://www.reddit.com/r/haskell_proposals/top/?t=year in another message, some time back. I can see that checking there first would have made my entire post redundant. Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Need programming advice for Network Protocol Parsing
Hi all, I'd like to write a client app that communicates with a server over TCP/IP. My question is in regard which parser to use for the servers responses. I'm quite familiar with parsec (2.x) but I'm not sure if it's the right choice for this. The code would necessarily constantly be switching between checking for input, interpreting and then responding. Any suggestions? Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: If Python now has a good email library; how challenging is it to call Python from Haskell?
Am 27.10.10 19:43, schrieb cas...@istar.ca: :) Well I was considering using a foreign library too for email. It creates a whole lot of dependencies, so I'd prefer to be able to do it entirely in Haskell instead. I was also wondering if it's possible to create a DSL for the email stuff and then use different interpreters for such terms which could evaluate to calling foreign lib (on Windows possibly MAPI). Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] who's in charge?
Hi Malcolm, well if I would like to point out that, for instance, Haskell exists for a lot more than 10 years now, and that, while the language per se rocks, and there are cool tools (cabal) and libraries (list, Set, Map), there still isn't even a mail client library, I wonder whom to escalate this to, and who is going to do something about it. I understand some parties wish to avoid success at all costs, while others, commercial users, benefit from the edge haskell gives them already and which probably can help themselves in case of, again, for instance a missing mail client library. And then there is the ones like me, which also want to benefit from the edge Haskell gives them over users of other languages and want to develop Real World Apps and who cannot easily help themselves in case of a missing mail client library. So while there are many aspects of the future of haskell, who effectively is it that steers the boat? Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] who's in charge?
Hi Ivan, there is a committee? Günther Am 27.10.10 12:37, schrieb Ivan Lazar Miljenovic: 2010/10/27 Günther Schmidt: Hi all, this may be an odd question to some, but I think it's actually quite an un-extraordinary one. Who's in charge? Of Haskell I mean. If there was some alien from Planet Java to land on Planet Haskell and demand to be taken to our leader, whom would we take him to? The Haskell' committee? ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] who's in charge?
Hi all, this may be an odd question to some, but I think it's actually quite an un-extraordinary one. Who's in charge? Of Haskell I mean. If there was some alien from Planet Java to land on Planet Haskell and demand to be taken to our leader, whom would we take him to? Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Haskell and a complete mail client lib?
Hi all, do we Haskellers have a complete Mail client library? One that goes beyond an unstructured byte string? Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: what is the status of haskell's mail libraries?
Hi Michael, thanks for the link and congratulations on your other work too. Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] what is the status of haskell's mail libraries?
Hi all, I was just looking for mail libraries on hackage. You know libraries where I can construct an email, or retrieve on from the server. With retrieving an email I mean something with a bit more structure than a String, or, God help me, a ByteString. Where are we on this subject? I really cannot tell from the first glance. Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] HTML library with DOM?
Hi all, is there an HTML parsing library that creates a DOM from a page? Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: Stateful DSLs
Hi Edward, thanks that is very interesting. If these should turn out not to be usable for some reason, do you happen to know of alternatives? Günther Am 17.09.10 19:49, schrieb Edward Z. Yang: Excerpts from Günther Schmidt's message of Fri Sep 17 13:27:45 -0400 2010: I'd want to create a EDSL where I want to be able to statically ensure that expressions can only be built according to a particular "state". Like in a network application, SMTP client for example, where I can only issue commands if the application is in a certain state. Are there any Haskell examples for this sort of thing? Hello Gunther, I believe what you are describing is called "session types". There are several session type encodings on Hackage: sessions, simple-sessions and full-sessions. However, I don't think they're really ready to be used on actual projects. Cheers, Edward ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Stateful DSLs
Hello, I'd want to create a EDSL where I want to be able to statically ensure that expressions can only be built according to a particular "state". Like in a network application, SMTP client for example, where I can only issue commands if the application is in a certain state. Are there any Haskell examples for this sort of thing? Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] generating foreign Code (Java, C++, PHP)?
Hi list, I noticed that there are some libs / packages like atom and HJscript which allow you to write a program in a haskell EDSL and that then actually generates valid source code in another language. In the above example that would be JavaScript and C. I sure would love to be able to write PHP for instance like that but I cannot even fathom how a EDSL would have to be designed for it. Could someone here point me to literature on the topic? Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] getting started with HJscript?
Hi all, I'll probably have to be doing web stuff soon. And I think I would like to be using JavaScript far more than I have in the past. So I'm thinking about using Haskell (HJscript) to generate it for me. How does on go about learning how to use HJscript? Are there any examples / tutorials? Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] building ghc on opensolaris
Hi Ivan, thanks, that seems to have been it. Günther Am 19.08.10 04:43, schrieb Ivan Lazar Miljenovic: 2010/8/19 Günther Schmidt: Hi, does anybody know why --with-gcc= ... has no effect when passed to ./configure? This is under OpenSolaris only, under Mac OS X for instances it takes. Could be different versions of autotools or some such? Maybe a GNUism... ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] building ghc on opensolaris
Hi, does anybody know why --with-gcc= ... has no effect when passed to ./configure? This is under OpenSolaris only, under Mac OS X for instances it takes. Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] setting gcc during the ghc-build phase
Hi all, for build ghc from source, how can I set which c-compiler to use? ./configure --with-gcc= does not seem to work for ghc-6.12.3 nor does setting the CC-environment variable. Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] finding out which gcc is hard-coded into a ghc?
Hello, how can I find out which gcc a ghc is hard-coded to use and is it possible to override it? Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: using the orc library
Dear Edward, I hope that there is a more orc integrated solution. I think the scenario I described here is quite common. Günther Am 31.07.10 00:16, schrieb Edward Z. Yang: Excerpts from Günther Schmidt's message of Fri Jul 30 16:16:38 -0400 2010: I'd like to download 1,000 web pages with up to 6 six concurrent downloads at a time. How can I express such a thread limit within the orc EDSL? One solution that comes to mind is place all 1000 web pages in an MVar containing a queue of URLs to process (a list will probably suffice), and then use Orc to orchestrate six threads that pull a page from the queue and make a download. Admittedly, Orc doesn't buy you very much in this scenario until you add timeout handling and such. Cheers, Edward ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] using the orc library
Hello, I'd like to download 1,000 web pages with up to 6 six concurrent downloads at a time. How can I express such a thread limit within the orc EDSL? Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: Memory and Threads - MVars or TVars
Hi Eitan, I'm right now approaching the subject of concurrency myself for the first time in an application that spiders web pages. The getting the web pages part via http request is the one that is time consuming and thus the one that I wish to "concurrentalize", ie. getting up to 6 six pages concurrently at a time. From what I've learned so far it seems that there are the following approaches to concurrency in haskell: 1. use a primitive approach with the concurrency primitives that haskell / ghc provides, ie. locks, MVars, TVars etc. directly 2. use one abstraction level up, ie. use STM (Software Transactional Memory), there is a chapter in RWH about it.(also available online). 3. use yet another abstraction level up by using the orc library from the galois people, available on hackage. Documentation to this one is a paper available on the galois website. I am currently at the very beginning of familiarizing myself with this approach but it seems the most feasible way to do concurrency. Using this approach is pretty much like not having to worry about garbage collection. Even using STM you still have to do a lot of your own manual forkIO, putVar, kill etc. Best regards Günther Am 29.07.10 02:23, schrieb Eitan Goldshtrom: Hi everyone. I was wondering if someone could just guide me toward some good information, but if anyone wants to help with a personal explanation I welcome it. I'm trying to write a threaded program and I'm not sure how to manage my memory. I read up on MVars and they make a lot of sense. My real question is what is "atomic" and how does it apply to TVars? I don't understand what atomic transactions are and I can't seem to find a concise explanation. I also saw some stuff about TMVars? But I can't find much on them either. Any help would be appreciated. -Eitan ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] 1st attempt at concurrency
Dear Jason, And yes, Orc is pretty cool and should be perfectly suited for what you're doing as fetching data from websites was one of the original use cases for Orc. Jason thanks for that, it's nice to be on the right track for once. Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] 1st attempt at concurrency
Dear Felipe, thank you for the code and for the correction :). As usual I come across interesting stuff when I have no immediate need for it and when I do I can't find it anymore. I am looking for something slightly more abstracted and iirc there recently was a post about the pi-calculus which seemed elegant even though the author told me himself it was not meant for any RW use. But I believe the Galois boys have created a lib, called orc?, for this purpose. I think I'll check into that and see how it goes. Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] 1st attempt at parallelizing
Hi all, I'm spidering web pages, the implementation currently is synchronous. I'd like to parallelize this for speed-up, ie. get up to 6 pages in parallel and recycle those threads. Now I have come across good examples for this on the web before, but I doubt I'd find it again right away. I'd appreciate some good pointers. Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] library for objective-j?
Jason dearest, http://hoc.sourceforge.net/ did happen but isn't on hackage, WASH did happen but isn't on hackage ... and I presume quite a few other goodies didn't make it to hackage either. So I was hoping I'd finally be admitted to the inner haskellers circle where the dark arts are practized and the secrets are revealed that mere newbies don't even know about. :) Günther Am 13.07.10 22:28, schrieb Jason Dagit: 2010/7/13 Günther Schmidt Hi all, is there a haskell library for generating Objective-J? http://www.google.co.uk/search?hl=en&as_sitesearch=hackage.haskell.org/package&as_q=object-j Hackage upload or it didn't happen! Jason ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] library for objective-j?
Hi all, is there a haskell library for generating Objective-J? Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] building ghc-6.12.3 from source on Open Solaris
Hi Ivan, yes I did. It keeps failing so I wonder if there is someone who has successfully compiled ghc-6.12.3 on Open Solaris. Günther Am 10.07.10 16:27, schrieb Ivan Lazar Miljenovic: Günther Schmidt writes: Hi, does anyone here have experience what it takes to build ghc-6.12.3 from source on Open Solaris, with binary ghc-6.12.1 installed? Have you tried following the generic building instructions at http://hackage.haskell.org/trac/ghc/wiki/Building/QuickStart ? i.e.: unpack the source, and then run: , | $ ./configure | $ make | $ make install ` (if you want to install it somewhere non-standard, then check the ./configure options). ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] building ghc-6.12.3 from source on Open Solaris
Hi, does anyone here have experience what it takes to build ghc-6.12.3 from source on Open Solaris, with binary ghc-6.12.1 installed? Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] finding the right mathematical model
Hi list, the problem I have stems from the app I had developed. What my app does is to split the money a hospital receives for a case to the departments involved in a fair way. An additional requirement however was to allow the users of the app to re-map any revenue shares credited to certain departments to other departments. Such cases are sometimes due to politics within the hospital and also have more legitimate reasons, like saying the radiology should not receive shares for surgical procedures but those shares should be redirected to the "General surgery" department. The feature is already implemented, but I'm not pleased with it, especially since I did not develop a mathematical model for it. Details: It boils down to model mappings, or rather what sort of data structure would be suited for this kind of thing. Dept A is "mapped" to itself A -> A Dept B is mapped to Dept C B -> C Dept C is mapped to Dept C C -> C Dept D is mapped to Dept A D -> A It should not be possible to construct looping mappings, ie. 1. A -> B 2. B -> C 3. C -> A .. What sort of model would be suitable to describe this, some sort of matrix? Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Looking for GUI (WX) example code
Hi all, I'd be interested in studying GUI (wxhaskell) code. Does anyone have links to good gui code? Best regards Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] A little jewel on sigfpe's blog
Hello, I just discovered this little jewel on Dan Piponi's blog. http://blog.sigfpe.com/2010/03/partial-ordering-of-some-category.html I'm just posting the link so that it doesn't get overlooked, would be a real shame. Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Network of GUI Controls - using MonadFix?
Hello list, let's say I would like to create 4 buttons where any one button can respond to a click and notify every other button. Ie. where the 1st button is wired with the 2nd, the 2nd with the 3rd ... and the 4th button with the 1st. In short I would like these buttons to be connected as in a cyclic list. Is that something that MonadFix is meant to be used for? Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] lecture notes for Finally Tagless - benefit of explicit fix combinator
Hi Stephen, I'm glad I asked. This sure sounds more interesting than I had anticipated. Is this an old hat for your off-the-shelf haskeller or something only found in the more seasoned haskellers tool box? I think it's pretty much the first time I encounter it. Günther Am 19.06.10 17:01, schrieb Stephen Tetley: Hi Günther The code in the two serialize modules looks very close to Konstantin Laufer's functional variation of the visitor pattern: http://webpages.math.luc.edu/~laufer/papers/mixins03.pdf This open recursion style - is used to get "inheritance" / extensibility - there is a more recent paper by Bruno Oliveira, Tom Schrijvers and William Cook here: http://tomschrijvers.blogspot.com/2009/09/effectiveadvice-aop-mixin-inheritance.html Best wishes Stephen ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] lecture notes for Finally Tagless - benefit of explicit fix combinator
Hi all, I'm working my way through the lecture notes to the "Finally Tagless" course, available from: http://okmij.org/ftp/tagless-final/course/index.html As usual at every round of doing so, I think it's my 4th, I discover something new, something that hadn't occurred to me previously. This time it's a comment in the code of SerializeExt.hs -- * Tie up the knot fromTree = S.fix fromTreeExt-- One does use fix in real programs -- Now we can see the real benefit of using fix in real programs. -- The fixpoint combinator is NOT a mere curiosity about the fix-point combinator. I don't think I can deduce what he meant by that from the context alone, could somebody please enlighten me? I'm refering to the benefit of using the fix-point combinator in this particular scenario. Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] How does one get off haskell?
Hi all, I was afraid of that. The tenor here is "there is no way to get off haskell" so either do woodwork or try to get a haskell job. :( Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] How does one get off haskell?
Hi list, I'm facing a really tough problem. About 3 years ago I stopped doing freelance and quite nicely paid projects in Java, PHP and C#. Now I'm dire straits, again, and need to get back into the project market which seems to have picked up again, quite a lot of projects out there and it looks like I could ask again for decent rates. (I personally call them compensation because I never ever enjoyed doing Java etc. but the money was good.) Anyway the problem is that I am totally reluctant to code in anything else but haskell. It has always been a problem to me getting up early in the morning, taking a train to work and coming back in the evening totally exhausted. But I think I could manage that again, at least for 3 or 6 months and then my bank account will be fine again and I can take it easy for another year or so. But this time all this is much harder. I really cannot see myself writing such huge amounts of code over and over again not doing much, well you know the story. BTW this is not meant as a fun post, I'm actually quite serious, ie. I need money, only way of getting it is doing Java, C# or PHP. So how does one get off haskell? Are there people in similar situations that have managed? How did you do it? Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: Difficulties with tagless - create "primitives" or compose them
Dear Jacques, I have recently found something new that might also prove to be useful for EDSLs. http://blog.sigfpe.com/2009/05/three-projections-of-doctor-futamura.html Dan's blog post doesn't give any code or implementation but in a way it tackles the same problem, and since you also mention partial evaluation and transformation you might also find this interesting. Then again this might be an old hat to you :) Best regards Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Difficulties with tagless - create "primitives" or compose them
Hi list, there is one thing about the "Finally tagless" EDSL approach that really confuses me: (Well more than one actually but this one more so) When to decide to introduce a term as a primitive in the syntax class and when to define it from primitives already defined. For example this one here: type Arr exp a b = exp a -> exp b class EDSL exp where lam :: (exp a -> exp b) -> exp (Arr exp a b) app :: exp (Arr exp a b) -> exp a -> exp b int :: Int -> exp Int -- Integer literal add :: exp Int -> exp Int -> exp Int sub :: exp Int -> exp Int -> exp Int mul :: exp Int -> exp Int -> exp Int Let's take "mul" here, defined as a "primitive", in other words defined in the EDSL class. Technically, with lam, app and add already defined, I could have defined "mul" outside the EDSL class, just built from the 3 primitive operators. Of course doing so then does not give me the possibility to choose alternative evaluation strategies for "mul" itself, only for lam, app and add. So what is a good measure for deciding when to define a term primitive or not? Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Using the ContT monads for early exits of IO ?
Hi Christopher, there is nothing wrong with ifs as such except the won't actually exit a long piece of code, the computation will continue, just in a useless way. Primarily for every "if" I need two forks, so at every "if" the branches double. I have written the previous code with ifs and it's quite spaghetti-ish and I hope that using callCC here helps to avoid it. Of course there is no guarantee that it actually will. ;) Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Using the ContT monads for early exits of IO ?
Hi everyone, I'm about to write a rather lengthy piece of IO code. Depending on the results of some of the IO actions I'd like the computation to stop right there and then. Now I know in general how to write this but I'm wondering if this is one of those occasions where I should make use of the Cont monad to make an early exit. Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] strange errors with unix-compat
Hello, when compiling unix-compat I get this: 4 of 4] Compiling System.PosixCompat.Extensions ( dist/build/System/PosixCompat/Extensions.hs, dist/build/System/PosixCompat/Extensions.o ) cbits/HsUnixCompat.c: In function `unix_major': cbits/HsUnixCompat.c:4:0: warning: implicit declaration of function `major' cbits/HsUnixCompat.c: In function `unix_minor': cbits/HsUnixCompat.c:8:0: warning: implicit declaration of function `minor' cbits/HsUnixCompat.c: In function `unix_makedev': cbits/HsUnixCompat.c:12:0: warning: implicit declaration of function `makedev' /usr/gnu/bin/ar: creatin and an ghci -package gives me this: GHCi, version 6.10.4: http://www.haskell.org/ghc/ :? for help Loading package ghc-prim ... linking ... done. Loading package integer ... linking ... done. Loading package base ... linking ... done. Loading package syb ... linking ... done. Loading package base-3.0.3.1 ... linking ... done. Loading package unix-2.3.2.0 ... linking ... done. ghc: /home/guenni/.cabal/lib/unix-compat-0.1.2.1/ghc-6.10.4/HSunix-compat-0.1.2.1.o: unknown symbol `major' Loading package unix-compat-0.1.2.1 ... linking ... ghc: unable to load package `unix-compat-0.1.2.1' How can I fix this? Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: Help with Bird problem 3.3.3
Hi, I'm just re-reading the book again, this time doing the exercises though :) Is there a site with solutions for the exercises? Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Chuch encoding of data structures in Haskell
Hello C, thank you for explaining. The funny thing is that I have never seen anybody take this even a single step further than you have in your email. In particular I have not found anything where someone might use church encoding to solve a quite practical problem, namely for implementing extensible records. For instance suppose we'd have data Person = Person { firstName :: String, lastName :: String } person1 :: Person person1 = Person "John" "Doe" alternatively, and I'm not 100% if this what is commonly understood as "church encoding" I'm just guessing, we could write this: person1' :: (String -> String -> x) -> x person1' = \fn -> fn "John" "Doe" Now from a practical standpoint, up to here anyway, the first encoding is far more useful. But there is a problem when we want to extend the Person type by a new field, age for instance. Person as such is *not* extensible, modifying it would require us to rewrite existing code. But person1' is easily extended: person1'' :: (String -> String -> Int -> x) -> x person1'' = \fn -> person1' fn 36 or more generally: (.+.) :: (t1 -> t -> t2) -> t -> t1 -> t2 rec .+. v = \fn -> rec fn v person1''' :: (String -> String -> Int -> x) -> x person1''' = person1'' .+. 36 There is also a way to shrink the "record" from the left: drp :: ((t1 -> t) -> b) -> t -> b drp rec = \fn -> rec $ \_ -> fn I can think of a number of applications for this and especially I believe it should be possible to create more "combinators". The approach is so simple and trivial that it must have occurred to people a hundred times over. Yet I do not find any other examples of this. Whenever I google for church encoding the examples don't go beyond church numerals. Am I googling for the wrong keywords? Best regards Günther Am 27.05.10 19:10, schrieb C. McCann: 2010/5/27 Günther Schmidt: I'm exploring the use of church encodings of algebraic data types in Haskell. Since it's hard to imagine being the first to do so I wonder if folks here could point me to some references on the subject. I'm looking for examples of church encodings in Haskell a little bit beyond Church Booleans and Church Numerals. The fully general description of Church encoding is rather simple, but I've rarely seen it described explicitly. Consider the type of Church encodings for Bool, Either, and the 2-tuple (written here as "Pair" for clarity): churchedBool :: t -> t -> t churchedEither :: (a -> t) -> (b -> t) -> t churchedPair :: (a -> b -> t) -> t And compare the signatures for the constructors of the non-Church encoded types: True :: Bool False :: Bool Left :: a -> Either a b Right :: b -> Either a b Pair :: a -> b -> Pair a b We can observe two patterns: 1) The Church encodings take as many arguments as the type has constructors 2) The type of each argument is the same as the signature of a constructor, except returning an arbitrary type. As this suggests, "Church decoding" is as simple as applying the Church encoded type to each of the constructors. From the above, a general description of Church encoding can be deduced: The encoding of a value is a function that replaces each data constructor with an arbitrary function. The Church encoding represents, in a way, the most generalized means of using values of that type--which is why Haskell already includes variations of "Church encode" functions for a few standard types, like so: encodeEither x = \f g -> either f g x encodeMaybe x = \z f -> maybe z f x encodeTuple x = \f -> uncurry f x encodeBool x = \t e -> if x then t else e But what of Church numerals? First, we must consider the Church-encoding of recursive data types. Given arbitrary nested data types, there's nothing else that can be done--the outer types know nothing of the types they contain. But if an inner type is known to be the same as the outer type, there are two options for the encoding: Work only with the outermost value, as with non-recursive types, or work with the recursive value as a whole, by having the outermost value pass its arguments inward. Now, consider the signature of a Church numeral: churchedNumeral :: (t -> t) -> t -> t Given the above, what can we say about the equivalent "decoded" data type? It takes two arguments, so we have two constructors. The second argument is a single value, so the associated constructor is nullary. The first argument must be associated with a unary constructor, but look at the parameter it takes: the same type as the result! This is how we can tell that Church numerals are the encoding of a recursive type. Since the only wa
[Haskell-cafe] Chuch encoding of data structures in Haskell
Hi all, I'm exploring the use of church encodings of algebraic data types in Haskell. Since it's hard to imagine being the first to do so I wonder if folks here could point me to some references on the subject. I'm looking for examples of church encodings in Haskell a little bit beyond Church Booleans and Church Numerals. Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: currying combinators
Hi Yitz, embarrassingly I was unable to deduce the implementation from the type signature, don't be tease man, show me what you got :) Günther Am 25.05.10 18:27, schrieb Yitzchak Gale: Günther Schmidt wrote: http://www.hpaste.org/fastcgi/hpaste.fcgi/view?id=25694 in which I attempt to develop a "currying combinator" library. I'm stuck at some point and would appreciate any help. How about this: keep :: ((t -> b) -> u -> b) -> ((t1 -> t) -> b) -> (t1 -> u) -> b so then nameZip = keep (drop' . drop') names Regards, Yitz ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: Cabal sqlite3 installation problems
Hi Hok, I know the problem and the only solution I found to work is using an older version of "cabal.exe". I still have one lying around for these cases, in my Path called "cabalOld.exe" and use it only in situations like these. Lemme know if I should send it to you. Günther Am 25.05.10 21:05, schrieb Ben: i have this exact problem, on linux x86_64, as well. b Hok Shun Poon fushunpoon at googlemail.com Sun May 23 19:51:20 EDT 2010 Previous message: memory useage of data types in the time package Next message: Text.Regex library with bytestrings? Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] Hello, This is a question about how cabal-install finds 'installed foreign libraries' when trying to satisfy dependencies for packages like hdbc-sqlite3 on Windows. Sadly, the current setup means that I must use Windows 7 to develop code. I've already followed steps on http://wiki.github.com/jgoerzen/hdbc/frequentlyaskedquestions to place the ..dll and the .h files in the correct places; it's just that cabal never seems to find it, despite being given --extra-lib-dirs= and --extra-include-dirs= directives. The message is as follows: cabal install hdbc-sqlite3 --extra-lib-dirs=D:\dev\libs\database\sqlite Resolving dependencies... Configuring HDBC-sqlite3-2.3.0.0... cabal: Missing dependency on a foreign library: * Missing C library: sqlite3 This problem can usually be solved by installing the system package that provides this library (you may need the "-dev" version). If the library is already installed but in a non-standard location then you can use the flags --extra-include-dirs= and --extra-lib-dirs= to specify where it is. cabal: Error: some packages failed to install: HDBC-sqlite3-2.3.0.0 failed during the configure step. The exception was: ExitFailure 1 The strangest thing is, I've successfully made cabal build this package before (with a different version of Haskell Platform)... what's going on? I'm using cabal-install version 0.8.2 and Cabal library version 1.8.0.2. Hok ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: Haskell, Queries and Monad Comprehension
2010/5/23 Günther Schmidt: is there anybody currently using Haskell to construct or implement a query language? I've a half-baked, type-indexed (in HList style) implementation of relational algebra lying around somewhere, if that counts as a "query language". I was experimenting with using it as a sort of abstract collection interface, which actually worked rather nicely I think, but I didn't have time to flesh it out completely. In particular, only very simple queries and limited kinds of relation composition were supported. Definitely just toy code, though, and dreadfully inefficient; if you're looking for an "actual implementation" meaning "usable interface to an external persistence layer" then disregard this. Well you're on the radar now :) BTW: I'm working on alternative, non-type-indexed version of extensible records (Which I have gathered to be an essential ingredient when you want to roll a Relational Algebra lib). There will be no first-class labels, but there also will be no need for singleton-types either (which is what you need with type-indexed solutions). And a bit less overhead all-around so it's kind making up for not having 1st class labels. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Haskell, Queries and Monad Comprehension
Hello Torsten, well thank you for taking the time and answering that. It seems that the one thing I am good for, as far as contributions to this list go, is coaxing answers out of our Functional Pros. :) That is good news then, I was getting frustrated reading fantastic papers which eventually were nothing more than teasers. So, will Ferry then be usable from within Haskell? Best regards Günther Am 25.05.10 21:28, schrieb Torsten Grust: > Günther, > > we are currently underway building the second version (as in: > done right this time) of Ferry, a query compiler that > > (1) accepts queries over ordered, nested lists, > (2) compiles these queries into an intermediate algebraic form, then > (3) emits (small bundles of) SQL queries that evaluate the input > query over your off-the-shelf RDBMS. > > We've used Ferry's first version to build new LINQ to SQL providers > for Microsoft's LINQ as well as a new code generator for Phil Wadler's > Links. > > The Ferry compiler itself is built in Haskell. Surf to www.ferry-lang.org > for more information, screencasts, papers, talks, and contact us for > more details. We will be happy to share Ferry's Haskell code once in > digestable shape (soon). > > Cheers, > --Torsten > > On May 24, 2010, at 03:20 , Günther Schmidt wrote: >> Hi all, >> >> is there anybody currently using Haskell to construct or implement a query language? >> >> I have read a couple of papers on "Monad Comprehension Calculus" and similar but none using Haskell nor any other existing programming language to build an actual implementation. >> >> Most papers give some sort of "Pseudo code", but I couldn't find any meat. >> >> >> >> Günther >> >> ___ >> Haskell-Cafe mailing list >> Haskell-Cafe@haskell.org >> http://www.haskell.org/mailman/listinfo/haskell-cafe >> > > ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] currying combinators
Hi all, I've posted some code on hpaste http://www.hpaste.org/fastcgi/hpaste.fcgi/view?id=25694 in which I attempt to develop a "currying combinator" library. I'm stuck at some point and would appreciate any help. Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] A most inelegant approach to "extensible records"
Hi everyone, as I'm trying to design a "query language" the one thing that causes the most grieve is the apparent requirement for "extensible records". There are by now a number of solutions in Haskell for this, most prominently HList. But at the end of the day even for HList to work one needs to define singleton types, something like: data FirstName = FirstName data LastName = LastName data BirthDate = BirthDate Now this isn't much of a nit and at least it works. But overall review of "extensible records" indicates that any solution/implementation requires a tremendous amount of type-level trickery. I short, any approach I've seen so far uses elaborate type class hierarchies, functional dependencies, etc., all coding on the *type* level. I have here a very, very inelegant alternative, of which I wonder if it offers a new angle to pursue the whole thing. 1. Initial "Record" names = \fn -> fn "firstName" "lastName" "birthDate" "zipCode" Please ignore for now that all "fields" are of type String. 2. "Extension" of Record namesCity = \fn -> names fn "residence" The record (1.) gets "extended" by the field "residence" 3. Selection nameZip n _ _ _ z = \fn -> fn n z basically here we "extract" the fields firstName and residence. 4. Test toList a b = [a, b] test = (namesCity nameZip) toList Now I know this is all very very inelegant and at 1st sight totally unfeasible. But maybe we can use Conal Eliots semantic editor combinators to smoothen this out? Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Haskell, Queries and Monad Comprehension
Hi all, is there anybody currently using Haskell to construct or implement a query language? I have read a couple of papers on "Monad Comprehension Calculus" and similar but none using Haskell nor any other existing programming language to build an actual implementation. Most papers give some sort of "Pseudo code", but I couldn't find any meat. Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Extensible Records and Functional References
Hi all, I just read "Functional References are a cheap and cheerful technique for working with the existing (non-extensible) record system, and may be of interest to extensible record implementers. A good implementation can be found on ..." on http://hackage.haskell.org/trac/ghc/wiki/ExtensibleRecords Does this mean that there is a way to implement extensible records via functional references? Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] "Dynamic" CSV Parsing - Parsec
Hello, I'm trying to build a CSV parser that can dynamically assemble a parser from the values of the first line. As the most simple example the parse of the first line would return a parser with which subsequent lines would then be parsed. This parser would, for instance, only parse lines with the exact number of columns as found in the first line. Where I eventually want to go is a bit more complicated than this, but for now I'd be grateful for suggestions on how to go about the simple case. Best regards Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] darcs to mercurial migration
Hello, I'm switching from darcs to mercurial with some of my projects. I'd like to retain as much of the history as possible, what tools are there available for this? Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: Installing ghc in an OpenSolaris Zone
Hello Lars, did you happen to manage ghc-6.10.4 in a zone? I suspect there are some packages I failed to install into the zone, but I'm not certain. Günther Am 29.04.10 23:19, schrieb Lars Viklund: On Thu, Apr 29, 2010 at 09:14:50AM +0200, Christian Maeder wrote: Günther Schmidt schrieb: Have you managed to install it into a zone yourself? What do you mean by "zone"? I managed to install this ghc into an other location than /usr/local by giving a prefix to configure: A Solaris zone is a mechanism similar to FreeBSD jails and (somewhat like) a chroot. It's a separate virtual world, with its own network interfaces, filesystem, etc. [1] http://en.wikipedia.org/wiki/Solaris_Containers ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Using the Clipboard under Windows
Hello all, the application from which I wish to copy (text) data to the clipboard is not a GUI app, it's more of a simple test-script. So I'd like to do it without having to install wxHaskell. I guess I'll just have to bite my way through the Win32 API. Right now I'm dumping the text output to a file and copy & paste from there. Günther Am 30.04.10 11:19, schrieb Henk-Jan van Tuyl: On Fri, 30 Apr 2010 08:21:11 +0300, Jason Dagit wrote: As far as I can tell from google wxwidgets does have clipboard support. Perhaps wxHaskell can do it or needs to be extended? Jason I searched with Hayoo for clipboard wx and found Graphics.UI.WXCore.Controls.execClipBoardData [1]; following links, I found a set of clipboard functions [2]. Regards, Henk-Jan van Tuyl [1] http://hackage.haskell.org/packages/archive/wxcore/latest/doc/html/Graphics-UI-WXCore-Controls.html#v:execClipBoardData [2] http://hackage.haskell.org/packages/archive/wxcore/latest/doc/html/Graphics-UI-WXCore-WxcClassesAL.html#28 -- http://Van.Tuyl.eu/ http://members.chello.nl/hjgtuyl/tourdemonad.html -- ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Using the Clipboard under Windows
Dear Jason, I'd be happy not having to dig in deeply. Do you happen to know a "higher" level one? I really do not need more than the clipboard stuff, everything GUI-related I'm using wxHaskell for. Günther Am 30.04.10 01:54, schrieb Jason Dagit: 2010/4/29 Günther Schmidt mailto:gue.schm...@web.de>> Hello, is there some sample code on how to use the Graphics.Win32.GDI.Clip? That part of the library is fairly low level and has a mostly one-to-one correspondence to the C API. This means that you should be able to more or less read an example of how to do it in C and just translate that to the functions you see in Graphics.Win32.GDI.Clip. In other words, try this example: http://www.codeproject.com/KB/clipboard/archerclipboard1.aspx Now, on a stylistic note, I think most people who do Win32 programming avoid directly using GDI. It's older, low level, and sort of "primitive". So, usually you'd use a different library that wraps around GDI. At least, that seemed to be the case when I last looked for resources about GDI programming. Perhaps it doesn't apply universally (my example usage was with fonts). Jason ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Using the Clipboard under Windows
Hello, is there some sample code on how to use the Graphics.Win32.GDI.Clip? Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: Installing ghc in an OpenSolaris Zone
Hello Christin, http://www.haskell.org/ghc/download_ghc_6_10_4.html#x86solaris is supposed to work under open solaris, too. it does actually, quite nicely too, in the *global* zone. It's just when I try to install it into a separate zone the install fails. Have you managed to install it into a zone yourself? Best regards Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] maling-list manager in haskell?
Hi, is there a mailing-list manager written in haskell? Best regards Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Installing ghc in an OpenSolaris Zone
Hello, has anyone yet managed to install ghc (6.10.4) into an OpenSolaris zone? Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] singleton types
Hello Luke, I mean something like data FirstName = FirstName data LastName = LastName data BirthDate = BirthDate ie. data FirstName data LastName data BirthDate In HaskellDB's case this is part of what's necessary to define individual columns. Another part is: instance FieldTag FirstName where fieldName = const "firstName" HaskellDB is using type level stuff quite heavily and since you're a bit of a wizkid on avoiding it where not necessary and keeping things "functional" I'm hoping you might come up with something. :) Best regards Günther Am 25.04.10 23:22, schrieb Luke Palmer: 2010/4/25 Günther Schmidt: Hello, HaskellDB makes extensive use of Singleton Types, both in its original version and the more recent one where it's using HList instead of the legacy implementation. I wonder if it is possible, not considering feasibility for the moment, to implement HaskellDB *without* using Singleton Types. Would you please define "singleton type"? Luke ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] singleton types
Hello, HaskellDB makes extensive use of Singleton Types, both in its original version and the more recent one where it's using HList instead of the legacy implementation. I wonder if it is possible, not considering feasibility for the moment, to implement HaskellDB *without* using Singleton Types. Luke Palmer demonstrates in one blog post replacing type classes with data structures, so I wonder if this could also be applied in this setting. Best regards Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Crypto: PC1 - Cipher?
Hello, does anyone know what the PC1-cipher is and if there is a Haskell implementation? Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] How do I use ByteString?
Hi all, I've never found an easy way to deal with ByteStrings. I'm using the RSA library and it en- and decodes Data.ByteString.Lazy.ByteString. I initially start with Strings, ie. [Char], but there is no function to convert the 2 back and forth. There is however a function which takes [Word8] to BytesString and back. It all wouldn't be so confusing if there weren't several versions of ByteString in several modules to choose from. And a number of libraries requiring different types of ByteString. I am sure the designers of the bytestring package had good reason for this design, is there also a webpage which explains which one to use and under what circumstances? Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: Where are the haskell elders?
Hi all, it could simply be because the medium has changed. I mean a lot of people now seem to have their own websites or blogs. Which would make sense when you want to present a more elaborate piece of work. Is there a listing of sorts for all Haskell-relevant blogs? Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Intro to Haskell Crypto Libs
Hi all, I'm just starting with Haskells Crypto Libs. Is there a good intro to the subject? I intend to use it for license key generation. Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: Where are the haskell elders?
Hi Lennart, that's one explanation, true. Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Where are the haskell elders?
Hi Don, good answer :) Günther Am 30.03.10 00:53, schrieb Don Stewart: gue.schmidt: Hi all, I notice that posts from the Haskell elders are pretty rare now. Only every now and then we hear from them. How come? Because there is too much noise on this list, Günther -- Don ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Where are the haskell elders?
Hi all, I notice that posts from the Haskell elders are pretty rare now. Only every now and then we hear from them. How come? Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Domains and Co-Domains
Hello Alp, thanks for explaining. As so often things become obvious in hindsight :) Günther Am 29.03.10 15:16, schrieb Alp Mestanogullari: a -> b -> c is a -> (b -> c) domain : a codomain : b -> c (which is a valid Haskell type, of the functions from b to c) 2010/3/29 Günther Schmidt mailto:gue.schm...@web.de>> Hi, I can easily see how one identifies the domain and co-domain of a unary function. How would the domain of a function be expressed that takes more than one argument and arguments of different type? Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org <mailto:Haskell-Cafe@haskell.org> http://www.haskell.org/mailman/listinfo/haskell-cafe -- Alp Mestanogullari http://alpmestan.wordpress.com/ http://alp.developpez.com/ ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Domains and Co-Domains
Hi, I can easily see how one identifies the domain and co-domain of a unary function. How would the domain of a function be expressed that takes more than one argument and arguments of different type? Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Are there any gay haskelleres?
Dear Jason, did you send this message before it was finished? Günther Am 29.03.10 01:58, schrieb Jason Dusek: I am replying off list. I hope others will do the same. -- Jason Dusek ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: Are there any gay haskelleres?
Am 28.03.10 23:25, schrieb Ketil Malde: Günther Schmidt writes: are there any gay haskellers? Look, Günther, I'll give you credit for trying, but you might as well accept the fact that using Haskell isn't going to get you laid. Which is just as well, since this list is for discussing a certain programming language, and also since discussions like this tend to offend and drive away chauvinist pigs. And we wouldn't want that, would we? So - could we get back on topic, please? already on it ;) Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: Are there any gay haskelleres?
Dear Philippa, I love your posts, they are hilarious! Please send some more. Can't wait for your next one. Günther Am 28.03.10 23:06, schrieb Philippa Cowderoy: On 28/03/2010 21:38, Günther Schmidt wrote: Hi guys, judging by the responses so far it seems that the gay haskellers have more balls than the female haskellers to come out of the closet. Uhm. So we can expect childish comments for not displaying ourselves on demand now? Good to know. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: is anyone familiar with "Comprehending Queries" by Torsten Grust?
Dear Torsten, good grief no, I did not mean that the topic / field was obsolete. In fact most of my posts over the last couple of months are inquiries on this very subject. (Apart from the occasional glitch). Well about EDSL for Relational Algebra. I was very excited when I found your paper and noticed your other works. My question was more, and please don't get this the wrong way, if your findings from over 10 years ago may have been superseded my more recent discoveries or techniques. It will take me a very long time to absorb your paper, in fact I might not even be able to understand it all, but I'll try. But before I do so I wanted to make sure that it's still the "state of the art". Best regards Günther Am 28.03.10 21:58, schrieb Torsten Grust: Günther, feel free to contact me when it comes to questions regarding ``Comprehending Queries.'' Understanding database queries as (specific) functional programs is far from being an obsolete endeavor. Quite the contrary. Think LINQ (Microsoft) or Links (Philip Wadler). Or Kleisli (Limsoon Wong). Or monoid comprehensions (Leo Fegaras). Or Ferry (my group at U Tübingen) [1]. Cheers, --Torsten (no `h' in here ;-) [1] http://www.ferry-lang.org/ On Mar 28, 2010, at 16:04 , Günther Schmidt wrote: Hi all, is anyone here familiar with the paper "Comprehending Queries" by Thorsten Grust? http://kops.ub.uni-konstanz.de/volltexte/1999/312/pdf/312_1.pdf As the paper dates from 1999 I wonder if its content may have been "obsoleted" by later works or if it still is pretty much current. I ask this because I'm still struggling to put my program with lots of queries on a more sound code base. Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: Are there any gay haskelleres?
Hi Fraser, hi all, one thing I did notice is the total absence of a sense of humor on this list. The only funny thing that on this list was "Don't play with your monads ..." There is however a lot of strange understanding of political correctness. It is very strange to be told that asking "are there female haskellers" is an inappropriate question because it forces females to either "admit" it or be silent. As if we had a "Don't ask don't tell policy" like the U.S. Army. I've never heard more patronizing rubbish in my life before. To me merely asking about the gender demoscopy of this group is not an inappropriate question. And I certainly will keep doing so and enjoy it. :) While everyone is getting excited and getting their knickers in a twist I have a great time. I point and laugh at them. It's even more fun to make a joke and see people not getting it, far more so actually. Cheers Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: Are there any gay haskelleres?
Hi guys, judging by the responses so far it seems that the gay haskellers have more balls than the female haskellers to come out of the closet. Uhm. Günther Am 28.03.10 19:15, schrieb Günther Schmidt: Hi guys, are there any gay haskellers? ... Since the first one was so much fun ;) Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Are there any male haskellers?
Hi everyone, are there any male haskellers? I hope this question is not considered inappropriate Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Are there any gay haskelleres?
Hi guys, are there any gay haskellers? ... Since the first one was so much fun ;) Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Are there any female Haskellers?
Am 28.03.10 18:51, schrieb Christopher Lane Hinson: It was probably also uncool to call out a specific woman by name, who did not volunteer for this. Do suggest I did so? I don't recall mentioning anyone by name. No, you didn't. That was someone else. "I like haskell, am interested in it, appreciate being in contact with people who do" That's the haskell community pledge of allegiance, right there. Congratulations, you wrote it! Oh dear what was I getting myself into when I subscribed :) One thing I do notice, one starts with a harmless question and it out of the blue it suddenly becomes political. In both ways. Is there really a need for this? Yes, because what may be a harmless abstract question to you may directly affect someone else's day-to-day life. Try to learn from people in these situations, even if you are frustrated by them. This is definately a point where we will continue to disagree. I found myself assuming that there are no female haskellers and wanted to verify it by asking for data. At such a point, while the facts where not even yet established I had not even thought about interpretations, cause or implications, I started from scratch. I am not a scientist but believe that this approach broadly qualified as a scientific one. Well yes I know that science is not popular with everyone. So I continue to think that some responses where "disproportionate", a point to think about in itself. Best regards Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Are there any female Haskellers?
Dear Christopher, Am 28.03.10 18:11, schrieb Christopher Lane Hinson: On Sun, 28 Mar 2010, G?nther Schmidt wrote "display themselves on demand" is putting it rather harshly don't you think? No. The women in our community are not required to come forth as witnesses on what it's like to be women in our community. They most likely do not want to be under a magnifying glass, do not want to be exposed to harrasment, and would not actually be qualified to personally represent all other women in the community. They do not want to be held up as community ornaments. I wish to clarify here: I don't recall writing in my initial email "Female Haskellers I demand you identify yourselves". So I took offense on the suggestion I did so. If you're wondering how I know what women in our community want -- I don't. I'm just paraphrasing things that women in this situation have repeatedly said, and yet, somehow, gone unheard. Do not worry, I wasn't. It was probably also uncool to call out a specific woman by name, who did not volunteer for this. Do suggest I did so? I don't recall mentioning anyone by name. # I think we have some work to do to make the haskell community inclusive. Possibly so, but until now I have no indication that it's not, could you elaborate where you see a problem? Also I personally don't do "community" thingies, I'm just not that kind of person. I'm not sure about "haskell-community". I mean I like haskell, am interested in it, appreciate being in contact with people who do likewise but "community"? I don't remember signing up or pledging allegiance. One thing that I keep hearing is "I'm not trying to be offensive." I think it's easy to get caught up on "not being offensive" so that we don't make any progress. It's impossible not to offend people -- but it is possible to take the time to listen and correct problematic behavior and communicate what you've learned to others. One thing I do notice, one starts with a harmless question and it out of the blue it suddenly becomes political. In both ways. Is there really a need for this? Best regards Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] is anyone familiar with "Comprehending Queries" by Torsten Grust?
Hi all, is anyone here familiar with the paper "Comprehending Queries" by Thorsten Grust? http://kops.ub.uni-konstanz.de/volltexte/1999/312/pdf/312_1.pdf As the paper dates from 1999 I wonder if its content may have been "obsoleted" by later works or if it still is pretty much current. I ask this because I'm still struggling to put my program with lots of queries on a more sound code base. Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: Are there any female Haskellers?
Dear Philippa, "display themselves on demand" is putting it rather harshly don't you think? I pretty much injected my previous email back into the thread because I felt I asked a simple question and find that people are getting a bit carried away. I am for instance quite certain that Lady Ada Lovelace is not subscribed to this list. To me the question was non-controversial or so I thought but it seems to have stirred quite a bit of passionate responses. (For which I merely do not wish to be blamed). I agree though that concluding "there are no female haskellers on this list" was premature and promise to exercise more patience. Best regards Günther Am 28.03.10 15:10, schrieb Philippa Cowderoy: On 27/03/2010 21:27, Günther Schmidt wrote: Hi guys (and I mean it), so, in short, no female haskellers ... Bare one which sent me an email directly, but it looks like she's not ready to come out of the closet yet. And those of us already named for you. And there're a few others around - my girlfriend dabbles, though she's not on the list. You might want to wait until after the weekend too. Assuming anyone else can be bothered to reply, that is. Not everyone wants to come display themselves on demand. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: Are there any female Haskellers?
Hi guys (and I mean it), so, in short, no female haskellers ... Bare one which sent me an email directly, but it looks like she's not ready to come out of the closet yet. Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Are there any female Haskellers?
Hi all, from the names of people on the list it seems that all users here are males. Just out of curiosity are there any female users here, or are we guys only at the moment? Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: Software Deployment and Distribution - WAS Re: CUFP mailing list
Hello Erik, the software I wrote and am about to sell was developed for use by German Hospitals only. It's being used to calculate a departments share of the revenues paid by the insurance companies for a case and needed every 6 months by the hospitals when it enters budget negotiations with the insurance companies. It could for instance not be used by Hospitals outside of Germany. I think it is unlikely that the Hospitals would try to "hack" my application but thanks for the concern. But I do need something in place, something that will check if the hospital is using a licensed version. It is also expected on the customers side otherwise the customer would not even consider using the software but reject it outright. Best regards Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Software Deployment and Distribution - WAS Re: CUFP mailing list
Hello Erik, all right then. I've written a commercial Desktop application in Haskell for the Win32 platform. The one thing missing is Software Copy Protection, ie. a software licensing mechanism. When I google for "Software Copy Protection" I get a lot of results, commercial products themselves, which is fine, but I can't tell which ones are any good or worth their money. I've never seriously done C#, VB or whatever people mainly write Win32 apps in, so I don't know any mailing lista or forums where I could ask this question. This list has pretty much been the only list I used for more than 2 years now. I've never seen a similar issued raised here before so I thought the CUFP mailing list is a better place for this. Can anybody here recommend a good software for this then? I do not want to code it myself and would prefer a ready to use solution, it it's not free that fine too. Best regards Günther Am 22.03.10 22:23, schrieb Erik de Castro Lopo: Günther Schmidt wrote: I have some questions that are related to commercial software development (in Haskell) which I don't think fit well on this list. Really? This is haskell-cafe. If its even tangentially haskell related I'm sure this this list would be fine. According to http://www.haskell.org/haskellwiki/Mailing_Lists haskell-cafe@haskell.org (archives) General Haskell questions; extended discussions. In Simon Peyton Jones' words: "forum in which it's acceptable to ask anything, no matter how naive, and get polite replies." Cheers, Erik ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Zarathustra
Hi Cliff, here is a link which might interest you http://en.wikipedia.org/wiki/Zoroastrianism Love Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] CUFP mailing list
Hi everyone, is there a mailing list for CUFP-lers? I have some questions that are related to commercial software development (in Haskell) which I don't think fit well on this list. Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] more thoughts on "Finally tagless"
Dear Jacques, you are right, I should have done so and will do my best not to repeat this error. Please accept my sincere apologies to Ken and yourself for my negligence, no offense was meant. Best regards Günther Am 09.03.10 03:37, schrieb Jacques Carette: Günther Schmidt wrote: In Olegs haskell implementation he is using classes mainly to model the syntax and instances to use for evaluators / compilers to allow multiple interpretations. When there are 3 authors on a paper (and in the implementation file), it is customary to acknowledge all 3, unless you have personal knowledge that one particular person did the work. In this case, the work was very much joint between Oleg, Ken and I. Jacques ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] more thoughts on "Finally tagless"
Hi all, and Oleg et al in particular. Yeah, subject "Finally Tagless" again, sorry, I'm just not done with it yet. In Olegs haskell implementation he is using classes mainly to model the syntax and instances to use for evaluators / compilers to allow multiple interpretations. I wonder if it'd be possible to do the same without classes using data types instead? Something similar to what Luke Palmer has done here: http://lukepalmer.wordpress.com/2010/01/24/haskell-antipattern-existential-typeclass/ Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Haskell course, training
Hi all, all going well this year I'll be able to invest some money on becoming a better Haskeller. I think I've reached the point where I need some tutoring, so provided I've got money for travel and course fees, and time, where do I get it? I'm not a student so some courses aren't available to me. Günther ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe