[Haskell-cafe] To yi or not to yi, is this really the question? A plea for a cooperative, ubiquitous, distributed integrated development system.

Claus Reinke claus.reinke at talk21.com
Mon Jun 18 13:14:58 EDT 2007


>Having just presented a case for the possible rationality of the
>irrational decision of creating an Emacs-like IDE in Haskell, I
>wonder if we should not be even more irrational and contemplate the
>possibility of using Haskell to create a radically different kind of
>IDE..  New technologies are often used to imitate and reimplement the
>artefacts of previous technologies. 

don't underestimate those "previous" technologies, though. given your
outline, you're almost certain to find this interesting:

  Croquet is a powerful open source software development environment
  for the creation and large-scale distributed deployment of
  multi-user virtual 3D applications and metaverses that are (1)
  persistent (2) deeply collaborative, (3) interconnected and (4)
  interoperable. The Croquet architecture supports synchronous
  communication, collaboration, resource sharing and computation among
  large numbers of users on multiple platforms and multiple devices. 

  http://croquetconsortium.org

the screenshots can be misleading in their simplicity, so be sure 
to browse some of the papers referenced on the 'about' page in
the technology section

  http://croquetconsortium.org/index.php/About_the_Technology

>Up to you now, what is your dream?

if you look closely, you'll see that croquet is implemented in squeak,
which in turn is a re-implementation of one of the ancient smalltalks. 

squeak is by no means the ideal implementation language for this 
kind of project, nor am i completely convinced by the synchronous 
approach used for croquet. but while implementation of croquet 
in squeak is obviously doable, i see various difficulties for doing 
the same in haskell.

where squeak is too dynamic/imperative/flexible, haskell is too
static/unreflective/limited (ever tried to pass functions through
haskell's i/o interface? type Dynamic and dynamic loading are still
outside the language definition [hs-plugins], as are distribution
[gdh], persistence [many starts, no finish, but see Clean's first
class i/o], reflection/meta-programming [Data/Typeable, template 
haskell..; meta ml?]). one dream would be successors to haskell and
croquet so that croquet' could be implemented in haskell''.

claus



More information about the Haskell-Cafe mailing list