R. Matthew Emerson | 17 Sep 20:35

Clozure CL 1.2 released

It's been ready for a while now, but I don't think we ever mentioned  
it, so...

Clozure CL 1.2 is now available.

Clozure CL is is an open source Common Lisp implementation that runs  
on PowerPC hardware under Mac OS X and Linux, and on x86-64 hardware  
under Mac OS X, Linux, and FreeBSD.

Clozure CL used be called OpenMCL.  It is also sometimes called CCL.

http://trac.clozure.com/openmcl has instructions on how to get it.

Release notes are included in the distribution, or at
http://trac.clozure.com/openmcl/browser/trunk/source/doc/release-notes.txt

(That release notes URL has "trunk" in it, but these really are the  
correct notes.)
Rainer Joswig | 18 Sep 12:31

Re: Clozure CL 1.2 released - building the IDE, where are working instructions?

Good news.

But somehow I can't find working documentation how to build the IDE.

I've downloaded the 1.2 TAR file for Mac OS X Intel.

So where do I find documentation on the CCL wiki start page that there is an IDE?

But there is some documentation. So I see:


-----
5.2. Building the IDE

Building the Clozure CL IDE is now a very simple process.

• In a shell session, cd to the ccl directory.
• Run ccl from the shell. The easiest way to do this is generally to execute the ccl or ccl64 command.
• Evaluate the form (require :cocoa-application)

For example, assuming that the Clozure CL distribution is installed in "/usr/local/ccl", the following sequence of shell interactions builds the IDE:

oshirion:ccl mikel$ ccl64 Welcome to Clozure Common Lisp Version 1.2-r9198M-trunk (DarwinX8664)! ? (require :cocoa-application) ;Loading #P"ccl:cocoa-ide;fasls;cocoa-utils.dx64fsl.newest"... ;Loading #P"ccl:cocoa-ide;fasls;cocoa-defaults.dx64fsl.newest"... [...many lines of "Compiling" and "Loading" omitted...] Saving application to /usr/local/ccl/Clozure CL.app/ oshirion:ccl mikel$ -----Step two assumes that I know where the ccl or ccl64 commands are. But it is surely not the easiest way, since the
commands don't necessarily work.

RJMBP:ccl joswig$ ./scripts/ccl64
./scripts/ccl64: line 70: /usr/local/src/ccl/dx86cl64: No such file or directory
./scripts/ccl64: line 70: exec: /usr/local/src/ccl/dx86cl64: cannot execute: No such file or directory

RJMBP:ccl joswig$ pwd
/Users/joswig/Desktop/ccl

RJMBP:ccl joswig$ ./scripts/ccl64
Welcome to Clozure Common Lisp Version 1.2-r10552  (DarwinX8664)!
? (require 'cocoa-application)
;Loading #P"ccl:cocoa-ide;fasls;cocoa-utils.dx64fsl.newest"...
...
;Loading #P"ccl:cocoa-ide;fasls;start.dx64fsl.newest"...
> Error: Module EASYGUI was not provided by any function on *MODULE-PROVIDER-FUNCTIONS*.
> While executing: REQUIRE, in process listener(1).
> Type :POP to abort, :R for a list of available restarts.
> Type :? for other options.
1 > 


Which means that step three isn't working.

How should we change the documentation that somebody can build the IDE with CCL 1.2?


Regards,

Rainer Joswig






Am 17.09.2008 um 20:37 schrieb R. Matthew Emerson:

It's been ready for a while now, but I don't think we ever mentioned  
it, so...

Clozure CL 1.2 is now available.

Clozure CL is is an open source Common Lisp implementation that runs  
on PowerPC hardware under Mac OS X and Linux, and on x86-64 hardware  
under Mac OS X, Linux, and FreeBSD.

Clozure CL used be called OpenMCL.  It is also sometimes called CCL.

http://trac.clozure.com/openmcl has instructions on how to get it.

Release notes are included in the distribution, or at
http://trac.clozure.com/openmcl/browser/trunk/source/doc/release-notes.txt

(That release notes URL has "trunk" in it, but these really are the  
correct notes.)

_______________________________________________
Openmcl-devel mailing list
Openmcl-devel <at> clozure.com
http://clozure.com/mailman/listinfo/openmcl-devel

Rainer Joswig, Hamburg, Germany



_______________________________________________
Openmcl-devel mailing list
Openmcl-devel <at> clozure.com
http://clozure.com/mailman/listinfo/openmcl-devel
james anderson | 21 Sep 18:06

Re: Clozure CL 1.2 released - type of cocoa-application ?

hello;

when one starts the ide, it does not follow the documented  
initialization protocol. that is, the init file is not loaded.

if one incorporates the simple init file loading logic from start-ccl  
into the toplevel-function for a cocoa application, that succeeds.
is some reason to avoid this?
is there some reason that one would not want to add the call to start- 
ccl at that point?

the code describes a situation, wherein the only argument is a  
process identifier, but one could extract startup parameters out of  
the info.plist file. it's straight-forward to do, just a bit fragile  
should an error occur.

any reason - other than the problems with error handling at that  
stage, to not do this?

thanks,
Chun Tian (binghe | 21 Sep 20:11

Re: Clozure CL 1.2 released - type of cocoa-application ?

Hi,

>
> hello;
>
> when one starts the ide, it does not follow the documented
> initialization protocol. that is, the init file is not loaded.

What's your init file name?
I'm using CCL 1.2 on Mac, and "~/ccl-init.lisp" works for IDE (i.e.  
Clozure CL.app)

--binghe

>
>
> if one incorporates the simple init file loading logic from start-ccl
> into the toplevel-function for a cocoa application, that succeeds.
> is some reason to avoid this?
> is there some reason that one would not want to add the call to start-
> ccl at that point?
>
> the code describes a situation, wherein the only argument is a
> process identifier, but one could extract startup parameters out of
> the info.plist file. it's straight-forward to do, just a bit fragile
> should an error occur.
>
> any reason - other than the problems with error handling at that
> stage, to not do this?
>
> thanks,
>
> _______________________________________________
> Openmcl-devel mailing list
> Openmcl-devel <at> clozure.com
> http://clozure.com/mailman/listinfo/openmcl-devel
james anderson | 21 Sep 20:49

Re: Clozure CL 1.2 released - type of cocoa-application ?

hello;

On 2008-09-21, at 14:11 , Chun Tian (binghe) wrote:

> Hi,
>
>>
>> hello;
>>
>> when one starts the ide, it does not follow the documented
>> initialization protocol. that is, the init file is not loaded.
>
> What's your init file name?
> I'm using CCL 1.2 on Mac, and "~/ccl-init.lisp" works for IDE (i.e.  
> Clozure CL.app)
>

are you certain that it is being loaded anew when the ide starts and  
that you do not see the effects of the load from when ccl started in  
a shell to build the ide?

> --binghe
>
>>
>>
>> if one incorporates the simple init file loading logic from start-ccl
>> into the toplevel-function for a cocoa application, that succeeds.
>> is some reason to avoid this?
>> is there some reason that one would not want to add the call to  
>> start-
>> ccl at that point?
>>
>> the code describes a situation, wherein the only argument is a
>> process identifier, but one could extract startup parameters out of
>> the info.plist file. it's straight-forward to do, just a bit fragile
>> should an error occur.
>>
>> any reason - other than the problems with error handling at that
>> stage, to not do this?
>>
>> thanks,
>>
>> _______________________________________________
>> Openmcl-devel mailing list
>> Openmcl-devel <at> clozure.com
>> http://clozure.com/mailman/listinfo/openmcl-devel
>
Gail Zacharias | 21 Sep 21:17

Re: Clozure CL 1.2 released - type of cocoa-application ?

There is some discussion of this in 
http://trac.clozure.com/openmcl/ticket/208 and 
http://trac.clozure.com/openmcl/ticket/87.  It looks like the problem 
is not implementation as much as thinking it through and deciding what's right.

At 9/21/2008 12:06 PM, james anderson wrote:
>hello;
>
>when one starts the ide, it does not follow the documented
>initialization protocol. that is, the init file is not loaded.
>
>if one incorporates the simple init file loading logic from start-ccl
>into the toplevel-function for a cocoa application, that succeeds.
>is some reason to avoid this?
>is there some reason that one would not want to add the call to start-
>ccl at that point?
>
>the code describes a situation, wherein the only argument is a
>process identifier, but one could extract startup parameters out of
>the info.plist file. it's straight-forward to do, just a bit fragile
>should an error occur.
>
>any reason - other than the problems with error handling at that
>stage, to not do this?
>
>thanks,
>
>_______________________________________________
>Openmcl-devel mailing list
>Openmcl-devel <at> clozure.com
>http://clozure.com/mailman/listinfo/openmcl-devel
james anderson | 21 Sep 23:12

Re: Clozure CL 1.2 released - type of cocoa-application ?


On 2008-09-21, at 15:17 , Gail Zacharias wrote:

> There is some discussion of this in http://trac.clozure.com/openmcl/ 
> ticket/208 and http://trac.clozure.com/openmcl/ticket/87.  It looks  
> like the problem is not implementation as much as thinking it  
> through and deciding what's right.

i don't know, but - reading those comments, maybe one is expecting  
too much from it.
just reading the code, the notes, that output would go to the  
console, seem right-minded.
if one puts a handled call to startup-ccl (or its equivalent) just  
before starting the event loop, that seems as late as possible before  
anything visible has happened. if something goes wrong, output  
appears on the console (somehow it's sometimes the ccl and sometimes  
the system console) and in any case the first listener appears. this  
is certainly enough to be useful.

>
>
> At 9/21/2008 12:06 PM, james anderson wrote:
>> hello;
>>
>> when one starts the ide, it does not follow the documented
>> initialization protocol. that is, the init file is not loaded.
>>
>> if one incorporates the simple init file loading logic from start-ccl
>> into the toplevel-function for a cocoa application, that succeeds.
>> is some reason to avoid this?
>> is there some reason that one would not want to add the call to  
>> start-
>> ccl at that point?
>>
>> the code describes a situation, wherein the only argument is a
>> process identifier, but one could extract startup parameters out of
>> the info.plist file. it's straight-forward to do, just a bit fragile
>> should an error occur.
>>
>> any reason - other than the problems with error handling at that
>> stage, to not do this?
>>
>> thanks,
>>
>> _______________________________________________
>> Openmcl-devel mailing list
>> Openmcl-devel <at> clozure.com
>> http://clozure.com/mailman/listinfo/openmcl-devel
>
Gary Byers | 22 Sep 03:38

Re: Clozure CL 1.2 released - type of cocoa-application ?


On Sun, 21 Sep 2008, james anderson wrote:

>
> On 2008-09-21, at 15:17 , Gail Zacharias wrote:
>
>> There is some discussion of this in http://trac.clozure.com/openmcl/
>> ticket/208 and http://trac.clozure.com/openmcl/ticket/87.  It looks
>> like the problem is not implementation as much as thinking it
>> through and deciding what's right.
>
> i don't know, but - reading those comments, maybe one is expecting
> too much from it.
> just reading the code, the notes, that output would go to the
> console, seem right-minded.
> if one puts a handled call to startup-ccl (or its equivalent) just
> before starting the event loop, that seems as late as possible before
> anything visible has happened. if something goes wrong, output
> appears on the console (somehow it's sometimes the ccl and sometimes
> the system console) and in any case the first listener appears. this
> is certainly enough to be useful.
>

What streams are used for I/O (for error message, break loops, etc.)
has more to do with what thread is doing the I/O (and what that
thread's bindings of *ERROR-OUTPUT*, *DEBUG-IO*, etc. are) than
with what other threads (and windows, and streams ...) exist when
the I/O happens.

To review some of the discussion in ticket 87 and elsewhere (as I
understand and remember it):

- it's clearly desirable for the IDE to load ~/ccl-init, and it
   should do this in more-or-less then same way as it's done in
   the TTY environment (in the initial listener thread, just before
   that thread enters its REPL.)  Any interactive I/O that occurs
   while loading the init file should happen in the listener thread's
   standard streams (which are connected to the listener window/its
   buffer/whatever.)  Whatever implements this would indeed do
   something like what CCL::STARTUP-CCL does in the TTY environment;
   in the IDE, the initial listener is created in response to
   something like a "create new untitled document" event, so the
   handler for that event could presumably say "if this is the
   first time that this is being called in this session, persuade
   the listener that's being created to load the init file."  That
   might be a little tricky, but it's not a hard problem.

- it's also desirable for the IDE to load some sort of IDE-specific
   init file (which might contain editor customizations/key-bindings
   and other IDE-specific stuff.)  In a lot of cases, it might be
   best if this other file ("~/ccl-ide-init" ?) loaded around the
   time that the IDE initialized itself. (That might mean "just
   before" or "just after"; I'm not sure.)  At that point and on
   the initial thread, there isn't really a great way to interact
   with the user if things go wrong while loading that file.

   It's probably not unreasonable to not even try to interact with
   the user in that case (e.g., to just ignore errors and capture
   any unexpected output that occurred while loading the IDE init
   file) and to report problems later (pop up a dialog, or have the
   initial listener tell you about missing/extra parens or undefined
   functions in the IDE init file, whatever.)  You might have more
   options for some sort of interactive debugging if the IDE init
   file loaded later (e.g., after the event loop was up and running),
   and you might have more opportunities for customization if it
   loaded later, so this is related to what kinds of customization
   are possible via the mechanism, and there are tradeoffs there
   and elsewhere.

Coming up with reasonable solutions to these issues isn't an
open-ended research project (knock wood), but it's probably not
a case of someone forgetting to add a few lines of code in the
right places.  (In the case of loading ~/ccl-init in the initial
IDE listener, it's probably no more than a few dozen lines of
code; in the case of the IDE-specific init file, it probably
involves some head-scratching as well as some code.)
Chun Tian (binghe | 21 Sep 20:22

Re: Clozure CL 1.2 released - building the IDE, where are working instructions?

Hi, rjoswig

I think you should check your CCL_DEFAULT_DIRECTORY environment variable. On Mac OS, the suggest position to put it is in ~/.MacOSX/environment.plist, see mine:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CCL_DEFAULT_DIRECTORY</key>
<string>/Users/binghe/Lisp/ccl</string>
<key>CLICOLOR</key>
<string>1</string>
<key>EDITOR</key>
<string>/usr/bin/emacs</string>
<key>INFOPATH</key>
<string>/sw/share/info:/usr/local/share/info:/usr/share/info</string>
<key>LANG</key>
<string>zh_CN.UTF-8</string>
<key>LSCOLORS</key>
<string>gxfxaxdxcxegedabagacad</string>
</dict>
</plist>

Once CCL_DEFAULT_DIRECTORY is OK, and it's the real position of CCL directory, then start it and call (REQUIRE "COCOA-APPLICATION") must be successful. Once you got a "CLozure CL.app" bundle, just click it or call it by "open" will get it started: (whatever `pwd`)

$ open -a "Clozure CL"

After started, you should open Preferences -> Documentation, and set the CCL directory again for the IDE. All I do to run CCL is in above.

--binghe

在 2008-9-18,18:31, Rainer Joswig 写道:

Good news.

But somehow I can't find working documentation how to build the IDE.

I've downloaded the 1.2 TAR file for Mac OS X Intel.

So where do I find documentation on the CCL wiki start page that there is an IDE?

But there is some documentation. So I see:


-----
5.2. Building the IDE

Building the Clozure CL IDE is now a very simple process.

• In a shell session, cd to the ccl directory.
• Run ccl from the shell. The easiest way to do this is generally to execute the ccl or ccl64 command.
• Evaluate the form (require :cocoa-application)

For example, assuming that the Clozure CL distribution is installed in "/usr/local/ccl", the following sequence of shell interactions builds the IDE:

oshirion:ccl mikel$ ccl64 Welcome to Clozure Common Lisp Version 1.2-r9198M-trunk (DarwinX8664)! ? (require :cocoa-application) ;Loading #P"ccl:cocoa-ide;fasls;cocoa-utils.dx64fsl.newest"... ;Loading #P"ccl:cocoa-ide;fasls;cocoa-defaults.dx64fsl.newest"... [...many lines of "Compiling" and "Loading" omitted...] Saving application to /usr/local/ccl/Clozure CL.app/ oshirion:ccl mikel$ -----Step two assumes that I know where the ccl or ccl64 commands are. But it is surely not the easiest way, since the
commands don't necessarily work.

RJMBP:ccl joswig$ ./scripts/ccl64
./scripts/ccl64: line 70: /usr/local/src/ccl/dx86cl64: No such file or directory
./scripts/ccl64: line 70: exec: /usr/local/src/ccl/dx86cl64: cannot execute: No such file or directory

RJMBP:ccl joswig$ pwd
/Users/joswig/Desktop/ccl

RJMBP:ccl joswig$ ./scripts/ccl64
Welcome to Clozure Common Lisp Version 1.2-r10552  (DarwinX8664)!
? (require 'cocoa-application)
;Loading #P"ccl:cocoa-ide;fasls;cocoa-utils.dx64fsl.newest"...
...
;Loading #P"ccl:cocoa-ide;fasls;start.dx64fsl.newest"...
> Error: Module EASYGUI was not provided by any function on *MODULE-PROVIDER-FUNCTIONS*.
> While executing: REQUIRE, in process listener(1).
> Type :POP to abort, :R for a list of available restarts.
> Type :? for other options.
1 > 


Which means that step three isn't working.

How should we change the documentation that somebody can build the IDE with CCL 1.2?


Regards,

Rainer Joswig






Am 17.09.2008 um 20:37 schrieb R. Matthew Emerson:

It's been ready for a while now, but I don't think we ever mentioned  
it, so...

Clozure CL 1.2 is now available.

Clozure CL is is an open source Common Lisp implementation that runs  
on PowerPC hardware under Mac OS X and Linux, and on x86-64 hardware  
under Mac OS X, Linux, and FreeBSD.

Clozure CL used be called OpenMCL.  It is also sometimes called CCL.

http://trac.clozure.com/openmcl has instructions on how to get it.

Release notes are included in the distribution, or at
http://trac.clozure.com/openmcl/browser/trunk/source/doc/release-notes.txt

(That release notes URL has "trunk" in it, but these really are the  
correct notes.)

_______________________________________________
Openmcl-devel mailing list
Openmcl-devel <at> clozure.com
http://clozure.com/mailman/listinfo/openmcl-devel

Rainer Joswig, Hamburg, Germany



_______________________________________________
Openmcl-devel mailing list
Openmcl-devel <at> clozure.com
http://clozure.com/mailman/listinfo/openmcl-devel

_______________________________________________
Openmcl-devel mailing list
Openmcl-devel <at> clozure.com
http://clozure.com/mailman/listinfo/openmcl-devel
Rainer Joswig | 22 Sep 11:31

Re: Clozure CL 1.2 released - building the IDE, where are working instructions?


Am 18.09.2008 um 12:31 schrieb Rainer Joswig:

Good news.

But somehow I can't find working documentation how to build the IDE.

I've downloaded the 1.2 TAR file for Mac OS X Intel.

So where do I find documentation on the CCL wiki start page that there is an IDE?

But there is some documentation. So I see:


-----
5.2. Building the IDE

Building the Clozure CL IDE is now a very simple process.

• In a shell session, cd to the ccl directory.
• Run ccl from the shell. The easiest way to do this is generally to execute the ccl or ccl64 command.
• Evaluate the form (require :cocoa-application)

For example, assuming that the Clozure CL distribution is installed in "/usr/local/ccl", the following sequence of shell interactions builds the IDE:

oshirion:ccl mikel$ ccl64 Welcome to Clozure Common Lisp Version 1.2-r9198M-trunk (DarwinX8664)! ? (require :cocoa-application) ;Loading #P"ccl:cocoa-ide;fasls;cocoa-utils.dx64fsl.newest"... ;Loading #P"ccl:cocoa-ide;fasls;cocoa-defaults.dx64fsl.newest"... [...many lines of "Compiling" and "Loading" omitted...] Saving application to /usr/local/ccl/Clozure CL.app/ oshirion:ccl mikel$ -----Step two assumes that I know where the ccl or ccl64 commands are. But it is surely not the easiest way, since the
commands don't necessarily work.

RJMBP:ccl joswig$ ./scripts/ccl64
./scripts/ccl64: line 70: /usr/local/src/ccl/dx86cl64: No such file or directory
./scripts/ccl64: line 70: exec: /usr/local/src/ccl/dx86cl64: cannot execute: No such file or directory

RJMBP:ccl joswig$ pwd
/Users/joswig/Desktop/ccl

RJMBP:ccl joswig$ ./scripts/ccl64
Welcome to Clozure Common Lisp Version 1.2-r10552  (DarwinX8664)!
? (require 'cocoa-application)
;Loading #P"ccl:cocoa-ide;fasls;cocoa-utils.dx64fsl.newest"...
...
;Loading #P"ccl:cocoa-ide;fasls;start.dx64fsl.newest"...
> Error: Module EASYGUI was not provided by any function on *MODULE-PROVIDER-FUNCTIONS*.
> While executing: REQUIRE, in process listener(1).
> Type :POP to abort, :R for a list of available restarts.
> Type :? for other options.
1 > 


Which means that step three isn't working.

How should we change the documentation that somebody can build the IDE with CCL 1.2?


Looks like my problem was that during the build process the place of the CCL directory is looked up from the preferences.
I had the preference set from an earlier version of CCL and building the IDE from a different directory just
takes the old preference somewhen during build. I think that's kind of an error. During the build process it
should already been known where this particular instance of CCL is - no need to look it up from the preferences.
Also no trace of a warning that the preference and the current build directory is different.

Regards,

Rainer Joswig



Regards,

Rainer Joswig






Am 17.09.2008 um 20:37 schrieb R. Matthew Emerson:

It's been ready for a while now, but I don't think we ever mentioned  
it, so...

Clozure CL 1.2 is now available.

Clozure CL is is an open source Common Lisp implementation that runs  
on PowerPC hardware under Mac OS X and Linux, and on x86-64 hardware  
under Mac OS X, Linux, and FreeBSD.

Clozure CL used be called OpenMCL.  It is also sometimes called CCL.

http://trac.clozure.com/openmcl has instructions on how to get it.

Release notes are included in the distribution, or at
http://trac.clozure.com/openmcl/browser/trunk/source/doc/release-notes.txt

(That release notes URL has "trunk" in it, but these really are the  
correct notes.)

_______________________________________________
Openmcl-devel mailing list
Openmcl-devel <at> clozure.com
http://clozure.com/mailman/listinfo/openmcl-devel

Rainer Joswig, Hamburg, Germany



_______________________________________________
Openmcl-devel mailing list
Openmcl-devel <at> clozure.com
http://clozure.com/mailman/listinfo/openmcl-devel

Rainer Joswig, Hamburg, Germany
Phone: +49 151 22948334

_______________________________________________
Openmcl-devel mailing list
Openmcl-devel <at> clozure.com
http://clozure.com/mailman/listinfo/openmcl-devel
R. Matthew Emerson | 23 Sep 02:22

Re: Clozure CL 1.2 released - building the IDE, where are working instructions?


On Sep 22, 2008, at 5:31 AM, Rainer Joswig wrote:

> Looks like my problem was that during the build process the place of  
> the CCL directory is looked up from the preferences.
> I had the preference set from an earlier version of CCL and building  
> the IDE from a different directory just
> takes the old preference somewhen during build. I think that's kind  
> of an error. During the build process it
> should already been known where this particular instance of CCL is -  
> no need to look it up from the preferences.
> Also no trace of a warning that the preference and the current build  
> directory is different.

Argh!

Storing the CCL directory in the user defaults database has caused  
nothing but pain.

I see that we have a ticket about this now.

http://trac.clozure.com/openmcl/ticket/332

Gmane