<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Razvan Rotaru wrote at 12/30/2010 10:34 AM:
<blockquote cite="mid:610918.15417.qm@web111406.mail.gq1.yahoo.com"
type="cite">
<style type="text/css"><!-- DIV {margin:0px;} --></style>
<div style="" roman="" new="" york="" times="" ,=""
serif;font-size:12pt="">
<div>I was just wondering whether there is anything like setf in
scheme.<br>
</div>
</div>
</blockquote>
<br>
If you mean like "set!" to accept place lvalues, SRFI-17 is one example:<br>
<br>
<a class="moz-txt-link-freetext" href="http://srfi.schemers.org/srfi-17/srfi-17.html">http://srfi.schemers.org/srfi-17/srfi-17.html</a><br>
<br>
Implementing such a thing for a small, fixed set of places (like "car")
using only macros is easy.<br>
<br>
If, however, you want it extensible to new setters, I think you'd end
up defining matching setting procedures and hanging them off the getter
procedures as (depending on what your Racket or Scheme version has)
symbol properties, record-type-as-procedure, or some similar feature.<br>
<br>
Setters like this have sometimes seemed to me to provide a nice
linguistic symmetry, but at the same time, they are growing the
language quite a bit despite the appeal of simplicity. In practice, I
have never wanted to have setters. IMHO.<br>
<br>
<div class="moz-signature">-- <br>
<a class="moz-txt-link-freetext" href="http://www.neilvandyke.org/">http://www.neilvandyke.org/</a>
</div>
</body>
</html>