freenode/#lisp - IRC Chatlog
Search
21:54:48
Xach
borodust: hi, when i try to dist-update it does not think there is anything new. version issue maybe?
22:23:54
earl-ducaine
Lispologists! q: getting an SBCL warning that I'm using an obsolete form of do when I try and compile the following: (defun my-do-old () (do ((alfa 0.0)) () (return (list alfa))))
22:24:17
earl-ducaine
I'm guessing that that's the old way of writing: (defun my-do-ansi () (do ((alfa 0.0)) (nil) (return (list alfa))))
22:25:16
earl-ducaine
i.e. exit condition for 'do forever' used to be just the empty list now the exit clause must have the condition to be checked, even if it's constant.
22:31:45
phoe
earl-ducaine: I think so, yes. I think the return condition must be explicitly stated, even if it's always NIL.
22:32:28
phoe
;; Though that function could be obviously optimized to (defun my-do-old () (list 0.0)) - but I don't think that's what your question is about.
22:37:58
phoe
Bike: In this case, I have no idea. It could perhaps be possible to study CLtL1 and earlier Lisp manuals.
22:38:28
earl-ducaine
Thanks phoe just too lazy to qualify my example as being for illustritave purposes only! Bike: yes that's correct.
22:38:35
earl-ducaine
Just refered back to the Chinual and it seems even in Zeta Lisp (nil) was normative for 'do forever'
22:39:15
earl-ducaine
So, it must of been a syntax error that just happened to work in older implementations.
8:45:21
dmiles
ACTION adds (defun my-do-ansi () (do ((alfa 0.0)) (nil) (return (list alfa)))) to wam-cl
9:11:16
shka
beach: do you know about T lisp? It is said to be a remarkable implementation and it had first class envs akin to SICL.
9:15:04
pjb
T is in the scheme family: http://www.softwarepreservation.org/projects/LISP/scheme_family/#T_
9:15:30
pjb
(MacLisp) http://www.softwarepreservation.org/projects/LISP/maclisp_family/#NIL,_S-1_Lisp_
9:16:25
dmiles
help me out.. should it be possible to git a scheme fully compatible to common lisp ?
9:16:37
pjb
dmiles: Have a look at (intersection common-lisp emacs-lisp scheme) http://www.informatimago.com/develop/lisp/com/informatimago/small-cl-pgms/intersection-r5rs-common-lisp-emacs-lisp/
9:17:06
pjb
dmiles: you have to be careful to write your code to be meaningful in both lisp-1 and lisp-2.
9:17:39
pjb
dmiles: also, have a look at Butterfly CL (implemented in Butterfly Scheme), and at pseudo-scheme (implemented in CL), and a few others like that.
9:28:58
pjb
dmiles: also, for a practical approach, you could have a look at Common Music version 2.
9:29:57
beach
shka: Yes, I know about T. I have read the Orbit paper and some other stuff related to T.
9:30:11
pjb
The version 3 uses C++ to implement the applicative scheme, but the version 2 did that with Common Lisp. It implements a small scheme in Common Lisp, and use it to implement the application in scheme.
9:31:52
dmiles
version 2 sounds great then.. secretly i was worried i would have to rewrite wam-cl to be able to run scheme code (like adding some special whatnot)
9:32:40
dmiles
even if i have to add that whatnot to do scheme .. at least i have an inchworm starting from converting a CL verison of Scheme to prolog
9:32:55
beach
dmiles: In general, Common Lisp and Scheme are sufficiently different that one can not run programs in the other. Only if you use a very small subset of both of them, and if you are very careful how you write those programs will such a thing be possible.
9:34:33
pjb
dmiles: if the idea is to generaly mix and match languages in a common environment, you should definitely look at poplog.
9:35:29
pjb
or work with beach to provide a separate scheme compiler targetting the sicl backend ;-)
9:36:16
pjb
Better do that early while it's still time to add features to the backend if needed for scheme.
9:38:43
dmiles
from what i understand is that SICL does everyting right as far as it prevides a lisp that can be implmented with not one specific part that isnt writen in lisp
9:39:27
dmiles
meaning if you can impl at least these 100 or totallly a differnt 100 trampolines then you can get a full CL
9:53:02
dmiles
well trampoline is a littel too little.. what i really meant was at least some kind of REPL that does some lisp (not quite CL) and then by tramplines i mean at least some lisp functionality exists in the impl like #'EQ #'MAKE-VECTOR REPLACD