Thank you for your comment

Beau­tiful Racket / racket school 2019

  1. #lang pollen/markdown
    Hello world
    1
    2
    #lang pollen/markdown
    Hello world
    
    copy to clipboard
    #lang racket
    "Hello world"
    1
    2
    #lang racket
    "Hello world"
    
    copy to clipboard
  2. #lang reader (submod pollen/markdown reader)
    Hello world
    1
    2
    #lang reader (submod pollen/markdown reader)
    Hello world
    
    copy to clipboard
    #lang reader (submod racket/main reader)
    "Hello world"
    1
    2
    #lang reader (submod racket/main reader)
    "Hello world"
    
    copy to clipboard
  3. dsl/main.rkt
    #lang br
    (module reader br
      (provide read-syntax)
      (define (read-syntax name port)
        ···))
    1
    2
    3
    4
    5
    #lang br
    (module reader br
      (provide read-syntax)
      (define (read-syntax name port)
        ···))
    
    copy to clipboard
  4. dsl/main.rkt
    #lang br
    (module reader br
      (provide read-syntax)
      (define (read-syntax name port)
        (define s-exprs (read-expression port))
        ···))
    1
    2
    3
    4
    5
    6
    #lang br
    (module reader br
      (provide read-syntax)
      (define (read-syntax name port)
        (define s-exprs (read-expression port))
        ···))
    
    copy to clipboard
  5. dsl/main.rkt
    #lang br
    (module reader br
      (provide read-syntax)
      (define (read-syntax name port)
        (define s-exprs (read-expression port))
        (datum->syntax #f
                       `(module dsl-mod-name dsl/expander
                          ,@s-exprs))))
    1
    2
    3
    4
    5
    6
    7
    8
    #lang br
    (module reader br
      (provide read-syntax)
      (define (read-syntax name port)
        (define s-exprs (read-expression port))
        (datum->syntax #f
                       `(module dsl-mod-name dsl/expander
                          ,@s-exprs))))
    
    copy to clipboard
    dsl/main.rkt
    #lang br
    (module reader br
      (provide read-syntax)
      (define (read-syntax name port)
        (define s-exprs (read-expression port))
        (strip-bindings
         #`(module dsl-mod-name dsl/expander
             #,@s-exprs))))
    1
    2
    3
    4
    5
    6
    7
    8
    #lang br
    (module reader br
      (provide read-syntax)
      (define (read-syntax name port)
        (define s-exprs (read-expression port))
        (strip-bindings
         #`(module dsl-mod-name dsl/expander
             #,@s-exprs))))
    
    copy to clipboard
    dsl/main.rkt
    #lang br
    (module reader br
      (provide read-syntax)
      (define (read-syntax name port)
        (define s-exprs (read-expression port))
        (strip-bindings
         (with-syntax ([EXPRS s-exprs])
         #'(module dsl-mod-name dsl/expander
             . EXPRS)))))
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #lang br
    (module reader br
      (provide read-syntax)
      (define (read-syntax name port)
        (define s-exprs (read-expression port))
        (strip-bindings
         (with-syntax ([EXPRS s-exprs])
         #'(module dsl-mod-name dsl/expander
             . EXPRS)))))
    
    copy to clipboard
    dsl/main.rkt
    #lang br
    (module reader br
      (provide read-syntax)
      (define (read-syntax name port)
        (define s-exprs (read-expression port))
        (strip-bindings
         (with-syntax ([(EXPR ...) s-exprs])
           #'(module dsl-mod-name dsl/expander
               EXPR ...)))))
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #lang br
    (module reader br
      (provide read-syntax)
      (define (read-syntax name port)
        (define s-exprs (read-expression port))
        (strip-bindings
         (with-syntax ([(EXPR ...) s-exprs])
           #'(module dsl-mod-name dsl/expander
               EXPR ...)))))
    
    copy to clipboard
  6. (define stx #'(+ plus))
    (for ([substx (syntax->list stx)])
      #R substx
      #R (syntax->datum substx)
      #R (identifier-binding substx))
    1
    2
    3
    4
    5
    (define stx #'(+ plus))
    (for ([substx (syntax->list stx)])
      #R substx
      #R (syntax->datum substx)
      #R (identifier-binding substx))
    
    copy to clipboard
test.rkt
#lang read-only

"hello world"
(+ 1 (* 2 (- 3)))
1
2
3
4
#lang read-only

"hello world"
(+ 1 (* 2 (- 3)))
copy to clipboard
read-only/main.rkt
#lang br
(module reader br
  ···)
1
2
3
#lang br
(module reader br
  ···)
copy to clipboard
← prev next →