As far as I know, this is not possible in the Scheme. And, in all senses and purposes, this is not strictly necessary. Just define the value at the top level as a regular variable, and then do not change it. To help you remember, you can accept the naming convention for these types of constants - I saw books where top-level variables are defined with *stars* around their name.
In other languages, there is a risk that some library will override the definition you created. However, the Scheme lexical field in combination with the modular PLT system ensures that this never happens.
source share