Chung-chieh Shan wrote (snipped): > The enabling technique behind our solution is to propagate values > via types (literally), with the help of polymorphic recursion and > higher-ranked polymorphism. The technique essentially emulates > local type-class instance declarations. Configuration parameters > are propagated throughout the code implicitly as part of type > inference rather than explicitly by the programmer.
Crikey! You represent configuration values which are integers by encoding them as a type with constructors data Zero data Twice s data Succ s data Pred s and you encode general values which are instances of Storable by casting their binary representation (pinned by a StablePtr) into bytes and then encoding the result as integers. My mind boggles. It would be nice if your paper included an appendix containing a main program which, say, used a graphics library including configuration parameters in your style. (Say, default font (string), font size (integer) and mouse handedness (bool).) _______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell