Question
Regards,
Roelof
Type username to filter posts in this community

Patrick Stein gave this presentation at the TC Lispers meeting in April 2010.
Robert Goldman gave this presentation at the TC Lispers meeting in April 2010.
Apology: Unfortunately, ScreenFlow bombed out on me when I went to stop recording. It subsequently saw that it had a partial project there but was unable to recover it. As such, there is no video available for this presentation. Feh. — Patrick
Paul Krueger gave this presentation at the TC Lispers meeting in April 2010.
Hunchentoot on Vimeo.
Paul Krueger gave this presentation at the TC Lispers meeting in April 2010.
Cocoa Lisp Controller on Vimeo.
Patrick Stein gave this presentation at the TC Lispers meeting in April 2010.
pleasedThe short version of my problem is that I want to do this:
(defun generate-setter (buffer pre post) (eval `(lambda (index value) (setf (aref buffer ,@pre index ,@post) value))))
Except that I want the (lambda ...) to be a closure
around buffer. Here, pre and post
are lists generated at runtime (thus not available as lists at compile time) and hence the (defun ...) and (eval ...) instead of (defmacro ...). Alas, the (eval ...)
form uses the null lexical environment, so I cannot capture buffer.
The long form with some of the myriad failed attempts I have made is on this blog post. Please, anyone have half a cup of clue that I could borrow? I promise, I'm going to the store for more clues really soon. I'll pay you back.
Edit: Here is exactly what I was looking for... (courtesy of tfb)
(defun generate-setter (buffer pre post)
(let ((make-closure
(compile nil `(lambda (buf)
(lambda (index value)
(setf (aref buf ,@pre index ,@post) value))))))
(compile nil (funcall make-closure buffer))))
We believe the diversity of constituencies justifies the design of two separate but compatible languages, which we will (for now) call "small" and "large" Scheme.
Small Scheme
* Constituencies: educators, casual implementors, researchers, embedded languages, "50-page" purists
* Think "IEEE/R5RS brought up to the current date."
* ~ 90% supermajority to be required for final ratification
Large Scheme
* Constituencies: programmers, implementors
* Think "R6RS with a happier outcome."
* ~ 75% supermajority to be required for final ratification
lisp and
schemers)The July meeting of the Twin Cities Lisp Users Group was this past Tuesday. There were four presentations on the agenda:
The presentation slides and videos of the talks are available above. Enjoy!
confused(if (eof-object? x) (do-nothing) (display message) )