On 2007-10-09 14:47 +0100, Sam Mason wrote:
> I hope the "inferior minds" comment below was intended as a joke --

Not really. Not everyone is up to the task of designing a programming
language, and certainly not a beautiful and useful one (certainly not
the C++ designers!), whereas it is comparatively easy to write a
crappy library up to a specification of what it must provide access 
to. Designing a beautiful library -- now that takes effort again.

> On Tue, Oct 09, 2007 at 12:48:58PM +0000, Tuomo Valkonen wrote:
> What makes these libraries/frameworks
> "inferior", rather than just different and/or unsuitable for solving the
> problems you're (currently) interested in?

I'm not saying unsuitable, I'm saying they suck aesthetically.

Good programming is art, science, and engineering. In present
practise the engineering -- i.e. ugly kludges to get things
working now, fast -- aspect is dominant almost to the exclusion
of the two others.

> Has Haskell gone out of favour with you, or is it just GHC/Hugs'
> byzantine libraries.

As I already said, the language itself (well, Haskell'98 anyway 
-- the extensions are rather crummy) is rather nice, but the 
libraries suffer from YAMMBHE.

> If you know of a better way, than a hierachy, of organising large
> amounts of (generally interdependant) code then I'd be interested to
> hear it.

C doesn't need organisation... Now, namespaces would be nice, but
I don't think they should form a global rigid hierarchy that will
run without central bureaucratic control into conflicts just like 
a global (non-cryptographic) flat namespace. I think libraries 
should be imported locally in a given namespace. You know, like
Haskell already lets you import libraries from the Huge Hierarchy
locally in modules with a different name

    import qualified Some.Deeply.Nested.Crummy.Shit as S

with Some.Deeply.Nested.Crummy.Shit actually provided by
'-package foobar' on the command line, when it isn't part
of the standard MegaCollection. So why not have various
small libraries living in the operating system's namespace
(the file system) and import them locally with some name,
using the file name directly (instead of the compiler system,
like GHC, having a crummy wheel-reinventing database for its
own packages)

    -package S=/pkg/libfoobar-1/lib/libfoobar.so

(Then further combine this with the cryptographic namespace
of a package capability system [1].)

  [1]: http://iki.fi/tuomov/b/archives/2007/07/16/T22_41_22/

-- 
Tuomo

Reply via email to