Re: Quasi quoting

2010-02-02 Thread Simon Marlow
On 01/02/2010 14:25, Max Bolingbroke wrote: Dominic Orchard and I have come up with a rather radical proposal for a redesign of the syntax. There are two principal options: OPTION 1 (preferred) === Advantages: 1) QuasiQuotes are revealed as they really are - as splices. In my

Re: Quasi quoting

2010-02-02 Thread Sebastian Fischer
Dear Simon, I want to generate data type declarations using quasi quotes and hence support the proposal to allow quasi quotation at declaration level. With respect to syntax, I'd prefer [|blah| ... |] over the current [$blah| ... |] and would also be fine with [blah| ... |]. What is the

Re: Quasi quoting

2010-02-02 Thread Sebastian Fischer
On Feb 1, 2010, at 11:46 PM, Jason Dusek wrote: Wouldn't `(|' and `|)' be safer? I like this suggestion. It avoids conflicts with Template Haskell and list comprehensions. Conor McBride also picked these brackets as idiom brackets in his preprocessor she. [$blah| ... |] could be

question about hsc2hs

2010-02-02 Thread Jose A. Ortega Ruiz
Hi. I'm copying below a question i sent to another list about hsc2hs (and for which i got no response), in the hopes that it will be not be OT here. My apologies if it is! I'm trying to write a simple C binding for statfs(2). Simplifying, writing an hsc file that contains the following snippet:

Re: Quasi quoting

2010-02-02 Thread Max Bolingbroke
(Sorry if you see this twice, Simon - I didn't reply to the list) 2010/2/2 Simon Marlow marlo...@gmail.com: Can you say precisely what it means to be in an Exp context? In a Type context == a HsSpliceTy constructor in the existing GHC AST In an Exp context == a HsSpliceE constructor in the

Re: question about hsc2hs

2010-02-02 Thread Ross Paterson
On Tue, Feb 02, 2010 at 03:51:18PM +0100, Jose A. Ortega Ruiz wrote: [...] The problem is that the size and some of the offsets of the C struct statfs computed by hsc2c are wrong: i'm in a 32bit linux system, and i've checked, using a C program, that sizeof(struct statfs) is 64 (hsc2 is giving

Re: Quasi quoting

2010-02-02 Thread Simon Marlow
On 02/02/2010 15:40, Max Bolingbroke wrote: (Sorry if you see this twice, Simon - I didn't reply to the list) 2010/2/2 Simon Marlowmarlo...@gmail.com: Can you say precisely what it means to be in an Exp context? In a Type context == a HsSpliceTy constructor in the existing GHC AST In an Exp

Re: Quasi quoting

2010-02-02 Thread Isaac Dupree
Max Bolingbroke wrote: ... In this proposal, you can then export t and d functions from Language.Haskell.TH with the type: t :: String - Type d :: String - [Decl] Which parse the provided string as Haskell. This allows existing any uses of Template Haskell to remain *unchanged* (as long as

Re: Quasi quoting

2010-02-02 Thread Max Bolingbroke
2010/2/2 Isaac Dupree m...@isaac.cedarswampstudios.org: I'm concerned in both your proposals, that single-letter names like t and d are common function parameters, thus possibly producing - shadowing warnings for all such functions in modules that happen to use TH - errors, I think, for some

Re[2]: Quasi quoting

2010-02-02 Thread Bulat Ziganshin
Hello Max, Tuesday, February 2, 2010, 7:25:36 PM, you wrote: You can of course choose more expressive names than e and t if you're going to break backcompat anyway, i propose x and xs :D -- Best regards, Bulatmailto:bulat.zigans...@gmail.com

Re: question about hsc2hs

2010-02-02 Thread Jose A. Ortega Ruiz
Ross Paterson r...@soi.city.ac.uk writes: On Tue, Feb 02, 2010 at 03:51:18PM +0100, Jose A. Ortega Ruiz wrote: [...] The problem is that the size and some of the offsets of the C struct statfs computed by hsc2c are wrong: i'm in a 32bit linux system, and i've checked, using a C program, that

Re: Quasi quoting

2010-02-02 Thread Twan van Laarhoven
Max Bolingbroke wrote: 2010/2/2 Isaac Dupree m...@isaac.cedarswampstudios.org: I'm concerned in both your proposals, that single-letter names like t and d are common function parameters, thus possibly producing - shadowing warnings for all such functions in modules that happen to use TH -

Re: Quasi quoting

2010-02-02 Thread Max Bolingbroke
2010/2/2 Twan van Laarhoven twa...@gmail.com:    class Quoted a where        parseQuote :: String - a        -- for performance reasons:        parseQuote' :: Ghc.PackedString - a Great idea! Thinking about it, you can use type classes to dispose of the QuasiQuote record entirely. Instead,

Overlapping Instances + Existentials = Incoherent Instances

2010-02-02 Thread Dan Doel
Greetings, I've actually known about this for a while, but while discussing it, it occurred to me that perhaps it's something I should report to the proper authorities, as I've never seen a discussion of it. But, I thought I'd start here rather than file a bug, since I'm not sure it isn't