File: CHANGES

package info (click to toggle)
cduce 0.4.1-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 2,836 kB
  • ctags: 3,143
  • sloc: ml: 20,402; xml: 5,376; makefile: 411; sh: 45
file content (285 lines) | stat: -rw-r--r-- 9,781 bytes parent folder | download
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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
0.4.1

- Tools:
   * Error message when using --mlstub without the built-in OCaml interface
   * Improvements to the type pretty-printer
   * "include" uses the -I options

- Language:
   * New Caml_int builtin type
   * The // construction no longer stops at the first matched subtree
     on each branch
   * New "dump_xml" and "dump_xml_utf8", equivalent to the composition
     of print and print_xml, but more efficient
     

- Implementation:
   * New subtyping algorithm
   * Small improvement to the pattern matching compiler
   * Improve type-checking time for map
   * Improve type-checking of record expressions
   * Don't display warnings for unused branches in ghost (generated) pattern 
     matching

- Bug fix:
   * "eval" can now be called several times and use the toplevel environment
   * use "open_out_bin" (needed for Cygwin installation)
   * "open" allowed as tag name
   * exceptions raised by the expat parser and by the dump_to_file
     primitives are now catchable
   * work-around the double close bug in OCaml

0.4.0pl1

- Packaging bug

0.4.0

- Adapted to OCaml 3.09.
- To build the OCaml/CDuce interface, OCaml sources are now needed.

0.3.92

- Tools:
   * Build and install dtd2cduce when PXP is available.
   * Display of location for errors and warnings compatible with OCaml.

- Language:
   * Better error messages for xtransform.

- Bug fix:
   * Forgot PLIST.godi in the package.


0.3.91

- Tools:
   * Get rid of cdo2ml and mlcduce_wrapper. Now included in cduce.

- Bug fix:
   * Internal uid collision when using OCaml externals.
   * Makes "String.length" works (String used to resolve to the CDuce type).

0.3.9

- Language:
   * Added split_atom, make_atom. Removed atom_of.
   * Added char_of_int built_in function.
   * Now int_of also accepts octal binary and hexadecimals.
   * The field access also works for XML element attributes.
   * More catchable exceptions (for load_xml, load_file, etc).
   * namespaces, schemas, "using" identifiers are now exported.
   * "open" statement.

- Implementation:
   * More efficient implementation of records at runtime.
   * Clean-up of the internal representation.
   * The XML Schemas are now parsed only at compile time.
   * The automata for pattern matching are now produced at compile time.

- Tools:
   * The functionality of cdo2ml is now assured by cduce itself, with
     the --mlstub option.
   * Remove the --dump option (which was deprecated).
   * Remove support for sessions in the web prototype.

- Bug fixes:
   * Correct handling of external references with expat.
   * Installation problem under some BSD (using "install -c").

0.3.2
   * Bug fix in configure

0.3.1

- Bug fix:
   * configure must not require pxp
   * inclusion of external entities with expat
   * META.in, cduce_mktop missing in package
   * several bugfixes for XML Schema
   * Adapt to ocaml-expat 0.9.1
   * don't build cdo2ml, mlcduce_wrapper when ocaml iface not available

- Language:
   * Can now preserve namespaces when parsing XML or when creating XML elements
   * "or" is now equivalent to ||

0.3.0

- Language:
   * Warning for capture variables and projections that always return the empty
     sequence.
   * Major rewrite of the support for XML Schema
     * removed print_schema directive
     * removed the "kind" selector (e.g. S # t as element)
     * include,import implemented
     * support wildcards any,anyAttrivbute
     * support xsi:nil
     * support xsd:decimal,xsd:float
     * many bug fixes
   * Removed the syntax  "external {...}", replaced with
     "unit.val with { ty1 ty2 ... }".
   * Removed the syntax H:val, replaced with H.val.
   * Removed the syntax S#t, replaced with S.t.
   * Overloaded the dot (record field acces, CDuce, OCaml, Schema units).
     A dot in an identifier must now be escaped with a backslash, e.g. x\.y
   * Identifiers (for types, values) are now qualified names.
   * float_of: String -> Float
   * Syntax modifications for records and attributes:
      - ".." to denote open record types/patterns:
          open record:  { l1=t1 l2=t2 .. }
          closed record: { l1=t1 l2=t2 }
      - the ";" between fields is optional even for records 
        (used to be optional only for attributes)
   * Keywords are now allowed as type names
   * Concatenation @ allowed in types
   * Record concatenation + allowed in types
   * Changed "string://" URL-pseudo schema to "string:" 
   * Better resolution of external entities for PXP and expat

- Tools:
   * A new tool cduce_mktop produces customized CDuce toplevels with embedded 
     OCaml externals.
   * Removed the validate tool.
   * Don't build dtd2cduce by default (it requires PXP). An online
     version is available at http://www.cduce.org/dtd2cduce.html

- Implementation:
   * Various bug fixes.
   * More efficient hash-consing of types.
   * improved #print_type (does not use the abbreviation for the printed type).

- Distribution:
   * MIT license.
   * CDuce can be built without support for PXP.

- CQL:
   * Rewrote the optimization (pushing projections).
   * The syntax for "where" clause is now simply an "and"-separated
     list of conditions ("or" is no longer supported).
   * Better types for "min","max","distinct_values" operators.

0.2.2

- Language:
  * Runtime type-check: (e :? t) raises an exception when e doesn't 
    have type t; the exception is an explanation of why this is not the case.
    (The actual message may change in the future.)
  * Better return type for load_xml, defined as:
    AnyXml=<(Atom) (Record)>[ (AnyXml|Char)* ]
  * New style for comments: /* ... */
    Simple and double quotes within these comments are not handled
    specially. Moreover, these comments cannot be nested.
    The new style should be used for textual comments (which can include
    the simple quote); the old style is better for ignoring pieces of code.
  * Pattern guard /p in regexps to match the current tail. This can be used
    for setting "markers" without capturing anything, e.g.:
       [ (/(x:=1) ...) | (/(x:=2) ...) ]
    Back to the old semantics for default value patterns in regexps
    (they do capture an element).
  * New syntax  {...; l = p else p'; ... }. p' is applied
    to the whole matched record when p does not match (or when
    the field is missing). Equivalent to:
    { ...; l = p; ...} | ({...;...} & p')
  * Punning in record/attribute expressions and patterns.
    { x; y } is a shorthand for {x=x;y=y}.
  * New syntax for R**n in regular expressions, equivalent
    to R...R (n times), where n > 0.
  * Interval arithmetic for the * operator.
  * Warning for potential division by 0.
  * New "system", "exit", "getenv" built-in functions.

- Toplevel, interpreter, compiler:
  * New #silent, #verbose directives.
  * New --script option.
  * Removed the warning "no caml interface".

- Compilation:
  * Better compilation of sequence capture variables.
    Now, [ ... x::Any* ] is as efficient as [ ... ; x ]. Can also be written
    [ ... /x _* ]. The [ ... ; ... ] syntax is no longer necessary
    and might be deprecated.
    
- Bug fixes, including:
  * Bug fixes in configure/Makefile for Cygwin.
  * Bug fix for the compilation of complex patterns with records.
  * Fixed a little bit support for XML Schema, but still largely broken.
  * Fix --stdin.
  * Bug fix in print_xml (do not create a namespace decl for "xml:").

- Distribution:
  * apps-cduce-cvs GODI package is updatable.
  * The release tarball does not contain the CDuce website, only
    the HTML documentation (memento, tutorial, manual).

0.2.1

- string:// scheme for load_xml and others
- code updated to OCaml 3.08.1, PXP 1.1.95
- NOTE: support for namespaces in XML Schema may be broken

0.2.0

- OCaml/CDuce interface.

- Language:
  * Support for URLs in load_xml, load_html, load_file, and schemas:
    e.g. you can write `` load_html "http://www.cduce.org/" ''
    (need either the ocurl package or the netclient package).
  * More advanced (and documented) support for XML Schemas. 
  * Preliminary integration of CQL query language that is:
    select e from p1 in e1, ... ,pn in en where e'.
  * Allow structured constants in default value patterns (p := c).
  * Default value patterns in regexps don't consume an element.
  * Logical operators &&, ||, and not.
  * New syntax for currified functions
    fun (p1 : t1)...(pn : tn) : t = ...

- Incompatible changes:
  * argv is now an operator of type [] -> [ String* ].
  * The --dump, --load, --save options are deprecated.
  * Changes to the command line. "--pxp" is replaced with "--no expat".
 
- Implementation:
  * Code upgraded to Ocaml 3.07.
  * Major cleaning in progress.
  * Added internal support for abstract data types.
  * Using ulex instead of wlex.
  * Sources can now be in utf8.
  * Separate compilation.
  * Lazy implementation of @.

- Other:
  * Added configure script.
  * Various Makefile improvements.

- Bug fixes:
  * Bug fixes in the parser. Tuples are now ok in regexps.


0.1.1
  * Various bug fixes  (expat might now work)
  * Sequencing operator   e1;e2  (equivalent to: let [] = e1 in e2)
  * Encoded references
  

0.1.0
  * Support for XML Namespaces
  * Better support for expat; clean Makefile
  * Get rid of ;; and let fun in examples
  * Optional ; for record in attribute position (values and types/patterns)
  * Split --dump into --load and --save
  * Better handling of strings (specific node in AST)
  * Map, transform: tail-recursive implementation
  * Preliminary support for XML Schema
  * Various bug fixes


0.0.91
  * Second alpha release
  * Bug fixes and syntax changes (e.g. making "fun" optional in "let fun")
  * Experimenting with expat support (see expat/README)
 

0.0.9  
  * First public release (alpha release)