Hi,<div><br></div><div>I have the goal of inserting some Jess (<a href="http://herzberg.ca.sandia.gov/">http://herzberg.ca.sandia.gov/</a>) code inside of a Scribble interaction environment (eventually I will have a language to evaluate this but I&#39;m not there yet). Here is the relevant part of the code I have to do that:</div>
<div><br></div><div><div>#lang racket</div><div><br></div><div>(define (my-read-syntax src in)</div><div>  (define path-ls (get-path in))</div><div>  (define path (list-&gt;string path-ls))</div><div>  (define fis (open-input-file #:mode &#39;text path))</div>
<div>  (define datums (let loop ()</div><div>                   (let* ((datum (read fis)))</div><div>                     (cond ((eof-object? datum) empty)</div><div>                           (else (cons datum (loop)))))))</div>
<div>  (close-input-port fis)</div><div>  (datum-&gt;syntax #f datums))</div><div><br></div><div>This does load the file and insert it into Scribble eg:</div><div><br></div><div><div>(interaction</div><div>    #:eval</div>
<div>    my-evaluator</div><div>    ((watch all)</div><div>     (reset)</div><div>     (defrule do-anything &quot;A rule for anything.&quot; ?ne &lt;- (anything) =&gt; (printout t &quot;Someone did something.&quot;) (retract ?ne))</div>
<div>     (assert (anything))</div><div>     (run)))))</div></div><div><br></div><div>There are two things I&#39;m still not doing correctly though:</div><div><br></div><div>#1. I&#39;ve collected the contents of that file into a list of datums that looks like this in DrRacket&#39;s console:</div>
<div><br></div><div><div>&#39;((watch all)</div><div>  (reset)</div><div>  (defrule</div><div>   do-anything</div><div>   &quot;A rule for anything.&quot;</div><div>   ?ne</div><div>   &lt;-</div><div>   (anything)</div><div>
   =&gt;</div><div>   (printout t &quot;Someone did something.&quot;)</div><div>   (retract ?ne))</div><div>  (assert (anything))</div><div>  (run))</div></div><div><br></div><div>I don&#39;t want those inserted as a list though, I only want the contents inserted. Up above I see why it is happening, but I am not successfully splicing it in my attempts. What is the right way?</div>
<div><br></div><div>#2. The code body is formatted at least in the output in DrRacket. When it is inserted into the Scribble environment, though, it loses some of it&#39;s formatting namely the defrule and right arrow appear in the same line. That said, when Scribble renders it, all of the code is rendered on the same line like this:</div>
<div><br></div><div><table class="RktBlk" cellspacing="0"><tbody><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktPn">(</span><span class="RktSym">watch</span><span class="RktSym">all</span><span class="RktPn">)</span><span class="RktPn">(</span><span class="RktSym">reset</span><span class="RktPn">)</span><span class="RktPn">(</span><span class="RktSym">defrule</span><span class="RktSym">do-anything</span><span class="RktVal">&quot;A rule for anything.&quot;</span><span class="RktSym">?ne</span><span class="RktSym">&lt;-</span><span class="RktPn">(</span><span class="RktSym">anything</span><span class="RktPn">)</span><span class="RktSym">=&gt;</span><span class="RktPn">(</span><span class="RktSym">printout</span><span class="RktSym">t</span><span class="RktVal">&quot;Someone did something.&quot;</span><span class="RktPn">)</span><span class="RktPn">(</span><span class="RktSym">retract</span><span class="RktSym">?ne</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">(</span><span class="RktSym">assert</span><span class="RktPn">(</span><span class="RktSym">anything</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">(</span><span class="RktSym">run</span><span class="RktPn">)</span><span class="RktPn">)</span></td>
</tr><tr><td><p><span class="RktErr">=&gt;: arrow not allowed as an expression</span></p><p>How may I read in that file and then generated a syntax object that retains the indentation and new lines?</p><p>#3. Am I generally going about this in an OK manner? My next part of the plan to make a simple language whose only purpose in life is to evaluate Jess code and print out the results; I want to be able to use Scribble for any other Lispy language out there at least the interaction environment.</p>
</td></tr></tbody></table></div>
</div>