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.

Reply via email to