[Scheme] While macro werkt niet...?

Pagina: 1
Acties:

  • ^Mo^
  • Registratie: Januari 2001
  • Laatst online: 04-11-2025
Hoi,

Ik probeer in Scheme een while loop te maken door middel van een macro, en ik heb op dit moment het volgende:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
(define-macro while
    (lambda (test . body)
        (list 'if test
            (list 'begin
                body
                (list 'while test body)
            )
        )
    )
)

(begin
    (while (< 1 2) (display "Hello World") (display #\newline))
)

Maar als ik dit vervolgens wil uitvoeren mbv mzscheme, dan gebeurd er niks, alsof er een oneindige loop is... nou klopt dat oneindige loop wel, alleen de macro zou elke keer "Hello World" moeten printen op het scherm, de cursor blijft echter knipperen en er lijkt niks te gebeuren. Als ik niet opnieuw de macro aanroep, dan werkt 't wel :? Nou ja, hij print een keer "Hello World". Zie ik iets gigantisch over het hoofd??

"There are 10 kinds of people in the world, those who understand binary and those who don't" | Werkbak specs


  • ^Mo^
  • Registratie: Januari 2001
  • Laatst online: 04-11-2025
Doet niemand hier aan Scheme die mij kan helpen?

"There are 10 kinds of people in the world, those who understand binary and those who don't" | Werkbak specs