\documentclass{book}
%\newcommand{\VolumeName}{Volume 2: Axiom Users Guide}
%\input{bookheader.tex}
\pagenumbering{arabic}
\mainmatter
\setcounter{chapter}{0} % Chapter 1

\usepackage{makeidx}
\makeindex
\begin{document}
\begin{verbatim}
\start
Date: Mon, 11 Nov 2019 04:12:11 -0500
From: Tim Daly <axiomcas@gmail.com>
To: axiom-developer@nongnu.org, axiomcas@gmail.com
Subject: Axiom musings....

The latest Sane book is uploaded, a work in progress.

The major development is the start of parsing. The internal
data structures are the target and they have already been
mostly developed as the system is being written "middle-out".
That is, the intermediate representation was the first thing
developed.

The Axiom parser, developed by William Burge, has a lot of
permutations of syntax. The new parser will likely restrict the
syntax. In addition, the new parser will have to handle logic
forms which have yet to be chosen. There are several logic
languages with various tradeoffs. Some of the possible
choices imply a lot of hidden machinery, such as the ability
to make arguments optional. That implies a prolog-like
resolution algorithm which adds a lot of additional overhead.

Since we're striving for simple and maintainable code as
well as clear end-user language features it is not clear that
this overhead is beneficial.

The pdf is available through github:
https://github.com/daly/PDFS/blob/master/bookvol15.pdf

Anyway, development continues. Enjoy.

Tim

\start
Date: Tue, 26 Nov 2019 03:56:26 -0500
From: Tim Daly <axiomcas@gmail.com>
To: axiom-developer@nongnu.org, axiomcas@gmail.com
Subject: Axiom musings...

Jason Gross and Adam Chlipala ("Parsing Parses") developed
a dependently typed general parser for context free grammar
in Coq.

They used the parser to prove its own completeness.

Unfortunately Spad is not a context-free grammar.
But it is an intersting thought exercise to consider
an "Axiom on Coq" implementation.

Tim

\start
Date: Tue, 26 Nov 2019 04:08:26 -0500
From: Tim Daly <axiomcas@gmail.com>
To: axiom-developer@nongnu.org, axiomcas@gmail.com
Subject: Re: Axiom musings...

The current design and code base (in bookvol15) supports
multiple back ends. One will clearly be a common lisp.

Another possible design choice is to target the GNU
GCC intermediate representation, making Axiom "just
another front-end language" supported by GCC.

The current intermediate representation does not (yet)
make any decision about the runtime implementation.

Tim


On 11/26/19, Tim Daly <axiomcas@gmail.com> wrote:
> Jason Gross and Adam Chlipala ("Parsing Parses") developed
> a dependently typed general parser for context free grammar
> in Coq.
>
> They used the parser to prove its own completeness.
>
> Unfortunately Spad is not a context-free grammar.
> But it is an intersting thought exercise to consider
> an "Axiom on Coq" implementation.
>
> Tim
>

\start
Date: Wed, 27 Nov 2019 23:47:26 -0500
From: Tim Daly <axiomcas@gmail.com>
To: axiom-developer@nongnu.org, axiomcas@gmail.com
Subject: Re: Axiom musings...

The new Sane compiler is also being tested with the Fricas
algebra code. The compiler knows about the language but
does not depend on the algebra library (so far). It should be
possible, by design, to load different algebra towers.

In particular, one idea is to support the "tiny theories"
algebra from Carette and Farmer. This would allow much
finer grain separation of algebra and axioms.

This "flexible algebra" design would allow things like the
Lean theorem prover effort in a more natural style.

Tim


On 11/26/19, Tim Daly <axiomcas@gmail.com> wrote:
> The current design and code base (in bookvol15) supports
> multiple back ends. One will clearly be a common lisp.
>
> Another possible design choice is to target the GNU
> GCC intermediate representation, making Axiom "just
> another front-end language" supported by GCC.
>
> The current intermediate representation does not (yet)
> make any decision about the runtime implementation.
>
> Tim
>
>
> On 11/26/19, Tim Daly <axiomcas@gmail.com> wrote:
>> Jason Gross and Adam Chlipala ("Parsing Parses") developed
>> a dependently typed general parser for context free grammar
>> in Coq.
>>
>> They used the parser to prove its own completeness.
>>
>> Unfortunately Spad is not a context-free grammar.
>> But it is an intersting thought exercise to consider
>> an "Axiom on Coq" implementation.
>>
>> Tim
>>
>

\start
Date: Thu, 28 Nov 2019 00:28:45 -0500
From: Tim Daly <axiomcas@gmail.com>
To: axiom-developer@nongnu.org, axiomcas@gmail.com
Subject: Re: Axiom musings...

I'm still undecided about accepting unicode on input as opposed
to latex-style input (e.g. \pi vs the unicode pi character).

The logic syntax would really benefit from using things like
\forall as a unicode character on input.

It makes the math I/O much prettier but it makes parsing
much harder. What does one do with a function
  (code-char 958)(x:INT) ==

aka (greek small letter xi)....

Some experiments are "in the thought pipeline"....

Tim


On 11/27/19, Tim Daly <axiomcas@gmail.com> wrote:
> The new Sane compiler is also being tested with the Fricas
> algebra code. The compiler knows about the language but
> does not depend on the algebra library (so far). It should be
> possible, by design, to load different algebra towers.
>
> In particular, one idea is to support the "tiny theories"
> algebra from Carette and Farmer. This would allow much
> finer grain separation of algebra and axioms.
>
> This "flexible algebra" design would allow things like the
> Lean theorem prover effort in a more natural style.
>
> Tim
>
>
> On 11/26/19, Tim Daly <axiomcas@gmail.com> wrote:
>> The current design and code base (in bookvol15) supports
>> multiple back ends. One will clearly be a common lisp.
>>
>> Another possible design choice is to target the GNU
>> GCC intermediate representation, making Axiom "just
>> another front-end language" supported by GCC.
>>
>> The current intermediate representation does not (yet)
>> make any decision about the runtime implementation.
>>
>> Tim
>>
>>
>> On 11/26/19, Tim Daly <axiomcas@gmail.com> wrote:
>>> Jason Gross and Adam Chlipala ("Parsing Parses") developed
>>> a dependently typed general parser for context free grammar
>>> in Coq.
>>>
>>> They used the parser to prove its own completeness.
>>>
>>> Unfortunately Spad is not a context-free grammar.
>>> But it is an intersting thought exercise to consider
>>> an "Axiom on Coq" implementation.
>>>
>>> Tim

\start
Date: Thu, 28 Nov 2019 16:18:33 -0500
From: Jacques Carette <carette@mcmaster.ca>
To: Tim Daly <axiomcas@gmail.com>, <axiom-developer@nongnu.org>
Subject: Re: Axiom musings...
CC: William Farmer <wmfarmer@mcmaster.ca>

The underlying technology to use for building such an algebra library is 
documented in the paper " Building on the Diamonds between Theories: 
Theory Presentation Combinators" 
http://www.cas.mcmaster.ca/~carette/publications/tpcj.pdf [which will 
also be on the arxiv by Monday, and has been submitted to a journal].

There is a rather full-fledged prototype, very well documented at 
https://alhassy.github.io/next-700-module-systems/prototype/package-former.html 
(source at https://github.com/alhassy/next-700-module-systems). It is 
literate source.

The old prototype was hard to find - it is now at 
https://github.com/JacquesCarette/MathScheme.

There is also a third prototype in the MMT system, but it does not quite 
function properly today, it is under repair.

The paper "A Language Feature to Unbundle Data at Will" 
(https://alhassy.github.io/next-700-module-systems/papers/gpce19_a_language_feature_to_unbundle_data_at_will.pdf) 
is also relevant, as it solves a problem with parametrized theories 
(parametrized Categories in Axiom terminology) that all current systems 
suffer from.

Jacques

On 2019-11-27 11:47 p.m., Tim Daly wrote:
> The new Sane compiler is also being tested with the Fricas
> algebra code. The compiler knows about the language but
> does not depend on the algebra library (so far). It should be
> possible, by design, to load different algebra towers.
>
> In particular, one idea is to support the "tiny theories"
> algebra from Carette and Farmer. This would allow much
> finer grain separation of algebra and axioms.
>
> This "flexible algebra" design would allow things like the
> Lean theorem prover effort in a more natural style.
>
> Tim
>
>
> On 11/26/19, Tim Daly <axiomcas@gmail.com> wrote:
>> The current design and code base (in bookvol15) supports
>> multiple back ends. One will clearly be a common lisp.
>>
>> Another possible design choice is to target the GNU
>> GCC intermediate representation, making Axiom "just
>> another front-end language" supported by GCC.
>>
>> The current intermediate representation does not (yet)
>> make any decision about the runtime implementation.
>>
>> Tim
>>
>>
>> On 11/26/19, Tim Daly <axiomcas@gmail.com> wrote:
>>> Jason Gross and Adam Chlipala ("Parsing Parses") developed
>>> a dependently typed general parser for context free grammar
>>> in Coq.
>>>
>>> They used the parser to prove its own completeness.
>>>
>>> Unfortunately Spad is not a context-free grammar.
>>> But it is an intersting thought exercise to consider
>>> an "Axiom on Coq" implementation.
>>>
>>> Tim
>>>


\end{verbatim}
\eject
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\cleardoublepage
%\phantomsection
\addcontentsline{toc}{chapter}{Bibliography}
\bibliographystyle{axiom}
\bibliography{axiom}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\cleardoublepage
%\phantomsection
\addcontentsline{toc}{chapter}{Index}
\printindex
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{document}
