Extended deadline: Workshop on Generative Programming (GP2002)
Workshop on Generative Programming 2002 (GP2002) Austin (Texas), April 15, 2002 http://www.cwi.nl/GP2002 (extended) Submission deadline: February 28, 2002 Satelite of the 7th International Conference on Software Reuse (ICSR7) Background -- The goal of generative programming is to replace manual search, adaptation, and assembly of components with the automatic generation of needed components on demand. Generative technology has been in practical use for decades (e.g., compiler development, application generation, automatic configuration management, preprocessing, meta-programming). However, developing new domain-specific languages (DSLs), application generators, and component generators has been extremely hard, as it requires being knowledgeable and experienced both in language design and compiler development. Recent developments such as XML technologies and template meta-programming revived the interest in generative programming by making it more accessible to developers. Objectives -- The workshop aims to bring together practitioners, researchers, academics, and students to discuss the state-of-the-art of generative techniques and their impact on software reuse. The goal is to share experience, consolidate successful techniques, and identify the most promising application areas and open issues for future work. Topics of interest -- * impact of generative techniques on component-based development and software reuse. * assessing risks and benefits of deploying generative techniques; * maintenance of generators. * reuse of generic components, generators, generator components, configuration languages, and other generative programming assets across boundaries of projects and/or organizations. * styles of generative programming (application generators, generators based on XML technologies, template languages (e.g., JSP), template meta-programming, transformational systems, intentional languages, aspects, subjects, etc), particularly their uses and limitations. * generation of code artifacts, such as application logic, UIs, database schemas, and middleware integration. * generation of non-code artifacts such as test cases, documentation, tutorials, and help systems. * capturing configuration knowledge, for example, in DSLs, and extensible languages. * influence on software architecture (e.g., building and customizing frameworks and applying patterns). * testing generic and generative models. * industrial applications of generative technology. Submissions --- Potential participants are asked to submit a two-page position paper detailing their experience with generative techniques, their perspective on one or more of the above topics, and their planned contribution to the workshop. We seek concrete case studies, and potential topics of discussion in order to ground the workshop in real-world issues. Please mail your submission (in PDF or PS) to Joost Visser ([EMAIL PROTECTED]) by February 28, 2002. Important Dates --- * Workshop submission deadline: February 28, 2002 * Notification of acceptance: March 14, 2002 * Workshop at ICSR7: April 15, 2002 Workshop format --- The workshop will aim to foster discussion and interaction rather than presentations. Presentations will serve to introduce a case study, provoke discussion by presenting a controversial point of view, or introduce new points of view. However, all participants will be given a chance to make a short presentation. All accepted position papers will be published on the workshop page prior to the workshop and the participants will be asked to read the papers prior to the workshop. Tentative schedule -- Morning session: * Introductory talk on GP by the organizers. * First block of presentations, each consisting of a 10 minute talk by the author of an accepted paper followed by 5 minutes of answering questions from the audience. The questions are meant only for clarification; discussion is postponed to the afternoon sessions. * Second block of presentations. Afternoon session: * Short invited talk. * Pro-and-contra session where each paper is discussed by two volunteers that defend opposing views. The audience is invited to provide additional arguments. * Open discussion session aimed at identifying and summarizing open issues and topics for future work. Dissemination of results The results of the workshop will be summarized in a workshop report. The workshop report and the position papers will be available form the workshop website after the workshop. Related
Re: Functional design patterns (was: How to get functional software engineering experience?)
[EMAIL PROTECTED] wrote: Joost Visser and I, we worked out a few maybe not so obvious functional programming patterns such as Success By Failure, Role Play, Rewrite Step, Keyhole Operation just to mention a few. By not so obvious I mean that they deal with generic programming rather than functional programming in general. http://www.cs.vu.nl/Strafunski/dp-sf/ We use a certain FORMAT for design patterns, and there is some modest analysis why this format is appropriate. Also, there is some discussion why design patterns would do good for functional programming. This might be interesting in the further process of accumulating design patterns for functional programming. I have added the design pattern description format to the Haskell wiki: http://haskell.org/wiki/wiki?DesignPatternsForFunctionalStrategicProgramming Perhaps it would be interesting to see if some of the CommonHaskellIdioms described on this wiki can be cast into the proposed design pattern format as well. Joost -- http://www.cwi.nl/~jvisser/ ___ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell
Re: Haskell for non-Haskell's sake
Hi Hal, On Saturday 30 August 2003 01:39, Hal Daume III wrote: If you use Haskell for a purpose *other than* one of those listed below, I'd love to hear. I don't need a long report, anything from a simple I do to a paragraph would be fine, and if you want to remain anonymous that's fine, too. Together with Ralf Laemmel I have applied Haskell for processing not only Haskell itself, but also Cobol and Java. See: http://homepages.cwi.nl/~ralf/padl03/ And a quote from the abstract: In a selection of case studies, we demonstrate that typed functional programming in Haskell, augmented with Strafunski's support for generic traversal and external components, is very appropriate for the development of practical language processors. In particular, we discuss using Haskell for Cobol reverse engineering, Java code metrics, and Haskell re-engineering. Then again, we are not using only Haskell, since we resort to external components e.g. for parsing. Regards, Joost -- Dr. ir. Joost Visser | Departamento de Informática phone +351-253-604461 | Universidade do Minho fax+351-253-604471 | mailto:[EMAIL PROTECTED] mobile +351-91-6253618 | http://alfa.di.uminho.pt/~joost.visser ___ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell
Re: Haskell for non-Haskell's sake
Hi Hal and others, We would like to hear your thoughts on the viability of a conference or workshop dedicated to applications of Haskell for non-Haskell purposes. On Saturday 30 August 2003 01:39, Hal Daume III wrote: I'm attempting to get a sense of the topology of the Haskell community. Based on the Haskell Communities Activities reports, it seems that the large majority of people use Haskell for Haskell's sake. This bias seems to exist not only in the Communities Activities reports, but also in the Haskell mailing lists and in the Haskell-related events, such as the Haskell Workshop. One could easily deduce that Haskell is still very much an academic language, of interest to language _designers_ more than to language _users_. However, the reactions to your inquiry about use of Haskell for non-Haskell purposes suggests that a significant group of language _users_ does actually exist, though their voice is not heard too often. We think (hope) there could be room for a Haskell One event, quite a bit more modest than JavaOne, but similarly intended to bring together Haskell Developers. Submissions would be explicitly judged by how practical and how proven the described technology is. Experience reports would be more than welcome. There could be interactive tool-demo's, hands-on lab sessions, a programming contest, etc. If the focus is on applications only (excluding theory, language-design, and anything that is Haskell-for-Haskell's sake), this HaskellOne event could maybe be a satelite to PLI. We are interested to know your thoughts on such an event, and whether the outcome of your poll suggests it could be viable. Regards, Joost Visser João Saraiva PS: If sufficient interest exists, we are willing to contribute to the origanization. -- Dr. ir. Joost Visser | Departamento de Informática phone +351-253-604461 | Universidade do Minho fax+351-253-604471 | mailto:[EMAIL PROTECTED] mobile +351-91-6253618 | http://alfa.di.uminho.pt/~joost.visser ___ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell
[Haskell] GTTSE Summer School: Early registration deadline April 15
This is a reminder that the deadline for early registration for the Summer School on Generative and Transformational Techniques in Software Engineering (GTTSE 2005), to be held in Braga, Portugal, from July 4 to 8, 2005, is: *** Early Registration Deadline: April 15, 2005 *** Online registration can be done via the GTTSE website at: http://www.di.uminho.pt/GTTSE2005 For more details, please consult the website or the call for participation below. -- Dr. ir. Joost Visser | Departamento de Informática phone +351-253-604461 | Universidade do Minho fax+351-253-604471 | mailto:[EMAIL PROTECTED] mobile +351-91-6253618 | http://www.di.uminho.pt/~joost.visser - Summer School on Generative and Transformational Techniques in Software Engineering 4 - 8 July, 2005, Braga, Portugal http://www.di.uminho.pt/GTTSE2005 SCOPE AND FORMAT The summer school brings together PhD students, lecturers, technology presenters, as well as other researchers and practitioners who are interested in the generation and the transformation of programs, data, models, meta-models, and documentation. This concerns many areas of software engineering: software reverse and re-engineering, model-driven approaches, automated software engineering, generic language technology, to name a few. These areas differ with regard to the specific sorts of meta-models (or grammars, schemas, formats etc.) that underly the involved artifacts, and with regard to the specific techniques that are employed for the generation and the transformation of the artifacts. The tutorials are given by renowned representatives of complementary approaches and problem domains. Each tutorial combines foundations, methods, examples, and tool support. The program of the summer school also features invited technology presentations, which present setups for generative and transformational techniques. These presentations complement each other in terms of the chosen application domains, case studies, and the underlying concepts. Furthermore, the program of the school also features a participants workshop. All students of the summer school will be invited to give a presentation about their ongoing work. They will be asked to submit a title and an abstract beforehand. The senior researchers present at the summer school will provide the students with feedback on their presentations. All summer school material will be collected in proceedings that are handed out to the participants. Formal proceedings will be compiled after the summer school, where all contributions are subjected to additional reviewing. The formal proceedings will be published in the Lecture Notes in Computer Science series of Springer. TUTORIALS * Don Batory (The University of Texas at Austin): Feature Oriented Programming * Ira Baxter (Semantic Designs Inc.): Compiling Fast XML reader/writers from DTDs using Program Transformations * Jean Bezivin (INRIA, LINA, University of Nantes): Metamodelling and Model Driven Software Development * Shigeru Chiba (Tokyo Institute of Technology): Program Transformation With Reflective and Aspect-Oriented Programming * Jean-Luc Hainaut (University of Namur): The Transformational Approach to Database Engineering * Zhenjiang Hu (University of Tokyo): Program Optimization and Transformation in Calculational Forms * Erik Meijer (Microsoft, Redmond): Object, relational, and XML mapping * Tom Mens (University of Mons-Hainaut): On the Use of Graph Transformations for Model Refactoring TECHNOLOGY PRESENTATIONS The purpose of the technology presentations is to supplement the theoretical knowledge acquired in the tutorials with practical knowledge of how generative and transformational tool support can be instrumental in solving software engineering problems. Technology presentations can include, but are not limited to demonstration of the features of a single tool. Rather, they include: * Reference to the concepts behind the technology * Application of the technology to a case study of non-trivial scale * Clear statement of benefits and limitations of the technology The participants will have ample opportunity to interact in informal manner with the technology presenters. Confirmed technology presentations: (Note: titles and authors abbreviated) * Mark van den Brand (CWI HvA, The Netherlands) et al.: Applications of the ASF+SDF Meta-Environment * Martin Bravenboer (Utrecht University, The Netherlands) et al.: Domain-specific Language Embedding using Stratego/XT and MetaBorg * Thomas R. Dean (Queen's University, Canada): Applications of Agile Parsing To Web Services * Helena Galhardas (IST Tagus Park, Portugal): Data cleaning and transformation using te AJAX framework * Dirk Heuzeroth (sdm AG, Germany) et al.: A Tool Suite for Invasive Software Composition * Frederic Jouault (UniversitÈ de Nantes, France): Model Transformation and Weaving Tools in the AMMA Platform * Guenter Kniesel (University of Bonn): Refactoring based
[Haskell] ETAPS 2007 - Call for Satellite Events
--- ETAPS 2007: CALL FOR SATELLITE EVENT PROPOSALS deadline: January 20, 2006 --- ETAPS 2007 European Joint Conferences on Theory And Practice of Software March 24 - April 1, 2007 Braga, Portugal http://www.di.uminho.pt/etaps07/ -- ABOUT ETAPS -- The European Joint Conferences on Theory and Practice of Software (ETAPS) is the primary European forum for academic and industrial researchers working on topics relating to Software Science. ETAPS is an annual event which takes place in Europe each spring since 1998. The tenth meeting, ETAPS 2007, will take place March 24 till April 1 2007 in Braga, Portugal, hosted by the University of Minho. The main conferences of ETAPS are: - FOSSACS: Foundations of Software Science and Computation Structures - FASE:Fundamental Approaches to Software Engineering - ESOP:European Symposium on Programming - CC: International Conference on Compiler Construction - TACAS: Tools and Algorithms for the Construction and Analysis of Systems These conferences will take place March 26-30, 2007. -- SATELLITE EVENTS -- The ETAPS 2007 Organizing Committee invites proposals for Satellite Events (workshops, tutorials, etc.) that will complement the main ETAPS conferences. They should fall within the scope of ETAPS. This encompasses all aspects of the system development process, including specification, design, implementation, analysis and improvement, as well as the languages, methodologies and tools which support these activities, covering a spectrum from practically-motivated theory to soundly-based practice. Satellite Events provide an opportunity to discuss and report on emerging research approaches and practical experience relevant to theory and practice of software. ETAPS 2007 Satellite Events will be held immediately before and after the main conferences, on March 24-25 and March 31, and April 1, 2007. -- SUBMISSION OF SATELLITE EVENT PROPOSALS -- Researchers and practitioners wishing to organize Satellite Events are invited to submit proposals in ASCII, PDF or Postscript format by e-mail to the Satellite Events Co-chairs, Luis Barbosa and Joost Visser, mailto:[EMAIL PROTECTED] A proposal should not exceed two pages and should include: - Satellite Event name / acronym - the names and contact information of the organizers - the preferred period: 24-25 March or 31 March-1 April - the duration of the workshop: one-day or two-day event - 120-word description of the workshop topic for later use in publicity material - a brief explanation of the workshop topic and its relevance to ETAPS - a schedule for paper submission, notification of acceptance and final versions (the latter no later than the early registration deadline of February 12, 2007) - expected number of participants - any other relevant information, like event format, invited speakers, publication policy, demo sessions, special space requirements, etc. The proposals will be evaluated by the ETAPS 2007 organizing committee on the basis of their assessed benefit for prospective participants to ETAPS 2007. The titles and brief information about accepted Satellite Events will be included in the ETAPS 2007 web site, call for papers and call for participation. Satellite Events organizers will be responsible for - producing the event's call for papers and call for participations - publicising the event through specialist mailing lists etc. to complement publicity for ETAPS as a whole - hosting and maintaining a web site for the event - reviewing and making acceptance decisions on submitted papers - producing the event proceedings, if any; facilities for printing will be made available by the ETAPS organizers - scheduling workshop activities in consultation with the local organizers Prospective organizers may wish to consult the web pages of previous satellite events as examples: ETAPS 2006: http://www.complang.tuwien.ac.at/etaps06/ ETAPS 2005: http://www.etaps05.inf.ed.ac.uk/ ETAPS 2004: http://www.lsi.upc.es/etaps04/ ETAPS 2003: http://www.mimuw.edu.pl/etaps03/ -- IMPORTANT DATES -- Satellite Event Proposals Deadline: 20 January 2006 Notification of acceptance: 6 February 2006 -- FURTHER INFORMATION AND ENQUIRIES -- http://www.di.uminho.pt/etaps07/ [EMAIL PROTECTED] Luis Barbosa Joost Visser ETAPS 2007 Satellite Events Co-chairs [EMAIL PROTECTED], [EMAIL PROTECTED] -- THE HOST CITY -- Braga, capital of the Minho province, is an ancient city in the heart of the green and fertile region known as the Costa Verde. The region is known for its attractiveness in terms of climate, gastronomy, prices, and culture. The region is served by the Oporto international airport, providing direct flights to many major European cities. Braga is known for its barroque
[Haskell] Re: [Haskell-cafe] Strafunski
Hi Chris, Changes in the libraries of GHC have broken Strafunski compatibility in the past. I have not upgraded to GHC 6.5 myself so I'm not sure if this is the case again. Which versions of DrIFT and Strafunski are you using? Based on what you write, it seems new instances for Typeable have been added to the libs (possibly using deriving), which means some of your own instances are now redundant. You'll have to remove them (which will then break compatibility of your code with 6.4.1, sigh). Alternatively, you may consider to switch from the drift-default mode of Strafunski to the deriving mode. This means that you will be relying on the Typeable+Data classes rather than on the Typeable +Term classes. You make the switch simply by changing the search path, all your strategic functions should work like before. I guess GHC 6.5 supports deriving both for Typeable and Data (personally, I prefer to use DriFT rather than the deriving clause, because it gives me a bit more control over visibility of instances). For details, see the section Supported models of functional strategies in the README file of StrategyLib. Regards, Joost -- Dr. ir. Joost Visser | Departamento de Informática phone +351-253-604461 | Universidade do Minho fax+351-253-604471 | mailto:[EMAIL PROTECTED] mobile +351-91-6253618 | http://www.di.uminho.pt/~joost.visser On Apr 3, 2006, at 3:41 PM, Christopher Brown wrote: Hi, I am trying to use Strafunski with GHC 6.5 and was wondering if someone could help me. I have all the instances for Term and Typeable defined for my data types, but when I try to compile with GHC 6.5 I get lots of overlapping instance errors. In particular, it seems the instances I am using (generated by DrIFT) are clashing with the ones in Data.Typeable. Is there a way I can fix this? Also I have heard that it is possible to add deriving Typeable to each data type and I don't need to use the instances I have created. However, now it complains that it can't find instances for Term - but I can't derive from Term. Does anyone have any ideas how I can get Strafunski working with GHC 6.5? Thanks. Chris. Christopher Brown PhD Student, University of Kent. http://www.cs.kent.ac.uk/people/rpg/cmb21/ [EMAIL PROTECTED] ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
[Haskell] GTTSE 2007 --- First call for participation (02-07 July 2007)
GTTSE 2007, 02-07 July, 2007, Braga, Portugal 2nd International Summer School on Generative and Transformational Techniques in Software Engineering http://www.di.uminho.pt/GTTSE2007 SCOPE AND FORMAT The summer school brings together PhD students, lecturers, technology presenters, as well as other researchers and practitioners who are interested in the generation and the transformation of programs, data, models, meta-models, and documentation. This concerns many areas of software engineering: software reverse and re-engineering, model-driven approaches, automated software engineering, generic language technology, to name a few. These areas differ with regard to the specific sorts of meta-models (or grammars, schemas, formats etc.) that underlie the involved artifacts, and with regard to the specific techniques that are employed for the generation and the transformation of the artifacts. The tutorials are given by renowned representatives of complementary approaches and problem domains. Each tutorial combines foundations, methods, examples, and tool support. The program of the summer school also features invited technology presentations, which present setups for generative and transformational techniques. These presentations complement each other in terms of the chosen application domains, case studies, and the underlying concepts. The program of the school also features a participants workshop. All summer school material will be collected in proceedings that are handed out to the participants. Formal proceedings will be compiled after the summer school, where all contributions are subjected to additional reviewing. The formal proceedings of the first instance of the summer school (2005) are published as volume 4143 in the Lecture Notes in Computer Science series of Springer-Verlag. SUMMER SCHOOL CHAIRS * Ralf Lämmel (Program Chair), Microsoft Corp., Redmond, USA. * João Saraiva (Organizing Chair), Universidade do Minho, Braga, Portugal. * Joost Visser (Program Chair), Universidade do Minho, Braga, Portugal. ADDITIONAL INFORMATION For additional information on the program, venue, and other details of the summer school, please consult the web page: http://www.di.uminho.pt/GTTSE2007 Note that registration for the summer school will open in January 2007. Before that time, those who wish to be notified personally when registration opens are welcome to send an expression of interest to gttse2007 at di.uminho.pt. ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
Re: [Haskell-cafe] Simple GADT parser for the eval example
a :: Term (Int,Bool)) ...but how does a person fix this to work in the more general case? Or is this even the right way to build a parser for the GADT evaluator example? Notice the repetition needed: the If, Fst, and Snd defintions have to be copied to all three instances. Also, feel free to comment on this example, and the fact that it will evaluate with no problems. static_vs_laziness = eval (my_read (EIf (EIsZ (ELit 0)) (ELit 9) (EIsZ (ELit 42)))::Term Int) Thanks, Greg Buchholz ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe -- Dr. ir. Joost Visser | Departamento de Informática phone +351-253-604461 | Universidade do Minho fax+351-253-604471 | mailto:[EMAIL PROTECTED] mobile +351-91-6253618 | http://www.di.uminho.pt/~joost.visser GadtParser.hs Description: Binary data ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Strafunski
Hi Chris, Changes in the libraries of GHC have broken Strafunski compatibility in the past. I have not upgraded to GHC 6.5 myself so I'm not sure if this is the case again. Which versions of DrIFT and Strafunski are you using? Based on what you write, it seems new instances for Typeable have been added to the libs (possibly using deriving), which means some of your own instances are now redundant. You'll have to remove them (which will then break compatibility of your code with 6.4.1, sigh). Alternatively, you may consider to switch from the drift-default mode of Strafunski to the deriving mode. This means that you will be relying on the Typeable+Data classes rather than on the Typeable +Term classes. You make the switch simply by changing the search path, all your strategic functions should work like before. I guess GHC 6.5 supports deriving both for Typeable and Data (personally, I prefer to use DriFT rather than the deriving clause, because it gives me a bit more control over visibility of instances). For details, see the section Supported models of functional strategies in the README file of StrategyLib. Regards, Joost -- Dr. ir. Joost Visser | Departamento de Informática phone +351-253-604461 | Universidade do Minho fax+351-253-604471 | mailto:[EMAIL PROTECTED] mobile +351-91-6253618 | http://www.di.uminho.pt/~joost.visser On Apr 3, 2006, at 3:41 PM, Christopher Brown wrote: Hi, I am trying to use Strafunski with GHC 6.5 and was wondering if someone could help me. I have all the instances for Term and Typeable defined for my data types, but when I try to compile with GHC 6.5 I get lots of overlapping instance errors. In particular, it seems the instances I am using (generated by DrIFT) are clashing with the ones in Data.Typeable. Is there a way I can fix this? Also I have heard that it is possible to add deriving Typeable to each data type and I don't need to use the instances I have created. However, now it complains that it can't find instances for Term - but I can't derive from Term. Does anyone have any ideas how I can get Strafunski working with GHC 6.5? Thanks. Chris. Christopher Brown PhD Student, University of Kent. http://www.cs.kent.ac.uk/people/rpg/cmb21/ [EMAIL PROTECTED] ___ 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