Showing posts with label tom adams. Show all posts
Showing posts with label tom adams. Show all posts

Monday, September 04, 2006

Modular Predicate Dispatch

Tom's post on interfaces reminded me of a paper and software I looked at in 2004 that implemented multiple dispatch using predicate inference in order to execute the correct method on a class. It was interesting at the time as it seems like a natural evolution of propositional logic technologies including things like the Semantic Web. Not to mention an implementation of the Visitor pattern that was quite neat.

A new paper released early this year, "Modularly Typesafe Interface Dispatch in JPred", in which they talk about the way they've successfully added support for predicate dispatch on interfaces. This is much better than most previous approaches, as far as I can tell. It's interesting that the type inferencing in their compiler was able to help debug the compiler itself.

They make reference to the Multijava project which adds open classes and symmetric multiple dispatch - but is limited to using classes and not interfaces like JPred originally was. Open classes are a way of getting some of the benefits that the Visitor pattern without modifying as much code. More details are in this paper.

The code looks like:
class C {
void m(Object o) {
System.out.println("got a C and an Object");
}
}
class D extends C {
void m(final Object o) {
System.out.println("got a D and an Object");
super.m(o);
this.resend(o);
}
}


The 2006 paper also references, "featherweight Java", which seems to have opened up a whole range of academic possibilities.

Monday, April 03, 2006

JRDF 0.4 Released

JRDF 0.4.0 is now out. The main difference between it and previous versions is that it is for Java 1.5 and above only. Also, Tom's SPARQL query engine is in. There's also bug fixes to do with RDF/XML parsing (mainly to do with feedback from Kowari developers). There's also initial interfaces for graph and relational operations (which may change). The beginnings of an index interface (using the idea of perfect indexes) has begun (org.jrdf.graph.index package). An NTriple grammar has also been added but there's no parser as yet.

Thursday, January 19, 2006

IntelliJ vs Eclipse Deathmatch

For my own reference, I'll put comparisons of Eclipse vs IntelliJ. I didn't like Eclipse because I found setting up projects a pain so it was a bit of a non-starter.

Tom's guide: "Eclipse requires you to save all the time...Eclipse has serious usability issues in graphical diff...Like Word, Eclipse wants to own your files and wants you to make all your changes through it".

It's subject of a recent Slashdot article.

It'd be good to find a comparison of the refactorings that are missing/different in Eclipse. I'm also trying out NetBeans 5 to see what it's like.

Update: An old comparison of Eclipse and IntelliJ and a PDF comparing RefactorIt, Eclipse 3.0 and IntelliJ 4.5. A list of new refactoring in NetBeans. Eclipse 3.2 M4 reproduces many features of Swing and IntelliJ IDEA, one of the threads Is $500 really alot of money?.

Wednesday, December 22, 2004

Gridbag

IBM Reflexive User Interface Builder "The IBM Reflexive User Interface Builder is an application that constructs and renders graphical user interfaces (GUIs) for Java Swing and Eclipse Standard Widget Toolkit (SWT) based upon a descriptive XML document. (Java Swing is a rich GUI toolkit included with Java that provides operating system-independent GUI components. Eclipse SWT is an add-on GUI toolkit that takes advantage of host operating system GUI components for maximum host integration.) IBM Reflexive User Interface Builder is both a specification for a mark-up language in which to describe GUIs and an engine for creating (and, if desired, rendering) them. This application can be used as a stand-alone application for testing and evaluating basic GUI layout and functionality, or it can be used as a library within the context of a Java application for creating and rendering GUIs for that application."

So you never have to go Totally Gridbag (via Tom).

Friday, June 25, 2004

Kowari on XML.com

A First Look at the Kowari Triplestore "Kowari is a solid tool created by an enthusiastic, knowledgeable team. That said, it's not for everyone: the architecture of the application is clearly focused on the server, and developers looking for an embeddable RDF store for desktop apps will likely want to look elsewhere, unless they are willing to add several megs to their applications. Kowari's dependence on Java is another possible sticking point for those developing tools using other frameworks. Documentation is brief and unfinished, but what's there is useful for the adventurous."

Updated documentation is going to be released to coincide with 1.0.4. Hopefully, this should make it a little more accessible to most.

"According to Tom Adams, "Our triplestore is really a quad store, the 4th tuple being the group/model that a triple belongs to.""

Apparently, I made this quote but it doesn't matter.

Paul said, "a better name might be "platypus"" - that was already taken by a previous project.

Friday, February 07, 2003

Universal Inbox

Tom recently pointed me to Spaces which is calling itself a Java based Outlook replacement. Not only does it do email, calendaring, tasks and notes but it has a built in RSS aggregator. The news items appear in your space/Inbox. This is similar to News2Mail but there doesn't appear to be a conversion. I've downloaded and played with it and it's very cool (cool meaning fast, seemingly stable, works with my mail settings, easily configurable, etc.) but not quite good enough for me to switch to using it. A recent blog by the author of Spaces mentions that "...in the future meta-structured storage integrated within applications will become the norm, rather than the exception".