Hacker News new | ask | show | jobs
by neilv 512 days ago
You might have been misled by a CS professor's enthusiasm about what they thought was neat, or was a good way to communicate something.

But I don't recall seeing someone re-define `define` in real life.

Nor do I recall seeing any problematic redefinitions in Scheme in real life.

That said, if you wanted to make a language variant in which `define` did something different than normal (say, for instrumentation, or for different semantics for variable syntax), then you'd probably use Racket, and you'd probably define your own `#lang`, so that the first line of files using your language would be something like `#lang myfunkylang`.

You can randomly sample code in <https://pkgs.racket-lang.org/>, and look for people doing anything other than `#lang racket/base` or `#lang typed/racket/base`.