unofficial mirror of 
 help / color / mirror / Atom feed
* Scheme+ version 7.3 release
@ 2024-01-08 14:43 Damien Mattei
  0 siblings, 0 replies; only message in thread
From: Damien Mattei @ 2024-01-08 14:43 UTC (permalink / raw)
  To: guile-user


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:

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:

for now Scheme+ is also available for:

Racket :



^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2024-01-08 14:43 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-08 14:43 Scheme+ version 7.3 release Damien Mattei

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).