Download presentation
Presentation is loading. Please wait.
Published byJaime Masden Modified over 9 years ago
1
DSL’09 Kickoff! Walid Mohamed Taha Rice University Walid Mohamed Taha Rice University
2
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 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
3
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 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
4
What is a DSL?
5
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,... General Purpose Programming Languages Research Goal: “One language to rule them all” Result: FORTRAN, LISP, Scheme, ML, COBOL, C, C++, Java, C#, Python, Perl,...
6
Solution The “domain-specific” revolution Key idea: One type of problem, or “domain” One “domain-specific” language, or DSL The “domain-specific” revolution Key idea: One type of problem, or “domain” One “domain-specific” language, or DSL
7
Examples from my research RIDLReactive Systems PhyDLPhysical modeling VPPHardware description UccelloVisual programming RIDLReactive Systems PhyDLPhysical modeling VPPHardware description UccelloVisual programming
8
The “Killer Example”: MS Excel Taught in high school 55M users Taught in high school 55M users
9
What is a DSL? A definition Why DSLs are here to stay How DSLs will transform our lives Questions for the week A definition Why DSLs are here to stay How DSLs will transform our lives Questions for the week
10
A Definition
12
Common examples mislead us Lex/yacc: parsing SQL, Datalog: data base management LaTeX, HTML: document markup JavaScript: Client-side applications Lex/yacc: parsing SQL, Datalog: data base management LaTeX, HTML: document markup JavaScript: Client-side applications
13
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 A DSL is a “little language” A DSL is not a general purpose A DSL is for novices A DSL is not Turing complete
14
Key insight DSL = Jargon + Formal Meaning
15
Definition of a DSL A domain is well defined and central Notation is clear Informal meaning is clear Formal meaning is clear and realized A domain is well defined and central Notation is clear Informal meaning is clear Formal meaning is clear and realized
16
Domain is clear
17
How to define a domain Computer-based approach Example: FSM, NP, Turing, etc... User-based approach More meaningful to users More problem-oriented Computer-based approach Example: FSM, NP, Turing, etc... User-based approach More meaningful to users More problem-oriented
18
Notation is clear
19
Informal meaning is clear
20
Formal meaning is clear A association exists from notation to a mathematical expression, or... A association exists from notation to a mathematical expression, or... = ?
21
Formal meaning is clear A association exists from notation to a mathematical expression, or a program A association exists from notation to a mathematical expression, or a program = =
22
Why DSLs are here to stay
23
Codification and humanity Codification is as ancient as we are Language is essential for communication Codification is as ancient as we are Language is essential for communication
24
Codification is iterative Pictography :-) Calligraphy Spelling Grammar Pictography :-) Calligraphy Spelling Grammar
25
Bigger ideas mean new patterns
26
DSLs will transform our lives
27
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 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
28
Cooking: Recipes are algorithms Takes time Significant “IP” Mechanizable? Takes time Significant “IP” Mechanizable?
29
Insurance and Privacy Policies Does it say what I understand? Is this covered? Does it say what I understand? Is this covered?
30
Self Expression and the Arts Traditional production is very costly New tools, new media and changing the landscape Traditional production is very costly New tools, new media and changing the landscape
31
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? 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?
32
We want your input! Tell us how close “What is a DSL?” gets to your views Suggest additional questions for the panel discussion Tell us how close “What is a DSL?” gets to your views Suggest additional questions for the panel discussion
34
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 What is a DSL? Challenge: Can we find “our GCD” Questions for the panel (Friday) Program committee report Overview of meeting agenda Discussants Blog
35
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) 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)
37
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 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
38
Meeting Agenda WednesdayThursdayFriday Kickoff Semantics Keynote M&T 2 Keynote C.S. 2 Keynote M&T 1 C.S. 1C.S. 3 Panel Punting tripBanquet
39
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 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
40
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 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
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.