Hello all (and notably Abhishek)


Above all, some discussion in written English to team@refpersys.org is needed before any implementation or coding effort. Let me start it. Once we agreed on the detailed design, we can add a few paragraphs to refpersys-design.tex then code the interface using Qt5.


First, the bismon GUI interface using GTK is a example of mistake to avoid. Just play with it to understand why. Or read the draft report (and feel free to ask questions in written English here on team@refpersys.org about it). I won't repeat in this email what I did write in English elsewhere.


Then, I would like all of us to first discuss how we would input the following rule. Assume that RefPerSys is able to load and dump a persistent state (that is quite easy, we are not far from that), in a way similar to Bismon. In other words, assume that our primordial persistence milestone #1 has been reached (we are not far from that, and I foresee no conceptual difficulty, since Bismon did it two years ago; it is just a matter of coding).

Read again J.Pitrat's paper on implementation of a reflexive system (FGCS vol 16, 1996, cited in our ECAI submission). It is available (by ssh) on ours.starynkevitch.net as $HOME/biblio/reflective-system-pitrat:1996.pdf

How would you input the example in its §2.1, second column of page 236?


Refer also to Pitrat's paper A Step toward an Artificial Artificial Intelligence Scientist on https://pdfs.semanticscholar.org/2117/9600b3f05c0af399f9acbfc6e7b6d24daf03.pdf

In page 9 is mentioned SIGMA(I*F(I); I[1:6], MOD(I,2)=0)

I would like RefPerSys to use the ∑ Unicode character  U+2211 N-ARY SUMMATION  instead of SIGMA. We really want to use UTF-8 in 2020!


Yet another example is basic arithmetic laws. We all know that ∀ x ∈ ℤ, x² ≥ 0

Notice that all this is Unicode characters (notably U+2200 FOR ALL, U+2208 ELEMENT OF, U+2124 DOUBLE-STRUCK CAPITAL Z, U+00B2 SUPERSCRIPT TWO, U+2265 GREATER-THAN OR EQUAL TO). I really want that formula to appear exactly like above on the screen (in CAIA, it used some ugly Fortran like syntax). Of course the purple color might be different, and I am not against using different colors for x (a variable) and for (a constant), both being reified as RefPerSys objects. How would we type (that is enter with our hands) that formula? What concrete keypresses and mouse actions? Think of course of some abstract syntax tree representing it. Observe that neither Indian QWERTY keyboard or French AZERTY keyboard layout has a key for them - with a possible exception for U+00B2 SUPERSCRIPT TWO which might be the top left key, if I configured my AZERTY keyboard correctly.

I don't even know yet today if we should use or subclass QTextDocument and QTextEdit (so use Qt Rich Text Processing) or use Qt Graphics View Framework

We also should rapidly be able to input some documentation, à la wiki or markdown, mentioning objects by objids, and having at least bold, italics, teletype (some equivalent of <b> <i> <tt> in HTML) and some kind of internal hyperlink. The conceptual model but not the syntax nor the implementation of GNU texinfo could be inspirational.

I found very inspirational the old Centaur system from INRIA. Read this Cokace: A Centaur-based environment forCommonKADS Conceptual Modelling Language paper and this Centaur : the system one.

As software, Centaur is dead (it ran on computers and operating systems that do not exist anymore). But I had the privilege to discuss about Centaur with the late Gilles Kahn when I was at INRIA. He was the head of INRIA, but still a very accessible guy. He was quite critical on his past achievement, but the impression I got from him was that Centaur (1990) failed because the computers were too slow (so many basic interactions took a second, which for a human being is a lot: we need any editor to react in less than a tenth of second for each elementary action like a keypress). Today, our computers are at least a hundred faster! So I guess we should be inspired by Centaur.

I myself remembered the time (1990) when emacs was too slow. Today it is definitely fast enough (because computers are faster).

I am waiting for your opinion (in particular, how do you think the input of ∀ x ∈ ℤ, x² ≥ 0 should happen, assume that we really want to see something similar on the screen). I am sometimes dreaming that we somehow type the and that triggers two empty colored boxes around it to be filled so but the red boxes are not Utf8 characters but just blank areas (think of <input> in HTML5) where the keyboard focus can go.

We need to design our GUI well enough. An intuition is that we should use the keyboard (so the function keys) because it is faster than the mouse (a human can type 10 keys per second, but only 3 mouse actions per second). We may also want some contextual menus (at least to explain us what function keys could be pressed).

I am impatiently waiting for your comments. You probably have more experience than I do (e.g. in Web interface design).

Cheers

-- 
Basile STARYNKEVITCH   == http://starynkevitch.net/Basile
opinions are mine only - les opinions sont seulement miennes
Bourg La Reine, France; <basile@starynkevitch.net>
(mobile phone: cf my web page / voir ma page web...)