Black(ID:3576/bla001)


Scheme-based reflective language, which allows user programs to access and modify its metalevel interpreter (or the language semantics) from within the same language framework


People:
Related languages
3-LISP => Black   Influence
Blond => Black   Influence
Brown => Black   Influence
Scheme => Black   Augmentation of

References:
  • Kenichi Asai et al "Partial Evaluator as a Compiler for Reflective Languages" University of Tokyo Computer Science Technical Report 95-10 view details External link: Cite seer Abstract: This paper presents an online partial evaluator with a mechanism to
    handle I/O-type
    side-effects using preactions, and reports our experiment of using
    the partial evaluator as
    a compiler for the reflective language Black we are designing. Black
    is a Scheme-based
    reflective language, which allows user programs to access and modify
    its metalevel interpreter
    (or the language semantics) from within the same language framework.
    Because
    the semantics may change during computation, it is impossible to
    compile using a conventional
    Scheme compiler. To cope with this flexibility, we implemented an
    online partial
    evaluator, and specialized a Scheme meta-circular interpreter with
    respect to a modified
    interpreter to obtain an efficient version of the modified
    interpreter. The resulting interpreter
    turns out to be quite efficient in that it is almost identical to the
    original Scheme
    interpreter, except that it correctly reflects the modification made
    by users.