Well, here we are: the essence of the problem lies in that scmutils defines 
certain modules, "environments" as it calls them, which it then proceeds to 
augment or access from other locations with gay abandon.  One use of this, 
for instance, is switching between the genericised and the explicit forms 
of arithmetical operations, e.g.  '+' and 'g:+'  I don't care too much 
about this, I'd be happy for the genericised form to be on constantly, if 
this was the only use I'd scrap it altogether.  

However, it is also used for memoization of functions, which is critical to 
system speedup, especially in calculus, and also used to import a ton of 
the logic rules used in the simplifier.  Can't do without that, I'm 
afraid.  So far I just avoided it by commenting all that out, by now at 
last it has to be tackled...  

My code upload, if you can call that, is here 
<https://github.com/alexgian/rat>.

I've refactored a lot of the dependencies, so they work OK now, and it's 
fairly obvious which the key modules are.  what I'm less sure about, is how 
to play the fast and loose game of fiddling with the modules behind the 
user's back. If you look in Notes/Diagrams there are a couple of pdfs and 
dots showing the require/provide dependencies 

The Guile port code, by Daniel Guildea, which is mainly what I'm using as a 
guide is here <https://github.com/alexgian/guile-scmutils>.

The Chez, code, which I recently discovered, and which is probably closest 
to the Racket philosophy is here <https://github.com/alexgian/chez-scmutils>.  
  In fact, it's helped me understand quite a bit of what I have to do, 
though not necessarily how. 

The Sussman code is here 
<https://github.com/hnarayanan/sicm/tree/master/scmutils/src> amongst other 
places , great for understanding Scheme archaeology, but I try to avoid any 
parts of it that are not actually maths!

Any further conversation on the subject (except for this, viz. how to 
handle the modules) I will put up on the CAS thread I created, to avoid 
cluttering.


The offending code is here 
<https://github.com/alexgian/rat/blob/master/src/simplify/rules.rkt> - 
'rules.rkt'  ca. line 173  
Once it tries to execute the 'rule-system' macro, in order to load up the 
rules, it crashes with the following message.
The macro is defined here 
<https://github.com/alexgian/rat/blob/master/src/simplify/syntax.rkt> - 
'syntax.rkt' line 39   (I intend to use the chez one which is commented out 
(just for the build))


-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to