From: Tyro
Subject: Graphics in MCL or LispWorks? (OS X)
Date: 
Message-ID: <1106998588.548225.128280@c13g2000cwb.googlegroups.com>
Hello,

I am not an experienced Lisp programmer. I am just learning the craft.
So, I apologise in advance for any silly questions I may ask here.

My research revolves around the intelligent user interfaces, artificial
intelligence, document design, information graphics, and linguistics. I
bought MCL5 about a year ago because I liked it very much. However, now
I desperately need to work with graphics and I cannot figure out the
best way to do that with MCL5.

At the moment, I am looking for a Lisp way to build a fairly efficient,
interactive graphical world somewhat similar in appearance to that in
Squeak. And I wonder if I should combine my MCL5 with CLIM or switch to
LispWorks and rely on CAPI?

P.S.
I am also a bit worried about MCL. Digitool does not seem to work on it
anymore. I wonder if it makes sense for me to invest my time and money
into the product that does not seem to be improving...

From: Ron Garret
Subject: Re: Graphics in MCL or LispWorks? (OS X)
Date: 
Message-ID: <rNOSPAMon-F336A5.09482929012005@news.gha.chartermi.net>
In article <························@c13g2000cwb.googlegroups.com>,
 "Tyro" <····@yandex.ru> wrote:

> Hello,
> 
> I am not an experienced Lisp programmer. I am just learning the craft.
> So, I apologise in advance for any silly questions I may ask here.
> 
> My research revolves around the intelligent user interfaces, artificial
> intelligence, document design, information graphics, and linguistics. I
> bought MCL5 about a year ago because I liked it very much. However, now
> I desperately need to work with graphics and I cannot figure out the
> best way to do that with MCL5.

Take a look at:

http://agentsheets.com/lisp/OpenGL.html


> I am also a bit worried about MCL. Digitool does not seem to work on it
> anymore. I wonder if it makes sense for me to invest my time and money
> into the product that does not seem to be improving...

1.  If enough people decide not to invest in MCL because they think it's 
not improving it becomes a self-fulfilling prophecy.

2.  MCL is improving (albeit slowly) due mainly to a small but dedicated 
cadre of volunteers

3.  MCL is pretty damn good to begin.  Even without improvement it's a 
damn good development environment (still my personal favorite).

rg
From: Olivier Drolet
Subject: Re: Graphics in MCL or LispWorks? (OS X)
Date: 
Message-ID: <1107039933.180970.312570@c13g2000cwb.googlegroups.com>
Hi Ron,


Ron Garret wrote:
> In article <························@c13g2000cwb.googlegroups.com>,
>  "Tyro" <····@yandex.ru> wrote:
>
--snip--
>
> 1.  If enough people decide not to invest in MCL because they think
it's
> not improving it becomes a self-fulfilling prophecy.
>

Possibly, but maybe a different conclusion can be reached. Maybe the
reasons for believing that MCL is not improving are that MCL _is_
indeed _not_ improving. Lack of communications by Digitool personnel
can account for a lot of that perception. Delay and terseness of
responses by said personnel can be another. Slow increase in MCL's
compliance with CLOS/MOP can be yet another. Total unwillingness to
comply to Mac OS X user interface guidelines, or to support Mac OS X
libraries and development technologies (e.g., Cocoa) pretty much did it
for me (2-3 years ago). Digitool issue no timeframes, no forward
looking disclosures. On the other hand, I got a lot of "No", "We have
no intention to do this", "This is not requested by our user base",
etc.


> 2.  MCL is improving (albeit slowly) due mainly to a small but
dedicated
> cadre of volunteers
>

I applaud the efforts of the volonteers. But what is Digitool doing to
improve things? And please define "slowly". A few years ago, this word
wasn't even in Digitool's vocabulary. Unless it was understool to mean
"in geological time". If they are now proceeding to modernise MCL,
maybe it's because Digitool are hemorrhaging customers to the benefit
of their competitors. Although that may further compound Digitool's
inability to bring about changes to MCL due to loss of revenue. But,
still, no need to invoke self-fulfilling prophecies to explain the
empirical basis.

IMO, if Digitool loose their current customer base (and there is some
annecdotal evidence of this), it will largely be their own fault. Franz
and Lispworks are moving in this space and the market, without too much
manipulation à la Microsoft, is responding normally. No intellectual
dishonesty or fallacious marketing by Digitool's competitors. Just
Digitool not willing, or able, to do what the marketplace asks for. Of
course, Digitool already had a customer base and did/does everything it
can to cater to it. It's just too bad they had no use for new customers
in their business plan, i.e., customers with different needs.

> 3.  MCL is pretty damn good to begin.  Even without improvement it's
a
> damn good development environment (still my personal favorite).
> 
> rg

Granted. From what I've seen, it's a good tool.
From: Ron Garret
Subject: Re: Graphics in MCL or LispWorks? (OS X)
Date: 
Message-ID: <rNOSPAMon-610FE4.18274729012005@news.gha.chartermi.net>
In article <························@c13g2000cwb.googlegroups.com>,
 "Olivier Drolet" <·······@mac.com> wrote:

> Hi Ron,

Hi Oliver.


> Ron Garret wrote:
> > In article <························@c13g2000cwb.googlegroups.com>,
> >  "Tyro" <····@yandex.ru> wrote:
> >
> --snip--
> >
> > 1.  If enough people decide not to invest in MCL because they think
> it's
> > not improving it becomes a self-fulfilling prophecy.
> >
> 
> Possibly, but maybe a different conclusion can be reached. Maybe the
> reasons for believing that MCL is not improving are that MCL  is 
> indeed  not  improving.

Non-sequitur.  Faith (or lack thereof) in something can have a direct 
impact its quality whether or not that faith (or lack thereof) is 
actually justified.


> > 2.  MCL is improving (albeit slowly) due mainly to a small but
> dedicated
> > cadre of volunteers
> >
> 
> I applaud the efforts of the volonteers. But what is Digitool doing to
> improve things?

You'll have to take that up with Digitool.

rg
From: Olivier Drolet
Subject: Re: Graphics in MCL or LispWorks? (OS X)
Date: 
Message-ID: <1107063255.727121.215860@z14g2000cwz.googlegroups.com>
Ron Garret wrote:
> In article <························@c13g2000cwb.googlegroups.com>,
>  "Olivier Drolet" <·······@mac.com> wrote:
> >
(snip)
> > Possibly, but maybe a different conclusion can be reached. Maybe
the
> > reasons for believing that MCL is not improving are that MCL  is
> > indeed  not  improving.
>
> Non-sequitur.  Faith (or lack thereof) in something can have a direct

> impact its quality whether or not that faith (or lack thereof) is
> actually justified.
>

Yes, lack of faith in Digitool products, or the company itself, can
have dire consequences on the financial situation of Digitool. But is
it necessarily the result of a self-fulfilling prophecy? I personally
think it is not. By claiming that my argument is a "Non-sequitur"', are
you stating that your belief--in Digitool not faring well--is because
of the marketplace's belief in self-fulfilling prophecies? I believe
that, in spite of the fact that self-fulfilling prophecies can be very
damaging to a company, sometimes complaints can not be reduced to said
prophecies, but rather are actually well-founded rejections of a
product. Numerous people have asked questions about MCL, Digitool,
right here on c.l.l. and on the MCL mailing list. The complaints are
similar and a pattern seems to be emerging. Many new or potential
customers are not impressed by Digitool's actions, or lack thereof. The
product evolutions is not exemplary (remember, you must define "slow").
Compliance with MOP and Mac OS X is less than adequate. Response from
Digitool is virtually non existent, and seldom positive (at least, that
has been my experience). There's nothing self-fulfilling about
something like that. This is measurable. Quantifiable. And not very
reassuring.


>
> > > 2.  MCL is improving (albeit slowly) due mainly to a small but
> > dedicated
> > > cadre of volunteers
> > >
> >
> > I applaud the efforts of the volunteers. But what is Digitool doing
to
> > improve things?
>
> You'll have to take that up with Digitool.
>

Done that already. Their answer I got at the time was "No". Their
customer base did not ask for more, therefore, nothing would be done to
accommodate my requests. Now, if that's not a self-fulfilling prophecy,
I don't know what is. Under their logic, they would never change or
upgrade their product, unless their current customers asked for it. To
influence them, I guess you have to become one, otherwise your comments
would never get considered. This is too bad, because for a long while I
was really looking forward to their product, until I started asking
questions.

> rg

Olivier
From: Ron Garret
Subject: Re: Graphics in MCL or LispWorks? (OS X)
Date: 
Message-ID: <rNOSPAMon-542F1D.23021729012005@news.gha.chartermi.net>
In article <························@z14g2000cwz.googlegroups.com>,
 "Olivier Drolet" <·······@mac.com> wrote:

> Ron Garret wrote:
> > In article <························@c13g2000cwb.googlegroups.com>,
> >  "Olivier Drolet" <·······@mac.com> wrote:
> > >
> (snip)
> > > Possibly, but maybe a different conclusion can be reached. Maybe
> the
> > > reasons for believing that MCL is not improving are that MCL  is
> > > indeed  not  improving.
> >
> > Non-sequitur.  Faith (or lack thereof) in something can have a direct
> 
> > impact its quality whether or not that faith (or lack thereof) is
> > actually justified.
> >
> 
> Yes, lack of faith in Digitool products, or the company itself, can
> have dire consequences on the financial situation of Digitool. But is
> it necessarily the result of a self-fulfilling prophecy?

No, but that's a straw man.  I never said it was necessarily the result 
of a self-fulfilling prophecy.

> I personally
> think it is not. By claiming that my argument is a "Non-sequitur"', are
> you stating that your belief--in Digitool not faring well--is because
> of the marketplace's belief in self-fulfilling prophecies?

No, not that it *is*, just that it might be.  And if people *want* 
Digitool to do better then they would do well to keep that possibility 
in mind.


> > > > 2.  MCL is improving (albeit slowly) due mainly to a small but
> > > dedicated
> > > > cadre of volunteers
> > > >
> > >
> > > I applaud the efforts of the volunteers. But what is Digitool doing
> to
> > > improve things?
> >
> > You'll have to take that up with Digitool.
> >
> 
> Done that already. Their answer I got at the time was "No". Their
> customer base did not ask for more, therefore, nothing would be done to
> accommodate my requests. Now, if that's not a self-fulfilling prophecy,
> I don't know what is. Under their logic, they would never change or
> upgrade their product, unless their current customers asked for it. To
> influence them, I guess you have to become one, otherwise your comments
> would never get considered. This is too bad, because for a long while I
> was really looking forward to their product, until I started asking
> questions.

Digitool is a small company with limited resources.  And the more people 
take your approach, the more likely they are to stay that way.

rg
From: Olivier Drolet
Subject: Re: Graphics in MCL or LispWorks? (OS X)
Date: 
Message-ID: <1107121611.382997.292200@f14g2000cwb.googlegroups.com>
Ron Garret wrote:
> In article <························@z14g2000cwz.googlegroups.com>,
>  "Olivier Drolet" <·······@mac.com> wrote:
>
> > Ron Garret wrote:
> > > In article
<························@c13g2000cwb.googlegroups.com>,
> > >  "Olivier Drolet" <·······@mac.com> wrote:
(snip)
>
> No, but that's a straw man.  I never said it was necessarily the
result
> of a self-fulfilling prophecy.

Granted. My bad.

>
(snip)
>
> Digitool is a small company with limited resources.  And the more
people
> take your approach, the more likely they are to stay that way.
>
> rg

Define what you mean by "your approach". Firstly, I do not approve of
anyone using self-fulfilling prophecies. In my case, when I was
shopping for a Lisp implementation, I carefully looked at the vendors
and their solutions. It turns out that I didn't entirely like what I
saw in either Digitool or MCL. Your criteria and analysis probably lead
you to a different conclusion. Although the other vendors also have
their share of inadequacies, theirs are more palatable to me. No
self-fulfilling prophecy was involved in my "approach". Simply an
evaluation of the vendor and its tools. Of course, my analysis of any
of these could only be partial, but to the best of my, admittedly,
limited ability, I based my decision on facts and observations. Hearing
that others also have the same objections to Digitool and its product
only reinforced my conclusion, after I had reached it.

I feel for Digitool. I really wanted to buy their product at first. I
was very biased in their favour at the outset. Yes, they should be
encouraged. And if their offering was in any way equivalent to those of
their competitors, I would not hesitate to go with MCL. Unfortunately,
I cannot afford to be that charitable, considering that the offerings
of their competitors are, IMO, superior in respects that matter to me.

Still, I'm always interested in learning what's going on with Digitool
and MCL. 

Cheer,

Olivier
From: fgmael
Subject: Re: Graphics in MCL or LispWorks? (OS X)
Date: 
Message-ID: <1107023178.830414.310500@z14g2000cwz.googlegroups.com>
http://www.corporacioninternacional.com/news/index.htm
http://www.grupocoimpre.com/news/
http://www.camasfomtex.com
From: Andrew P. Lentvorski, Jr.
Subject: Re: Graphics in MCL or LispWorks? (OS X)
Date: 
Message-ID: <1107038919.265694.284430@f14g2000cwb.googlegroups.com>
Is there a particular reason you are avoiding OpenMCL?
From: Valentino Volonghi aka Dialtone
Subject: Re: Graphics in MCL or LispWorks? (OS X)
Date: 
Message-ID: <1gr6hwe.quxy7attsrr4N%dial#####$$NOSPAM##$#$##@gmail.com>
Andrew P. Lentvorski, Jr. <·····@allcaps.org> wrote:

> Is there a particular reason you are avoiding OpenMCL?

Agreed, OpenMCL provides cocoa bindings and you can use Interface
Builder from Apple to design your GUI and then write the code for the
models and callbacks in OpenMCL.

If there are no reasons to avoid it I think it should be considered the
best option for OSX at this time.

-- 
Valentino Volonghi aka Dialtone
Now Running MacOSX 10.3.7
Blog: http://vvolonghi.blogspot.com
http://weever.berlios.de
From: Wade Humeniuk
Subject: Re: Graphics in MCL or LispWorks? (OS X)
Date: 
Message-ID: <32OKd.76974$Qb.27351@edtnps89>
After writing some down generic advice about learning
in general, ...

... and then deleting it all

My advice is ...

Hire a experienced MCL UI programmer to do the work
for you.

Wade
From: Tyro
Subject: Re: Graphics in MCL or LispWorks? (OS X)
Date: 
Message-ID: <1107018869.797254.202570@f14g2000cwb.googlegroups.com>
If I could have hired somebody to do the work then I would not have
asked any questions here. I am looking for a long-term research/study
tool and not an immediate solution.

Does your reply imply that the task is immensely difficult? Could you
please elaborate?
From: Wade Humeniuk
Subject: Re: Graphics in MCL or LispWorks? (OS X)
Date: 
Message-ID: <EkQKd.77266$Qb.42394@edtnps89>
Tyro wrote:

> 
> Does your reply imply that the task is immensely difficult? Could you
> please elaborate?
> 

About the same difficulty as cooking.  Can you cook?

Wade
From: fgmael
Subject: Re: Graphics in MCL or LispWorks? (OS X)
Date: 
Message-ID: <1107023238.881507.179180@f14g2000cwb.googlegroups.com>
http://www.corporacioninternacional.com/news/index.htm
http://www.grupocoimpre.com/news/
http://www.camasfomtex.com
From: Tyro
Subject: Re: Graphics in MCL or LispWorks? (OS X)
Date: 
Message-ID: <1107034266.856573.291730@f14g2000cwb.googlegroups.com>
Very funny. I can cook, of course. And you remind me of Eliza. :-)
From: John Thingstad
Subject: Re: Graphics in MCL or LispWorks? (OS X)
Date: 
Message-ID: <opsldger1mpqzri1@mjolner.upc.no>
On 29 Jan 2005 03:36:28 -0800, Tyro <····@yandex.ru> wrote:

> Hello,
>
> I am not an experienced Lisp programmer. I am just learning the craft.
> So, I apologise in advance for any silly questions I may ask here.
>
> My research revolves around the intelligent user interfaces, artificial
> intelligence, document design, information graphics, and linguistics. I
> bought MCL5 about a year ago because I liked it very much. However, now
> I desperately need to work with graphics and I cannot figure out the
> best way to do that with MCL5.
>
> At the moment, I am looking for a Lisp way to build a fairly efficient,
> interactive graphical world somewhat similar in appearance to that in
> Squeak. And I wonder if I should combine my MCL5 with CLIM or switch to
> LispWorks and rely on CAPI?
>
> P.S.
> I am also a bit worried about MCL. Digitool does not seem to work on it
> anymore. I wonder if it makes sense for me to invest my time and money
> into the product that does not seem to be improving...
>

Havn't really tried MCL.
Still if in doubt why not try out the free Lispworks Personal edition and  
see
if you like it.. ?

The professional version comes with CLIM as well
so you could choose here. Lispworks allows me to interactively build
window apps pretty much like you can in squeak.
(There is no way to print returned graphics objects that I am aware of
you have to set up a port.) Still it is well documented and I got
started reasonably quickly. I wrote a application for solving the traveling
salesman problem  using simulated annealing (plotting cities and  
transforms interactively)
in a couple of days.. The interface was ground
out in a couple of hours. And that was my first program in CAPI.

I'll paste in some code to give you a feel for what to expect:
(not a complete application just excerpts)

(define-interface salesman-interface ()
   ((cities :accessor cities :initform nil))
   (:panes
    (city-plot-pane
     output-pane
     :accessor city-plot-pane
     :internal-min-width  +plot-pane-min-height+
     :internal-min-height +plot-pane-min-width+)
    (city-number-pane
     text-input-pane
     :reader city-number-pane
     :title "Number of cities:"
     :text (format nil "~d" +city-number+)
     :internal-max-width '(:character 8))
    (annealing-value-pane
     text-input-pane
     :reader annealing-value-pane
     :title "Annealing value:"
     :text (format nil "~f" +annealing-factor+)
     :internal-max-width '(character 8))
    (delay-pane
     text-input-pane
     :reader delay-pane
     :title "Delay (sec):"
     :text (format nil "~f" +delay+)
     :internal-max-width '(character 8))
    (command-panel
     push-button-panel
     :items '(generate redisplay step run stop)
     :print-function 'string-capitalize
     :selection-callback 'command-callback))
   (:layouts
    (salesman-layout
     column-layout
     '(city-plot-pane
       input-layout
       command-panel))
    (input-layout
     row-layout
     '(city-number-pane
       annealing-value-pane
       delay-pane)))
   (:default-initargs
    :title "Traveling Salesman"))

(defun plot-cities (interface)
   (when (cities interface)
     (with-accessors ((city-number city-number) (x x) (y y) (index-order  
index-order)) (cities interface)
       (let* ((pane (city-plot-pane interface))
              (width (gp:port-width pane))
              (height (gp:port-height pane))
              index cur-x cur-y last-x last-y first-x first-y)
         (gp:clear-graphics-port pane)
         (setf index (find-index 1 index-order city-number))
         (setf cur-x (* (aref x index) width) cur-y (* (aref y index)  
height))
         (gp:draw-circle pane cur-x cur-y +city-radius+ :filled t  
:foreground +city-color+)
         (setf last-x cur-x last-y cur-y first-x cur-x first-y cur-y)
         (loop for i from 2 to city-number do
               (setf index (find-index i index-order city-number))
               (setf cur-x (* (aref x index) width)  cur-y (* (aref y  
index) height))
               (gp:draw-circle pane cur-x cur-y +city-radius+ :filled t  
:foreground +city-color+)
               (gp:draw-line pane last-x last-y cur-x cur-y :foreground  
+path-color+)
               (setf last-x cur-x last-y cur-y))
         (gp:draw-line pane last-x last-y first-x first-y :foreground  
+path-color+)))))

(defun command-callback (command interface)
   (ecase command
     (generate (plot-cities (generate-cities interface)))
     (redisplay (plot-cities interface))
     (step (display-message "Solve pushed!~%~A annealing value.~%~A sec  
delay."
                            (text-input-pane-text (annealing-value-pane  
interface))
                            (text-input-pane-text (delay-pane interface))))
     (run (let (final-time final-path)
            (flet ((report-callback (time path) (setf final-time time  
final-path path)))
              (anneal (cities interface)
                      (read-string (text-input-pane-text  
(annealing-value-pane interface)))
                      #'report-callback)
              (plot-cities interface)
              (gp:draw-string (city-plot-pane interface)
                              (format nil "time = ~,3f path = ~,3f"  
final-time final-path)
                              10 10))))
     (stop (display-message "Stop pushed!"))))
-- 
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
From: Rainer Joswig
Subject: Re: Graphics in MCL or LispWorks? (OS X)
Date: 
Message-ID: <joswig-7AD62B.12260630012005@news-50.dca.giganews.com>
In article <························@c13g2000cwb.googlegroups.com>,
 "Tyro" <····@yandex.ru> wrote:

> Hello,
> 
> I am not an experienced Lisp programmer. I am just learning the craft.
> So, I apologise in advance for any silly questions I may ask here.
> 
> My research revolves around the intelligent user interfaces, artificial
> intelligence, document design, information graphics, and linguistics. I
> bought MCL5 about a year ago because I liked it very much. However, now
> I desperately need to work with graphics and I cannot figure out the
> best way to do that with MCL5.

There is a mailing list for MCL, where quite a few people
could help you. Especially if you have a more specific
questions.

> At the moment, I am looking for a Lisp way to build a fairly efficient,
> interactive graphical world somewhat similar in appearance to that in
> Squeak. And I wonder if I should combine my MCL5 with CLIM or switch to
> LispWorks and rely on CAPI?

These are the Common Lisp implementations on Mac OS X
that one could use to write applications with some Mac-like
user interface:

MCL
- mostly unsupported
- not updated for Mac OS X features in a long time.
- MCL CLIM is not mature enough, you need source code to hack on it.
  Then it is still a lot of work.

LispWorks
- supported
- CAPI is not enough 'mac-like', but one can get quite far
- does support Cocoa, you even can use the Apple Interface Builder

OpenMCL
- only as supported as people are willing to contribute, since it
  is free software with only a small group of users
- does support Cocoa
- the McCLIM port for Cocoa is not making progress, though

> P.S.
> I am also a bit worried about MCL. Digitool does not seem to work on it
> anymore. I wonder if it makes sense for me to invest my time and money
> into the product that does not seem to be improving...

I decided to use another Lisp on Mac OS X some time ago.
Fortunately there is enough choice on Mac OS X. But the
Lisp, which supports Mac OS X 'perfectly', is still not there.
MCL on Mac OS 9 was pretty good. But on Mac OS X no Lisp
is even near to being that nicely integrated - especially
since Mac OS X is VERY different from Mac OS 9.
From: dragentsheets
Subject: Re: Graphics in MCL or LispWorks? (OS X)
Date: 
Message-ID: <1108623440.889034.299630@z14g2000cwz.googlegroups.com>
Try OpenGL for MCL. Class wrappers, events, full screen, very fast, ...
 

http://agentsheets.com/lisp/OpenGL.html