Version 52 of Neil Madden

Updated 2006-08-26 04:22:24 by NEM

Email: nem AT cs.nott.ac.uk Web: http://www.cs.nott.ac.uk/~nem/ Location: Nottingham, UK. Date of Birth: 27 October 1980.

I am a PhD student at the University of Nottingham[L1 ] in the UK. 'Been a Tcl user for quite a long time (since 1999 when I worked for a year at IBM's Hursley development labs[L2 ]. Paul Duffin was using Tcl a lot there, and developing Feather). Pages I have created:

  • C# using construct in Tcl.
  • A little database with unification.
  • A little logic notation editor.
  • A description of polymorphism.
  • A proposal: A generic collection traversal interface.
  • Experimenting with a Compositional Tk.
  • A write-up of Traits: a compositional approach to OO.
  • Contributed some thoughts about the crucial reasons why everything is a string.
  • My take on OO - TOOT: Transparent OO for Tcl. (or Transparent Object Oriented Tcl).
  • The "philosophy" behind TOOT: Interpreting TOOT (but see also the comments on EIAS above).
  • Taking from ideas from Haskell: Monadic TOOT leads to Parser Combinators.
  • Non-deterministic search : A little play with automatic backtracking.
  • A vision for Tcl 9: I am working on an essay with some ideas for Tcl 9. [L3 ]. Update: this is a bit out of date, but most of the points are still valid. I've moved the essay to my univerity hosting for the time being: beware broken links! I seem to be more reliable at writing essays than getting round to coding up the ideas in them. Hopefully I'll get round to updating this essay and demonstrating the ideas soon.
  • Games: I wrote TkPool (with a little help from dkf). Quite a nice start, but needs someone to finish it off. Alas, that's unlikely to be me for the forseeable future.
  • Artificial Intelligence: This is related to my PhD research. I am currently working on a forward-chaining production system (rule-interpreter) library, suitable for use in games. It will naturally come with a Tcl binding when finished. I actually have a working version of this written in C++ some time ago. It's buggy though, and I've started a rewrite in plain C (it's only a small library, so C++ doesn't add much other than complexity). The library is called GORE for the Game Oriented Rule Engine. I almost prefixed that name with Adaptable Lightweight, but AL GORE perhaps isn't the best name for it! It's Game-Oriented as the original brief (it was an undergraduate dissertation project) was for it to be useable on low-memory games consoles. This should definitely emerge in the next month (Aug '05), as I need it for a project at uni and I've made commitments to others that it will be finished.
  • Web: I'm contemplating writing an application server/content management system in Tcl. There are some old ideas at StarSite. I've been corresponding with Colin McCormack about this. He has some very good ideas - and code to back it up! This is a long-term goal, which must come second to my PhD work, so don't expect anything useful to come of it... yet. I'm considering naming the CMS ArTcl, so please don't use that name for anything, as I'm rather proud of it! I have actually written a reasonable amount of code towards this. It's staying under wraps though until I'm ready to release it. A careful reading of posts I make to the wiki and newsgroup will give away some of the ideas being used in it.
  • A little BibTeX parser. This is a very basic script that I knocked up for a one-off conversion of some files into web pages. It has since been added to tcllib, but I don't think it gets installed yet. Rather than invest too much time getting it working fine, I'd quite like to write a general parsing framework based on Parser Combinators, and then write the BibTeX parser in that. AKU also has a parsing framework which is in tcllib, which might be a way to go. I also have a partial CSS parser which is also hand-coded. That works quite well, but isn't complete either.

Some other pages:

All contributions/code that I place in this wiki are public domain. You can do with them as you will, but I do not provide any warranties or guarantees of any kind.

You can find my university web-pages, at http://www.cs.nott.ac.uk/~nem/ . You can email me at nem AT cs.nott.ac.uk.

Cameron Laird mentioned me in [L6 ]. The project he mentions there died without producing much useful code, although it did spawn the larger beast of ArTcl which threatens to never be finished. (It will be one day, but probably not until my PhD is done).

I contributed the first socket code to the TclJava project.

Other bits and bobs (mostly older stuff)

I once worked on a couple of extensions for Jacl/TclJava - one called Hyde which was going to be an OO-system for Jacl (well, everyone writes one at some point :), and another called JFeather which was going to be an implementation of Feather for Jacl. I never finished either. Hyde is now the name of a Critcl clone for Jacl (not written by me, but somebody with the same sense of humour - Jacl and Hyde). JFeather got ridiculously complicated, and I think I concluded that it couldn't be done for some technical reason (I think it would require writing raw Java bytecode, which is not something I ever want to do).

I wrote a simple .sig file for when I was posting on USENET, which was Tcl code using tkhtml to grab this wiki page and render it. It attracted some attention, and lives at Simple TkHTML Web Page Displayer.

I've done a little experimenting with Haskell (a great language). Have a look at Interfacing Tcl with Haskell for my conclusions.

Simple XML report writer - A simple example of SAX-based XML parsing and rendering the result on a canvas.


[ Category Home Page | Category Person ]