CHANGES 4.22 KB
Newer Older
1
0.2.2
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
- 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.

- Other:
  * apps-cduce-cvs GODI package is updatable.
50

51
0.2.1
52 53

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

57
0.2.0
58

59 60
- OCaml/CDuce interface.

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

- Incompatible changes:
75 76
  * argv is now an operator of type [] -> [ String* ].
  * The --dump, --load, --save options are deprecated.
77
  * Changes to the command line. "--pxp" is replaced with "--no expat".
78 79 80 81 82 83 84
 
- 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.
85 86
  * Separate compilation.
  * Lazy implementation of @.
87 88 89

- Other:
  * Added configure script.
90
  * Various Makefile improvements.
91 92 93 94

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

95

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

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

113

114 115 116 117 118 119
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)
 

120 121
0.0.9  
  * First public release (alpha release)