do you think this can be written simpler?

#`(list #,@(optimizer-parse-square-brackets-arguments-lister-syntax
#`(#,@#'args-brackets)))

i'm quite afraid the look the 'syntax' get....

it is part of this macro:

(define-syntax $bracket-apply$

  (lambda (stx)

    (syntax-case stx ()


      ;; a version that pre-compil the infix expression, should be faster
      ;; scheme@(guile-user)> {#(1 2 3 4 5 6 7 8 9)[6 - 4 : 5 + 2]}
      ;; optimizer-parse-square-brackets-arguments-lister-syntax :
args-brackets=(#<syntax:unknown file:2:22 6> #<syntax:unknown
file:2:24 -> #<syntax:unknown file:2:26 4> #<syntax:unknown file:2:28
:> #<syntax:unknown file:2:30 5> #<syntax:unknown file:2:32 +>
#<syntax:unknown file:2:34 2>)
      ;; $bracket-apply$ :
#'parsed-args=(#<syntax:apply-square-brackets.scm:106:37 list>
(#<syntax:unknown file:2:24 -> #<syntax:unknown file:2:22 6>
#<syntax:unknown file:2:26 4>) #<syntax:unknown file:2:28 :>
(#<syntax:unknown file:2:32 +> #<syntax:unknown file:2:30 5>
#<syntax:unknown file:2:34 2>))
      ;; $1 = #(3 4 5 6 7)

      ;; scheme@(guile-user)> (define i 5)
      ;; scheme@(guile-user)> {#(1 2 3 4 5 6 7 8 9)[6 - 4 : i + 2]}
      ;; optimizer-parse-square-brackets-arguments-lister-syntax :
args-brackets=(#<syntax:unknown file:4:22 6> #<syntax:unknown
file:4:24 -> #<syntax:unknown file:4:26 4> #<syntax:unknown file:4:28
:> #<syntax:unknown file:4:30 i> #<syntax:unknown file:4:32 +>
#<syntax:unknown file:4:34 2>)
      ;; $bracket-apply$ :
#'parsed-args=(#<syntax:apply-square-brackets.scm:106:37 list>
(#<syntax:unknown file:4:24 -> #<syntax:unknown file:4:22 6>
#<syntax:unknown file:4:26 4>) #<syntax:unknown file:4:28 :>
(#<syntax:unknown file:4:32 +> #<syntax:unknown file:4:30 i>
#<syntax:unknown file:4:34 2>))
      ;; $2 = #(3 4 5 6 7)
      (($bracket-apply$ container . args-brackets)


       (with-syntax ((parsed-args #`(list
#,@(optimizer-parse-square-brackets-arguments-lister-syntax
#`(#,@#'args-brackets)))))
                
                    (display "$bracket-apply$ : #'parsed-args=") (display
#'parsed-args) (newline)
                
                    #'($bracket-apply$next4list-args container parsed-args))))))

Reply via email to