aboutsummaryrefslogtreecommitdiffhomepage
path: root/CHANGELOG
blob: c67676f4a4133c4ed3d06cb52be3159311a34239 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
========
20090825
========

- Many bug fixes
- Remote procedure calls must be marked with the new 'rpc' function.
- Some tweaks to enable usage on OSX (suggested by Paul Snively)

========
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 "<html>" 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.