Martin Baker wrote:
Tim,
Thank you for these replies, I am learning a lot here.
Yeah, Hickey is really an insightful chap. He sets the bar pretty high.
Many centuries ago I had to make the transition from using goto in general
to using goto in a structured form (Fortran did not have an else clause
on If).
The hard part was the mental shift needed to do "structured programming"
since
I had to discover the correct, disciplined control structures myself.
There were
no textbooks as it was a "new" idea that unstructured goto was bad.
Now Hickey basically said "do not use loops". Hmmm... that's gonna be
another
stretch, although I see why he suggests it and I agree with him. We have
to learn to
use map/fold/take/etc. in disciplined ways to process Axiom's internal data.
And we need "reconsing" versions that return immutable but shared copies
of the
list/vector/struct/etc., with versions that (per On Lisp) embed properly.
And we need to write in pure function form (not a stretch because I try to
do this now).
And we need (per SICP) to write embedded layering, fully factored forms.
I think all of these ideas will greatly benefit Axiom's internal
restructuring,
including possibly making a parallel implementation much easier to achieve.
If nothing else at least the "coupling" will drop considerably as we
stop using
special variables for maintaining mutable global state.
Tim
_______________________________________________
Axiom-developer mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/axiom-developer