From: Peter Seibel
Subject: Windows PCL Lispbox now available
Date: 
Message-ID: <m2br3lslux.fsf@gigamonkeys.com>
Okay, so it's only about six months late but I have just uploaded a
CLISP version of Lispbox for Windows. If you've got a Windows box to
try it out on, please do download it from:

  <http://www.gigamonkeys.com/lispbox/download.html>

and kick the tires. You can read a bit more about the Lispbox at:

  <http://www.gigamonkeys.com/lispbox/lispbox.html>

As always send email to ····@gigamonkeys.com with any feedback or
questions you have.

Next up I'll try to build an Allegro-based Windows Lispbox. Then I may
get fancy and build a proper installer using NSIS. Then I hope to go
back and refresh all the Lispboxen with up-to-date versios of the Lisp
implementations and SLIME. I am planning to stop producing new
Lispboxen for OS X 10.3; if this bums you out too much you should drop
me a note--maybe I can work something out but I'd rather not have to.

-Peter

-- 
Peter Seibel           * ·····@gigamonkeys.com
Gigamonkeys Consulting * http://www.gigamonkeys.com/
Practical Common Lisp  * http://www.gigamonkeys.com/book/

From: Timofei Shatrov
Subject: Re: Windows PCL Lispbox now available
Date: 
Message-ID: <430ec334.9747109@news.readfreenews.net>
On Thu, 25 Aug 2005 22:16:54 GMT, Peter Seibel <·····@gigamonkeys.com>
tried to confuse everyone with this message:

>
>Okay, so it's only about six months late but I have just uploaded a
>CLISP version of Lispbox for Windows. If you've got a Windows box to
>try it out on, please do download it from:
>
>  <http://www.gigamonkeys.com/lispbox/download.html>
>
>and kick the tires. You can read a bit more about the Lispbox at:
>
>  <http://www.gigamonkeys.com/lispbox/lispbox.html>
>

Cool. I was having problems with manually-installed SLIME before: it
wanted to access function "GetComputerNameExA" from kernel32.dll, and
the problem was that my kernel32.dll doesn't have that function
(strange, eh?). After aborting the error message everything worked
except I had to start slime-repl manually. The SLIME in Lispbox showed
the same behavior except it didn't work after restarting! Thankfully it
was easily fixable by replacing

#+win32
(ffi:def-call-out getpid (:name "GetCurrentProcessId")
 (:library "kernel32.dll")
 (:return-type ffi:uint32))
#+(or)
(let ((getpid (or (find-symbol "PROCESS-ID" :system)
		  ;; old name prior to 2005-03-01, clisp <= 2.33.2
		  (find-symbol "PROGRAM-ID" :system)
		  #+win32 ; integrated into the above since 2005-02-24
		  (and (find-package :win32) ; optional modules/win32
		       (find-symbol "GetCurrentProcessId" :win32)))))
  (defimplementation getpid () ; a required interface
    (cond
      (getpid (funcall getpid))
      #+win32 ((ext:getenv "PID")) ; where does that come from?
      (t -1))))

with

(defimplementation getpid ()
   (OS:PROCESS-ID))

in swank-clisp.lisp as is pointed out in another thread. Now everything
works fine and I don't have to load asdf everytime I start emacs.

-- 
|a\o/r|,-------------.,---------- Timofei Shatrov aka Grue ------------.
| m"a ||FC AMKAR PERM|| mail: grue at mail.ru  http://grue3.tripod.com |
|  k  ||  PWNZ J00   || Kingdom of Loathing: Grue3 lvl 18 Seal Clubber |
`-----'`-------------'`-------------------------------------------[4*72]
From: Rob Warnock
Subject: Re: Windows PCL Lispbox now available
Date: 
Message-ID: <eJudnXLnUO7ppY3eRVn-3g@speakeasy.net>
Timofei Shatrov <····@mail.ru> wrote the following to disable some code:
+---------------
| #+(or) (let (...) ...)
+---------------

May I strongly recommend that everyone always use #-(AND) instead of
#+(OR), and conversely use #+(AND) instead of #-(OR)?  Yes, AND is
one character longer to type than OR, but with the AND flavor the sense
of the +/- "goes the right way": plus = on/enable, minus = off/disable.
Much less likely to cause mistakes.

Just a suggestion...


-Rob

p.s. IIRC, I first heard this recommendation & rationale from Erik Naggum.

-----
Rob Warnock			<····@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607
From: Pascal Costanza
Subject: Re: Windows PCL Lispbox now available
Date: 
Message-ID: <3nb03mFm2g3U1@individual.net>
Rob Warnock wrote:
> Timofei Shatrov <····@mail.ru> wrote the following to disable some code:
> +---------------
> | #+(or) (let (...) ...)
> +---------------
> 
> May I strongly recommend that everyone always use #-(AND) instead of
> #+(OR), and conversely use #+(AND) instead of #-(OR)?  Yes, AND is
> one character longer to type than OR, but with the AND flavor the sense
> of the +/- "goes the right way": plus = on/enable, minus = off/disable.
> Much less likely to cause mistakes.
> 
> Just a suggestion...

I find both approaches confusing. I'd prefer something like 
http://srfi.schemers.org/srfi-62/srfi-62.html


Pascal

-- 
OOPSLA'05 tutorial on generic functions & the CLOS Metaobject Protocol
++++ see http://p-cos.net/oopsla05-tutorial.html for more details ++++
From: Edi Weitz
Subject: Re: Windows PCL Lispbox now available
Date: 
Message-ID: <uacj3z9qk.fsf@agharta.de>
On Sat, 27 Aug 2005 04:55:00 -0500, ····@rpw3.org (Rob Warnock) wrote:

> p.s. IIRC, I first heard this recommendation & rationale from Erik
> Naggum.

Based on an idea from Paul Dietz:

  <http://groups.google.com/group/comp.lang.lisp/msg/00a479f66b418600>

Cheers,
Edi.

-- 

Lisp is not dead, it just smells funny.

Real email: (replace (subseq ·········@agharta.de" 5) "edi")
From: Rob Warnock
Subject: Re: Windows PCL Lispbox now available
Date: 
Message-ID: <1oKdnVQxX-GRtozeRVn-gQ@speakeasy.net>
Edi Weitz  <········@agharta.de> wrote:
+---------------
| ····@rpw3.org (Rob Warnock) wrote:
| > p.s. IIRC, I first heard this recommendation & rationale from Erik
| > Naggum.
| 
| Based on an idea from Paul Dietz:
|   <http://groups.google.com/group/comp.lang.lisp/msg/00a479f66b418600>
+---------------

Actually, looking again at the whole thread, I believe Thomas Russ
was also one of the first to mention using "empty forms in OR or AND":

  <http://groups.google.com/group/comp.lang.lisp/msg/54c7cd87edd42947>

In any case, I came away with a strong feeling that #+(AND) and #-(AND)
for "enable" and "disable", resp., were far & away the best of the all
of the alternatives discussed: portable [pure CLHS], "natural" with
respect to "+/-", and easily remembered.

I've been using them ever since...  ;-}  ;-}


-Rob

-----
Rob Warnock			<····@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607
From: Pascal Bourguignon
Subject: Re: Windows PCL Lispbox now available
Date: 
Message-ID: <87u0hbe4wi.fsf@thalassa.informatimago.com>
····@rpw3.org (Rob Warnock) writes:

> Timofei Shatrov <····@mail.ru> wrote the following to disable some code:
> +---------------
> | #+(or) (let (...) ...)
> +---------------
>
> May I strongly recommend that everyone always use #-(AND) instead of
> #+(OR), and conversely use #+(AND) instead of #-(OR)?  Yes, AND is
> one character longer to type than OR, but with the AND flavor the sense
> of the +/- "goes the right way": plus = on/enable, minus = off/disable.
> Much less likely to cause mistakes.

#+(or) comes from #+NIL

Note that it would be useless to write #-(or) or #+(and).

We're taking (or) for false and (and) for true.
#-(and) is like (not true)
#+(or)  is like false
which is clearer?


-- 
__Pascal Bourguignon__                     http://www.informatimago.com/
The rule for today:
Touch my tail, I shred your hand.
New rule tomorrow.
From: Rob Warnock
Subject: Re: Windows PCL Lispbox now available
Date: 
Message-ID: <SMGdnf02xOAYtYzeRVn-uA@speakeasy.net>
Pascal Bourguignon  <····@mouse-potato.com> wrote:
+---------------
| ····@rpw3.org (Rob Warnock) writes:
| > May I strongly recommend that everyone always use #-(AND) instead of
| > #+(OR), and conversely use #+(AND) instead of #-(OR)?  Yes, AND is
| > one character longer to type than OR, but with the AND flavor the sense
| > of the +/- "goes the right way": plus = on/enable, minus = off/disable.
| > Much less likely to cause mistakes.
| 
| #+(or) comes from #+NIL
+---------------

Consider what will happen if NIL is on the *FEATURES* list, eh?
Those two forms will be different in that case.

+---------------
| Note that it would be useless to write #-(or) or #+(and).
+---------------

Why "useless"?!? Both signal the inclusion of the following form,
which you might have disabled earlier while testing some alternative.
If you use #+(and) for the one(s) that are currently enabled and
#-(and) for the one(s) that are currently disabled, then you can
turn a form "on" or "off" simply by changing a "+" to "-" or
vice-versa, e.g.:

     (defun foo ()
       ;;XXX Only enable one of the following at a time:
       #-(and) (bar baz 42)
       #+(and) (gorp baz 42)		; <== this one is enabled
       #-(and) (quux (1+ baz) 53)
       )

+---------------
| We're taking (or) for false and (and) for true.
| #-(and) is like (not true)
| #+(or)  is like false
| which is clearer?
+---------------

You misunderstand me. I'm suggesting to NEVER use #+(or) or #-(or)
because their meanings are "backwards" from the + and - signs they
contain [e.g., turning something "off" with a "+" is confusing].
Rather, I am suggesting to always use one of these:

  #+(and)	"+" == "on" == "true" == "include the following s-expr"
  #-(and)	"-" == "off" == "false" == "ignore the following s-expr"


-Rob

-----
Rob Warnock			<····@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607
From: Fred Gilham
Subject: Re: Windows PCL Lispbox now available
Date: 
Message-ID: <u764tofvuc.fsf@snapdragon.csl.sri.com>
Pascal Bourguignon <····@mouse-potato.com> writes:

> ····@rpw3.org (Rob Warnock) writes:
> 
> > Timofei Shatrov <····@mail.ru> wrote the following to disable some code:
> > +---------------
> > | #+(or) (let (...) ...)
> > +---------------
> >
> > May I strongly recommend that everyone always use #-(AND) instead of
> > #+(OR), and conversely use #+(AND) instead of #-(OR)?  Yes, AND is
> > one character longer to type than OR, but with the AND flavor the sense
> > of the +/- "goes the right way": plus = on/enable, minus = off/disable.
> > Much less likely to cause mistakes.
> 
> #+(or) comes from #+NIL
> 
> Note that it would be useless to write #-(or) or #+(and).
> 
> We're taking (or) for false and (and) for true.
> #-(and) is like (not true)
> #+(or)  is like false
> which is clearer?

I agree with Rob here.  #+(and) and #-(and) are a kind of happy
accident where they seem naturally to imply what you want to do.
#+(and) means, yes, include the following form.  #-(and) says no,
don't include the following form.

OTOH either alternative (i.e. using and or or) is better than thinking
up new names of things that aren't on the *features* list for
commenting out code.

-- 
Fred Gilham                                      ······@csl.sri.com
Ah, the 20th century, when the flight from reason crash-landed into
the slaughterhouse.  --- James Ostrowski
From: lin8080
Subject: Re: Windows PCL Lispbox now available
Date: 
Message-ID: <430ECC38.85BBCF99@freenet.de>
Peter Seibel schrieb:

> Okay, so it's only about six months late but I have just uploaded a
> CLISP version of Lispbox for Windows. If you've got a Windows box to
> try it out on, please do download it from:

Thank you very much. I go through some cheat-rooms to hold the
lisp-banner up. Now you gave me a nice link for all that click-users in
a window ;)

stefan
From: Peter Seibel
Subject: Re: Windows PCL Lispbox now available
Date: 
Message-ID: <m24q9csmtq.fsf@gigamonkeys.com>
lin8080 <·······@freenet.de> writes:

> Peter Seibel schrieb:
>
>> Okay, so it's only about six months late but I have just uploaded a
>> CLISP version of Lispbox for Windows. If you've got a Windows box to
>> try it out on, please do download it from:
>
> Thank you very much. I go through some cheat-rooms to hold the
> lisp-banner up. Now you gave me a nice link for all that click-users in
> a window ;)

Oh, BTW, I forgot to mention that the way to run the Windows Lispbox
is to set LISPBOX_HOME to the full name of the directory you get when
you unpack the zip and then running lispbox.bat. Or you can add the
'set LISPBOX_HOME=...' line to lispbox.bat. If I ever get around to
building a proper installer I'll try to automate this step

-Peter

-- 
Peter Seibel           * ·····@gigamonkeys.com
Gigamonkeys Consulting * http://www.gigamonkeys.com/
Practical Common Lisp  * http://www.gigamonkeys.com/book/
From: Frank Buss
Subject: Re: Windows PCL Lispbox now available
Date: 
Message-ID: <1wjksaf5emtvk$.kj8m0sy5n5br.dlg@40tude.net>
Peter Seibel wrote:

> If I ever get around to
> building a proper installer I'll try to automate this step

Inno Setup is a nice free installer builder: 
http://www.jrsoftware.org/isinfo.php 

-- 
Frank Bu�, ··@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de