~/talk

Generalizing Turtle Geometry: An Extensible Language for Vector Graphics Drawing

Talkat FARM 2025 · on Sunday, 2025-10-12· [compilers-and-language-design]
links:none on file
slides:none on file

An extensible language called Panda generalizes turtle graphics into a polymorphic DSL implemented in Haskell that generates Bézier paths and SVG-style vector graphics. It exposes four core instructions (primitive, change, reset, transform), models state changes as a monoid acting on states, and uses field polymorphism so rotation/translation code reuses across turtle, path, and vector instantiations. The prototype renders concatenated paths and superimposed SVG, demonstrates 30-circle waves and a 36-repeat closure returning the turtle to origin, and runs as a writer-style monad.

AI-written summary · about

  1. 0:00Introduction
  2. 0:22What is turtle geometry
  3. 1:50Common patterns in extensions
  4. 3:18Introducing PIA language
  5. 5:50Demonstration of PIA
  6. 7:11Polymorphic PIA implementation
  7. 11:29Instantiating PIA for domains
  8. 13:38Field polymorphism in state
  9. 14:40Correct media monad instantiation
  10. 16:34Key requirements for PIA DSL
  11. 17:17Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.