标签: scribble

使用Racket scribble/lp进行文学编程的例子

除了学习Racket,我还在努力学习文学编程.不幸的是,关于scribble/lp,Racket文档很少说.有人能指出我在这个主题上有更好的资源或用Racket编写的文学程序的例子吗?

非常感谢你.

literate-programming racket scribble

5
推荐指数
1
解决办法
925
查看次数

scribble/lp文档中未解析的链接

我正在尝试用Racket的scribble/lp编写一个小例子程序.该项目的来源是在Github上.

我遇到的问题是编织html中的链接断开.我已将它作为gh页面提供.对于该项目.

使用命令'Sribble LPexample.scrbl'输出文档时,我收到以下警告:

2013 blog > scribble LPexample.scrbl
 [Output to LPexample.html]
Warning: some cross references may be broken due to undefined tags:
 (dep ((lib "2htdp/image.rkt") ellipse))
 (mod-path "racket")
 (dep ((lib "2htdp/image.rkt") beside/align))
 (dep ((lib "2htdp/image.rkt") rectangle))
 (mod-path "scribble/lp")
Run Code Online (Sandbox Code Playgroud)

并且输出文件在断开的链接下放置红色下划线.

被潦草的文件是LPexample.scrbl.这很简单:

#lang scribble/manual
@require[scribble/lp-include]
@title{Literate Programming Example}
// snip
@lp-include["LPexample.rkt"]
Run Code Online (Sandbox Code Playgroud)

获取断开链接的文字编程文档的部分是第69-86行:

which weaves to this:

@chunk[<blue_square>
       (rectangle 100 100 "solid" "blue")]

can be composed into other functions this way:
@verbatim|{
@chunk[<blue_square>
(beside/align "bottom"
              (ellipse 20 70 …
Run Code Online (Sandbox Code Playgroud)

literate-programming racket scribble

5
推荐指数
1
解决办法
199
查看次数

如何在`scribble/lp`中使用`typed/racket`

是否可以使用其他#langs in#lang scribble/lp进行文学编程?

例如,我想#lang typed/racket#lang scribble/lp. 如何意识到这一点?

literate-programming racket scribble typed-racket

5
推荐指数
1
解决办法
321
查看次数

涂鸦:如何删除“警告没有声明的导出库”

我正在尝试用于defproc格式化函数定义(而不是记录库)。下面的代码获得了正确的格式,但是当我运行 Scribble 时会向控制台打印一个丑陋的警告:

#lang scribble/manual
@require[(for-label racket/contract)]

@defproc[(f [x integer?]) integer?]{
  The best @racket[f].
}
Run Code Online (Sandbox Code Playgroud)

运行scribble --html example.scrbl打印:

example.scrbl:4:10: WARNING: no declared exporting libraries for definition
  in: f
Run Code Online (Sandbox Code Playgroud)

有什么方法可以defproc用于格式化,并删除错误消息?

racket scribble

5
推荐指数
1
解决办法
114
查看次数

如何将非涂鸦文件添加到基于涂鸦的网站

我可以用image在我的涂鸦文档中嵌入图像,渲染函数会将其复制到目标目的地。现在,我还想在我的文档中包含非图像的文件,例如可以下载的 MP3 或 PDF 文件。

此外,我不能只将文件包含在源文件夹中并链接到它,因为如果我将文档渲染到不同的目标文件夹中,它不会被复制。

最后,我知道我可以手动创建目标目录,并将文件粘贴到那里。或者,我可以修改用于构建文档的任何文件来复制该文件。但这并不令人满意,因为现在我必须在两个地方跟踪图像。这.scrbl文件以及目标目录或构建文件。

那么,在涂鸦中是否有一种方法可以包含非涂鸦(或图像)文件(例如 MP3 或 PDF),以便渲染函数知道抓取它并将其包含在文档中?

html racket scribble

5
推荐指数
1
解决办法
164
查看次数

Racket 中的“文档字符串”?

我知道 Racket 没有像许多其他语言那样具有“文档字符串”,但考虑到在源代码中记录事物是多么方便,我想在 Racket 中近似类似的东西。

当我第一次了解 Scribble 和 #langs 时,我认为可以做如下事情:

#lang racket
#lang scribble
Run Code Online (Sandbox Code Playgroud)

...然后在 Racket 中使用 Scribble 中的文档字符串编写代码。但这行不通,可能是因为“语言不会组合”。

#lang racket
(require scribble/manual)

@racket['hi]
Run Code Online (Sandbox Code Playgroud)

结果是:

my-source.rkt:4:0: @racket: unbound identifier
Run Code Online (Sandbox Code Playgroud)

我发现这似乎很引人注目,因为听起来它允许您在合同scribble/srcdoc之上搭载文档,这些文档已经作为一种最小(通常是模块级)文档,当然除了提供运行时检查之外。到目前为止我还没能让它工作,但我认为在这里询问它会更有用,而不是再折腾几个小时。就其价值而言,这就是我目前所看到的:

#lang racket
(require scribble/srcdoc
         (for-doc scribble/base scribble/manual))

(provide
 (proc-doc/names fib
                 (-> integer? integer?)
                 (n)
                 @{Computes the @racket[n]th Fibonacci number}))

(define (fib n)
  (if (< n 2)
      n
      (+ (fib (- n 1))
         (fib (- n 2)))))
Run Code Online (Sandbox Code Playgroud)

结果是:

my-source.rkt:6:1: proc-doc/names: bad syntax
  in: (proc-doc/names fib (-> integer? integer?) …
Run Code Online (Sandbox Code Playgroud)

docstring racket scribble

5
推荐指数
1
解决办法
1036
查看次数

文学编程的直觉动机?

所以,我使用scribble/lp模块使用plt-scheme编写我的第一个文字程序:

#lang scribble/lp
(require scribble/lp)

<<lp_scheme.ss>>

@chunk[<squarefunction>
        (define (f x)
         (* x x))]
Run Code Online (Sandbox Code Playgroud)

当然没有什么有用的.现在我有点想知道为什么我不会使用简单的注释,而不是文字编程结构.任何意见欢迎.如果有人可能有更多的曝光/曝光,那将是非常好的.有了它可能会更直观地解释良好记录的代码和使用Literate编程结构编写的代码之间的差异.

scheme literate-programming racket scribble

4
推荐指数
1
解决办法
921
查看次数