This is a list of the brief characteristics of previous compiler
releases.
On 2006-10-07, the compiler was first publicly released.
Before that date it had been available to a limited test audience
for a short time. The first public release was version 0.9.29. The
first private release was 0.3.26, and you can find the changes of
those private releases in the Changelog file when you download the
compiler package.
The license of the distribution was changed into GPLv3 when version
0.4.0 was released; older versions (0.3.38 and before) were released
under the GPLv2.
0.4.3
Compiler info
version number
0.4.3
release date
2009-03-15
regression tests
217 tests succeeded
5 tests failed
Changes
completed the semantic checks for pointer comparisons
fixed shell script incompatibility after testing on Ubuntu
first steps towards getting the compiler compiled on MSVC
0.4.2
Compiler info
version number
0.4.2
release date
2008-11-11
regression tests
219 tests succeeded
5 tests failed
Changes
the typechecking logic has been overhauled. Values passed to an
inout parameter are now correctly
typechecked.
switched to CTest (comes with CMake) for running the tests. To
run the regression tests, execute
"make test" in the build directory.
commandline parameter
-f-immediate-errors was renamed to
-f-no-diagnostic-buffer
the build system was adapted to work with CMake 2.6
fixed compatibility with GCC 4.3
0.4.1
Compiler info
version number
0.4.1
release date
2008-07-12
test files
204 tests succeeded
5 tests failed
Changes
an error message is now generated for constant array indices
that are known to be out of the valid range for the array
type
added extra procedures "print" and "line" to the class
system.Out that take a
char as argument
the "size" procedure in an
array type was changed. It no
longer accepts an argument. Multi-dimensional arrays no longer
have "size", but instead they have procedures "size0", "size1",
... , "sizeN" (with N +1 the number of dimensions)
hex formatted char literals are
no longer supported. They were only partially supported anyway,
as the parser rejected them
extra information in error/warning messages no longer repeats
the same file name
the symbol ".." is now supported (but not allowed anywhere yet)
0.4.0
Compiler info
version number
0.4.0
release date
2008-05-08
test files
198 tests succeeded
5 tests failed
Changes
the compiler has gotten some big improvements, so the version
number has been incremented to 0.4.0!
semantic checking has been restructured; this fixes some tests
and eases addition of new language features
support for Unicode has been added. Currently only UTF-8 is
supported. This means that your terminal will have to support
UTF-8 in order to show the compiler messages correctly.
Unicode quotes are now used instead of the ASCII characters
that were used in previous releases. Hyper source files are
assumed to be in UTF-8. Other encodings, like UTF-16, will
be added later
added a new warning -W-hide-parameter
that warns for variables with the same name as one of the
parameters of the procedure or constructor they reside in.
This warning is enabled by default
the license has been changed to the GPLv3
procedure main can now return a result
of type byte. Omitting the
return type is still possible
TODO and FIXME now also work in a double hash
comment
importing a user-defined sourcefile now generates a note saying
that the import was ignored
added a new option -f-syntax-only to
stop the compiler after syntax checking. This also prevents
semantic checking!
added a new kind of test that verifies the correct handling of
all sorts of commandline compiler options
0.3.38
Compiler info
version number
0.3.38
release date
2007-12-08
test files
194 tests succeeded
7 tests failed
Changes
the compiler is less restrictive on the expressions used as an L-value
when stopping on a fatal parse error, a note about this is printed
added new compiler option -dumpspecs
to print some information like compiler version, host platform, etc.
added support for the AND-assign and OR-assign operator symbols,
and added support to the bool type
for those
the highlighter no longer causes the input/output file to be corrupted
when the lexer crashes or produces an error
added support for a new type of
comment:
## with no space in between
creates a line comment that ignores further
# characters and reaches until the end
of the current line
the compiler detects the wordsize of the platform it is compiled on.
This currently only works for x86 and amd64 architectures (32 or 64 bit)
though it is not a new compiler feature, be sure to check out a
modified SciTE editor that was released
recently. It provides syntax highlighting for Hyper source files and
supports the new comment style that is introduced in this release
0.3.37
Compiler info
version number
0.3.37
release date
2007-10-29
test files
193 tests succeeded
7 tests failed
Changes
added support for double pointers
there are now two kinds of L-values: one for classes and
one for pointers
in diagnostic output the common directory prefix is extracted and
shown separately, to have shorter output for each diagnostic
(unless option -f-immediate-errors
is used)
the diagnostics are now sorted by source location (unless
option -f-immediate-errors is
used)
the array operator of the array type now returns a pointer to its
element type
access checking for the conversion used in an assignment
and lots of internal changes as well
0.3.36
Compiler info
version number
0.3.36
release date
2007-08-19
test files
186 tests succeeded
8 tests failed
Changes
the compiler now checks that fields in a static
class are static as well
added static procedures "min" and "max" to
all built-in integral types: byte,
nat16, int16,
... These procedures return the minimum/maximum values for their type
null is no longer accepted as an argument for
inout parameters
for array variable/field declarations the base type
is now checked for a suitable constructor
the compiler was also internally restructured, but this sort of changes
is not listed in the changelog
0.3.35
Compiler info
version number
0.3.35
release date
2007-05-31
test files
184 tests succeeded
7 tests failed
Changes
the highlighter now generates an external stylesheet, instead
of one embedded in the XHTML document. The name of the
stylesheet can be customized
the regression tester can now handle compiler warnings
the Boost libraries are now used in the compiler,
so they are required now
the floating-point types no longer support the increment and decrement
operators, and their successor and predecessor operators are also
removed. The reason for this is that they do not work for large
floating-point numbers
some commandline compiler options changed; run the compiler with
option --help for help on usage
0.3.34
Compiler info
version number
0.3.34
release date
2007-03-17
test files
181 tests succeeded
8 tests failed
Changes
the compiler now checks if its input file is a Hyper file or
not by looking at its file extension (".hyp" or ".hyper")
support for dynamic arrays
complete static checking
whitespace is no longer significant. For some small cases however,
a warning is generated. New options are also available to control
these warnings.
the standalone HTML files generated by the highlighter from a
source file now have the XHTML doctype, and validate!
the highlighter can now highlight Hyper sourcecode embedded in
existing HTML files. Run the program with option '--help' for
documentation
new string members: "clear()",
"isEmpty()" and an add-assign operator for characters
0.3.33
Compiler info
version number
0.3.33
release date
2007-02-24
test files
176 tests succeeded
10 tests failed
Changes
the `begin' directive is now checked, and the compiler now looks for
procedure `main'
a new compiler option `-c' prevents the compiler from looking for a
procedure `main'
the initializer of a field is now checked for type compatibility
parameters without `inout' are now read-only and passed by reference
array sizes are now checked and used in typechecking
access checking is now done for constructors that are used as conversions
for arguments when doing a procedure call or explicit constructor call
0.3.32
Compiler info
version number
0.3.32
release date
2007-01-15
test files
145 tests succeeded
12 tests failed
Changes
the new namespace system is implemented. The old syntax is not supported anymore
the example programs are now completely accepted by the compiler
the default assignment operator is now generated if needed
the compiler recognizes "TODO" and "FIXME" in comments and displays them as warning
messages. Appropriate commandline switches to control this behaviour are also
available
more checking for 'static'
support for chained comparisons (x < y < z etc...)
0.3.31
Compiler info
version number
0.3.31
release date
2006-12-14
test files
135 tests succeeded
19 tests failed
Changes
the presence of return statements in a procedure is checked