Re: [Haskell-cafe] How difficult would creating a collaborative multi-user online virtual world application be in Haskell?

2009-05-07 Thread wren ng thornton

Benjamin L.Russell wrote:

Unfortunately, Smalltalk is an object-oriented language.  If possible,
I would like to see something similar in a functional programming
language such as Haskell.

Does anybody know whether duplicating this project in Haskell would be
feasible?


In terms of technical feasibility, Smalltalk does have some advantages 
in the metacircularity of the VM/compiler/program, which seem like 
they're being taken advantage of for this application. Following along 
this direction, Luke Palmer is working on a language, Dana[1], which 
aims to be Haskell-like and also to have a Smalltalk-like metacircular 
VM. Depending on what exactly you want to duplicate, something like the 
Dana project may be a good thing to follow.



[1] http://lukepalmer.wordpress.com/category/code/dana/

--
Live well,
~wren
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] How difficult would creating a collaborative multi-user online virtual world application be in Haskell?

2009-05-07 Thread Bryan O'Sullivan
On Thu, May 7, 2009 at 3:28 AM, Benjamin L.Russell
wrote:

> One question that has been coming up at the back of my mind for the
> past several weeks has been how difficult would it be to create a
> collaborative multi-user online virtual world application in Haskell.
>

It should be easier than in many other languages, but that's not saying
much: for any big, sprawling application, its own intrinsic complexity will
make building it difficult. You can of course have an effect on extrinsic
difficulties through, among other things, a careful choice of implementation
language.

An ill defined problem is going to face many more non-obvious decisions than
one that is tightly scoped. On such a project, the chances that you'll make
decisions (probably many of them) that turn out to be both pivotal in their
importance and detrimental in their effect are high. Haskell provides a
certain amount of defence against some such decisions through its emphasis
on purity, but again it's the fuzzy nature of the problem space that's
likely to cause you the most headaches, not aspects that a language will
help much with.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] How difficult would creating a collaborative multi-user online virtual world application be in Haskell?

2009-05-07 Thread Andrew Wagner
This reminds me of a server app I saw recently in a language called  
Clojure. Clojure is a relatively new lisp variant targeting the JVM,  
and has a home-grown STM layer built into the language. Anyway, the  
app I saw was a (admittedly didactic-focused) multi-threaded MUD  
server (google "clojure mire"), which could easy serve as the  
foundation for a project like this. Thus, I would say that STM is up  
for the challenge. The question in my mind would be whether or not  
Haskell's graphics/video libraries are mature enough.


On May 7, 2009, at 6:28 AM, Benjamin L.Russell  
 wrote:



One question that has been coming up at the back of my mind for the
past several weeks has been how difficult would it be to create a
collaborative multi-user online virtual world application in Haskell.

More specifically, last August, I came across a very interesting
application called Croquet (see
http://www.opencroquet.org/index.php/Main_Page), which happens to be
based on Squeak (see http://www.squeak.org/), a dialect of Smalltalk.
Croquet, in turn, provides the basis for Cobalt (see
http://www.duke.edu/~julian/Cobalt/Home.html), a "virtual workspace
browser and construction toolkit for accessing, creating, and
publishing hyperlinked multi-user virtual environments" (according to
the home page for that project).

What struck me as especially interesting was how Croquet allows
multiple users to collaborate together in a multi-user online virtual
world in software development and other collaborative projects.  As
one application, the video clip on the upper-right-hand corner of the
above-mentioned Croquet home page illustrates how a user can, by
writing code from inside the application, create on-the-fly additional
virtual environments, which can then be entered by either the
programmer or other programmers.  Other applications (shown in other
video clips on the "Screenshots/Videos" page (see
http://www.opencroquet.org/index.php/Screenshots/Videos) show
alternative applications that include text-based annotations, a 3D
spreadsheet, and writing a conventional blog from within a virtual
world.

Unfortunately, Smalltalk is an object-oriented language.  If possible,
I would like to see something similar in a functional programming
language such as Haskell.

Does anybody know whether duplicating this project in Haskell would be
feasible?

-- Benjamin L. Russell
--
Benjamin L. Russell  /   DekuDekuplex at Yahoo dot com
http://dekudekuplex.wordpress.com/
Translator/Interpreter / Mobile:  +011 81 80-3603-6725
"Furuike ya, kawazu tobikomu mizu no oto."
-- Matsuo Basho^ 


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] How difficult would creating a collaborative multi-user online virtual world application be in Haskell?

2009-05-07 Thread Benjamin L . Russell
One question that has been coming up at the back of my mind for the
past several weeks has been how difficult would it be to create a
collaborative multi-user online virtual world application in Haskell.

More specifically, last August, I came across a very interesting
application called Croquet (see
http://www.opencroquet.org/index.php/Main_Page), which happens to be
based on Squeak (see http://www.squeak.org/), a dialect of Smalltalk.
Croquet, in turn, provides the basis for Cobalt (see
http://www.duke.edu/~julian/Cobalt/Home.html), a "virtual workspace
browser and construction toolkit for accessing, creating, and
publishing hyperlinked multi-user virtual environments" (according to
the home page for that project).

What struck me as especially interesting was how Croquet allows
multiple users to collaborate together in a multi-user online virtual
world in software development and other collaborative projects.  As
one application, the video clip on the upper-right-hand corner of the
above-mentioned Croquet home page illustrates how a user can, by
writing code from inside the application, create on-the-fly additional
virtual environments, which can then be entered by either the
programmer or other programmers.  Other applications (shown in other
video clips on the "Screenshots/Videos" page (see
http://www.opencroquet.org/index.php/Screenshots/Videos) show
alternative applications that include text-based annotations, a 3D
spreadsheet, and writing a conventional blog from within a virtual
world.

Unfortunately, Smalltalk is an object-oriented language.  If possible,
I would like to see something similar in a functional programming
language such as Haskell.

Does anybody know whether duplicating this project in Haskell would be
feasible?

-- Benjamin L. Russell
-- 
Benjamin L. Russell  /   DekuDekuplex at Yahoo dot com
http://dekudekuplex.wordpress.com/
Translator/Interpreter / Mobile:  +011 81 80-3603-6725
"Furuike ya, kawazu tobikomu mizu no oto." 
-- Matsuo Basho^ 

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe