======== 20090718 ======== - New application protocols: CGI and FastCGI - New database backends: MySQL and SQLite - More JavaScript events added to tags in standard library - New manual section on using the foreign function interface (FFI) ======== 20090623 ======== - Many bug fixes - Mutually-recursive datatypes - SML-style pattern-matching syntax for "fun", "fn", and local "val" - Backwards-incompatible change to syntax of formal constructor parameters to value-level functions, to support the previous change - Path map support inspired by SML/NJ CM and MLton ML Basis - Start of some new standard library modules - Some improvements to JavaScript runtime, including better error handling ======== 20090505 ======== - Reimplement constructor class resolution to be more general and Prolog-like - SQL table constraints - URLs - Client-side error handling callbacks - CSS - Signing cookie values cryptographically to thwart cross site request forgery - Blobs and HTTP file upload - SQL outer joins - SQL views - Subforms - C and JavaScript FFI - Path rewriting ======== 20090405 ======== - Asynchronous message-passing and the associated server-side client bookkeeping - Reimplement parts of the client-side runtime system to avoid space leaks - spawn and sleep - Expand the constructor class instance rule format ======== 20090312 ======== - Replace type-level "fold" with "map" - Replace expression-level "fold" with folders, defined in Top and supported by some special compiler inference - Replace guarded constructors with guarded types, introduced only by guarded expression abstraction, and with a new explicit application form - Kind polymorphism - Generalize type classes to constructor classes - Initial compilation of client-side code to JavaScript - Initial support for mixed client- and server-side programming (i.e., "AJAX") - src/coq: Coq formalization of a core Ur-like calculus ======== 20081209 ======== - Optimization: Fusing page writes with calls to recursive functions - Optimization of bottleneck compiler phases - Reference manual - SQL arithmetic operators ======== 20081120 ======== - Fix bug that sometimes led to omission of initial "" in pages - Take advantage of nested functions in some demos - "profile" option that may appear in .urp files, to enable gprof profiling - "-guided-demo" option that works like "-demo" but uses less screen space for prose ======== 20081118 ======== - Nested function definitions - Primitive "time" type - Nullable SQL columns (via "option") - Cookies - Compiler: Specialization of functions to known arguments (especially of function type) ======== 20081028 ======== - Add GCCARGS configure option ======== 20081027 ======== - On missing inputs, print an error message, but don't exit the web server. - Remove need for "() <-" notation. ======== 20081026 ======== - Change 'sed' call to work on OSX. - Avoid including or linking libpq files on apps that don't use SQL.