schemeracket

Scheme is not able to identify define-macro


I'm following Prof. Harvey's cs61a and among the files made available, there is one that implements Object Oriented Paradigm (here). When loading it to Dr. Racket and adding the simply-scheme language (#lang simply-scheme), I get the following error:

    define-macro: unbound identifier in: define-macro

I'm not sure how to circumvent this problem, look for different sources but was not able to find a direction.

Thank you for the help!


Solution

  • The source file linked begins:

    ;;; obj.scm version 4.0 5/18/2000
    ;;; -- implementation of the object-oriented syntax
    ;; By Matt Wright, based on a handout from MIT
    ;; Revised for STk by Brian Gaeke - removed scm and procedure->macro
    

    So it seems the source for is for STk and not Racket. These days Racket no longer uses define-macro-style macros.

    Best advice: Ask on https://racket.discourse.group/ and hope someone has implemented the OO-syntax.

    It would be helpful, if you included a description of the OO-syntax (like the MIT handout).

    Note that Harvey writes to install UCB (their version of STk): https://inst.eecs.berkeley.edu//~cs61a/sp11/

    EDIT

    https://github.com/zackads/sicp/blob/main/inst.eecs.berkeley.edu/~cs61as/fa11/lib/obj.rkt