debugging information

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

debugging information

daly
I'm in the debugsys image chasing a few things and came across this
interesting variable. In an axiom image type:

  )lisp (setq |$reportInstantiations| t)

and then type an expression such as

 -> 1

# instantiated/# dropped/domain name

1 0 PositiveInteger
1 0 OutputForm
1 0 NonNegativeInteger
1 0 List OutputForm
1 0 Integer
 Totals: 5 instantiated
         0 inside coerceInteractive
         0 inside canCoerceFrom
         0 inside evalMmCond
         0 reinstantiated
         0 dropped
         5 distinct domains instantiated/dropped

I'm not sure how useful you'll find that information but it's useful
to know you can get it. I'm writing a chapter on debugging in book 4
of the axiom volumes which will contain this and other debugging tips,
techniques and useful tidbits.

Tim


_______________________________________________
Axiom-developer mailing list
[hidden email]
http://lists.nongnu.org/mailman/listinfo/axiom-developer
Reply | Threaded
Open this post in threaded view
|

RE: debugging information

Page, Bill
Hi Tim!

On Wednesday, October 19, 2005 6:32 PM you wrote:
>
> I'm in the debugsys image chasing a few things and came
> across this interesting variable. In an axiom image type:
>
>   )lisp (setq |$reportInstantiations| t)
>

I believe that flag is controlled by the Axiom command:

)set message instant on/off
 
> ...
> I'm not sure how useful you'll find that information but
> it's useful to know you can get it.

Agreed!

> I'm writing a chapter on debugging in book 4 of the axiom
> volumes which will contain this and other debugging tips,
> techniques and useful tidbits.
>

Gee, that reminds me of our plans long ago to publish
hardcopies of these volumes on www.lulu.com . I haven't
looked at these volumes lately. What would be your estimate
of how much work remains before we could submit something?
Do you think getting these published should have a higher/
lower priority than some of the other (more interesting?)
stuff?

Since I now just about have the pamphlet support on MathAction
working the way I want and the new book volumes are in the
form of pamphlet files, I wonder if it would make it easier for
other to contribute if I were to put these up on MathAction?
This would allow direct editing through the web. If I did this,
because of their size, maybe it would be a good idea to split
the volumes out further to chapter sized documents and then
define a master document for printing?

It reminds me also that we had talked about making it possible
to order CDrom containing installable versions of Axiom, the
source code and documentation. I think this can be done on
lulu with a bit of effort. I know that it is quite easy to
sell CDs through www.cafepress.com where we currently have
the Axiom Foundation Store (Axiom Gear).

I wonder if there is anyone out there who would like to take
on the task to prepare such a CD? I could help but I don't
want to lead the effort.

Cheers,
Bill Page.


_______________________________________________
Axiom-developer mailing list
[hidden email]
http://lists.nongnu.org/mailman/listinfo/axiom-developer
Reply | Threaded
Open this post in threaded view
|

Re: debugging information

daly
> Gee, that reminds me of our plans long ago to publish
> hardcopies of these volumes on www.lulu.com . I haven't
> looked at these volumes lately. What would be your estimate
> of how much work remains before we could submit something?
> Do you think getting these published should have a higher/
> lower priority than some of the other (more interesting?)
> stuff?

There are 4 volumes in book--main--1:
  Vol 1: Tutorial
  Vol 2: Programming
  Vol 3: Reference
  Vol 4: Developers Guide

I've been working my way back thru the email archives and extracting
emails that need to be integrated into these volumes. I've also split
up the book into the related volumes.

There is much work to be done and I have no time estimate.
Documentation is vital and good documentation takes much longer
than anyone expects. I'm looking into parts of the system and
have decided to write some debugging techniques and documentation
on writing pamphlet files so most of my effort is going into volume 4.

>
> Since I now just about have the pamphlet support on MathAction
> working the way I want and the new book volumes are in the
> form of pamphlet files, I wonder if it would make it easier for
> other to contribute if I were to put these up on MathAction?
> This would allow direct editing through the web. If I did this,
> because of their size, maybe it would be a good idea to split
> the volumes out further to chapter sized documents and then
> define a master document for printing?

We can try putting the volumes online. Provided they still retain
their pamphlet format (ie latex) I think it's a reasonable idea.
I'm a little concerned about changes that would use things like
structured text, html, or other non-latex information in the files.
Those are fine for the wiki but not for the system files, of which
the book volumes are the cornerstone in my mind.

Later I want to develop a few more volumes that are related to
pieces of the system. For example I think

  Vol 5: Categories, Domains, and Package Internals
  Vol 6: The compiler
  Vol 7: The interpreter
  Vol 8: The algebra

where these contain, structure, and build upon the sources.
Volume 5 would explain the static and dynamic data structures,
file structures and manipulation functions. Volume 6 would
explain the compiler internals. Volume 7 would explain the
interpreter internals, and Volume 8 would document the algebra.

These 4 volumes would contain and structure the actual source
code of the system. So the current pamphlets would become
chapters within these volumes.

The system would be built from the books.

Eventually modifying Axiom becomes a job of authoring or
editing a section of one of the volumes.

I have a bit of machinery already (due to David Mentre) that
extends the pamphlet idea to "booklets". The basic change is
that chunk names have semantics. Thus in addition to the
standard random chunk name syntax:

<<random chunk name>>=
@

you can use a URI kind of syntax as in:

<<pamphlet:foo.pamphlet>> to include a pamphlet
<<file://....>> to include a file
<<http://....>> to include from a web source

etc. We can create our own protocols as needed.
 

>
> It reminds me also that we had talked about making it possible
> to order CDrom containing installable versions of Axiom, the
> source code and documentation. I think this can be done on
> lulu with a bit of effort. I know that it is quite easy to
> sell CDs through www.cafepress.com where we currently have
> the Axiom Foundation Store (Axiom Gear).
>
> I wonder if there is anyone out there who would like to take
> on the task to prepare such a CD? I could help but I don't
> want to lead the effort.

I can look into the installable CDRom issue.
I've already built iso images for ISSAC.

Tim


_______________________________________________
Axiom-developer mailing list
[hidden email]
http://lists.nongnu.org/mailman/listinfo/axiom-developer
C Y
Reply | Threaded
Open this post in threaded view
|

Re: debugging information

C Y


--- root <[hidden email]> wrote:

> > Gee, that reminds me of our plans long ago to publish
> > hardcopies of these volumes on www.lulu.com .

Heh, funny I was just looking at lulu.com myself.

> There are 4 volumes in book--main--1:
>   Vol 1: Tutorial
>   Vol 2: Programming
>   Vol 3: Reference
>   Vol 4: Developers Guide

Sounds good!
 
> I've been working my way back thru the email archives and extracting
> emails that need to be integrated into these volumes. I've also split
> up the book into the related volumes.
>
> There is much work to be done and I have no time estimate.
> Documentation is vital and good documentation takes much longer
> than anyone expects.

Amen.  I've yet to write one line of code or get past reviewing other
work and the fundamentals and already I've got 20 pages of content on
Units and Dimensions.  'course, I'm probably going overboard...

> I'm looking into parts of the system and
> have decided to write some debugging techniques and documentation
> on writing pamphlet files so most of my effort is going into volume
> 4.

Neat! And here I'm cut off from my tla tools...
 
> > [snip] maybe it would be a good idea to split
> > the volumes out further to chapter sized documents and then
> > define a master document for printing?

FWIW, that's what we did with Maxima Book, although it was never web
based.

> Later I want to develop a few more volumes that are related to
> pieces of the system. For example I think
>
>   Vol 5: Categories, Domains, and Package Internals
>   Vol 6: The compiler
>   Vol 7: The interpreter
>   Vol 8: The algebra
>
> where these contain, structure, and build upon the sources.

I LIKE that idea!

> Volume 5 would explain the static and dynamic data structures,
> file structures and manipulation functions. Volume 6 would
> explain the compiler internals. Volume 7 would explain the
> interpreter internals, and Volume 8 would document the algebra.

One comment - the algebra volume could wind up containing a really
really large amount of data.  Perhaps after 5, 6, and 7 have been
tackled we should look at breaking down the algebra into more managable
chunks?

> These 4 volumes would contain and structure the actual source
> code of the system. So the current pamphlets would become
> chapters within these volumes.
>
> The system would be built from the books.
>
> Eventually modifying Axiom becomes a job of authoring or
> editing a section of one of the volumes.

Awesome!  So a set of printed volumes of Axiom books would not be
simply a document but actually define the entire system, in all its
detail, from implementation to mathematics to user interface!
Depending on how much effort gets put into the algebra over the years
Axiom might become a virtual encyclopedia of mathematics, at least
mathematics at or above the level of that comprising the foundation of
Axiom.

> > It reminds me also that we had talked about making it possible
> > to order CDrom containing installable versions of Axiom, the
> > source code and documentation. I think this can be done on
> > lulu with a bit of effort. I know that it is quite easy to
> > sell CDs through www.cafepress.com where we currently have
> > the Axiom Foundation Store (Axiom Gear).
> >
> > I wonder if there is anyone out there who would like to take
> > on the task to prepare such a CD? I could help but I don't
> > want to lead the effort.
>
> I can look into the installable CDRom issue.
> I've already built iso images for ISSAC.

Just curious - are you talking about the auto-install CDs like
Mathematica has that you just pop in the disk and it starts up the
install wizard?  I know that doesn't fly on Linux and I have no idea
about Mac (assuming we are in shape to run on the Mac and Windows in
the first place, of course) but it might be kind of neat to use
whatever that trick is and make a professional looking install CD.  As
far as installer tools for Windows go, I've been curious to check out
the Nullsoft installer at http://nsis.sourceforge.net/  (of course, not
having a Windows box kind of puts a damper on that ambition.)  Anybody
know anything about it?

Cheers,
CY


       
               
__________________________________
Yahoo! Mail - PC Magazine Editors' Choice 2005
http://mail.yahoo.com


_______________________________________________
Axiom-developer mailing list
[hidden email]
http://lists.nongnu.org/mailman/listinfo/axiom-developer
Reply | Threaded
Open this post in threaded view
|

RE: debugging information

Page, Bill
In reply to this post by daly
On Wednesday, October 19, 2005 10:28 PM C Y wrote:
>
> One comment - the algebra volume could wind up containing a really
> really large amount of data.  Perhaps after 5, 6, and 7 have been
> tackled we should look at breaking down the algebra into more
> manageable chunks?

I agree completely. At something like 10,000 pages I seriously
doubt that anyone with an environmental conscience would dare to
print it or even order the volumes! In fact I doubt that most
people would be that interested in printed material after the
first tutorial and programming guide. These days when it comes
to printed material **smaller** is better. The rest of the stuff
just stays on the CDrom (or web site) just in case you might want
to take the time to look at it.

So when it comes to publishing hardcopy, I think we should be
quite selective - at least at first. Lulu is "print on demand"
so creating material is no problem - just extra work with
perhaps little payoff.

>
> Awesome!  So a set of printed volumes of Axiom books would not
> be simply a document but actually define the entire system, in
> all its detail, from implementation to mathematics to user
> interface!

But this will never work. Paper is just too awkward a media to
maintain a "crystal" system of this size. Of course I am just
promoting my own approach with MathAction, but I seriously doubt
that we can realistically continue to maintain Axiom unless we
can solve the problem of really *collaborating* over the Internet.

> Depending on how much effort gets put into the algebra over the
> years Axiom might become a virtual encyclopedia of mathematics,
> at least mathematics at or above the level of that comprising the
> foundation of Axiom.

Useless in my opinion unless it can be made to be very easily
accessible online.

>
> Just curious - are you talking about the auto-install CDs like
> Mathematica has that you just pop in the disk and it starts up
> the install wizard?

Auto-install on windows is a piece of cake - just a couple of
extra files on the CD.

Something similar is possible on some versions of linux, but
usually linux people it isn't worth it since they want to know
exactly what it is doing anyway. For linux there is at least
RPM (see new files in AxiomDownload page) and Debian apt-get
(which can be made to read from CDrom).

> I know that doesn't fly on Linux and I have no idea about Mac
> (assuming we are in shape to run on the Mac and Windows in
> the first place, of course)

Mac, no I don't think so. Not yet. Someone used to be working
on it but I haven't heard anything recently. On Windows, yes
(but not graphics or hyperdoc). This is where we need to complete
the work on the new AxiomUI interface which is intended to run
on both linux and windows and provide a functionally similar
interface as hyperdoc but using a standard browser.

> but it might be kind of neat to use whatever that trick is and
> make a professional looking install CD.  As far as installer
> tools for Windows go, I've been curious to check out the Nullsoft
> installer at http://nsis.sourceforge.net/  (of course, not
> having a Windows box kind of puts a damper on that ambition.)
> Anybody know anything about it?

"Damper on ambition", did you say? :) !!!

    Where have you been this last year???

We have been using the Nullsoft installer for the Windows
version of Axiom since December last year. What would you
like to know about it?

Regards,
Bill Page.


_______________________________________________
Axiom-developer mailing list
[hidden email]
http://lists.nongnu.org/mailman/listinfo/axiom-developer
Reply | Threaded
Open this post in threaded view
|

RE: debugging information

Page, Bill
In reply to this post by daly
Tim,

On Wednesday, October 19, 2005 8:24 PM you wrote:
> ...
> There is much work to be done and I have no time estimate.
> Documentation is vital and good documentation takes much
> longer than anyone expects.

Understood. "takes longer that anyone wants to admit", too
I think.

> I'm looking into parts of the system and have decided to
> write some debugging techniques and documentation on
> writing pamphlet files so most of my effort is going
> into volume 4.

Sounds good to me.

>
> We can try putting the volumes online. Provided they still
> retain their pamphlet format (ie latex) I think it's a
> reasonable idea.

Yes, the pamphlet files on MathAction now have **exactly**
the same format as in the source code distribution (latex,
noweb markup and code).

You can access the volumes on-line here:

http://wiki.axiom-developer.org/book--main--1

Clicking on a volume displays it's first page (in png graphics
format). You can click on either the

 'pdf' or 'dvi' links to view or download the full document

 'src' for the full pamphlet source

 'tex' for the output of noweave

 'log' for the contents of the LaTeX log file

and on pamphlet files that contain code chunks you can also
select a chunk name and click

 'tangle' to extract the code

For example of pamphlets with source code see:

http://wiki.axiom-developer.org/axiom--test--1/src/algebra

Please let me know what you think of this approach.

> I'm a little concerned about changes that would use things
> like structured text, html, or other non-latex information
> in the files. Those are fine for the wiki but not for the
> system files, of which the book volumes are the cornerstone
> in my mind.

I agree.

>
>   Vol 5: Categories, Domains, and Package Internals
>   Vol 6: The compiler
>   Vol 7: The interpreter
>   Vol 8: The algebra
> ...
> The system would be built from the books.
>

Great.
 
> Eventually modifying Axiom becomes a job of authoring or
> editing a section of one of the volumes.
>
> I have a bit of machinery already (due to David Mentre)
> that extends the pamphlet idea to "booklets". etc.
> We can create our own protocols as needed.
>

I don't see any problem implementing that but I think we should
look carefully at what doing this implies for the eventual
structure of the Axiom code and documentation. More and more
these days I think we need to shift to a more dynamic and
richer model for source code then just the relatively static
literate program document. I think one way to work towards this
is through web-based services like we are building on the Axiom
wiki. So instead of a "dead" book, a complex program becomes a
dynamically changing web site, freely mixing source code and
documentation; and allowing fast and efficient navigation,
multiple "crystal" views of the same pages in different contexts
etc.

> >
> > I wonder if there is anyone out there who would like to take
> > on the task to prepare such a CD? I could help but I don't
> > want to lead the effort.
>
> I can look into the installable CDRom issue.
> I've already built iso images for ISSAC.
>

Well, as usual you are pretty busy and your time might best be
spent other ways but ... Anyway, lets try to plan to get it out
"before Christmas", ok? :)

Regards,
Bill Page.


_______________________________________________
Axiom-developer mailing list
[hidden email]
http://lists.nongnu.org/mailman/listinfo/axiom-developer
Reply | Threaded
Open this post in threaded view
|

Re: debugging information

David MENTRE
Hi Bill,

2005/10/20, Page, Bill <[hidden email]>:
> For example of pamphlets with source code see:
>
> http://wiki.axiom-developer.org/axiom--test--1/src/algebra
>
> Please let me know what you think of this approach.

It would be nice and very useful (think Google indexing) to have the
content of the books available as HTML. Maybe it is already done and I
haven't seen it?

Yours,
d.


_______________________________________________
Axiom-developer mailing list
[hidden email]
http://lists.nongnu.org/mailman/listinfo/axiom-developer
Reply | Threaded
Open this post in threaded view
|

RE: debugging information

Martin Rubey
In reply to this post by Page, Bill
Dear Bill,

I'd just like to say THANK YOU for your great job on MathAction!

Martin


Page, Bill writes:

 > You can access the volumes on-line here:
 >
 > http://wiki.axiom-developer.org/book--main--1
 >



_______________________________________________
Axiom-developer mailing list
[hidden email]
http://lists.nongnu.org/mailman/listinfo/axiom-developer
C Y
Reply | Threaded
Open this post in threaded view
|

RE: debugging information

C Y
In reply to this post by Page, Bill
--- "Page, Bill" <[hidden email]> wrote:

> On Wednesday, October 19, 2005 10:28 PM C Y wrote:
> >
> > One comment - the algebra volume could wind up containing a really
> > really large amount of data.  Perhaps after 5, 6, and 7 have been
> > tackled we should look at breaking down the algebra into more
> > manageable chunks?
>
> I agree completely. At something like 10,000 pages I seriously
> doubt that anyone with an environmental conscience would dare to
> print it or even order the volumes! In fact I doubt that most
> people would be that interested in printed material after the
> first tutorial and programming guide. These days when it comes
> to printed material **smaller** is better. The rest of the stuff
> just stays on the CDrom (or web site) just in case you might want
> to take the time to look at it.

Well, I guess I view it as being kind of like the Oxford Unabridged
Dictionary - most mere mortals might not want one, but libraries and
archival institutions might be interested.  Paper is a LOT more durable
than any electronic technology, and we just might be creating something
here worth preserving for the long haul.  Of course, as a living
project any one "snapshot" will be out of date, but we may reach some
"stable" point where the core supporting technology is clear and well
documented, at which point it might be worth making the effort to
preserve it.

Also, if the program is a document, I find it easier to read documents
in print than on an electronic screen.  I might never read ALL the
documentation associated with the entire Axiom system, but it would be
a nice reference to have some day.

> So when it comes to publishing hardcopy, I think we should be
> quite selective - at least at first. Lulu is "print on demand"
> so creating material is no problem - just extra work with
> perhaps little payoff.

Well, I don't know how much extra work it would be, really - after all
we want to be able to generate nice pdfs, dvis, what have you and from
pdf to printed book doesn't seem like TOO huge a step.

> > Awesome!  So a set of printed volumes of Axiom books would not
> > be simply a document but actually define the entire system, in
> > all its detail, from implementation to mathematics to user
> > interface!
>
> But this will never work. Paper is just too awkward a media to
> maintain a "crystal" system of this size. Of course I am just
> promoting my own approach with MathAction, but I seriously doubt
> that we can realistically continue to maintain Axiom unless we
> can solve the problem of really *collaborating* over the Internet.

I'm not advocating the paper copy be any kind of living tie to the
project - its just that paper is a much better long term storage
mechanism.  (Good paper anyway.)  I suppose its a small concern, but
one of the things I like to think about is how to preserve information
over long periods of time.  (Curiously enough, it might be that metal
punch cards would be the most viable long term way to store digital
information - they have the lowest technological hurdle to accessing
them, and can be made physically robust.)

> > Depending on how much effort gets put into the algebra over the
> > years Axiom might become a virtual encyclopedia of mathematics,
> > at least mathematics at or above the level of that comprising the
> > foundation of Axiom.
>
> Useless in my opinion unless it can be made to be very easily
> accessible online.

Oh, agreed.  I'm thinking about another aspect of this all together,
one I agree won't interest most people.

> > Just curious - are you talking about the auto-install CDs like
> > Mathematica has that you just pop in the disk and it starts up
> > the install wizard?
>
> Auto-install on windows is a piece of cake - just a couple of
> extra files on the CD.

Ah, good :-).

> Something similar is possible on some versions of linux, but
> usually linux people it isn't worth it since they want to know
> exactly what it is doing anyway. For linux there is at least
> RPM (see new files in AxiomDownload page) and Debian apt-get
> (which can be made to read from CDrom).

Sounds good.
 
> "Damper on ambition", did you say? :) !!!
>
>     Where have you been this last year???
>
> We have been using the Nullsoft installer for the Windows
> version of Axiom since December last year. What would you
> like to know about it?

<<turns bright red>> I knew that!  Er, well, I sure should have.  I
guess I was thinking we might be able to whip up some custom graphics
and such and make it real jazzy, but that's a completely petty
ambition.  I'll have to find a Windows box somewhere and try it out!

Cheers,
CY


               
__________________________________
Yahoo! Music Unlimited
Access over 1 million songs. Try it free.
http://music.yahoo.com/unlimited/


_______________________________________________
Axiom-developer mailing list
[hidden email]
http://lists.nongnu.org/mailman/listinfo/axiom-developer