On 21/01/13 16:20, Rob Vesse wrote:
Yeah type erasure generics in Java are something of a pain, I did see your
comments about Sink<Quad> and Sink<Triple> when looking at the StreamRDF
code the other week :((

StreamRDF ... did that make sense? As it is effectively an abstract event model for RDF processing stream-style.

I have a printer based on StreamRDF - I've been using it to turn NTriples dumps into something readable, yet still at scale, by clustering on adjacent common subject. Not beautiful but I find a lot easier than reading 1000's of lines of N-triples, or even 900M of Freebase dump which is flat Turtle, N-triples+prefix names.

Just to rub salt in the would .Net has generics that allow this kind of
thing

I know ... :-(

Please use your salt on the roads [*]

        Andy

[*] World - the roads are quite icy round here ATM.


Rob


On 1/21/13 4:09 PM, "Andy Seaborne" <[email protected]> wrote:

On 21/01/13 10:43, Rob Vesse wrote:
As the notional representative for .Net developers on this list I kinda
feel insulted that you wouldn't consider C# which has had lambdas in the
core language for 5 years now to be a mainstream language! ;-)

I don't think lambdas necessarily require a rethink of the API, often
they
can be used to great effect to simplify code behind the scenes.  Of
course
it depends how Java goes about adding lambdas, if they do it anything
like
.Net did then implementing certain interfaces automatically provides end
users with the ability to apply lambdas with minimal effort on the part
of
the API developer.

Rob

AIUI Java lambdas do automatically work with "function interfaces" (i.e.
one method interfaces) and remove the bulk of anon inner class
declarations (yea!).  I'm still trying to get to grips what effect
default methods will have on style and design.

But they are not closures/delegates are they?  While you don't have to
write the word "final" on variables, it still works that way.

Java 9 has reification (not that one!), tail calls and continuations, +
Jigsaw(!!) ... all maybe and all way-off.  Jam the day after tomorrow.

C# is still ahead.

(and I wanted generics reification recently to have Sink<Triple> and
Sink<Quad> on the same class ... :-()

        Andy



On 1/17/13 7:46 PM, "Simon Helsen" <[email protected]> wrote:

ah yes, lambdas. Never thought I would see the day where I would be
able
to use syntactic closures in a mainstream language. I am saying this
as a
former functional language developer.  (I never considered Smalltalk a
mainstream language, but to be fair it used to have blocks). I agree
they
would be an opportunity to rethink the API

Simon




From:
Damian Steer <[email protected]>
To:
[email protected],
Date:
01/17/2013 02:37 PM
Subject:
Re: Java6 end of life




On 17 Jan 2013, at 09:37, Andy Seaborne <[email protected]>
wrote:

FYI

Java 6 end-of-life is approaching.

End of public updates is next month (Feb 2013).
End of public updates for Java7 is currently July 2014.
Java8 is scheduled for Sept 2013 (and feature complete this month)

Jena 2.10 is the next release.

Thoughts on migration?

We obviously hope people deploy jena on vendor supported java stacks,
but
I don't see java 6 use falling rapidly.

So are there other reasons to move? There are some reasonable useful
language changes, but nothing that compelling. For jena users I imagine
try with resources support would be great, and that (annoyingly) would
mean a change to 7 on our side (AutoCloseable is jdk 7+).

Besides that the new nio stuff, particularly file paths, is great but
not
especially relevant to jena.

Java 8, otoh, is more significant. Lambdas might provide an opportunity
to
rethink the API. As I understand it some lambda support might not
require
moving to java 8 -- simply accept single method interfaces and
functions
will work -- but there's plenty of JDK changes that we might like to
use.

Damian






Reply via email to