Thursday, February 27, 2014

lambola

Copperbox revision 3100.

I've fleshed out the pretty printer so that nothing is stubbed any more. Some parts of the syntax don't print well and I still need to give indentation some attention.

Wednesday, February 26, 2014

lambola

Copperbox revision 3099.

More work on the pretty printer plus another improvement / correction to the syntax and parser.

Initial tests show the parser is working quite well although I still suspect it may have problems with constant expressions (and left recursion).

Tuesday, February 25, 2014

lambola

Copperbox revision 3098.

More work on the IDL pretty printer, plus another fix to the grammar / parser.

Monday, February 24, 2014

lambola

Copperbox revision 3097.

Initial work on the pretty printer, plus fixed a bug in the grammar and parser (module body should contain a list of Defintions not a single one).

Sunday, February 23, 2014

lambola

Copperbox revision 3096.

I've fleshed out the IDL parser so that there is a parser for all the productions in the Corba 2.0 IDL specification (OMG IDL gets increasingly huge after version 2.0).

The parser is so far untested - errors are expected as the grammar in the spec appears to be LR not LL. Also, the syntax datatypes seem to be sufficient to represent the grammar but might not be a good design - again I expect them to change.

Saturday, February 22, 2014

lambola

Copperbox revision 3095.

I've started a new project Lambola to look at Haskell - Java interop inspired by Meijer and Finne's Lambada. The name is a pun on Lambada and the dance invented by Greta Gerwig in Damsels in Distress - the sambola.

I imagine there's a lot of work involved in this project, but I think it should be amenable to piecemeal work (so hopefully I can get back to a Copperbox commit most days) and anything that raises the status of Haskell / Java interop will be a benefit to the Haskell community even if it is only a prototype / proof-of-concept.

Initially I'm working on a Parsec IDL parser.

Wednesday, February 12, 2014

concepts

Copperbox revision 3094.

I have implemented Christian Lindig's LATTICE algorithm after all, so now I can build concept lattices. My implementation is derived from Joost Visser's code that was published on the PURe group's CVS repository.

I won't delete concepts from Copperbox, but it is unlikely I'll do any more work on it.

Tuesday, February 11, 2014

concepts

Copperbox revision 3093.

I've corrected the NEIGHBORS algorithm so it produces a list of concepts - previously it was concatenating neighbors into a single concept. However, I'm not 100% sure this is correct and as I'm finding implementing the Fast FCA algorithm hard going I'm going to bow out with it unfinished.

I will delete the concepts folder from Copperbox as it isn't going to progress beyond a doodle.

Monday, February 10, 2014

concepts

Copperbox revision 3092.

I've implemented the prime operator (twice). In the literature on Formal Concept Analysis prime seems to be overloaded for two functions:

' : P(O) -> P(A)
(... deriving the set of shared attributes for all objects in a given set)


' : P(A) -> P(O)
(... deriving the set of objects sharing a given set of attributes)


Sunday, February 9, 2014

concepts

Copperbox revision 3091.

I've started a small prototype / doodle to implement Christian Lindig's algorithms for (fast) Formal Concept Analysis.

At the moment I'm a bit stuck as I don't see what the derivation / prime operator is doing in the algorithm NEIGHBORS.

Blog Archive

About Me

My photo
Disambiguating biog as there are a few Stephen Tetley's in the world. I'm neither a cage fighter or yachtsman. I studied Fine Art in the nineties (foundation Bradford 1992, degree Cheltenham 1992 - 95) then Computing part-time at Leeds Met graduating in 2003. I'm the Stephen Tetley on Haskell Cafe and Stackoverflow.