ActiveVRML in Haskell -- Part II

by Paul Hudak

(joint work with Ming Yang)

Several weeks ago I began the talk described below. On Friday I will finish it, with emphasis on dynamic events and reactive behavior. Come find out why monads are way cooler than global variables! :-)

ActiveVRML in Haskell

VRML = Virtual Reality Modeling Language. Although browsers exist for VRML 1.0, it is a completely static description language -- there is no notion of animation or interaction. VRML 2.0 is intended to remedy this problem, and Microsoft has recently proposed ActiveVRML as a potential candidate for VRML 2.0. ActiveVRML -- except for a strange treatment of time -- is a purely functional language. In fact, its syntax is most similar to that of ML, and its interaction semantics is most similar to Haskell's monadic IO. I will describe ActiveVRML and a very preliminary embedding of it in Haskell, with emphasis on typing issues and the treatment of dynamic events and time-varying behaviors.