On Sun, Apr 18, 2021 at 06:38:11PM +0200, Ralf Hemmecke wrote:
> >> In my version of the README, I use "statically typed" instead of
> >> "strongly typed".
> >>
> >> I have a strong desire to put "static" here (in contrast to dynamic).
> >> "strongly typed" doesn't seem to be sooo clear according to
> >>
> >> https://stackoverflow.com/questions/2690544/what-is-the-difference-between-a-strongly-typed-language-and-a-statically-typed
> >>
> >> or
> >>
> >> https://stackoverflow.com/questions/2351190/static-dynamic-vs-strong-weak
> >>
> >> If I look at what they write in the first reference than with our
> >> "pretend" keyword, SPAD would be weakly typed.
> > 
> > IMO "strongly typed" is better.  There are at least as strong
> > objections to "statically typed" (namely our types are runtime,
> > that is dynamic thing).> I think that some fuzzines of "strongly typed" 
> > sends right message.
> 
> Well, for me "stong" does not tell me anything, "static" does.
> 
> We should maybe rather be more precise and mention "parametric dependent
> types" in the README. What we create at runtime are the actual instances
> of (parametric) types. Still everything is type-checked at compile-time.
> 
> To find a better compromise, maybe we avoid "static" and "strong"
> altogehter and rather replace it with their meaning in the context of
> SPAD, i.e., a SPAD program must be type-correct at compile-time.
> It's a bit tricky with IntegerMod(n) when n is a variable. Aldor
> requires that n is constant for such cases.
> 
> People not knowing what "strongly-typed" is might search here
> https://en.wikipedia.org/wiki/Strong_and_weak_typing
> 
> Does that really reflect THE distinguished feature of FriCAS.
> Personally, I like very much that I know that when my program can be
> compiled that there are at least not typing errors in it.
> 
> Maybe we can agree on "strongly and statically typed". ;-)

I wanted to avoid useless talk in the README.  I am affraid that
"parametric dependent types" does not tell much for many our
potential readers.  And some folks may understand it wrong.
Formally it can be argued that Spad type system is in its own
category, different from usual dynamic/static distinction.
Namely types are runtime objects but are associated with
variables.  Usual dynamic typing associates types with data,
which is quite different.  OTOH, classic static type system
require all type info to be compile-type computable.  SML
and followers weakens compile-type computable to compile-type
checkable, but stil requires that one can discard type info
before runtime.  Spad is mostly compile-time checkable, but some
checks must be done at runtime and more importantly, types
are needed at runtime.

Concerning word "strongly": it is fuzzy, but has meaning.
And I wrote, fuzzines is exactly what I want here: it
alows concise statement, without lying and without need
for lengthy disclaimers.  I am affraid that I can not
do much for folks that need to look up Wikipedia for
"strong typing".  We probably could provide better
explanation about role of types in Spad programs, but
not in README.  When I say better I mean both better
than our current explantations about types and better
matched to Spad than general references.
 
> >>> It is hopefully correct .rst.
> >>
> >> If you do not want a program like "retext" you can commit it to a
> >> temporary git branch, 'foo' say, push it to github and then look how
> >> github shows the text. It's easy to remove the branch from github via
> >>
> >>   git push origin :foo
> >>
> >> You just shouldn't indent the itemized stuff. But it wouldn't hurt too
> >> much in this case.
> > 
> > Hmm.  I actually run 'sphinx-build' and looked at resulting
> > .html.  Without indent itemized stuff was mangled.  With
> > indent it looked OK.
> 
> README.rst will not go through sphinx. I is just rendered by github.

Well, "retext" is claimed to be an editor, I do not want editor,
I want something to check that README does not contain formatting
blunders.  Wikipedia says that Restructured Text is "sphinx"
format, so it looked natural to use "sphinx" as checker.  If
github (or maybe other "sphinx" version) renders it differently,
then we have a problem...

-- 
                              Waldek Hebisch

-- 
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/20210418180007.GB32839%40math.uni.wroc.pl.

Reply via email to