RE: [Haskell-cafe] Haskell overview
There are mirror sites. Here is the one I know http://citeseer.ist.psu.edu/ Regards, -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of [EMAIL PROTECTED] Sent: Friday, March 12, 2004 6:19 AM To: [EMAIL PROTECTED] Subject: AW: [Haskell-cafe] Haskell overview and for some days now Markus Schnell > -Ursprüngliche Nachricht- > Von: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] Im Auftrag von Gour > Gesendet: Freitag, 12. März 2004 14:53 > An: [EMAIL PROTECTED] > Betreff: Re: [Haskell-cafe] Haskell overview > > > MR K P SCHUPKE ([EMAIL PROTECTED]) wrote: > > > Is it just me or is "citeseer.nj.nec.com" down? > > Same here :-( > > Sincerely, > Gour > > -- > Gour > [EMAIL PROTECTED] > Registered Linux User #278493 > > ___ > Haskell-Cafe mailing list > [EMAIL PROTECTED] > http://www.haskell.org/mailman/listinfo/haskell-cafe > ___ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: Polymorphic lists...
Just running through the implementation of some of the functions I mentioned, with the newtyped tuple version. Thought the run-time indexed code looked neat so I thought i'd post it: First the definition: newtype RNil = RNil () newtype RCons attribute relation = RCons (attribute,relation) class Relation relation instance Relation (RNil ()) instance Relation relation => Relation (RCons attribute relation) emptyRM :: RNil emptyRM = RNil () now the code: class Relation r => IndexRM' r a where indexRM' :: r -> Int -> Maybe a instance IndexRM' RNil a where indexRM' _ _ = Nothing instance IndexRM' r a => IndexRM' (RCons a r) a where indexRM' (RCons (a,_)) 0 = Just a indexRM' (RCons (_,r)) n = indexRM' r (n-1) instance IndexRM' r a => IndexRM' (RCons b r) a where indexRM' (RCons (_,_)) 0 = Nothing indexRM' (RCons (_,r)) n = indexRM' r (n-1) This finds the Nth value where 'n' is a normal integer. The last block repeats twice because one matches the case where the return type is the same, and the other is for then the return type and indexed value differ. This is why the return type is Maybe. With the compile time natural number lookup, the program will fail to compile if the types differ, but with the runtime lookup the type and the success cannot be determined (hence no functional dependancy) and returning Maybe makes the most sense. Regards, Keean. ___ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe
AW: [Haskell-cafe] Haskell overview
and for some days now Markus Schnell > -Ursprüngliche Nachricht- > Von: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] Im Auftrag von Gour > Gesendet: Freitag, 12. März 2004 14:53 > An: [EMAIL PROTECTED] > Betreff: Re: [Haskell-cafe] Haskell overview > > > MR K P SCHUPKE ([EMAIL PROTECTED]) wrote: > > > Is it just me or is "citeseer.nj.nec.com" down? > > Same here :-( > > Sincerely, > Gour > > -- > Gour > [EMAIL PROTECTED] > Registered Linux User #278493 > > ___ > Haskell-Cafe mailing list > [EMAIL PROTECTED] > http://www.haskell.org/mailman/listinfo/haskell-cafe > ___ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] citeseer
MR K P SCHUPKE <[EMAIL PROTECTED]> writes: > Is it just me or is "citeseer.nj.nec.com" down? Citeseer appears to have moved to http://citeseer.ist.psu.edu/ ___ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Haskell overview
MR K P SCHUPKE ([EMAIL PROTECTED]) wrote: > Is it just me or is "citeseer.nj.nec.com" down? Same here :-( Sincerely, Gour -- Gour [EMAIL PROTECTED] Registered Linux User #278493 ___ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Haskell overview
Is it just me or is "citeseer.nj.nec.com" down? Keean. ___ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Haskell overview
> A colleague with a mathematics and Lisp background is wanting to learn > more about Haskell. The books he's looked at concentrate more on building > up from the basics and getting the syntax right, etc., whereas really he's > looking more of a top-down view that makes Haskell's features and behavior > clear and relates them to category theory, etc. Would anyone be able to > suggest some good references? > >-- Mark For lispers, I like to point out this sentence of section 6.4 of the Haskell 98 Report: Haskell provides several kinds of numbers; the numeric types and the operations upon them have been heavily influenced by Common Lisp and Scheme. For mathematicians, I'd recommend the first 5 pages of: Calculating Functional Programs, Jeremy Gibbons, 2002 http://web.comlab.ox.ac.uk/oucl/work/jeremy.gibbons/publications/index.html# calculatingThen I'd mention the Acid Rain Theorem, Fusion Theorem, Wadler's _Theorems for Free!_. When I'd show some exemplary fp programs: Bridging the Algorithm Gap: A Linear-Time Functional Program for Paragraph Formatting. Oege de Moor and Jeremy Gibbons, 1999 http://web.comlab.ox.ac.uk/oucl/work/jeremy.gibbons/publications/index.html# para Financial Contracts: An Adventure in Financial Engineering, 2000 Simon Peyton Jones, Jean-Marc Eber, and Julian Seward http://www.lexifi.com/resources.html#paper Functional Specification of JPEG Decompression, and an Implementation for Free, Jeroen Fokker, 1995 http://citeseer.nj.nec.com/72092.html Modeling Web Interactions, Paul Graunke, Robert Bruce Findler, Shriram Krishnamurthi, Matthias Felleisen, 2003 http://citeseer.nj.nec.com/graunke03modeling.html Haskell Server Pages Functional Programming and the Battle for the Middle Tier, Erik Meijer, Dannyy van Velzen, 2000 http://citeseer.nj.nec.com/318262.html Writing High-Performance Server Applications in Haskell, Case Study: A Haskell Web Server, Simon Marlow, 2000 http://www.haskell.org/~simonmar/bib.html (about the 4th one down) And then, the more introductory material: Why Functional Programming Matters, John Hughes http://www.cs.chalmers.se/~rjmh/Papers/whyfp.html and here's a summary of the paper: http://www.cs.auckland.ac.nz/~j-hamer/360/why-fp-matters.html Section 3.1.3 of SICP: http://mitpress.mit.edu/sicp/ Why no one uses functional languages, Philip Wadler, 1998 http://citeseer.nj.nec.com/wadler98why.html here's an old, but still relevant summary of some issues keeping fp from taking over the world: http://www.cs.colorado.edu/~zorn/cs5535/Fall-1997/haskell-summary.html Some general links: http://haskell.readscheme.org/ http://www.haskell.org Hope this isn't too overwhelming, but it was an opportunity for me to gather my thoughts. Enjoy, John Atwood ___ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Passing types as arguments
You can pattern match on types - as I have been having much fun with recently ... you use multi-parameter type classes (with optional functional dependancies) to match types. Regards, Keean. ___ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Passing types as arguments
We pass values as proxies for types extensively in the "Scrap your boilerplate" scheme. The paper is on my home page. The 'typeOf' function is a good example. Passing types as arguments to functions is the main idea behind generic programming, intentional programming, polytypic programming, etc. Information can be found in papers of Simon Peyton Jones, Ralf Hinze, Andres Loh, myself, Patrik Jansson, and many other people. I have links to many of these people on my homepage: http://www.cs.uu.nl/~johanj/ -- Johan | -Original Message- | From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of | [EMAIL PROTECTED] | Sent: 12 March 2004 03:50 | To: [EMAIL PROTECTED] | Subject: [Haskell-cafe] Passing types as arguments | | G'day everyone. | | Some time ago a suggestion came up about passing types as arguments | to functions: | | http://www.haskell.org/pipermail/haskell/2003-June/012184.html | | As a matter of curiosity, the topic has come up again on the wiki: | | http://haskell.org/hawiki/StudyGroup/GraphExamplesInHaskell/WhySum3 | | For this example, we don't just want to pass types, we also want to | pattern match on them. | | I'm curious if anyone else has put any thought to this idea. Is it just | a syntax issue, or are there bad interactions with other parts of the | type system? | | Cheers, | Andrew Bromage | ___ | Haskell-Cafe mailing list | [EMAIL PROTECTED] | http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe
RE: [Haskell-cafe] Passing types as arguments
We pass values as proxies for types extensively in the "Scrap your boilerplate" scheme. The paper is on my home page. The 'typeOf' function is a good example. Part II coming up shortly. Simon | -Original Message- | From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of | [EMAIL PROTECTED] | Sent: 12 March 2004 03:50 | To: [EMAIL PROTECTED] | Subject: [Haskell-cafe] Passing types as arguments | | G'day everyone. | | Some time ago a suggestion came up about passing types as arguments | to functions: | | http://www.haskell.org/pipermail/haskell/2003-June/012184.html | | As a matter of curiosity, the topic has come up again on the wiki: | | http://haskell.org/hawiki/StudyGroup/GraphExamplesInHaskell/WhySum3 | | For this example, we don't just want to pass types, we also want to | pattern match on them. | | I'm curious if anyone else has put any thought to this idea. Is it just | a syntax issue, or are there bad interactions with other parts of the | type system? | | Cheers, | Andrew Bromage | ___ | Haskell-Cafe mailing list | [EMAIL PROTECTED] | http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe