abstract.txt 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. Title: Scripting your Go code, an introduction to zygomys, an object-oriented modern Lisp
  2. Speaker: Jason E. Aten, Ph.D.
  3. Affiliation: Betable.com, San Francisco, CA.
  4. The free and open-source programming language Go, helmed by a team from
  5. Google, offers fast compilation, static-typing, and a multicore-oriented
  6. programming environment that produces fast binaries from easy-to-maintain
  7. code.
  8. What Go has lacked is an integrated scripting language -- one that is
  9. equally multicore friendly and portable -- to provide extendable
  10. configuration and dynamic scripting.
  11. Complex programs and changing business and customer requirements demand
  12. complex and frequently changing configuration. This leads to non-standard
  13. and hard-to-extend control languages, little wheels that get invented again
  14. and again.
  15. Designed for scripting Go programs, zygomys is a modern incarnation of
  16. Lisp for the Go platform. It is open source at
  17. https://github.com/glycerine/zygomys under a permissive 2-clause BSD
  18. license. Written in 100% Go (no CGO required!), zygomys makes it
  19. easy to dynamically control compiled code. zygomys automatically maps
  20. Lisp records to nested Go structures, including structs and slices that
  21. contain Go interfaces. Should scripts become large, zygomys makes it
  22. easy to translate a piece of script code into compiled Go code to
  23. optimize execution.
  24. In this talk I will start with an introduction to Lisp for beginners.
  25. Audience members will quickly understand the strange looking but
  26. actually extremely simple S-expression syntax at the heart of Lisp.
  27. Then for intermediate audience members, I will give an overview of
  28. zygomys and highlight the design points that give it a modern
  29. Object-oriented feel while retaining the power of
  30. 'programs-that-write-programs' that Lisp is famous for.
  31. Continuing for the intermediate level audience and touching on
  32. advanced points, I will show how to extend the capabilities of the
  33. base interpreter to call your own compiled Go methods, and how to
  34. use zygomys to produce a domain-specific-language (DSL) to drive
  35. your application with a principled and reusable scripting language.
  36. To quote Paul Graham of Y-combinator/Hackernews:
  37. "Sometimes, in desperation, competitors would try to
  38. introduce features that we didn't have. But with Lisp
  39. our development cycle was so fast that we could
  40. sometimes duplicate a new feature within a day or
  41. two of a competitor announcing it in a press
  42. release. By the time journalists covering the
  43. press release got round to calling us, we would
  44. have the new feature too."
  45. -- http://www.paulgraham.com/avg.html