Thank you Ralf,
My interest in FriCAS is in the development of a mathematical model for
certain physical investigations that I am interested in. There are certain
aspects of current theory that, shall we say, leave me cold. There are a
couple of alternative theoretical models that give some, from my
perspective, better reconciliation with what we observe in the universe.
That is, less strange if I can put it that way. My interest arose in my
undergraduate days in the late 70's and I have been on and off
investigating the theoretical side of things since then. Owing to the kind
of work I have been doing over the last 40 years, I have developed an
interest in the various CAS systems available. I also have a deep interest
in language design and compiler implementation.
I am trying to see if the underlying virtual machine for FriCAS can be
changed to something that is quite different to LISP. This means that I
have to understand the current implementations that are available.
The current BOOT code is, for the most part, able to be rewritten in a
language called Icon (or its descendant Unicon). However, there are quite
specific implementation issues that is used in the BOOT code which relies
directly on the LISP model of computing and creates a problem with the Icon
model of computation. For starters, Icon and Unicon do not have Booleans
anywhere in the language. Booleans have been replaced with Success (provide
a value) or Failure (stop the computation).
I'll give a couple of quick examples:
x := 10
y := 20
x := 30
The following will update the value of x if the value being supplied is
larger than the current value of x
x >:= 15
The following will fail since the value is smaller than the current value
and leave the value of x unchanged.
x >:= 4
If you are testing to see if a value is inside a range, you can do the
following
if 5 < x < 100 then { do something } else { do something if it is not }
since if x is larger than 5 then the expression 5 < x will return the value
of x which will then be directly used in the rest of the expression. This
is basically the mathematicians viewpoint and not the normal programming
viewpoint using Booleans.
So, thank you again for giving me the relevant pointers. I will chase those
us. My current position is looking at the SPAD code and seeing what can be
done to somewhat formalise the syntax for it. The Euclidean Space website
has given me some pointers in that direction. But I don't think I have, as
yet, followed up the specific URL you have provided.
There is much of the SPAD library files that can be directly translated in
Icon. But there is other sections that need an infrastructure that I am
currently looking at, which effectively means developing a parser and parse
tree and associated database using Icon's (Unicon's) current list, set and
table and record structures. It is something that I am interested in and
as I no longer have to work for other people, I can now devote my time into
this area.
At any rate, may you and your family be blessed in these interesting times.
regards
Hill Strong
On Monday, October 11, 2021 at 8:11:10 PM UTC+11 [email protected] wrote:
> Hi,
>
> > I was looking at reimplementing the boot code in another language,
>
> If BOOT goes away that would be good. We aim rather into the direction
> of rewriting it into SPAD than LISP. But it is not a priority.
>
> > I think I'll stick with my first plan of just dealing with the Aldor
> > compiler.
>
> Oh. What do you want to do with Aldor? What's your interest in it?
>
> > Unless, you or anyone you know has some sort of
> > documentation on these little quirks of coding?
>
> The only things I can offer are linked at the bottom of
>
> http://fricas.github.io/development.html
>
> i.e.
>
> http://fricas.sourceforge.net/doc/boot.notes
> http://www.euclideanspace.com/prog/scratchpad/internals/boot/index.htm
>
> Whether that helps is another question.
>
> Ralf
>
--
You received this message because you are subscribed to the Google Groups
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/fricas-devel/1200e163-2c7a-4544-a20a-811c9d2cea3cn%40googlegroups.com.