Software by James Candy
- Dependent Types - This was an attempt to see if I could simulate dependent types in Haskell. I did it by using type variables in place of term level variables, and setting up the inference rules so that reasoning proceeds correctly.
- Word Processor - This was an attempt to build a word processor in a basically functional style, with zippers to keep track of where editing is happening.
- Haskell Debugger - This debugger was borne out of my dissatisfaction with existing Haskell debuggers, which typically require post-mortem debugging only.
- Swizzling - Packages such as 'binary' and 'serial' are good for serial I/O in files, but not so good for random access I/O. This package solves the random access I/O problem for all data structures, by implementing a memory management scheme inside files.
- Reactivity - A library for functional reactive programming based on Reactive on Hackage.
- ConcurrentUtils - the package on Hackage.
Old Windows Apps (I have to support them)