From visser at cs.uu.nl Wed Jun 14 10:29:46 2006 From: visser at cs.uu.nl (Eelco Visser) Date: Wed Jun 14 10:21:55 2006 Subject: [Template-haskell] CFP: Partial Evaluation and Program Manipulation (PEPM'07) Message-ID: <1150295386.3364.40.camel@stratego.cs.uu.nl> ----------------------------------------------------------------------- Call For Papers ACM SIGPLAN 2007 Workshop on Partial Evaluation and Program Manipulation (PEPM'07) Nice, France, January 15-16, 2007 (Co-located with POPL 2007) http://www.program-transformation.org/PEPM07 ----------------------------------------------------------------------- The PEPM Symposium/Workshop series aims to bring together researchers and practitioners working in the areas of program manipulation, partial evaluation, and program generation. PEPM focuses on techniques, theory, tools, and applications of analysis and manipulation of programs. The 2007 PEPM workshop will be based on a broad interpretation of semantics-based program manipulation and continue last year's successful effort to expand the scope of PEPM significantly beyond the traditionally covered areas of partial evaluation and specialization and include practical applications of program transformations such as refactoring tools, and practical implementation techniques such as rule-based transformation systems. In addition, the scope of PEPM covers manipulation and transformations of program and system representations such as structural and semantic models that occur in the context of model-driven development. In order to reach out to practitioners, a separate category of tool demonstration papers will be solicited. ----------------------------------------------------------------------- Topics of interest for PEPM'07 include, but are not limited to: * Program and model manipulation techniques such as transformations driven by rules, patterns, or analyses, partial evaluation, specialization, slicing, symbolic execution, refactoring, aspect weaving, decompilation, and obfuscation. * Program analysis techniques that are used to drive program/model manipulation such as abstract interpretation, static analysis, binding-time analysis, dynamic analysis, constraint solving, and type systems. * Analysis and transformation for programs/models with advanced features such as objects, generics, ownership types, aspects, reflection, XML type systems, component frameworks, and middleware. * Techniques that treat programs/models as data objects including meta-programming, generative programming, staged computation, and model-driven program generation and transformation. * Application of the above techniques including experimental studies, engineering needed for scalability, and benchmarking. Examples of application domains include legacy program understanding and transformation, domain-specific language implementations, scientific computing, middleware frameworks and infrastructure needed for distributed and web-based applications. We especially encourage papers that break new ground including descriptions of how program/model manipulation tools can be integrated into realistic software development processes, descriptions of robust tools capable of effectively handling realistic applications, and new areas of application such as rapidly evolving systems, distributed and webbased programming including middleware manipulation, model-driven development, and on-the-fly program adaptation driven by run-time or statistical analysis. ----------------------------------------------------------------------- Submission Categories, Guidelines, and Proceedings Regular Research Papers must not exceed 10 pages in ACM Proceedings style. Tool demonstration papers must not exceed 4 pages in ACM Proceedings style, and authors will be expected to present a live demonstration of the described tool at the workshop. Suggested topics, evaluation criteria, and writing guidelines for both research tool demonstration papers will be made available on the PEPM'07 Web-site. Papers should be submitted electronically via the workshop web site. We plan to publish the workshop proceedings in the ACM Digital Library (approval pending) and selected papers will be invited for a journal special issue dedicated to PEPM'07. ----------------------------------------------------------------------- Important Dates * Abstracts due: October 18, 2006 * Submission: October 20, 2006 * Notification: December 1, 2006 * Camera-ready: December 18, 2006 * Workshop: January 15-16, 2007 ----------------------------------------------------------------------- Program Chairs: * G. Ramalingam (IBM Research, Bangalore) * Eelco Visser (Utrecht University, The Netherlands) Program Committee Members (under construction): * Ras Bodik (University of California, Berkeley, USA) * Albert Cohen (INRIA, France) * Jim Cordy (Queen's University, Canada) * Martin Erwig (Oregon State University, USA) * Bernd Fischer (University of Southampton, UK) * John Hatcliff (Kansas State University, USA) * Jan Heering (CWI, The Netherlands) * Dan Grossman (University of Washington, USA) * Annie Liu (State University of New York at Stony Brook, USA) * Jacques Noy? (?cole des Mines de Nantes/INRIA, France) * German Puebla (Technical University of Madrid, Spain) * Peter Sestoft (Royal Veterinary and Agricultural University, Denmark) * Yannis Smaragdakis (Georgia Tech, Atlanta, USA) * Walid Taha (Rice University, Houston, USA) ----------------------------------------------------------------------- From frederik at a5.repetae.net Wed Jun 14 13:46:33 2006 From: frederik at a5.repetae.net (Frederik Eaton) Date: Wed Jun 14 13:38:25 2006 Subject: [Template-haskell] splices in type signatures Message-ID: <20060614174633.GR26846@a5.repetae.net> Hello, Is it possible to have a TH splice in a type signature? It seems to generate a parse error, but I thought there might be another syntax that I'm not aware of. Thanks, Frederik -- http://ofb.net/~frederik/ From bulat.ziganshin at gmail.com Wed Jun 14 15:48:42 2006 From: bulat.ziganshin at gmail.com (Bulat Ziganshin) Date: Wed Jun 14 15:43:28 2006 Subject: [Template-haskell] splices in type signatures In-Reply-To: <20060614174633.GR26846@a5.repetae.net> References: <20060614174633.GR26846@a5.repetae.net> Message-ID: <287602859.20060614234842@gmail.com> Hello Frederik, Wednesday, June 14, 2006, 9:46:33 PM, you wrote: > Is it possible to have a TH splice in a type signature? It seems to > generate a parse error, but I thought there might be another syntax > that I'm not aware of. Thanks, the following straightforward code don't work f :: $( ''Int ) f = 1 - i think because ghc still has serious limitations on the places where splicing can occur but you can emulate such behavior, it just needs more work. look at the following program: {-# OPTIONS_GHC -cpp -fth -fglasgow-exts #-} $([d| f :: Int f = 1 |]) main = print f it compiles and works ok. [d|...|] here generates list containing two declaration statements, where first matches to the "SigD Name Type" alternative in Dec type. as the result, you can substitute this Type with what you want (Integer here): {-# OPTIONS_GHC -cpp -fth -fglasgow-exts #-} module Th1 where import Language.Haskell.TH generate = do [sig,def] <- [d| f :: Int f = 10 |] let (SigD name _) = sig return [SigD name (ConT ''Integer), def] and then use it: {-# OPTIONS_GHC -cpp -fth -fglasgow-exts #-} import Th1 $(generate) main = print (f^40) i've also attached example of using this technique to deriving Show instances -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com -------------- next part -------------- A non-text attachment was scrubbed... Name: derive.hs Type: application/octet-stream Size: 1850 bytes Desc: not available Url : http://www.haskell.org//pipermail/template-haskell/attachments/20060614/d9ff2e08/derive.obj -------------- next part -------------- A non-text attachment was scrubbed... Name: derive-test.hs Type: application/octet-stream Size: 173 bytes Desc: not available Url : http://www.haskell.org//pipermail/template-haskell/attachments/20060614/d9ff2e08/derive-test.obj From simonpj at microsoft.com Thu Jun 15 03:04:21 2006 From: simonpj at microsoft.com (Simon Peyton-Jones) Date: Thu Jun 15 02:56:12 2006 Subject: [Template-haskell] splices in type signatures In-Reply-To: <20060614174633.GR26846@a5.repetae.net> References: <20060614174633.GR26846@a5.repetae.net> Message-ID: <036EAC76E7F5EC4996A3B3C3657D411605B5E47D@EUR-MSG-21.europe.corp.microsoft.com> It was my plan to allow this, so you could write f :: Int -> $(h x) but it turned out to be awkward to implement it, and I never did. So far anyway. Simon | -----Original Message----- | From: template-haskell-bounces@haskell.org [mailto:template-haskell-bounces@haskell.org] On Behalf | Of Frederik Eaton | Sent: 14 June 2006 18:47 | To: template-haskell@haskell.org | Subject: [Template-haskell] splices in type signatures | | Hello, | | Is it possible to have a TH splice in a type signature? It seems to | generate a parse error, but I thought there might be another syntax | that I'm not aware of. Thanks, | | Frederik | | -- | http://ofb.net/~frederik/ | _______________________________________________ | template-haskell mailing list | template-haskell@haskell.org | http://www.haskell.org/mailman/listinfo/template-haskell