sharad + defcode   50

First-class, run-time macros from meta-circular evaluators
Matt Might Course http://michaux.ca/articles/scheme-from-scratch-introduction http://matt.might.net/ First-class macros are macros that can be bound to variables, passed as arguments and returned from functions. First-class macros expand and evaluate syntax at run-time. Meta-circular evaluators support a concise implementation of first-class macros. In fact, first-class macros are easier to implement than traditional compile-time macros. A meta-circular evaluator is an interpreter which (1) can evaluate itself and (2) implements each language construct in terms of itself. This article and the attached implementation explain how to implement first-class macros in a meta-circular evaluator.
asm  nasm  as  self-modifying  selfmodifying  smc  implement  implementation  lisp  scheme  compiler  c  machine  code  binary  declarative  imperative  sbcl  defcode  masm  assembly  clisp  assembler  matt  might  course  Delicious 
july 2010 by sharad

related tags

ai  aima  allegro  allegrograph  article  as  asm  assembler  assembly  automata  binary  book  books  buy  c  call  call/cc  callcc  cc  cl  cl-xml  clisp  closure  code  combinator  comment  common-lisp  compiler  compilers  compiling  Concurrent  consultant  continuation  continuations  Continued  conts  course  courses  cps  cs  declarative  defcode  Delicious  design  developing  drscheme  DSSSL  duplicate  duplication  ebook  elisp  emacs  env  erlang  error  essay  essays  excellent  fundamental  gambit  good  great  greate  ground  gsxml  history  htdp  hyperspace  hyperspec  imperative  implement  implementation  inspiration  interpretation  interpreter  irregular  irregularity  kernel  kr  lambda  lambdapaper  lang  language  languages  learning  lisp  lsip  machine  macro  masm  math  matt  might  mining  mistake  ml  monad  monads  mustsee  nasm  ocaml  org  orgmode  paip  paper  pdf  plan  planner  ppai  problem  program  programming  prolog  rdf  read  readit  readlater  remember  remind  reminder  reson  resoning  ror  ruby  sapna  sbcl  scala  schedular  scheme  self-modifying  selfmodifying  semantic  setup  sheet  sicp  slime  smc  Squeak  stag  staging  start  structure  style  stylesheet  swank  sxml  syntax  t  t3  tc  text  todo  toread  tprj  tproject  Transformational  TransformationalCompiler  type  very  writing  x86  xebra  xml  xsl  xslt  Xuriella  Y  Ycombinator 

Copy this bookmark:



description:


tags: