Subject: Re: What makes different things lispy or unlispy?
From: rpw3@rpw3.org (Rob Warnock)
Date: Thu, 25 Jun 2009 23:46:07 -0500
Newsgroups: comp.lang.lisp
Message-ID: <C8mdnVK10sISz9nXnZ2dnUVZ_tadnZ2d@speakeasy.net>
Vassil Nikolov  <vnikolov@pobox.com> wrote:
+---------------
| I submit that one lispy way of representing [*] such a version number
| would be as (<major> <minor> <patch level>), a list of three integers,
| where in other environments a string might be used having the syntax
| of "<major>.<minor>.<patch level>" or perhaps an assumption will be
| made that neither <major> nor <minor> or <patch level> will ever be
| greater than 99999 and a 53-bit-significand floating-point number
| might be used, computed as <major> + <minor>/1e5 + <patch level>/1e10.
+---------------

It's that "assumption...that neither <major> nor <minor> or <patch level>
will ever be greater than 99999" that makes the last variant "non-Lispy".

Now if you'd said to encode them this way:  ;-}  ;-}

    (* (expt 2 major) (expt 3 minor) (expt 5 patch-level))

[Hint: Decoding is "easily" done using the Prime Factoring Theorem...]


-Rob

-----
Rob Warnock			<rpw3@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607