From: ·········@yahoo.com
Subject: To CLOS or not to CLOS that is the question...
Date: 
Message-ID: <1130178691.976220.46440@g14g2000cwa.googlegroups.com>
I would like to know what lisp experts' opinions are in using CLOS to
write a large business application incorporating complex business rules
and a NLP interface--for example, an accounting software suite. I am
looking to either do this is Prolog + wxWidgets or in Lisp (Lispworks +
CAPI).

In evalulating lisp, I am trying to decide if CLOS should be used as
opposed to using a combination of macros, closures and run-time typing
with maybe a smattering of structures and hash tables. I find that
either lisp or prolog are very useful for NLP--which is an integrated
component of the software I am trying to write.

I have also done some prototyping using OCAML, SML, and Haskell;
I like Algebraic DataTypes but CLOS seems to simulate/give more or less
the same functionality.

The mantra for OOP is that it helps to deal with complexity. Some Lisp
experts say though that there are alternatives to OOP/CLOS.
So would you use CLOS for writing a large scale business application?

From: Marco Antoniotti
Subject: Re: To CLOS or not to CLOS that is the question...
Date: 
Message-ID: <nra7f.42$pa3.19060@typhoon.nyu.edu>
·········@yahoo.com wrote:
> I would like to know what lisp experts' opinions are in using CLOS to
> write a large business application incorporating complex business rules
> and a NLP interface--for example, an accounting software suite. I am
> looking to either do this is Prolog + wxWidgets or in Lisp (Lispworks +
> CAPI).
> 

Do you know that Lispworks comes with a Prolog compiler as well?

> In evalulating lisp, I am trying to decide if CLOS should be used as
> opposed to using a combination of macros, closures and run-time typing
> with maybe a smattering of structures and hash tables. I find that
> either lisp or prolog are very useful for NLP--which is an integrated
> component of the software I am trying to write.
> 
> I have also done some prototyping using OCAML, SML, and Haskell;
> I like Algebraic DataTypes but CLOS seems to simulate/give more or less
> the same functionality.
> 

Similar, more in some sense, less in some other.


> The mantra for OOP is that it helps to deal with complexity. Some Lisp
> experts say though that there are alternatives to OOP/CLOS.
> So would you use CLOS for writing a large scale business application?

Absolutely yes.

Cheers
--
Marco
From: Kenny Tilton
Subject: Re: To CLOS or not to CLOS that is the question...
Date: 
Message-ID: <3Pa7f.19367$h25.1946@news-wrt-01.rdc-nyc.rr.com>
·········@yahoo.com wrote:

> So would you use CLOS for writing a large scale business application?
> 

I did. Worked great. This included persistent CLOS (via Franz's 
AllegroStore) and marrying that to the (at the time) metaclass 
implementation of my Cells dataflow hack. (Yes, multiple inheritance for 
metaclasses -- did I score a first?) A Cell formula is a great place for 
a business rule. Cells also let OOP deliver on the promise of re-use 
(because different instances can have different rules for the same slot).

[Please note that in one article I am pimping both Cells and AllegroCL, 
which should really piss off the yobs. :)]

-- 
Kenny

Why Lisp? http://wiki.alu.org/RtL_Highlight_Film

"I've wrestled with reality for 35 years, Doctor, and I'm happy to state 
I finally won out over it."
     Elwood P. Dowd, "Harvey", 1950
From: Jamie Border
Subject: Re: To CLOS or not to CLOS that is the question...
Date: 
Message-ID: <djjftj$fr1$1@nwrdmz01.dmz.ncs.ea.ibs-infra.bt.com>
"Kenny Tilton" <·······@nyc.rr.com> wrote:
>
>
> ·········@yahoo.com wrote:
>
>> So would you use CLOS for writing a large scale business application?
>>
>
> I did. Worked great. This included persistent CLOS (via Franz's 
> AllegroStore) and marrying that to the (at the time) metaclass 
> implementation of my Cells dataflow hack. (Yes, multiple inheritance for 
> metaclasses -- did I score a first?) A Cell formula is a great place for a 
> business rule. Cells also let OOP deliver on the promise of re-use 
> (because different instances can have different rules for the same slot).
>
> [Please note that in one article I am pimping both Cells and AllegroCL,

Kenny is right to pimp Cells here - I built a fairly large warehouse 
management / accounting / mail-order / e-commerce package using it and it 
absolutely ROCKS.  I really don't think I could have done this without:

a) Common Lisp
b) CLOS
c) Cells (also cells-gtk)

Certainly roll your own OO if you want (closures, etc.), but you are losing 
out on some great stuff if you do.

Look out for UnCommon Web (UCW) as well - I've had some good configuration / 
testing apps from this.

> which should really piss off the yobs. :)]

Maybe, but I'll be shipping you some beer when my bonus comes in, so I'm 
sure you'll be able to take them all on...

Jamie

>
> -- 
> Kenny
>
> Why Lisp? http://wiki.alu.org/RtL_Highlight_Film
>
> "I've wrestled with reality for 35 years, Doctor, and I'm happy to state I 
> finally won out over it."
>     Elwood P. Dowd, "Harvey", 1950
> 
From: Nelson Marcelino
Subject: Re: To CLOS or not to CLOS that is the question...
Date: 
Message-ID: <1130188669.559789.126040@f14g2000cwb.googlegroups.com>
cells-gtk seems very interesting. Kenny, Jamie,  thanks for the link. I
wil try it out.

Marco, I heard there was a Edinburgh style prolog available. I have
been unable to test it out
because at the moment I only have the personal edition of lispworks to
play around with.
I am unsure what the LIPS count of that implementation is. For my needs
it might be adequate. Also they have a (LISA/CLIPS style) expert system
shell (knowledgeworks). Allegro also offers prolog, based, I believe on
norvig code. I want to invest in a commercial compiler for robustness
for final software deployment (LISP people need to be paid for their
efforts).
From: Kenny Tilton
Subject: Re: To CLOS or not to CLOS that is the question...
Date: 
Message-ID: <Lkd7f.7$3A4.1@news-wrt-01.rdc-nyc.rr.com>
Jamie Border wrote:
> "Kenny Tilton" <·······@nyc.rr.com> wrote:
> 
>>
>>·········@yahoo.com wrote:
>>
>>
>>>So would you use CLOS for writing a large scale business application?
>>>
>>
>>I did. Worked great. This included persistent CLOS (via Franz's 
>>AllegroStore) and marrying that to the (at the time) metaclass 
>>implementation of my Cells dataflow hack. (Yes, multiple inheritance for 
>>metaclasses -- did I score a first?) A Cell formula is a great place for a 
>>business rule. Cells also let OOP deliver on the promise of re-use 
>>(because different instances can have different rules for the same slot).
>>
>>[Please note that in one article I am pimping both Cells and AllegroCL,
> 
> 
> Kenny is right to pimp Cells here - I built a fairly large warehouse 
> management / accounting / mail-order / e-commerce package using it and it 
> absolutely ROCKS.  I really don't think I could have done this without:
> 
> a) Common Lisp
> b) CLOS
> c) Cells (also cells-gtk)

Are you serious? I was about to announce the Official Cells Production 
User Population, after ten years of my incessant flogging of the hack, 
to have reached 2, based on a recent post by Mr. Burdick that makes it 
look like he is ... oh, hang on, he told me a long time ago he had 
shipped a Cells Inside(tm) app. Anyway...

I would count Vasilis as #3, but Cells-gtk was just an (amazing) 
exercise to him.

> Maybe, but I'll be shipping you some beer when my bonus comes in, so I'm 
> sure you'll be able to take them all on...

Thx, I could use the income. My dream of a Cells consulting business is 
fading as user after user turns out not to be hindered at all by my 
deliberate withholding of documentation. :(


-- 
Kenny

Why Lisp? http://wiki.alu.org/RtL_Highlight_Film

"I've wrestled with reality for 35 years, Doctor, and I'm happy to state 
I finally won out over it."
     Elwood P. Dowd, "Harvey", 1950
From: Thomas F. Burdick
Subject: Re: To CLOS or not to CLOS that is the question...
Date: 
Message-ID: <xcvy84hyhbj.fsf@conquest.OCF.Berkeley.EDU>
Kenny Tilton <·······@nyc.rr.com> writes:

> Are you serious? I was about to announce the Official Cells Production
> User Population, after ten years of my incessant flogging of the hack,
> to have reached 2, based on a recent post by Mr. Burdick that makes it
> look like he is ... oh, hang on, he told me a long time ago he had
> shipped a Cells Inside(tm) app. Anyway...

A few, actually.  As far as I can tell, all but one are still in production.

-- 
           /|_     .-----------------------.                        
         ,'  .\  / | Free Mumia Abu-Jamal! |
     ,--'    _,'   | Abolish the racist    |
    /       /      | death penalty!        |
   (   -.  |       `-----------------------'
   |     ) |                               
  (`-.  '--.)                              
   `. )----'                               
From: Wade Humeniuk
Subject: Re: To CLOS or not to CLOS that is the question...
Date: 
Message-ID: <qEi7f.37400$yS6.16142@clgrps12>
·········@yahoo.com wrote:
> 
> The mantra for OOP is that it helps to deal with complexity. Some Lisp
> experts say though that there are alternatives to OOP/CLOS.
> So would you use CLOS for writing a large scale business application?
> 

Part of it.  OOP gets in the way of finding your way to a solution
in the beginning.  This is because OOP is another constraint that will
limit your creativity.  When you understand it (in this case means
implementing a running solution) you will be more able to cast
it into an OOP form.  Whether you would want to to at this point
is academic, as there is nothing like success.

Wade