
Hello Haskell, 1) where can i find articles from Estonia conference? 2) they all say that GADT is great, but i personally don't "feel" GADTs. can anyone write a paper about it for beginners like me, or may be just collect examples of using GADT in real programs? -- Best regards, Bulat mailto:bulatz@HotPOP.com

1) where can i find articles from Estonia conference? There were several conferences in Estonia including TFP, ICFP and Haskell Workshop. Go to http://www.cs.ioc.ee/tfp-icfp-gpce05/, look at the program, type in the title of the talk and most of the time google will give you a copy of the paper.
2) they all say that GADT is great, but i personally don't "feel" GADTs. can anyone write a paper about it for beginners like me, or may be just collect examples of using GADT in real programs? They were not all about GADT's, but there were a few about them. The talk on Yampa was probably the most introductory and accessible GADT talk I saw. (http://portal.acm.org/citation.cfm?id=1086365.1086374 , http://www.cs.nott.ac.uk/~nhn/Publications/icfp2005.pdf)
Thanks Neil

Hi Bulat,
2) they all say that GADT is great, but i personally don't "feel" GADTs. can anyone write a paper about it for beginners like me, or may be just collect examples of using GADT in real programs?
I wrote a book chapter on GADTs a while ago, called "Fun with phantom types", see http://www.informatik.uni-bonn.de/~ralf/publications.html#B4 It's not aimed at beginners though. [Furthermore, the syntax for GADTs is a bit different.] Cheers, Ralf

Hello Ralf, Saturday, October 15, 2005, 9:00:53 PM, you wrote: RH> I wrote a book chapter on GADTs a while ago, called "Fun with RH> phantom types", see RH> http://www.informatik.uni-bonn.de/~ralf/publications.html#B4 thank you! i seen several articles about phantom types, including yours, but just don't known that it is the same thing :) -- Best regards, Bulat mailto:bulatz@HotPOP.com

On Sat, Oct 15, 2005 at 10:46:11AM +0400, Bulat Ziganshin wrote:
2) they all say that GADT is great, but i personally don't "feel" GADTs. can anyone write a paper about it for beginners like me, or may be just collect examples of using GADT in real programs?
If you want a somewhat brain-twisting example, you could check out darcs get http://abridgegame.org/darcs-patch-theory which uses GADTs and phantom types to verify the correctness of patch commutation code. It's not a simple example by any stretch of the imagination, but I believe it's practical, allowing us to catch many very-easy-to-introduce bugs. You'd want to start reading the code with Patchy, and then maybe move to PrimPatch. Note that we pretty *only* use GADTs with phantom and existential types. The plan is to move all of darcs code over to use this scheme (perhaps with cpp macros to allow darcs to compile on older versions of ghc). As we've worked on this code, it seems like the solution to almost every problem we've run into has been "define a new GADT". -- David Roundy http://www.darcs.net

Hello David, Saturday, October 15, 2005, 9:38:58 PM, you wrote: DR> darcs get http://abridgegame.org/darcs-patch-theory Invalid repository: http://abridgegame.org/darcs-patch-theory darcs failed: Failed to download URL http://abridgegame.org/darcs-patch-theory/_darcs/inventory libcurl: HTTP error (404?) btw, from where yourself studied what is GADT and how it can be used? -- Best regards, Bulat mailto:bulatz@HotPOP.com

On 10/16/05, Bulat Ziganshin
DR> darcs get http://abridgegame.org/darcs-patch-theory
Invalid repository: http://abridgegame.org/darcs-patch-theory [...]
The link didn't work for me either, but this is what you're looking for: http://www.abridgegame.org/repos/darcs/darcs-patch-theory/theory/ -Peter

On Sun, Oct 16, 2005 at 12:48:28PM +0400, Bulat Ziganshin wrote:
btw, from where yourself studied what is GADT and how it can be used?
I read Simons' paper on GADTs and didn't understand from that how it could be used for anything other than ASTs and interpereters. Most of what I know about GADTs I learned at ICFP from various talks and moreso from asking questions of people who knew more about them than we did. And lots of experimentation. We (myself, Igloo and Heffalump) spent much of the second half of the conference experimenting with GADTs and asking for help when we got stuck. In some ways they're hard to use (especially when trying to enforce weird type constraints), but in most other ways they're very simple, which is what makes them so beautiful. -- David Roundy http://www.darcs.net
participants (5)
-
Bulat Ziganshin
-
David Roundy
-
Neil Mitchell
-
Peter Scott
-
Ralf Hinze