Page 1 of 1

Recent enhancements

PostPosted: Sat Jul 28, 2012 1:24 am
by Charles
I was curious what enhancements were going into the new Snapshot/cobra, so I took a look via svn. Here are the highlights since the last snapshot:


Language

Added try...catch expression.
Pairs can be unpacked in assignment statements and for loops. (`a, b = p`).
For == and <>, if a strongly typed .compareTo is not available, check for a strongly typed .equals.


Library

Renamed Cobra.Lang --> Cobra.Core
Added Pair<of T> and Pair<of TA, TB>
Added MultiList<of T>
Added class HashCodeUtils containing .combine methods.
Added CobraCore.operatingSystemDescription
Extension methods:
Added String.before, .after, .count and .limitLength
Added IList.addRange and IList<of T>.addRange
Added Stack<of T>.clone
Added Process.runAndCaptureAllOutput
Other:
Add run-time error if unpack targets don't match the source exactly (`a, b = someListOf3`).
Declare System.Globalization.CultureInfo.invariantCulture not nilable.


Compiler

Better error message for malformed doc strings.
Better error message when encountering PHP-style string concatenation.
Better error messages when a library cannot be referenced.
Better error recovery in method parameter checking.
New error for using `base` in invariant.
Limit unknown member suggestions to 20
Fixed: obscure bug with if-inherits statement and recursive method invocation.
Fixed: obscure bug with method overrides and dynamic typed arguments.
Fixed: Problems with generics and inheritance
Hacky resolution of ISet ambiguity when running against .NET 4.


Command line

Debugging flag is on by default.
Added -clr-profile command line option.
Better error message if -native-compiler cannot be found.


Misc

@help improvements


... most of these are from myself or hops.

Re: Recent enhancements

PostPosted: Sat Jul 28, 2012 2:07 pm
by jaegs
Why not call this release .8.5 or something and link to it on the front page? It will make a big difference for first time visitors to see that the language is still under active development.

Re: Recent enhancements

PostPosted: Sat Jul 28, 2012 2:39 pm
by Charles
Actually we're just about there. Making a new snapshot is one of the last things on my list.

It'll be called 0.9

Btw I've been slightly delayed by the koans (more on that later) and the MonoDevelop add-in, but those were worth it.

Re: Recent enhancements

PostPosted: Sun Jul 29, 2012 11:50 am
by nerdzero
Are you still planning to add more support for cues before the 0.9 release?

Re: Recent enhancements

PostPosted: Sun Jul 29, 2012 3:56 pm
by Charles
Nope. There has to be a cut off. Plus cue init works fine and the current approach to comparisons and equality is viable.