Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Domain-Specific Languages          Phillip Trelford          Tomas Petricek Progressive F# Tutorials NYC 2012
Thoughtworks Tech Radar 2012F#                              Languages“F# is excellent at concisely  expressing business an...
UML Sequence Diagramslet fred = Object("FredrnPatron")let bob = Object("BobrnWaiter")let hank = Object("HankrnCook")let re...
TypesF#                                    UML Class Diagramtype Object(name) = member this.Name = nametype Action = | Cal...
Functional Program Layout          Types         Functions           API
DSLs for TestingInternal DSL (NaturalSpec)              External DSL (Gherkin)• [<Scenario>]                          • Gi...
Learn More• FParsec: http://www.quanttec.com/fparsec/• FSLex /FsYacc:  http://fsharppowerpack.codeplex.com/
Upcoming SlideShare
Loading in …5
×

Domain specific languages - progressive f sharp tutorials nyc 2012

2,908 views

Published on

Slides from DSL tutorial at Progressive F# Tutorials in NYC June 2012

Published in: Technology
  • D0WNL0AD FULL ▶ ▶ ▶ ▶ http://1lite.top/rNBjZ ◀ ◀ ◀ ◀
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

Domain specific languages - progressive f sharp tutorials nyc 2012

  1. 1. Domain-Specific Languages Phillip Trelford Tomas Petricek Progressive F# Tutorials NYC 2012
  2. 2. Thoughtworks Tech Radar 2012F# Languages“F# is excellent at concisely expressing business and domain logic.”
  3. 3. UML Sequence Diagramslet fred = Object("FredrnPatron")let bob = Object("BobrnWaiter")let hank = Object("HankrnCook")let renee = Object("ReneernCashier")
  4. 4. TypesF# UML Class Diagramtype Object(name) = member this.Name = nametype Action = | Call of Object * string *Object | Async of Object * string *Object
  5. 5. Functional Program Layout Types Functions API
  6. 6. DSLs for TestingInternal DSL (NaturalSpec) External DSL (Gherkin)• [<Scenario>] • Given I input 5• let ``When calculating factorial of • When calculating the factorial 5 it should equal 120``() = • Then the result is 120• Given 5• |> When calculating factorial• |> It should equal 120• |> Verify
  7. 7. Learn More• FParsec: http://www.quanttec.com/fparsec/• FSLex /FsYacc: http://fsharppowerpack.codeplex.com/

×