In Haskell, data type declarations, Parsec parsers, and HughesPJ pretty-printers very much resemble each other; supplying all three is virtuous, but involves a large amount of code duplication. syntran is a code generator designed to reduce the amount of duplication. Its source is similar to a Parsec LanguageDef-using parser, annotated with the unique information from the data type declaration and the pretty-printer which would normally not be found in a parser. It separates this information out to generate pure Haskell.
Fid Core Library is the core library for the Frigand Imperial Desktop, a genuine Unix desktop environment based around multiprocessing, text-stream IPC, and the "everything is a file" concept. It supports Emacs-like extensibility, customizability, and built-in multi-buffer support.
fid-listbuffer is a buffer implementation for the Frigand Imperial Desktop. Fid buffers are typically mutable monoids over particular unit types; the exact unit type and the equations satisfied by the monoid determine the particular buffer type. This package defines a parametric buffer type for the simple case of a free monoid over a unit type that is to be exposed to the programmer, where 'replaceableRegion' additionally is equivalent to (\ r d -> return True).
Re: A folder hierarchy suggestion
> % IMHO, final users (=parents) shouldn't
> have to build
> % applications, but they should be able
> to install
> % binary packages. These packages should
> be easy
> % to install and uninstall without
> getting the system
> % filled with unused files from previous
> % Furthermore, the
> "curious-but-not-geek" user
> % should be able to find everything
> (doc, binaries,data) about
> % an application easily.
> Absolutely :-)> I like the idea of
> application folders but don't want to
> > bloat the PATH variable.Don't worry
> - they don't.
> bash will find the app directory in PATH
> just as if it was
> an executable. Then, discovering that
> it's a directory, it runs the
> AppRun file inside it. Assuming bash
> supported them...
And you think bash is the only place PATH variables (note the plural!) are used? You have to modify bash, tcsh, ksh, python, perl, and execp, but also things like ld.so, gcc, cpp, man, info, whatever other documentation systems we come up with, autoconf (yeah, I know, databases will make autoconf obsolete, I'll believe that when every Windows program in existence cleans the registry on uninstall), emacs, python, perl (perl actually has a couple of PATH-likes of its own), web2c (which has an entire program kpathsea to search for texmf files (lucky you, imagine having to modify TeX, Metafont, and Metapost separately)). Also, the locale library supports (according to man 5 environ) a couple of environment variables which may be PATH-likes but aren't documented in man 5 locale, and I'm sure there are other examples I can't find. Changing bash alone is not going to solve your problems with PATH.