dream language!
DESCRIPTION
A presentation when you should design your dream language. This presentation contains everything you need to know about language design in a day to day job. This presentation was given by me ar Bangalore BarCamp.TRANSCRIPT
![Page 1: Dream Language!](https://reader035.vdocument.in/reader035/viewer/2022062406/558bcce6d8b42a9b0b8b45f5/html5/thumbnails/1.jpg)
dream language!
suman karumuri
![Page 2: Dream Language!](https://reader035.vdocument.in/reader035/viewer/2022062406/558bcce6d8b42a9b0b8b45f5/html5/thumbnails/2.jpg)
about me(define work-ex ‘(yahoo goldman_sachs) ) $myOwnLanguage = “NPL”;dsl_experience = (“data sanity”, “data gen”) let interest [“pl” ; ”software viz.”];;main = future ( cs.brown.edu )
![Page 3: Dream Language!](https://reader035.vdocument.in/reader035/viewer/2022062406/558bcce6d8b42a9b0b8b45f5/html5/thumbnails/3.jpg)
designing languages is cool!
implementing one is uber cool!
![Page 4: Dream Language!](https://reader035.vdocument.in/reader035/viewer/2022062406/558bcce6d8b42a9b0b8b45f5/html5/thumbnails/4.jpg)
but.. do you know?
![Page 5: Dream Language!](https://reader035.vdocument.in/reader035/viewer/2022062406/558bcce6d8b42a9b0b8b45f5/html5/thumbnails/5.jpg)
99.99% languages are unused99.96% of langs are mashups
![Page 6: Dream Language!](https://reader035.vdocument.in/reader035/viewer/2022062406/558bcce6d8b42a9b0b8b45f5/html5/thumbnails/6.jpg)
if lang X doesn’t have feature Yyou can add it to lisp ☺
![Page 7: Dream Language!](https://reader035.vdocument.in/reader035/viewer/2022062406/558bcce6d8b42a9b0b8b45f5/html5/thumbnails/7.jpg)
before you design…
have you considered?
![Page 8: Dream Language!](https://reader035.vdocument.in/reader035/viewer/2022062406/558bcce6d8b42a9b0b8b45f5/html5/thumbnails/8.jpg)
purpose
why yet another language?
![Page 9: Dream Language!](https://reader035.vdocument.in/reader035/viewer/2022062406/558bcce6d8b42a9b0b8b45f5/html5/thumbnails/9.jpg)
purpose
general purposedslfun!
![Page 10: Dream Language!](https://reader035.vdocument.in/reader035/viewer/2022062406/558bcce6d8b42a9b0b8b45f5/html5/thumbnails/10.jpg)
novelty
what’s new?
![Page 11: Dream Language!](https://reader035.vdocument.in/reader035/viewer/2022062406/558bcce6d8b42a9b0b8b45f5/html5/thumbnails/11.jpg)
noveltysyntaxsemanticsperformanceease of usedsl
![Page 12: Dream Language!](https://reader035.vdocument.in/reader035/viewer/2022062406/558bcce6d8b42a9b0b8b45f5/html5/thumbnails/12.jpg)
spreadsheet?
best programming lang!
![Page 13: Dream Language!](https://reader035.vdocument.in/reader035/viewer/2022062406/558bcce6d8b42a9b0b8b45f5/html5/thumbnails/13.jpg)
spreadsheetsimple syntaxeasy semanticsprogrammable dsl
![Page 14: Dream Language!](https://reader035.vdocument.in/reader035/viewer/2022062406/558bcce6d8b42a9b0b8b45f5/html5/thumbnails/14.jpg)
none of these work?
![Page 15: Dream Language!](https://reader035.vdocument.in/reader035/viewer/2022062406/558bcce6d8b42a9b0b8b45f5/html5/thumbnails/15.jpg)
general purpose language?
time waste
![Page 16: Dream Language!](https://reader035.vdocument.in/reader035/viewer/2022062406/558bcce6d8b42a9b0b8b45f5/html5/thumbnails/16.jpg)
dsl
internalexternalwhich aspect?
![Page 17: Dream Language!](https://reader035.vdocument.in/reader035/viewer/2022062406/558bcce6d8b42a9b0b8b45f5/html5/thumbnails/17.jpg)
new syntax
meta-languagenew feextensions
![Page 18: Dream Language!](https://reader035.vdocument.in/reader035/viewer/2022062406/558bcce6d8b42a9b0b8b45f5/html5/thumbnails/18.jpg)
new semantics/easy
lispsyntax : s-expressionnew paradigms
![Page 19: Dream Language!](https://reader035.vdocument.in/reader035/viewer/2022062406/558bcce6d8b42a9b0b8b45f5/html5/thumbnails/19.jpg)
performance
!brilliant => another time waste!academic => p(success) = 10-10
![Page 20: Dream Language!](https://reader035.vdocument.in/reader035/viewer/2022062406/558bcce6d8b42a9b0b8b45f5/html5/thumbnails/20.jpg)
tools
antlrpython<scripting language of your chioce>
![Page 21: Dream Language!](https://reader035.vdocument.in/reader035/viewer/2022062406/558bcce6d8b42a9b0b8b45f5/html5/thumbnails/21.jpg)
antlr
multi language bindings LL(k) grammarsimple and similar lexer and parserIDE support
![Page 22: Dream Language!](https://reader035.vdocument.in/reader035/viewer/2022062406/558bcce6d8b42a9b0b8b45f5/html5/thumbnails/22.jpg)
antlr
excellent communitygood documentation audio lectures
![Page 23: Dream Language!](https://reader035.vdocument.in/reader035/viewer/2022062406/558bcce6d8b42a9b0b8b45f5/html5/thumbnails/23.jpg)
python
enuf said
![Page 24: Dream Language!](https://reader035.vdocument.in/reader035/viewer/2022062406/558bcce6d8b42a9b0b8b45f5/html5/thumbnails/24.jpg)
resources
dragon bookwikipediaircltu
![Page 25: Dream Language!](https://reader035.vdocument.in/reader035/viewer/2022062406/558bcce6d8b42a9b0b8b45f5/html5/thumbnails/25.jpg)
questions?
thank you!