Hello, i present the release version 7.3 of Scheme+ for Guile, Scheme+ is an extension of the syntax of the Scheme language. Scheme+ is 100% compatible with Scheme.
Scheme+ is available here: https://damien-mattei.github.io/Scheme-PLUS-for-Guile/Scheme+io.html Here is a little example from the Scheme+ for Guile source code itself. ;; split the expression using slice as separator(def (parse-square-brackets-arguments args-brackets) (when (null? args-brackets) (return args-brackets)) (declare result partial-result) (def (psba args) ;; parse square brackets arguments ;;(display partial-result) (newline) (when (null? args) ;;(display "before !*prec") (newline) {result <- (append result (!*prec partial-result))} ;; !*prec is defined in scheme-infix.scm ;;(display "after !*prec") (newline) ;;(display result) (newline) (return-rec result)) ;; return from all recursive calls {fst <+ (car args)} (if (equal? slice fst) ($> (when (not (null? partial-result)) {result <- (append result (!*prec partial-result))} ;; evaluate and store the expression {partial-result <- '()}) ;; empty for the next possible portion between slice operator {result <- (append result (list fst))}) ;; append the slice operator {partial-result <- (append partial-result (list fst))}) ;; not a slice operator but append it (psba (cdr args))) ;; end def, recurse (psba args-brackets)) ;; initial call A full example is available here: https://github.com/damien-mattei/AI_Deep_Learning/blob/9deadf6370558a5ba43cd9743e89630e19b5bb5a/exo_retropropagationNhidden_layers_matrix_v2_by_vectors4guile%2B.scm#L71 for now Scheme+ is also available for: Racket : https://damien-mattei.github.io/Scheme-PLUS-for-Racket/Scheme+io.html Kawa: https://github.com/damien-mattei/Scheme-PLUS-for-Kawa Damien