[Home] [By Thread] [By Date] [Recent Entries]
> > As an exercise in XSLT programming, we in Propylon have > implemented a > > MMIX Interperter > (http://www-cs-faculty.stanford.edu/> ~knuth/mmix.html) > > in pure XSLT. > What was the design objective for this program? If it was to be as unreadable as possible and as slow as possible at the same time, while still failing to produce correct results, then I think it has probably been achieved. I would think Don Knuth would be absolutely appalled. As far as I can see, the program only accesses the first child element in the source file, namely <babylon>3.125</babylon>. It produces the answer 3.14159. If the first element is changed, e.g. to 3.126, the answer changes to 3.15044. If it is changed to 3.11, the answer is NaN. Any similarity to pi appears to be purely coincidental. What exactly do these ghastly expressions such as round(*****-round(***)+ *** + *** +round(*******) - *** + (*-(round(***)-floor(***))*floor(***)))" actually do? And why, if the idea was to produce an interpreter, have you designed it so the program to be interpreted has to be hard coded in XSLT, rather than being read from a data file? Michael Kay
|

Cart



