From: Joshua Eckroth
Subject: Pure LISP implementation
Date: 
Message-ID: <3708dcdb.0310262030.c7dda52@posting.google.com>
I'm a newbie and very excited about LISP; this is perhaps my third
attempt to learn it, but this time I'm actually progressing.  My
approach to learning is to see how much I can build off Pure LISP.

So my question is, are there implementations of Pure LISP (for Unix)? 
I've found ArrowLISP, but it's not aesthetically pleasing (of course,
if it's one of a few options, I can certainly get over that).  Is
there some way to decide which keywords I want enabled in something
like GNU CLISP?
The reason I want this is I don't want to have to name my functions
something goofy (so that it doesn't interfere with Common LISP) or
continually override the builtins.  And I'd like to be sure I don't
stray from my goal.

Thanks.

-josh

From: Kenny Tilton
Subject: Re: Pure LISP implementation
Date: 
Message-ID: <2q2nb.9507$Gq.4039874@twister.nyc.rr.com>
Joshua Eckroth wrote:

> I'm a newbie and very excited about LISP; this is perhaps my third
> attempt to learn it, but this time I'm actually progressing.  My
> approach to learning is to see how much I can build off Pure LISP.
> 
> So my question is, are there implementations of Pure LISP (for Unix)? 
> I've found ArrowLISP, but it's not aesthetically pleasing (of course,
> if it's one of a few options, I can certainly get over that).  Is
> there some way to decide which keywords I want enabled in something
> like GNU CLISP?
> The reason I want this is I don't want to have to name my functions
> something goofy (so that it doesn't interfere with Common LISP) 

Did you search on Google for "Pure Lisp?" I found some fun links that 
way relevant to your task.

Is the Lisp 1.5 manual onlinr?

kenny

-- 
http://tilton-technology.com

Why Lisp?...

    http://alu.cliki.net/RtL%20Highlight%20Film
From: Anton van Straaten
Subject: Re: Pure LISP implementation
Date: 
Message-ID: <Q43nb.4830$X22.2027@newsread2.news.atl.earthlink.net>
Kenny Tilton wrote:
> Is the Lisp 1.5 manual onlinr?

http://green.iis.nsk.su/~vp/doc/lisp1.5/
From: Kenny Tilton
Subject: Re: Pure LISP implementation
Date: 
Message-ID: <fkanb.10445$Gq.4212628@twister.nyc.rr.com>
Anton van Straaten wrote:
> Kenny Tilton wrote:
> 
>>Is the Lisp 1.5 manual onlinr?
> 
> 
> http://green.iis.nsk.su/~vp/doc/lisp1.5/
> 

Thx. Hmmm:

"Definition: An S-expression is either an atomic symbol or it is 
composed of these elements in the following order, a left parenthesis, 
an S-expression, a dot, an S-expression, and a right parenthesis."

:)

-- 
http://tilton-technology.com

Why Lisp?...

    http://alu.cliki.net/RtL%20Highlight%20Film
From: Joshua Eckroth
Subject: Re: Pure LISP implementation
Date: 
Message-ID: <3708dcdb.0310270807.453e43b1@posting.google.com>
Kenny Tilton <·······@nyc.rr.com> wrote in message news:<·····················@twister.nyc.rr.com>...
> Did you search on Google for "Pure Lisp?" I found some fun links that 
> way relevant to your task.
> 
> Is the Lisp 1.5 manual onlinr?


I've done that search several times, and like I said the only
"implementation" is ArrowLISP (whose editor didn't work right on my
system; something with the termcap file perhaps... I don't want to
figure it out).  As for the LISP 1.5 manual, I have found that useful.

Thanks to everyone for the "use-package" tips.  It seems that will
work.

-josh
From: Iain Little
Subject: Re: Pure LISP implementation
Date: 
Message-ID: <87smlfl0yy.fsf@yahoo.com>
····@humboldt.edu (Joshua Eckroth) writes:

> So my question is, are there implementations of Pure LISP (for Unix)? 
> I've found ArrowLISP, but it's not aesthetically pleasing (of course,
> if it's one of a few options, I can certainly get over that).  Is
> there some way to decide which keywords I want enabled in something
> like GNU CLISP?

You can achieve this by doing the following:

(defpackage pure-lisp
  (:import-from common-lisp car cdr cons cond <insert other symbols...>))

And then:

(in-package pure-lisp)

[Note that if you want to go back to what you get by default, then you
can do: (in-package common-lisp-user)]

Cheers,


Iain
From: Daniel Barlow
Subject: Re: Pure LISP implementation
Date: 
Message-ID: <871xszkzjr.fsf@noetbook.telent.net>
Iain Little <······@yahoo.com> writes:

> ····@humboldt.edu (Joshua Eckroth) writes:
>
>> So my question is, are there implementations of Pure LISP (for Unix)? 
>> I've found ArrowLISP, but it's not aesthetically pleasing (of course,
>> if it's one of a few options, I can certainly get over that).  Is
>> there some way to decide which keywords I want enabled in something
>> like GNU CLISP?
>
> You can achieve this by doing the following:
>
> (defpackage pure-lisp
>   (:import-from common-lisp car cdr cons cond <insert other symbols...>))
...
    (:use nil))

The default 'use' list for new packages is implementation-dependent,
but often includes the COMMON-LISP package, which presumably you don't
want in this scenario

Assuming that's what you meant by "pure lisp" anyway, of course.  It's
not exactly a universally-agreed term


-dan

-- 

   http://web.metacircles.com/cirCLe_CD - Free Software Lisp/Linux distro
From: Peter Seibel
Subject: Re: Pure LISP implementation
Date: 
Message-ID: <m3he1vrzo5.fsf@javamonkey.com>
Iain Little <······@yahoo.com> writes:

> ····@humboldt.edu (Joshua Eckroth) writes:
> 
> > So my question is, are there implementations of Pure LISP (for Unix)? 
> > I've found ArrowLISP, but it's not aesthetically pleasing (of course,
> > if it's one of a few options, I can certainly get over that).  Is
> > there some way to decide which keywords I want enabled in something
> > like GNU CLISP?
> 
> You can achieve this by doing the following:
> 
> (defpackage pure-lisp
>   (:import-from common-lisp car cdr cons cond <insert other symbols...>))

Just to be safe you might want to do this:

  (defpackage pure-lisp
    (:use)
    (:import-from common-lisp car cdr cons cond <insert other symbols...>))

since an implementation is within its rights to automatically use
certain packages (such as COMMON-LISP) for you unless you specifically
use nothing.

-Peter

-- 
Peter Seibel                                      ·····@javamonkey.com

         Lisp is the red pill. -- John Fraser, comp.lang.lisp
From: Kenny Tilton
Subject: Favorite Libraries Revisited: Common Music, et al
Date: 
Message-ID: <TJcnb.10698$Gq.4277714@twister.nyc.rr.com>
A ways back Peter Seibel asked about our favorite libraries. I have a 
new few: Common Music, Common Lisp Music, and Common Music Notation

    http://ccrma-www.stanford.edu/software/

They are being actively cleaned up install-wise to get ready to go on a 
CD for a new book on computer music by Rick Taube, due to be published 
RSN. If you try installing and have issues, report them to the list and 
you'll get a speedy response. The distro is meant for non-techies, so 
/any/ glitch will be addressed, in the software or the doc.

I got all three working with a little effort (issues reported to the CM 
list) and it's a hoot. I have been producing graphics programmatically 
since, what?, 1978. Now for the first time I am producing sound. And 
since the sound in some cases is synthesized (not just MIDI, though MIDI 
is an option) (1) predefined things like a piano sound like there is a 
piano in the room, and (2) if I want to goof around I can create noise 
unconstrained by midi.

fun fun fun.

kenny

Peter Seibel wrote:
> Iain Little <······@yahoo.com> writes:
> 
> 
>>····@humboldt.edu (Joshua Eckroth) writes:
>>
>>
>>>So my question is, are there implementations of Pure LISP (for Unix)? 
>>>I've found ArrowLISP, but it's not aesthetically pleasing (of course,
>>>if it's one of a few options, I can certainly get over that).  Is
>>>there some way to decide which keywords I want enabled in something
>>>like GNU CLISP?
>>
>>You can achieve this by doing the following:
>>
>>(defpackage pure-lisp
>>  (:import-from common-lisp car cdr cons cond <insert other symbols...>))
> 
> 
> Just to be safe you might want to do this:
> 
>   (defpackage pure-lisp
>     (:use)
>     (:import-from common-lisp car cdr cons cond <insert other symbols...>))
> 
> since an implementation is within its rights to automatically use
> certain packages (such as COMMON-LISP) for you unless you specifically
> use nothing.
> 
> -Peter
> 

-- 
http://tilton-technology.com

Why Lisp?...

    http://alu.cliki.net/RtL%20Highlight%20Film
From: Peter Seibel
Subject: Re: Favorite Libraries Revisited: Common Music, et al
Date: 
Message-ID: <m3znfmpj5v.fsf@javamonkey.com>
Kenny Tilton <·······@nyc.rr.com> writes:

> A ways back Peter Seibel asked about our favorite libraries. I have a
> new few: Common Music, Common Lisp Music, and Common Music Notation
> 
>     http://ccrma-www.stanford.edu/software/
> 
> They are being actively cleaned up install-wise to get ready to go
> on a CD for a new book on computer music by Rick Taube, due to be
> published RSN. If you try installing and have issues, report them to
> the list and you'll get a speedy response. The distro is meant for
> non-techies, so /any/ glitch will be addressed, in the software or
> the doc.

So if I wanted to write an ear-training program (i.e. I need to be
able to play specific notes and chords, etc.) which of these libraries
do I want? Common Lisp Music on Common Music? And what else do I need
to actually make my machine make noise--since I don't have any
physical MIDI devices attached I assume I'll need some sort of
software synth. Do these libraries provide that or do I need to get
one elsewhere? (I saw the thing about Midishare in the installation
instructions for Common Music but couldn't figure out quite what it was.)

-Peter

-- 
Peter Seibel                                      ·····@javamonkey.com

         Lisp is the red pill. -- John Fraser, comp.lang.lisp
From: Kenny Tilton
Subject: Re: Favorite Libraries Revisited: Common Music, et al
Date: 
Message-ID: <j8inb.11648$Gq.4427246@twister.nyc.rr.com>
Peter Seibel wrote:
> Kenny Tilton <·······@nyc.rr.com> writes:
> 
> 
>>A ways back Peter Seibel asked about our favorite libraries. I have a
>>new few: Common Music, Common Lisp Music, and Common Music Notation
>>
>>    http://ccrma-www.stanford.edu/software/
>>
>>They are being actively cleaned up install-wise to get ready to go
>>on a CD for a new book on computer music by Rick Taube, due to be
>>published RSN. If you try installing and have issues, report them to
>>the list and you'll get a speedy response. The distro is meant for
>>non-techies, so /any/ glitch will be addressed, in the software or
>>the doc.
> 
> 
> So if I wanted to write an ear-training program (i.e. I need to be
> able to play specific notes and chords, etc.) which of these libraries
> do I want? Common Lisp Music on Common Music?

CLM could do it alone. I was going to say you just need to work out the 
frequency for a note (no problem, I gather) but that is just a parameter 
for the violin. The piano instrument takes actual key numbers (1 thru 
88), so yer done on that score. <g>

As for chords, no problemo. You just call the piano function twice with 
the same start time of 0 and the generated WAV plays them as a chord.

The with-sound macro in CLM wraps these two calls, and that Just Worked 
(ie, actually made by laptop make sound) out of the box, so...I don't 
know where it is coming from. Possibly winXP just knows what to do with 
WAVs and with-sound just hands the generated WAV off to the OS?

In CM, I had to hack the code to use the ACL run-shell function (the 
code as shipped was trying to do plain "SHELL something" and was 
silently doing nothing) and execute a command-line string which runs 
WinAmp giving it the MIDI file generated by CM (out of the box--my 
current task is to get other backends such as CLM and CSound working, 
and apparently there are a few other options.)

I think WinAmp just comes with XP. I did not follow up on Midishae since 
winamp was working for me.

Aside: re having to hack in the run-shell thing, I think win32 is a 
reach for this software; IIRC, the doc (or some doc I saw) presumes 
OpenMCL. That said, the software is pretty impressive. The CL code 
writes "C" code and then kicks off (in my case) VC6 to compile and link 
a DLL. Hmmm. I wonder now that clock speeds are what they are if all 
that is necessary, but it still is nice and automatic. I think I 
mentioned they are trying to package this for non-experts.

kenny

-- 
http://tilton-technology.com

Why Lisp?...

    http://alu.cliki.net/RtL%20Highlight%20Film
From: Pascal Bourguignon
Subject: Re: Pure LISP implementation
Date: 
Message-ID: <8765ibccqu.fsf@thalassa.informatimago.com>
Iain Little <······@yahoo.com> writes:

> ····@humboldt.edu (Joshua Eckroth) writes:
> 
> > So my question is, are there implementations of Pure LISP (for Unix)? 
> > I've found ArrowLISP, but it's not aesthetically pleasing (of course,
> > if it's one of a few options, I can certainly get over that).  Is
> > there some way to decide which keywords I want enabled in something
> > like GNU CLISP?
> 
> You can achieve this by doing the following:
> 
> (defpackage pure-lisp
>   (:import-from common-lisp car cdr cons cond <insert other symbols...>))
> 
> And then:
> 
> (in-package pure-lisp)
> 
> [Note that if you want to go back to what you get by default, then you
> can do: (in-package common-lisp-user)]

Wouldn't that be (common-lisp:in-package :common-lisp-user)?


[2]> (defpackage pure-lisp 
        (:use nil) 
        (:import-from common-lisp car cdr cons cond))
*** - USE-PACKAGE: There is no package with name "NIL"
1. Break [9]> 
[10]> (defpackage pure-lisp 
        (:use) 
        (:import-from common-lisp car cdr cons cond))
#<PACKAGE PURE-LISP>
[11]> (in-package :pure-lisp)
#<PACKAGE PURE-LISP>
PURE-LISP[12]> (in-package :common-lisp)
*** - COMMON-LISP:EVAL: the function IN-PACKAGE is undefined
1. Break PURE-LISP[13]> 
PURE-LISP[14]> (common-lisp:in-package :common-lisp-user)
#<PACKAGE COMMON-LISP-USER>


-- 
__Pascal_Bourguignon__
http://www.informatimago.com/