Re: [Scheme-reports] Legacy caar to cddddr
Aubrey Jaffer 23 Oct 2011 22:47 UTC
| Date: Sun, 23 Oct 2011 15:40:51 -0400
| From: John Cowan <cowan@mercury.ccil.org>
|
| Andre van Tonder scripsit:
|
| > For example, if I deconstruct using C*R and decide to change the
| > data structure from pairs to something else (e.g. records that
| > have some extra data), I can simply put the code in a module
| > parameterized over the C*R deconstructors and the code will
| > immediately work with the new data structure. This usually cannot
| > be done with an out of the box pattern matcher.
|
| True. However, you can of course put together your own C*R
| functions if you want,
Not if one cares about performance. C*R in SCM are fast because they
occupy a special procedure type-code that EVAL and APPLY dispatch
directly.
LISP is LISt Processing. CONS, C*R, SET-CAR!, SET-CDR!, MAP, etc are
a powerful paradigm for list processing, still very much in use. Lets
not remove LISP's legacy from Scheme.
_______________________________________________
Scheme-reports mailing list
Scheme-reports@scheme-reports.org
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports