From: Daniel Lewis Date: 2005-09-30T22:32:29+09:00 Subject: Re: In your opinion.... " But if you really want to understand how it works, you need to understand the monad, which is quite an esoteric mathematical notio " - Christophe Grandsire I thought I had heard of Monads before, I found this: " Leibniz's theory does not posit physical space; rather, physical objects are constructs of the collective experiences of monads. This way of putting it is misleading, however; monads do not interact with each other (are "windowless"), but rather are imbued at creation with all their future experiences in a system of pre-established harmony. The arrangements of the monads make up the faith and structure of this world, which to Leibniz was "the best of all possible worlds". " - Wikipedia I've read about Leibniz before. Wikipedia also says: " * in non-standard analysis, a monad consists of all those numbers infinitesimally close to a given number; * in category theory, a monad, also known as triple, is a type of functor important in the theory of adjoint functors. This term has a different root than the ones described above; it was formed by combining "monoid" and "triad". See monad (category theory). * In pure functional programming languages such as Haskell, monads are used as data types that encapsulate the functional I/O-activity, in such a manner that the side-effects of I/O are not allowed to spread out of the part of the program that is not functional (imperative). See monads in functional programming. " I am still intrigued to find out how this would work in Ruby... maybe something to do before I start my dissertation in April (2006). Has anyone used Ruby in a "functional" way before? My experience of Ruby so far: * I have been using it for about 2 months now, I have made two commercial applications: (1) An additional component to a C++/Qt program to connect to a MySQL database and collect data and turn it into a CSV file. It uses the MySQL/Ruby module. (2) A configuration file maker for (1): writes (and reads) XML files to be read by (1) as configurations. It uses REXML and WxRuby. * I have played about with using Ruby to connect to sockets. I have also tried to use Ruby/tk but couldn't quite grasp it properly. Ruby has been really good for what I have used it for so far. But will it be able to withstand the development I do in it for my dissertation??? Thanks for all your answers... please continue to discuss, its really interesting.