使用库作为#lang?

Ben*_*man 3 racket

我有一些文件以这样的方式开头:

#lang racket/base
(require "my-library.rkt")
Run Code Online (Sandbox Code Playgroud)

如果我能用以下内容启动文件,我会非常高兴:

#lang my-library
Run Code Online (Sandbox Code Playgroud)

是否可以使用库作为#lang?我需要做些什么改变my-library.rkt

Gre*_*ott 6

如果你的图书馆不打算做什么"lang like",你只想消除require?你可以:

  1. 改变my-library.rkt为克里斯描述:添加(provide (all-from-out racket/base)).但是不要打扰创建任何my-library/lang/reader.rkt文件.

  2. 使用它:#lang s-exp "my-library.rkt".请注意s-exp,因此从技术上讲,这并不能完全回答您的问题.:)

请记住,您my-library.rkt现在可以使用阴影绑定将其用作lang而不是required.