forked from ooc-lang/rock
-
Notifications
You must be signed in to change notification settings - Fork 1
/
CHANGELOG
98 lines (80 loc) · 5.04 KB
/
CHANGELOG
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
0.9.3 release (2011-12-13)
- OSX support is back! Thanks @nilium for upgrading us to the latest
libatomic_ops (yup, it was that simple).
- rock -r now doesn't display warnings anymore, cause it's irrelevant
if you just want to run the program
- rock -x now cleans completely the directory (.libs / rock_tmp)
- rock without any options will look for a .use file and if there's
a "Main:" compile an executable, otherwise static and dynamic libraries
- The -help message is now a lot more detailed, it explains a lot of
debug/obscure options we've been keeping for ourselves up till now.
- Added eachUntil() and contains?() to List
- Add XPath-like selectors to HashBag
- Added a convenient text/json module
- FileWriter asPipe, createTempFile
- Added an exponent operator (**) to the grammar, it's not overriden
by default for integer types, so don't use it yet :) When everybody
has migrated to 0.9.3, we'll include that in 0.9.4
- Again, lots of bugfixes and cleanups, lookup the commits
0.9.2 release (2011-09-05)
- Lots of bugfixes, refactorings (see GitHub milestone), thanks to
@shamanas, @duckinator, @fredreichbier, @showstopper, @tsion, @rofl0r, @nddrylliog
- New Socket API by @duckinator (aka Nicholas Markwell)
- FreeBSD support by @nikobordx
- Better error messages through nagaqueen fixes
- Enums now start at 0 instead of 1 (a really hard change to make
in a self-hosting compiler)
- String literal optimizations - allocate once, not per-usage
- New command-line options: libfolder, staticlib, dynamiclib
- yajit removal, it wasn't being used anywhere in rock
- New Time methods
- Somehow the SDK now includes an HTTPRequest and RestClient?
Courtesy of @pheuter aka Mark Fayngersh
- Added loop(|| ...)
- Variants of each(...) with index
- main now acceps String* as parameter (@showstopper aka Yannic Ahrens)
- version blocks now support else {} (@nddrylliog aka Amos Wenger)
- Probably the biggest change, which also explains why this release took
a whopping 15 months - newstr, ie. String is now a class, and CStrnig
is now the cover of char*. It's handled smoothly in many cases, thanks
to implicit cases and related trickery but it's a scar rock will always bear.
0.9.1 release (2010-06-02)
- 2010-05 reverse iterators / backIterator() added to collection classes
by Noel Cower (nilium)
- 2010-05 lib-caching was added to rock, and partial recompilation is
much smarter with the .libs/ directory and .cacheinfo files.
Can be disabled with -nolibcache. Added by Amos Wenger (nddrylliog)
- 2010-05 ACS (awesome closure syntax) is in! Our closures capture syntax
and even generate trampoline functions to translate generic types
into specific types. Thanks Yannic Ahrens (showstopper) !
- 2010-05 oos now compiles under rock - we still have to figure out
a good syntax for stack-allocation of C arrays.
- 2010-04 Added support for ooc arrays, early implementation of this
proposal: https://lists.launchpad.net/ooc-dev/msg00146.html
0.9.0 release (2010-04-23 - 600+ downloads)
- 2010-04 : rock bootstraps under Gentoo, Ubuntu, Win32, OSX,
the first release of the 0.9.x branch is out!
pre-history
- 2010-02 : rock compiles most, if not all, generic collection classes, produces correct code.
we're going toward self-hosting, fixing bugs as we encounter them.
- 2010-02 : twitter announcement: for the first time, rock, a 10k SLOC pure ooc codebase,
compiles under Win32, and produces executables with gcc. party?
- 2010-01 : Copying chunks of the sdk from j/ooc to rock/custom-sdk, generics for functions are mostly implemented,
classes still to come. Most control flow structures are implemented
(if/else/while/foreach/match/case/break/continue), decl-assign, 'This', member calls, covers, etc.
- 2009-11 : Wohow, resolving spree. Pretty much everything resolves now, straight/member accesses/calls
even accross different modules, with imports and all. Most of the syntax is parsed,
except generics, and only a few AST node types are missing. The code is a lot shorter and
clearer than j/ooc's, I have high hopes as to the maintainability of rock. Plus, it's still *fast*.
- 2009-11 : Most of the resolving architecture is now there, it resolve types at module scope
correctly. Still need to implement planned implementations that weren't in j/ooc
(e.g. sharing Types per module, except for generics, to group resolves)
- 2009-11 : Overwhelmed by complexity, rewrote the grammar as a reusable piece, in a separate
github project. nagaqueen (its fancy name) is now needed to make rock compile
- 2009-10 : Made a leg frontend, builds the AST, ported a lot of Java code with itrekkie,
rock now compiles things =)
- 2009-10 : Creating the AST structure, code generation works well, putting the
frontend on hold for a moment
- 2009-09 : The tokenizing code is all there, and it's working simply great.
Now onto constructing AST nodes.
- 2009-06 : Basic structure, it's gonna be some time till it can do anything useful