400 likes | 654 Views
DSL’09 Kickoff!. Walid Mohamed Taha Rice University. Overview of DSL’09 Kickoff. What is a DSL? Challenge: Can we find “our GCD” Questions for the panel (Friday) Program committee report Overview of meeting agenda Discussants The DSL’09 Blog. Overview of DSL’09 Kickoff. What is a DSL?
E N D
DSL’09 Kickoff! Walid Mohamed Taha Rice University
Overview of DSL’09 Kickoff • What is a DSL? • Challenge: Can we find “our GCD” • Questions for the panel (Friday) • Program committee report • Overview of meeting agenda • Discussants • The DSL’09 Blog
Overview of DSL’09 Kickoff • What is a DSL? • Challenge: Can we find “our GCD” • Questions for the panel (Friday) • Program committee report • Overview of meeting agenda • Discussants • The DSL’09 Blog
Problem • General Purpose Programming Languages Research • Goal: “One language to rule them all” • Result: FORTRAN, LISP, Scheme, ML, COBOL, C, C++, Java, C#, Python, Perl, ...
Solution • The “domain-specific” revolution • Key idea: • One type of problem, or “domain” • One “domain-specific” language, or DSL
Examples from my research • RIDL Reactive Systems • PhyDL Physical modeling • VPP Hardware description • Uccello Visual programming
The “Killer Example”: MS Excel • Taught in high school • 55M users
What is a DSL? • A definition • Why DSLs are here to stay • How DSLs will transform our lives • Questions for the week
Common examples mislead us • Lex/yacc: parsing • SQL, Datalog: data base management • LaTeX, HTML: document markup • JavaScript: Client-side applications
Non-definitions • A DSL is a “little language” • A DSL is not a general purpose • A DSL is for novices • A DSL is not Turing complete
Key insight DSL = Jargon + Formal Meaning
Definition of a DSL • A domain is well defined and central • Notation is clear • Informal meaning is clear • Formal meaning is clear and realized
How to define a domain • Computer-based approach • Example: FSM, NP, Turing, etc ... • User-based approach • More meaningful to users • More problem-oriented
Formal meaning is clear • A association exists from notation to • a mathematical expression, or ... = ?
Formal meaning is clear • A association exists from notation to • a mathematical expression, or • a program =
Codification and humanity • Codification is as ancient as we are • Language is essential for communication
Codification is iterative • Pictography :-) • Calligraphy • Spelling • Grammar
How DSLs helps us • Is the main benefit of DSLs performance? • Focus of work on yacc, SQL, data log • Green concern: reducing pollution • or user (“programmer”) productivity? • Harder to quantify, but is often the real win
Cooking: Recipes are algorithms • Takes time • Significant “IP” • Mechanizable?
Insurance and Privacy Policies • Does it say what I understand? • Is this covered?
Self Expression and the Arts • Traditional production is very costly • New tools, new media and changing the landscape
Initial set of questions • What are the research priorities in this areas? • What are the key technical challenges? • What are the core tools available for work in this area? • How does a practitioner go about building a DSL today? • Should there be a DSL'10?
We want your input! Tell us how close “What is a DSL?” gets to your views Suggest additional questions for the panel discussion
Overview of DSL’09 Kickoff • What is a DSL? • Challenge: Can we find “our GCD” • Questions for the panel (Friday) • Program committee report • Overview of meeting agenda • Discussants • Blog
Program Committee Report • Submissions: 48. Selected: 18. • Acceptance rate: 38% • Almost submissions all got four reviews • Categories: • Case studies (most popular) • Tools and methods (second most popular) • Semantics (small number)
Overview of DSL’09 Kickoff • What is a DSL? • Challenge: Can we find “our GCD” • Questions for the panel (Friday) • Program committee report • Overview of meeting agenda • Discussants • The DSL’09 Blog
Discussants This is new, intended to encourage collaboration: • Talk format • 25 minutes for speaker to present work • 5 minutes for discussant to comment on work • 10 minutes for open discussions • Suggestions for discussants • Several already posted on blog. In addition, • Consider whether paper addresses a panel questions
DSL09.blogspot.com Also new, intended to encourage collaboration :) Use it to: • Keep up with conference, now and afterwards • Tell the world what you think a DSL is! • Post your discussant summary • Do this after you’ve given it at the conference • Pose or answer panel questions • To answer questions you get at the conference • Share recollections about Peter Landin