<div dir="ltr"><span style="font-family:monospace,monospace">As a method of learning UrWeb, I am interested in accessing modules of some of the demos interactively.<br><br>The UrWeb manual (<a href="http://www.impredicative.com/ur/manual.pdf">http://www.impredicative.com/ur/manual.pdf</a> - page 4) seems to be saying that this can be done, as follows:<br><br>===<br><br>It is also possible to access the modules of the Ur/Web compiler interactively, within Standard ML of New Jersey. To install the prerequisites in Debian testing:<br><br>  apt-get install smlnj libsmlnj-smlnj ml-yacc ml-lpt<br><br>To begin an interactive session with the Ur compiler modules, run: <br><br>  make smlnj<br><br>and then, from within an sml session, run:<br><br>  CM.make "src/<a href="http://urweb.cm">urweb.cm</a>";<br><br>The Compiler module is the main entry point, and you can find its signature in src/compiler.sig.<br><br>===<br><br>After downloading the UrWeb repository from mercurial and attempting to perform these instructions on Debian Wheezy, the following errors occur:<br><br>(1) When doing 'make smlnj':<br>    make: *** No rule to make target 'smlnj'.  Stop.<br><br>(2) Arbitrarily skipping (1) and trying to do 'CM.make "src/<a href="http://urweb.cm">urweb.cm</a>";' in sml:<br>    uncaught exception Io [Io: openIn failed on "src/<a href="http://urweb.cm">urweb.cm</a>", No such file or directory]<br><br>Transcript below:<br><br>===<br><br>admin:~/urweb001/urweb$ sudo apt-get install smlnj libsmlnj-smlnj ml-yacc ml-lpt<br>Reading package lists... Done<br>Building dependency tree<br>Reading state information... Done<br>libsmlnj-smlnj is already the newest version.<br>ml-lpt is already the newest version.<br>ml-yacc is already the newest version.<br>smlnj is already the newest version.<br>0 upgraded, 0 newly installed, 0 to remove and 6 not upgraded.<br><br>admin:~/urweb001/urweb$ ls -l<br>total 104<br>-rwxr-xr-x 1 admin admin    26 Dec 24 01:44 autogen.sh<br>drwxr-xr-x 2 admin admin  4096 Dec 24 01:44 bin<br>-rw-r--r-- 1 admin admin 18458 Dec 24 01:44 CHANGELOG<br>-rw-r--r-- 1 admin admin  3559 Dec 24 01:44 <a href="http://configure.ac">configure.ac</a><br>drwxr-xr-x 3 admin admin  4096 Dec 24 01:44 demo<br>drwxr-xr-x 2 admin admin  4096 Dec 24 01:44 doc<br>drwxr-xr-x 3 admin admin  4096 Dec 24 01:44 include<br>drwxr-xr-x 4 admin admin  4096 Dec 24 01:44 lib<br>-rw-r--r-- 1 admin admin  1447 Dec 24 01:44 LICENSE<br>drwxr-xr-x 2 admin admin  4096 Dec 24 01:44 m4<br>-rw-r--r-- 1 admin admin  3679 Dec 24 01:44 Makefile.am<br>drwxr-xr-x 5 admin admin  4096 Dec 24 01:44 src<br>drwxr-xr-x 3 admin admin 32768 Dec 24 01:44 tests<br>-rw-r--r-- 1 admin admin   693 Dec 24 01:44 urweb.ebuild<br>drwxr-xr-x 2 admin admin  4096 Dec 24 01:44 xml<br><br>admin:~/urweb001/urweb$ make smlnj<br>make: *** No rule to make target `smlnj'.  Stop.<br><br>admin:~/urweb001/urweb$ sml<br>Standard ML of New Jersey v110.74 [built: Sat Oct  6 00:59:36 2012]<br>- CM.make "src/<a href="http://urweb.cm">urweb.cm</a>";<br>[autoloading]<br>[library $smlnj/cm/<a href="http://cm.cm">cm.cm</a> is stable]<br>[library $smlnj/internal/<a href="http://cm-sig-lib.cm">cm-sig-lib.cm</a> is stable]<br>[library $/<a href="http://pgraph.cm">pgraph.cm</a> is stable]<br>[library $smlnj/internal/<a href="http://srcpath-lib.cm">srcpath-lib.cm</a> is stable]<br>[library $SMLNJ-BASIS/<a href="http://basis.cm">basis.cm</a> is stable]<br>[autoloading done]<br>[scanning src/<a href="http://urweb.cm">urweb.cm</a>]<br><br>uncaught exception Io [Io: openIn failed on "src/<a href="http://urweb.cm">urweb.cm</a>", No such file or directory]<br>  raised at: Basis/Implementation/IO/text-io-fn.sml:783.25-783.71<br>             ../cm/util/safeio.sml:30.11<br>             ../cm/parse/parse.sml:502.47<br>-<br>admin:~/urweb001/urweb$<br><br>===<br><br>The makefile being used is here:<br><br>   <a href="http://hg.impredicative.com/urweb/file/d9f918b79b5a/Makefile.am">http://hg.impredicative.com/urweb/file/d9f918b79b5a/Makefile.am</a><br><br>Line 20 of this file says:<br><br>   smlnj: src/<a href="http://urweb.cm">urweb.cm</a> xml/entities.sml<br><br>Questions:<br><br>(1) Is the line 20 a correct "rule to make target 'smlnj'"?<br><br>(2) The files src/<a href="http://urweb.cm">urweb.cm</a> and xml/entities.sml do not exist anywhere. Does the above link mean that they will be *created* during the make? Or do they need to exist *before* doing the make?<br><br>(3) What needs to be done in order to begin an interactive session with the Ur compiler modules?<br><br>Thanks for any help!<br><br><br><br><br></span></div>