Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

What Lisp capabilities are removed when packaged runtime Lisp programs are built using LW or ACL?

2 views
Skip to first unread message

Bruce Lester

unread,
Mar 15, 2002, 1:27:54 PM3/15/02
to
I am wondering what Lisp capabilities are removed when runtime Lisp programs
are built using LW or ACL.

For example, if I created a program that used macros to generate CLOS
classes and method definitions, and built a runtime package, would the
program work without the LW or ACL development environments?

Thanks.


Jochen Schmidt

unread,
Mar 15, 2002, 2:53:32 PM3/15/02
to
Bruce Lester wrote:

I can only speak for LispWorks and even there it is probably better to
consult the LW manuals and/or the support of Xanalys.

Most things like compiler, interpreter, reader and so on can be either left
in the generated runtime or not (depending on your delivery-settings).
Obviously the resulting executable gets much bigger if you let things like
the compiler and interpreter in it.
The only thing I know of that is never available in a delivered runtime is
the file-compiler (but COMPILE itself can be in).

ciao,
Jochen

--
http://www.dataheaven.de

Kent M Pitman

unread,
Mar 15, 2002, 4:24:30 PM3/15/02
to
"Bruce Lester" <bruce_...@email.com> writes:

I'm neither a lawyer nor a Xanalys employee, so you should doublecheck
with both before believing this for product purposes, but my personal
sense is...

In LispWorks, you can request various different levels of removal, but
from a technical point of view you don't have to remove anything.

I think there are some licensing restrictions on the character of what
you can produce and it is theoretically possible to deliver an
application in LispWorks that would violate your license if you make
something that looks and feels too much like a general purpose Lisp
system.

Christopher C. Stacy

unread,
Mar 15, 2002, 4:25:38 PM3/15/02
to
>>>>> On Fri, 15 Mar 2002 18:27:54 GMT, Bruce Lester ("Bruce") writes:
Bruce> I am wondering what Lisp capabilities are removed when runtime
Bruce> Lisp programs are built using LW or ACL.

Potentially: none; you get to control what is removed.

Sometimes it's a little tricky to figure out how to work the
controls, which may not be as direct and obvious as you want.
But you can always just leave everything in there.

Just what you are allowed to ship in an executable binary depends
on the license terms, which is a different question.

I think everyone allows you to ship DEFCLASS without any
additional encumberances, though. Macros are processed
at compile-time and are not an issue.

Michael Parker

unread,
Mar 15, 2002, 5:31:41 PM3/15/02
to

With LispWorks, the only things that are forcibly removed are the IDE
and the file compiler. You still have eval and compile though. And
you'll get into trouble if you ship something that looks too much
like a lisp environment.

Pretty sweet deal actually.

Erik Naggum

unread,
Mar 16, 2002, 2:42:25 AM3/16/02
to
* "Bruce Lester"

| I am wondering what Lisp capabilities are removed when runtime Lisp
| programs are built using LW or ACL.

For ACL, that is basically up to you and your license agreement.

| For example, if I created a program that used macros to generate CLOS
| classes and method definitions, and built a runtime package, would the
| program work without the LW or ACL development environments?

Yes. Please note that Franz Inc has made their entire documentation set
available on the Net. http://franz.com/support/documentation/

///
--
In a fight against something, the fight has value, victory has none.
In a fight for something, the fight is a loss, victory merely relief.

Kenny Tilton

unread,
Mar 16, 2002, 12:41:14 PM3/16/02
to

Bruce Lester wrote:
> For example, if I created a program that used macros to generate CLOS
> classes and method definitions, and built a runtime package, would the
> program work without the LW or ACL development environments?

Someone /did/ answer well your specific question, but it was almost as
an aside, so just to add a little redundancy: macros X which define
classes or methods or even other macros are expanded by the compiler, so
the built application does not require the compiler be around to expand
X again.

I am no Lisp expert, but I do remember when building my first runtimes
(under MCL) that it turned into a crash course in this sort of question.
I forget the details, but one problem might have been that I had created
macros which had side effects beyond producing code:

(defparameter *wa-wa-support-required* nil)

(defmacro wa-wa ((arg1 arg2) &body wa-wa-body)
(setf *wa-wa-support-required* t) ;; runs at macro expansion time,
not runtime
`(do-wa-wa ,arg1 ,arg2))

(defun go-wa-wa (x) (wa-wa x :go))

Soemthing like that. Anyway, *wa-wa-support-required* ended up nil in
the runtime despite the presence of a wa-wa form.


kenny tilton
clinisys, inc
--------------------------------------------
"You're not being the ball, Danny."
- Ty, Caddy Shack

Jock Cooper

unread,
Mar 18, 2002, 12:45:53 PM3/18/02
to
Kenny Tilton <kti...@nyc.rr.com> writes:
> (defparameter *wa-wa-support-required* nil)
>
> (defmacro wa-wa ((arg1 arg2) &body wa-wa-body)
> (setf *wa-wa-support-required* t) ;; runs at macro expansion time,
> not runtime
> `(do-wa-wa ,arg1 ,arg2))
>
> (defun go-wa-wa (x) (wa-wa x :go))
>
> Soemthing like that. Anyway, *wa-wa-support-required* ended up nil in
> the runtime despite the presence of a wa-wa form.
>

Where can I get a copy of wa-wa, I also have a project needing wa-wa support.

0 new messages