Tim McNerney | 12 Oct 22:54

Trace doc - no examples

The Clozure CL documentation of the TRACE extensions could stand to 
include some examples. 
Inferring the syntax from the informal grammar is doable but time-consuming.
David Brown | 12 Oct 00:13

Elf symbols doesn't work on linuxx86-64.

Following the instructions from the manual for getting symbols with oprofile:

Welcome to Clozure Common Lisp Version 1.3-dev-r11053M-trunk  (LinuxX8664)!
? (require "ELF")
"ELF"
("ELF")
? (ccl::write-elf-symbols-to-file "home:elf-symbols")
> Error: Can't initialize libelf object for "home:elf-symbols": Request error: invalid ELF_C_* argument
> While executing: CCL::CREATE-ELF-OBJECT, in process listener(1).

$ ls -l /usr/lib64/libelf.so*
  0 lrwxrwxrwx 1 root root    15 2008-10-11 10:04 /usr/lib64/libelf.so -> libelf.so.0.8.4*
  0 lrwxrwxrwx 1 root root    15 2008-10-11 10:04 /usr/lib64/libelf.so.0 -> libelf.so.0.8.4*
88 -rwxr-xr-x 1 root root 89392 2008-10-11 10:04 /usr/lib64/libelf.so.0.8.4*

Thanks,
David
David Brown | 11 Oct 20:52

Another linux86-32: signed doubleword parameters.

Not sure if this is known:

Welcome to Clozure Common Lisp Version 1.3-dev-r11046M-trunk (LinuxX8632)!

(defvar *msg*
   (map '(simple-array (unsigned-byte 8))
        #'char-code
        (concatenate 'string "Parameter: %lld"
		    (string #\Newline)
		    (string #\Null))))

(defun broken (value)
   (ccl:with-pointer-to-ivector (msg-pointer *msg*)
     (ccl:external-call "printf"
		       :address msg-pointer
		       :signed-doubleword value)))

;;; This works.
? (broken 42)
Parameter: 42
NIL

;;; This does not.
? (broken #x40000000)
> Error: value 1073741824 is not of the expected type (UNSIGNED-BYTE 64).
> While executing: BROKEN, in process listener(1).
Gary Byers | 9 Oct 04:27

Windows versions of CCL available for smoke-testing

32- and 64-bit versions of Clozure CL for Windows are now available in svn:

<http://svn.clozure.com/publicsvn/openmcl/trunk/windows>

The 64-bit version's been available for a while; the 32-bit version's 
brand new (and still contains some known runtime bugs, along with all
of the unknown ones.)  We only have a few (real or virtual) Windows
boxes available, so it'd be helpful if people with (a) interest (b)
some time and (c) access to real or virtual Windows boxes could
take this for a ride around the block, kick the tires, etc.

As of yesterday, the win32 version could compile itself successfully
3 times out of 4 and crashed the 4th time.  The win64 version hasn't
had a random unexpected crash in a few months, but AFAIK I've been
the only person using it much.  As much as anything, it'd be interesting
to see if this general impression (the win32 port is at the outer bounds
if usability, the win64 port is generally a lot closer) is confirmed or
refuted by other people's experience.

Both version should run under XP or Vista (but almost certainly not under
anything older than XP.)  XP is several years old now, and XP with a
recent "service pack" is somewhat different from earlier version.  Most
of the Win32 development's been done under a fairly recent (SP3) version
of XP; it'd be interesting to know whether it works on eariler versions.

The 64-bit version requires a 64-bit version of Windows (XP64, Vista 64.
maybe some server OS versions.)  It's currently the case that the 32-bit
version of CCL doesn't run under 64-bit OS releases.  We understand why
it doesn't, and hope to remove this restriction ASAP.

(Continue reading)

Jon S. Anthony | 6 Oct 14:48
Favicon

directory, create-directory, ...

I have tried these on both Mac and Linux and they behave the same, and
that is to do nothing.  They don't error, but just return.
create-directory returns the multiple values: path of the supposedly new
directory and nil:

(create-directory "/home/jsa/TEST") => #p"/home/jsa/TEST", NIL

But the directory isn't created.  I also haven't found what the MODE
keyword is supposed to be or do.

directory returns nil whether or not the directory given exists:

(directory "/home/jsa") => nil
(directory "/gobbledegook") => nil

I also couldn't find the meaning of the various keywords to this either,
but tried various permutations of :files t, :directories t, etc. with no
apparent effect.

I tried both with path syntax input as well: #p"/home/jsa/TEST",
#p"/home/jsa", etc.  Nothing.

Anyone have any ideas??

/Jon
David Brown | 6 Oct 10:32

Lisp image filename.

Is there any particular reason for the distinction on darwin of naming
the image by tacking an ".image" onto the filename, and other
platforms that use an equivalent named file in uppercase?

The reason I ask is that I commonly work on Linux images running in a
VM on MacOS.  Generally, my home directory is just mapped through to
the underlying HFS filesystem.  With the case-paired filenames, I'm
not able to store CCL in my home directory, but must expand it
somewhere in a native filesystem.

It seems like things would be simpler overall to just use an extension
on the name, and allow things to work on any platform, even if the
filesystem happens to be case insensitive.

Thanks,
David Brown
Osei Poku | 23 Sep 23:56

Hash Table performance

Hi,

CCL extensively uses the ENUMERATE-HASH-KEYS-AND-VALUES function  
underneath most of hash table functions (MAPHASH, WITH-HASH-TABLE- 
ITERATOR).  This causes a great deal of waste when iterating through a  
very large hash table (like I have now ~10^8 entries).  The way I  
understand the code from briefly looking at l0-hash.lisp and  
hash.lisp, the contents of the hash table are first stored in a pair  
of vectors, then the vectors are iterated through.

WITH-HASH-TABLE-ITERATOR is used everywhere like in the expansion of  
the LOOP macro.  There is simply no standard way in CCL to iterate  
through the contents of a hash table without doing this double work.   
Is there some fundamental limitation of the way hash tables are  
implemented in CCL that prevent iterating through its contents only  
once?

Osei
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.)
JTK | 17 Sep 09:55

CCL 1.2 and portable allegroserve - can't restart server

Hello,

I'm running CCL 1.2-r10552 PPC 32 and the latest CVS portableaserve
(pretty old).
This is on a G5 Mac with OS X 10.4.11

I find that I can't restart the server. The first start works fine,
but the subsequent ones freeze.

eg:

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(net.aserve:start :port 8000)
;; server works OK

(net.aserve:shutdown)
;; server stopped OK - no connections accepted

(net.aserve:start :port 8000)
;; server now accepting connections, but the connection freezes
;; no log output appears.  A restarted server never works.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

I'm a bit stuck. Is anyone else using portable aserve?  Has anyone had
success?  Or is
there an updated version of aserve somewhere?  The aserve mail list
is all spam, alas.

Many thanks,
Jan
(Continue reading)

Garth Corral | 11 Sep 06:26

IDE compilation failure on darwinppc64


Hi all,  I've searched the list archives and the clozure wiki but can  
find not reference to my issue so I thought I post here to see if  
anyone can help.

I've recently installed ccl on my G5 system running OS X 10.5.4.  I'm  
new to clozure but as near as I can tell, all seems well (using ppc64  
just because). Until, that is, I tried building the IDE using the  
procedure in the manual.  It fails for me with the following:

Welcome to Clozure Common Lisp Version 1.2-r10552  (DarwinPPC64)!
? (require :cocoa-application)
 > Error: Unknown foreign type: :<MARG>
 > While executing: %PARSE-FOREIGN-TYPE, in process listener(1).
 > Type :POP to abort, :R for a list of available restarts.
 > Type :? for other options.
1 >

I've tried this with the 1.2 tarball, updated from svn, and with fresh  
trunk checkout.  They all fail in the same way.  It worked fine for me  
with the ppc32 image as well as X8664 on my MacBook Pro.  I searched  
around to see if this was a known issue or it simply isn't supported  
but I came up empty.  Any assistance with this will be appreciated.   
It isn't absolutely essential that I use the 64 bit image but if I can  
get it to work, why not?  ;-)

Thanks in advance,

Garth
(Continue reading)

james anderson | 9 Sep 12:37

make-method-lambda ?

morning;

make-method-lambda is a know symbol, but defmethod reads as if it is  
implemented without it.

are there any plans to include it in the ccl mop?

thanks,

Gmane