Title: DSL09 Kickoff
1DSL09 Kickoff!
- Walid Mohamed Taha
- Rice University
2Overview of DSL09 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 DSL09 Blog
3Overview of DSL09 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 DSL09 Blog
4What is a DSL?
5Problem
- General Purpose Programming Languages Research
- Goal One language to rule them all
- Result FORTRAN, LISP, Scheme, ML, COBOL, C,
C, Java, C, Python, Perl, ...
6Solution
- The domain-specific revolution
- Key idea
- One type of problem, or domain
- One domain-specific language, or DSL
7Examples from my research
- RIDL Reactive Systems
- PhyDL Physical modeling
- VPP Hardware description
- Uccello Visual programming
8The Killer Example MS Excel
- Taught in high school
- 55M users
9What is a DSL?
- A definition
- Why DSLs are here to stay
- How DSLs will transform our lives
- Questions for the week
10A Definition
11(No Transcript)
12Common examples mislead us
- Lex/yacc parsing
- SQL, Datalog data base management
- LaTeX, HTML document markup
- JavaScript Client-side applications
13Non-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
14Key insight
- DSL Jargon Formal Meaning
15Definition of a DSL
- A domain is well defined and central
- Notation is clear
- Informal meaning is clear
- Formal meaning is clear and realized
16Domain is clear
17How to define a domain
- Computer-based approach
- Example FSM, NP, Turing, etc ...
- User-based approach
- More meaningful to users
- More problem-oriented
18Notation is clear
19Informal meaning is clear
20Formal meaning is clear
- A association exists from notation to
- a mathematical expression, or ...
?
21Formal meaning is clear
- A association exists from notation to
- a mathematical expression, or
- a program
22Why DSLs are here to stay
23Codification and humanity
- Codification is as ancient as we are
- Language is essential for communication
24Codification is iterative
- Pictography -)
- Calligraphy
- Spelling
- Grammar
25Bigger ideas mean new patterns
26DSLs will transform our lives
27How 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
28Cooking Recipes are algorithms
- Takes time
- Significant IP
- Mechanizable?
29Insurance and Privacy Policies
- Does it say what I understand?
- Is this covered?
30Self Expression and the Arts
- Traditional production is very costly
- New tools, new media and changing the landscape
31Initial 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?
32We want your input!
- Tell us how close What is a DSL? gets to
your views - Suggest additional questions for the panel
discussion
33(No Transcript)
34Overview of DSL09 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
35Program 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)
36(No Transcript)
37Overview of DSL09 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 DSL09 Blog
38Meeting Agenda
39Discussants
- 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
40DSL09.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 youve given it at the conference
- Pose or answer panel questions
- To answer questions you get at the conference
- Share recollections about Peter Landin