unifjed media programming an algebraic approach
play

Unifjed Media Programming: An Algebraic Approach Simon Archipofg, - PowerPoint PPT Presentation

Unifjed Media Programming: An Algebraic Approach Simon Archipofg, David Janin , LaBRI, Bordeaux INP, University of Bordeaux FARM@ICFP, Oxford, 9/9/2017 . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .


  1. Unifjed Media Programming: An Algebraic Approach Simon Archipofg, David Janin , LaBRI, Bordeaux INP, University of Bordeaux FARM@ICFP, Oxford, 9/9/2017 . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  2. Plan of the talk ▶ Preamble: a glimpse of the future ▶ Opening: the turtle and its pen ▶ Theme I: monoid semantics ▶ Theme III: resettable monoid semantics ▶ Variation: the turtle and its time machine ▶ Finale: demo and conclusion ▶ More in the paper:Theme II: inverse monoid semantics . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  3. A glimpse of the futur . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  4. Preamble Programer offjce from Zero Theorem by Terry Gilliam, 2013. . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  5. Preamble Programming device from Zero Theorem by Terry Gilliam, 2013. . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  6. Preamble Programming interface from Zero Theorem by Terry Gilliam, 2013. . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  7. Preamble Spinning the metaphor The Terry Gilliam “correspondance”’ and Program = proof = buidling Programmer = prover = builder . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  8. The turtle and its pen . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  9. Opening : a turtle equipped with a pen 🐣 🖊 . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  10. Opening : the pen can be moved on or ofg the screen drawing a point when pen is on… 🐣 🖊 . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  11. Opening : the pen can be moved on or ofg the screen drawing a point when pen is on… 🐣 🖊 . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  12. Opening : the pen can be moved on or ofg the screen drawing a point when pen is on… 🐣 🖊 . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  13. Opening : the pen can be moved on or ofg the screen drawing a point when pen is on… 🐣 🖊 . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  14. drawing segments when pen is on… Opening : the turtle can walk 🐣 🐣 🐣 🐣 🐣 🐣 🐣 🖊 🖊 🖊 🖊 🖊 🖊 . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  15. drawing segments when pen is on… Opening : the turtle can walk 🐣 🐣 🐣 🐣 🐣 🐣 🐣 🖊 🖊 🖊 🖊 🖊 🖊 . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  16. drawing segments when pen is on… Opening : the turtle can walk 🐣 🐣 🐣 🐣 🐣 🐣 🐣 🖊 🖊 🖊 🖊 🖊 🖊 . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  17. drawing segments when pen is on… Opening : the turtle can walk 🐣 🐣 🐣 🐣 🐣 🐣 🐣 🖊 🖊 🖊 🖊 🖊 🖊 . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  18. drawing segments when pen is on… Opening : the turtle can walk 🐣 🐣 🐣 🐣 🐣 🐣 🐣 🖊 🖊 🖊 🖊 🖊 🖊 . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  19. drawing segments when pen is on… Opening : the turtle can walk 🐣 🐣 🐣 🐣 🐣 🐣 🐣 🖊 🖊 🖊 🖊 🖊 🖊 . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  20. drawing segments when pen is on… Opening : the turtle can walk 🐣 🐣 🐣 🐣 🐣 🐣 🐣 🖊 🖊 🖊 🖊 🖊 🖊 . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  21. drawing segments when pen is on… Opening : the turtle can walk 🐣 🐣 🐣 🐣 🐣 🐣 🐣 🖊 🖊 🖊 🖊 🖊 🖊 . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  22. drawing segments when pen is on… Opening : the turtle can walk 🐣 🐣 🐣 🐣 🐣 🐣 🐣 🖊 🖊 🖊 🖊 🖊 🖊 . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  23. drawing segments when pen is on… Opening : the turtle can walk 🐣 🐣 🐣 🐣 🐣 🐣 🐣 🖊 🖊 🖊 🖊 🖊 🖊 . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  24. drawing segments when pen is on… Opening : the turtle can walk 🐣 🐣 🐣 🐣 🐣 🐣 🐣 🖊 🖊 🖊 🖊 🖊 🖊 . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  25. drawing segments when pen is on… Opening : the turtle can walk 🐣 🐣 🐣 🐣 🐣 🐣 🐣 🖊 🖊 🖊 🖊 🖊 🖊 . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  26. drawing segments when pen is on… Opening : the turtle can walk 🐣 🐣 🐣 🐣 🐣 🐣 🐣 🖊 🖊 🖊 🖊 🖊 🖊 . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  27. Opening : the turtle can turn drawing 2D fjgures (or more)… 🖊 🐣 🐣 🖊 🐣 🖊 🐣 🖊 🖊 🐣 🐣 🐣 🐣 🐣 🖊 🖊 🖊 . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  28. Opening : the turtle can turn drawing 2D fjgures (or more)… 🖊 🐣 🐣 🖊 🐣 🖊 🐣 🖊 🖊 🐣 🐣 🐣 🐣 🐣 🖊 🖊 🖊 . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  29. Opening : the turtle can turn drawing 2D fjgures (or more)… 🖊 🐣 🐣 🖊 🐣 🖊 🐣 🖊 🖊 🐣 🐣 🐣 🐣 🐣 🖊 🖊 🖊 . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  30. Opening : the turtle can turn drawing 2D fjgures (or more)… 🖊 🐣 🐣 🖊 🐣 🖊 🐣 🖊 🖊 🐣 🐣 🐣 🐣 🐣 🖊 🖊 🖊 . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  31. Opening : the turtle can turn drawing 2D fjgures (or more)… 🖊 🐣 🐣 🖊 🐣 🖊 🐣 🖊 🖊 🐣 🐣 🐣 🐣 🐣 🖊 🖊 🖊 . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  32. Opening : the turtle can turn drawing 2D fjgures (or more)… 🖊 🐣 🐣 🖊 🐣 🖊 🐣 🖊 🖊 🐣 🐣 🐣 🐣 🐣 🖊 🖊 🖊 . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  33. Opening : the turtle can turn drawing 2D fjgures (or more)… 🖊 🐣 🐣 🖊 🐣 🖊 🐣 🖊 🖊 🐣 🐣 🐣 🐣 🐣 🖊 🖊 🖊 . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  34. Opening : the turtle can turn drawing 2D fjgures (or more)… 🖊 🐣 🐣 🖊 🐣 🖊 🐣 🖊 🖊 🐣 🐣 🐣 🐣 🐣 🖊 🖊 🖊 . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  35. Opening : the turtle can turn drawing 2D fjgures (or more)… 🖊 🐣 🐣 🖊 🐣 🖊 🐣 🖊 🖊 🐣 🐣 🐣 🐣 🐣 🖊 🖊 🖊 . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  36. Opening : the turtle can turn drawing 2D fjgures (or more)… 🖊 🐣 🐣 🖊 🐣 🖊 🐣 🖊 🖊 🐣 🐣 🐣 🐣 🐣 🖊 🖊 🖊 . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  37. Opening : the turtle can turn drawing 2D fjgures (or more)… 🖊 🐣 🐣 🖊 🐣 🖊 🐣 🖊 🖊 🐣 🐣 🐣 🐣 🐣 🖊 🖊 🖊 . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  38. Program syntax , Turn A program is a sequence of elementary actions Turn , , Walk , Turn , Walk ! , Walk , Turn Walk The square example ▶ Flip pen on or ofg ▶ Walk d for some distance d ▶ Turn d for some angle d . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  39. Program syntax A program is a sequence of elementary actions The square example ▶ Flip pen on or ofg ▶ Walk d for some distance d ▶ Turn d for some angle d Walk 1 , Turn π /2 , Walk 1 , Turn π /2 , Walk 1 , Turn π /2 , Walk 1 , Turn π /2 ! . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  40. Monoid semantics . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

  41. Goal Programs form a monoid. We aim at defjning a monoid semantics model for turtle program. . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . .. . . . . .

Recommend


More recommend