[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Scheme-reports] Legacy caar to cddddr



 | Date: Sun, 23 Oct 2011 15:40:51 -0400
 | From: John Cowan <cowan@x>
 | 
 | 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@x
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports