GMC: Grafische Metacirculaire Scheme Evaluator, planning verdediging

1. Bedoeling

       De environments getekend op het bord zijn

              onhanding

              moelijk te volgen

              wanordelijk

       Moelijk te leren

       Daarom GMC

       Wat GMC

              Tekent environments tijdens de evaluatie van het programma

              Is trace-baar

 

2. Demonstratie

       >> (Load "queue.SCM")

       >> (Define Q (make-queue))

         Aanduiden van de soorten posities

         Scrollen

       >> ((Q 'enqueue) 5) (step over)

       >> ((Q 'enqueue) 6) (trace-into)

         Aanduiden van de opgevraagde procedure 'enqueue

         If -then is geen PP

         Destructieve veranderen

       >>(Collect-Garbage)

 

3. Wat uitleg nadien

       Voordelen

              Staartrecursie

              Garbage-collecting kan gecontroleert worden

              Scrollen

              Trace-baar

              Interactie met de gebruiker

       Nadelen :

              Geen PP

              De And & Or worden niet lazy geëvalueert

              Scrollen kan niet wanneer je wil

              Je kan niet terugscrollen in het tekstgedeelte

              Je kan de uitvoer ook niet naar file schrijven

              Kan zeer onoverzichtelijk worden

              Kent geen let*, noch letrec

              is allergisch aan macros

              Elke error die hij tegenkomt verlaat de mainloop

              Geen Manual

              Geen routine om alles opnieuw mooi te schikken

              Geen mogelijkheid om evaluatie niet te tekenen

              De meta-eval, noch de evaluate zijn niet bereikbaar

              Een beperkt aantal primitieven

              Het opzoeken van de primitieven is totaal inefficiënt

              Het programma kan niet tegen circulaire lijsten