Friday, January 01, 2010

Happy New Year !

First of all, I am declaring online bankruptcy with respect to the obligations that I don't have time for, or interest in maintaining. That is:

  • I am archiving all the email in my in-box. Anything that needed a response will not get one.
  • I am shelving my open-source projects. Yes - they are dead (although the code may find new life in other projects).
  • I am closing down the Yahoo groups I own.
From now on I will be concentrating on one main premise - modeling and code-generation using semantic web technologies. I will also be focusing on Prolog as my main language in the modeling layer and Clojure as my main language in the runtime layer.

To that end, I will be thinking about two big Clojure projects:
  1. Visual Clojure (see my previous ramblings about visual representations for Scheme)
  2. Clojure for other platforms - namely AVM2 (Flash) and Objective-C.
The intention is to drive these projects via modeling and code-generation.

Initially, I will be using OmniGraffle as my modeling tool but may build other tools that are more open-source friendly. The modeling languages will be OWL2 and RDF, processed by Prolog (on the JVM) and other related technologies such as SPARQL and Pellet.

I expect to continue shaving many yaks, but I plan to do it without guilt.

4 comments:

Charlie said...

Shaving yaks, interesting. The unexplainable crap you gotta do so eventually, you can do the stuff that can be explained (to non-programmers.)

sergeyt said...

Hello, Nick!

Could you please provide short notes on status of very interesting j2avm project which can help to enable polyglott programming on Adobe Flash Platform?

Nick Main said...

Hi Sergey,

I am working on ontologies (OWL models) for JVM and SWF/AVM2 file formats and bytecode semantics.

Recreating JavaSWF (and "AS-SWF", and "Scheme-SWF") via code-generation is the first use-case. Bytecode-translation (generated from a mapping model) is probably next - although it will more likely be via a higher-level intermediate language (RDF-based) that can express the core semantics of JVM, Scheme, JavaScript, and Clojure.

The bottom line is that the current J2AVM codebase is dead, but the goal of cross-platform development is very much alive.

sergeyt said...

Very interesting. Keep working! Thanks.