> If you use Haskell for a purpose *other than* one of those listed below, > I'd love to hear. I don't need a long report, anything from a simple "I > do" to a paragraph would be fine, and if you want to remain anonymous > that's fine, too.
I have used Haskell for: - Knit (http://www.cs.utah.edu/flux/knit/) A component language for C based on the Unit model used in MzScheme. (Roughly comparable to using ML functors for every module.) This was used to break the OSKit (a huge collection of OS kernel components extracted from Linux, Mach and *BSD) into finer grained components. A new version of Knit which allows import and export of types is almost ready. (The first version could only import/export functions, variables and opaque types.) [Knit is a language needing all the bits that Haskell is good for writing (lexing, parsing, static typechecking, desugaring, optimizing, generating 'code', etc.) Uses an external program written in C to rename symbols in ELF-format object files.] - CMI (due for release soon) A tunable cross-module inliner for C. Can be used to speed up your code. Can be used to reduce the stack consumption of embedded systems (http://www.cs.utah.edu/~regehr/stacktool/) Can be used to let you adopt a better programming style in C by letting you put aside some performance concerns. [Works by parsing C source code, merging multiple files into one, topologically sorting function definitions, pretty-printing, etc. All the things Haskell is good for!] - ADL An architecture description language which focusses on describing the hierarchies of schedulers and composition of software components found in embedded systems. (Background: http://www.cs.utah.edu/flux/papers/cee-flux-tn-02-02/) [Again, ADL is a language so it has all the usual bits Haskell is good for: lexer, parser, dynamic typechecking, dimension types, interpreter, etc. Also uses Haskell's ability to call external tools so it can use external analysis tools written in Haskell (like TSL, below), or written in C, perl, whatever.] - Task/Scheduler Logic (TSL) A language/ logic/ tool for reasoning about hierarchies of schedulers found in embedded systems. [Uses Haskell's strengths for implementing languages and for symbol manipulation (contains a small forward-chaining inference engine).] - FVision (Visual tracking) Given a bunch of simple image tracking primitives (written in C++ and assembly, part of the larger XVision system), build complex feedback loops, hierarchies, etc. to create more robust, flexible, sophisticated tracking systems. http://www.reid-consulting-uk.ltd.uk/alastair/publications/padl01/index.html Uses Haskell's ability to 'embed' domiain specific languages inside it. [One could argue that this project was just 'Haskell for Haskell's sake' but it's worth pointing out that it lead to a complete redesign of XVision along the lines I had developed in the Haskell version.] -- Alastair Reid _______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell