[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Axiom-developer] Impression Axiom book vol 1
From: |
Antoine Hersen |
Subject: |
[Axiom-developer] Impression Axiom book vol 1 |
Date: |
Mon, 6 Feb 2006 02:18:54 -0800 |
Hello,
I got my axiom book from Lulu. I have read to page 180 so far.
Here my comments :
My point of view ; a CS student with very good experience in ML, a
strong math background and which want to implement some useful
addition to axiom for is master thesis.
First it is an incredible job which as been done here and a very good
opportunity for axiom.
I feel kind of bad about giving critics not having contributed to it.
Physical appearance :
The binding is glued but seem strong enough so far.
The margin are way to wide especially at the bottom, and also on the
side even if you take in account note taking.
The typography is clear for me, look like any tex document coming out
of a good laser printer
General remark :
Chapter 3 should be spitted right after ( somewhere ).
It will be nice if the loop chapter had sub chapter that show in the indexes.
Having more of those boxy resume stuff will be very nice especially
for use as reference later.
I am still a bit confused over Domain and Category but once I will
have figured it out I will try to create some visual output that can
help other.
It will also be nice to have a set of exercise, I think it is the best
way to learn. I know easy to say difficult to make.
Presentation :
My biggest annoyance is the output format of the interactive prompt.
Seem to be a huge space waste, look at page 24,25 for example.
I'll try to experiment to see if I can find a more pleasing
solution(maybe smaller space line or smaller font for the Type output)
Also when a long "program" example is given like p85 its repetition in
the interactive loop output is a waste of space, maybe a \cdots will
save some space
Detail grief :
p28 ch 3.2.4:
What is the difference between Symbol and Variable ?
p35 ch 3.3.2
The example for truncate and round are not very instructive. The same
number should be used.
round(3.7)
truncate(3.7)
round(-3.7)
truncate(-3.7)
p36 ch 3.3.3
The function are trivial just one example and a table will be more
useful and more space savvy.
p43 ch 3.4.3
about radix, when number are displayed in a base above 10 what is the
convention to display them( I know for hexa but how is the convention
extend)
p43 ch 3.4.3
I found the output for continued fraction weird.
p48 ch 3.5.2
Accessing earlier result has been aborded more lengthy previously in
ch 3.2.2, so it is redundant.
p48 ch 3.5.3
Similarly for splitting line, seen in chapter 3.2.8 Long lines, common
example but the latest version is more lengthy with an extra example
p48 ch 3.5.4
Again for comments similar to 3.2.9
p72 ch 3.7.2
It is not clearly indicated that the value of a block if not escaped
by => is the last expression of the block.
a:= (a:=3,b:=5;a*b)
p79 ch 3.7.4
In the last example
if h > 3.1 then
1.0
else
Z:= cos(h)
max(X,05)
I suppose that the it should be max(Z,0.5),
any way why max( xy, 10) return xy ?
p84 ch 3.7.5
in the example program for while loop involving matrix
the "-- Don't look any further" comment should be for the previous expression
because the meaning of "break" is clear but by setting "r:= lastrow"
we do prevent the loop to look any further and it is less obvious.
p86 ch 3.7.5
When discussing the "such that" clause of for loop
the prototype given is
for var --- BoolExpr in seg repeat loopBody
but the use is
for i in 1..10 | prime?(i) repeat ...
so should a prototype more like
for var in seg | BoolExpr repeat loopBody
more accurate ? Or is there reason for it ?
p90 ch 3.8
The ONLY typo I have found "you have to Pmap factor onto the numerator"
I guess it should be "you have to map factor onto the numerator"
p103 ch 3.9
the function howMany increase the result found in the table, I thing
it will be more elegant if it only returned the current value and for
the loop to do the increasing
howMany(k) == (n:=search(k,t), n case "failed" => 0; n)
for p in prime(2,10000) repeat (m:= p rem 5; t.m := 1 + howMany(m)); t
p103 ch 3.9
at the very end on the example for union
dog:= 21
should be added to
dog:="Whisper"
as an example of union
p114 ch 3.13
In the first example, I do not know what is csc and csch, they are not
in the index.
Also for compleLimit it is not precised how to denote complex
infinity, just infinity ?
p117 ch 3.14
The series f is defined twice identically without reason.
p178 ch 5.2.2
On where to put parentheses and when not, I got really confused out of that.
I knew before but not after.
I do not thing such chapter is necessary it add a lot of complexity
for no reason.
p179 ch 5.2.4
It explain what is a modes but no idea what is it for ???
p180 ch 5.2.5
The examples for abbreviation are a bit too numerous, I am sure
everybody understand what is it.
END
Very general remark( the one that are vague and easy to make but
difficult to implement) :
It will be nice to have an extended chapter 1. That is more longer
examples of "useful" stuff you can do.
What I found lacked the most is an impression of what you can do. It
is the first Volume so the first one which is going to be read so it
need to make the best impression if we do not want it to be the only.
Personally I found it very exciting to see the "strong mathematical
typing" and I am appealed by the possibility.
But if that was my first exposition to a CAS it will feel short. It
lack a sense of "practical" mathematical capability. If I had a
mathematical problem to solve I will not be any more advanced. It will
give me no idea of what is implemented in Axiom to help me.
Maybe it is not what this volume in intended to be but the name
Tutorial is kind of miss leading. The web site should be more clear
about what to expect from it.
Again I am not at all disappointed but if someone with mathematical
problems to solve and not so much experience with CAS got the book he
might be.
( The 30 Year Horizon subtitle is great when you have some CAS history
background and co, but for newbie it can be very scary, do it mean I
need 30 years to be able to correctly use it, do it mean it will work
correctly in 30 years ? )
Sure critic is easy,
Thanks a lot for publishing the book, very nice and usefull work.
Antoine Hersen
- [Axiom-developer] Impression Axiom book vol 1,
Antoine Hersen <=