From: Christopher J. Vogt
Subject: JPEG reader/writer (was Promoting Lisp)
Date: 
Message-ID: <365ED8F6.816ADA16@computer.org>
Kelly Murray wrote:
> 
> The best way to promote lisp is to use it successfully.
>  i.e. write useful applications that solve some real problem.
> 
> If you can't use it sucessfully,
>  the second best way is to help others use it successfully.
>  i.e. write general tools and utilities.
> 
> I have a standing request for a JPEG image reader and writer
> utility written in CommonLisp.
> I also offer cold hard cash:
>  $500 to the first person that can deliver.
> 
> -Kelly Murray  ···@intellimarket.com

http://members.home.com/vogt/jpeg.lisp

-- 
Christopher J. Vogt - Computer Consultant - Solving hard problems since 1979
http://members.home.com/vogt/

From: rusty craine
Subject: Re: JPEG reader/writer (was Promoting Lisp)
Date: 
Message-ID: <73mn8e$7bi$1@excalibur.flash.net>
WOW great job.  I was about two weeks behind, (see jpeg waiting for the shoe
to drop).   Can't wait to look over your code closely.  I have got to admit
at a glance I can see a place or two you handled much more elegantly then I
did.  I am impressed; can't wait to get my CL so I can run it.

If ya got to be out ran, it nice to be out ran by the best,
rusty


Christopher J. Vogt wrote in message <·················@computer.org>...
>Kelly Murray wrote:
>>
>> The best way to promote lisp is to use it successfully.
>>  i.e. write useful applications that solve some real problem.
>>
>> If you can't use it sucessfully,
>>  the second best way is to help others use it successfully.
>>  i.e. write general tools and utilities.
>>
>> I have a standing request for a JPEG image reader and writer
>> utility written in CommonLisp.
>> I also offer cold hard cash:
>>  $500 to the first person that can deliver.
>>
>> -Kelly Murray  ···@intellimarket.com
>
>http://members.home.com/vogt/jpeg.lisp
>
>--
>Christopher J. Vogt - Computer Consultant - Solving hard problems since
1979
>http://members.home.com/vogt/
From: Rainer Joswig
Subject: Re: JPEG reader/writer (was Promoting Lisp)
Date: 
Message-ID: <joswig-2711981827570001@pbg3.lavielle.com>
In article <·················@computer.org>, ····@computer.org wrote:

> http://members.home.com/vogt/jpeg.lisp

Cool. We are coming closer. 
Problem: I think it is not allowed for a macro
to expand into a declaration:

(defmacro my-declare ...
  `(declare ...)

(defun my-fun ()
   (my-declare ....)
   ...)

Above code is not allowed - doesn't work for example in MCL.

-- 
http://www.lavielle.com/~joswig
From: Christopher J. Vogt
Subject: Re: JPEG reader/writer (was Promoting Lisp)
Date: 
Message-ID: <365F5355.F9CDC834@computer.org>
Rainer Joswig wrote:
> 
> In article <·················@computer.org>, ····@computer.org wrote:
> 
> > http://members.home.com/vogt/jpeg.lisp
> 
> Cool. We are coming closer.
> Problem: I think it is not allowed for a macro
> to expand into a declaration:
> 
> (defmacro my-declare ...
>   `(declare ...)
> 
> (defun my-fun ()
>    (my-declare ....)
>    ...)
> 
> Above code is not allowed - doesn't work for example in MCL.

Right you are.  I've been using this sort of thing for many years and my current
development system (LWW 4.0.1) allows it.  It is CLtL2 compliant, but not
ANSI CL.

Well, the great thing about Lisp, is there is usally more than one way to skin
a cat.  I've modified the code to be ANSI compliant.

Thanks for your input.

-- 
Christopher J. Vogt - Computer Consultant - Solving hard problems since 1979
http://members.home.com/vogt/
From: Rainer Joswig
Subject: Re: JPEG reader/writer (was Promoting Lisp)
Date: 
Message-ID: <joswig-2811981026400001@194.163.195.67>
In article <·················@computer.org>, ····@computer.org wrote:

> Rainer Joswig wrote:
> > 
> > In article <·················@computer.org>, ····@computer.org wrote:
> > 
> > > http://members.home.com/vogt/jpeg.lisp
> > 
> > Cool. We are coming closer.
> > Problem: I think it is not allowed for a macro
> > to expand into a declaration:

> Thanks for your input.

Some more:

- the parameter to type SIMPLE-VECTOR is the size - and
  not the element type.

- two times you have the following LOOP clause in a macro:
    for data ,(if (not alpha) 'fixnum) = (svref image addr) 
  The IF form may expand into NIL - It should better be something
  else (T or another type).


Greetings,

Rainer Joswig

-- 
http://www.lavielle.com/~joswig
From: Rainer Joswig
Subject: Re: JPEG reader/writer (was Promoting Lisp)
Date: 
Message-ID: <joswig-2811981041440001@194.163.195.67>
In article <·················@computer.org>, ····@computer.org wrote:

> Well, the great thing about Lisp, is there is usally more than one way to skin
> a cat.  I've modified the code to be ANSI compliant.
> 
> Thanks for your input.

Another small problem:

   (quantization-tables :initform (make-array 4))

You should not assume that MAKE-ARRAY initializes the
array to some initial elements you'd expect. It, for
example, doesn't necessary need to be NIL.

1 > (make-array 4)
#(0 0 0 0)

Greetings,

Rainer

-- 
http://www.lavielle.com/~joswig