Renewal of the old PLT-Scheme project (until 1999)

I am trying to resurrect an old (1999 or earlier) project written in a Scheme (PLT-Scheme using the command line tool mzscheme(?)). To make matters worse, I don't know Schemas, or Lisp (in fact, I want to learn, but that's a different story).

I have the project source code:

github.com/akavel/sherman

Now, when the code is run, it is issued with an error message, as shown below:

Sherman runtime version 0.5
Hosted on MzScheme version 52, Copyright (c) 1995-98 PLT (Matthew Flatt)
reference to undefined identifier: list->block

(I tried versions of PLT-Scheme 52, 53, 103, 103p1. Earlier versions do not allow the option mzscheme -Lreferenced in the sherman.batscript used in the project. Later versions also have some more serious problems with the code or parameters.)

The difficulty is that from what I see, list->blockin factdefined - see: collects/sherman/BLOCK.SSline 48 . So what's wrong?

To run the code, I follow these steps:

  • Download PLT-Scheme v. 103p1 (from the download page of old versions - the first closing of the PLT Scheme banner is now Racket) - for Windows use: mz-103p1-bin-i386-win32.zip .
  • Unzip (for example, to a directory c:\PLT).
  • Copy the c:\sherman\collects\shermancontents directory to: c:\PLT\collects\sherman(which c:\shermancontains the contents of the github repository ).
  • Run cmd.exe, then cd c:\sherman.
  • set PATH=c:\PLT;%PATH%
  • sherman.bat run trivial.s
    • this command is actually, from what I understand, equivalent:
(require-library "runtime.ss" "sherman")
(parameterize ((current-namespace sherman-namespace)) (load "trivial.s"))
(current-namespace sherman-namespace)
  • , ( MzScheme ​​ 103p1 - ).

?

2: !

, " " , soegaard help.

:

copy trivial.s trivial.rs
rem (the above is workaround for problems with 'r2s.exe < trivial.r > trivial.rs')
sherman.bat compile trivial.rs
sherman.bat run trivial.zo
rem (or: sherman.bat run trivial.ss)
+5
1

, .

1. Sanity Check

, list->block - undefined. , block.ss , (display "block.ss is loaded!") block.ss , .


2. Random Thoughts

blocks.ss :

(require-library "functios.ss")
(require-library "synrule.ss")
(require-library "stream.ss" "sherman")

"sherman/stream.ss" , "synrule.ss" "functios.ss"?

... ! require-library . functios.ss synrule.ss MzLib.

http://www.informatik.uni-kiel.de/~scheme/doc/mzscheme/node158.htm

, require-library:

require-library , () , . require-library , , ; (), .

, block.ss, . , block.ss , list->block undefined.

+5

All Articles