2014 December Meeting

Attendees: Leo, Paul, Dann, Doug, Gaelan, Colin

Pre-meeting chatting

LOTS of stuff.

  • The dynamic -> lexical binding sea change took a really long time
  • Allows some interesting optimization
  • Leo mentions the Appel paper that briefly touched on approaches that become possible if your language has no pointer comparison operator
  • The Purple Dragon Book (has it been surpassed lately?)
    • all of the parsing stuff is pretty much irrelevant if you’re using LISP
  • Doug mentions Marpa parsers. A parsing technique that fell out of favor in the ~60s for being unrealistic due to the large memory requirements. Apparently they’re not “large” by today’s standard.
  • Thrust is mentioned

Doug shows Thrust

  • The idea is: lets make GUI apps, without doing something stupid like wx widgets, or TK
  • A framework to make cross-platform native GUIs, but the back-end is written in HTML
  • The hello world for this is refreshingly tiny, given some other GUI equivalents
  • Interesting little JSON API that lets you interact with the Chromium GUI front-end, and receive event notifications from user interactions
  • Seems to segfault if you look at it funny
    • As an aside, in-band signalling is the source of lots and LOTS of bugs
    • C and the POSIX standard have constantly been amended to take into account the fact that programmers need to return a value AND an error through the same channel
    • The Right Way(tm) in a language like C is to make the return value of a function signal only its error status, and take an extra pointer argument into which to deposit actual return values
  • use common::sense; makes things better. If you’re programming in PERL.
  • Thrust is pretty cool for making “native” apps without binding yourself for a particular platform

Leo talks about a crazy Lisp interpreter