File: prism-racket.html

package info (click to toggle)
node-prismjs 1.30.0%2Bdfsg%2B~1.26.5-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 19,220 kB
  • sloc: javascript: 27,628; makefile: 9; sh: 7; awk: 4
file content (16 lines) | stat: -rw-r--r-- 646 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<h2>Full example</h2>
<pre><code>; Source: https://github.com/mbutterick/pollen/blob/master/pollen/private/to-string.rkt

#lang racket/base
(provide (all-defined-out))

(define (to-string x)
  (cond
    [(string? x) x]
    [(or (null? x) (void? x)) ""]
    [(or (symbol? x) (number? x) (path? x) (char? x)) (format "~a" x)]
    ;; special handling for procedures, because if a procedure reaches this func,
    ;; it usually indicates a failed attempt to use a tag function.
    ;; meaning, it's more useful to raise an error.
    [(procedure? x) (error 'pollen "Can't convert procedure ~a to string" x)]
    [else (format "~v" x)]))</code></pre>