• =?UTF-8?Q?Re:_The_longest_pregnancy_in_the_history_of_Prolog_~~>_DC?= =

    From Mild Shock@21:1/5 to Mild Shock on Tue Jul 23 09:52:32 2024
    P.S.: Only providing shallow expansion is no a loss.
    You can use it to bootstrap deep expansion, I do
    that in a stashed version of formerly Jekejeke Prolog,

    as a proof of concept. So basically you can bootsrap
    ISO-Core from Novacore in many cases. Also if DCG with
    deep expansion would enter ISO-Core.

    Novecore is just the smaller core than ISO-core.
    Novacore is Prolog reduced to the max.

    Mild Shock schrieb:
    Woa! They are still fiddling with DCG:

    Modified: Samstag, 6. Juli 2024, 07:53:05 https://www.complang.tuwien.ac.at/ulrich/iso-prolog/phrase

    For Dogelog Player and its Novacore, I have
    invented shallow DCG transform. Shallow expansion is a
    variant of the usually deep expansion, in that

    we don't define a multi-file predicate:

    term_expansion(<from>, <to>).

    Which uses a result from goal expansion, i.e.
    there is both term and goal expansion in deep expansion,
    SWI-Prolog has even function expansion a third type of

    expansion, but in shallow expansion we have only:

    term_conversion(<from>, <to>).

    In particular for performance and didactical
    reasons Novacore from Dogelog Player has nothing
    higher-order. So phrase/2 is missing. Not needed.

    But I don't have test cases yet for this shallow
    expansion. Maybe I could adapt a few from formerly
    Jekejeke Prolog, trim them down to the scope of

    shallow expansion.

    Mild Shock schrieb:
    Especially since good old FORTRAN has
    made a new appearance:

    TIOBE Index for May 2024
    I have received a lot of questions why Fortran entered the top 10
    again after more than 20 years. The TIOBE index just publishes
    what has been measured.
    https://www.tiobe.com/tiobe-index/

    Why Fortran is back in TIOBE’s top 10
    First, Fortran is especially good at numerical analysis and
    computational mathematics. Numerical and mathematical
    computing is growing because interest in artificial intelligence
    is growing, Jansen told TechRepublic in an email.
    https://www.techrepublic.com/article/tiobe-index-may-2024/


    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mild Shock@21:1/5 to Mild Shock on Tue Jul 23 10:20:10 2024
    Another issue is that ISO Prolog doesn’t
    have a reference implementation 100% written
    in Prolog itself. Like for example the term
    reading and writing. Now we have the situation

    that no Prolog system can do these TPTP modal
    logic operators and TPTP first order logic
    quantifers at the same time:

    /* Segerberg Models */
    :- op( 600, fy, !). % universal quantifier: ![X]:
    :- op( 600, fy, ?). % existential quantifier: ?[X]:
    :- op( 600, fy, []). % necessity
    :- op( 600, fy, <>). % possibility

    But the above works in Dogelog Player. It doesn’t
    work in SWI-Prolog, neither in Trealla Prolog,
    neither in Scryer Prolog. Some Prolog systems have

    problems with !, other Prolog systems have problems
    with []. The parsing is admittedly a little tricky but
    after some thinking it turns out relatively straight

    forward doable.

    Mild Shock schrieb:

    Scryer Prolog is not the only dead Prolog around.
    Like 12 months ago or so, I mentioned in passing
    to @joseph-vidal-rosset , because he used Tau Prolog

    on his web site, that Tau Prolog will be dead as soon
    as the authors get their academic merits. And I guess
    this is indeed the case, their GitHub is inactive

    for at least 12 months now. But then some people still
    include it in their testing, maybe this is a sign of a little
    desperation, of finding Prolog system interested

    in ISO nonsense?

    Modified: Samstag, 6. Juli 2024, 07:53:05 https://www.complang.tuwien.ac.at/ulrich/iso-prolog/phrase

    The main problem with ISO Prolog is, that it is not
    enough reduced to the max.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mild Shock@21:1/5 to Mild Shock on Tue Jul 23 10:18:39 2024
    Scryer Prolog is not the only dead Prolog around.
    Like 12 months ago or so, I mentioned in passing
    to @joseph-vidal-rosset , because he used Tau Prolog

    on his web site, that Tau Prolog will be dead as soon
    as the authors get their academic merits. And I guess
    this is indeed the case, their GitHub is inactive

    for at least 12 months now. But then some people still
    include it in their testing, maybe this is a sign of a little
    desperation, of finding Prolog system interested

    in ISO nonsense?

    Modified: Samstag, 6. Juli 2024, 07:53:05 https://www.complang.tuwien.ac.at/ulrich/iso-prolog/phrase

    The main problem with ISO Prolog is, that it is not
    enough reduced to the max.


    Mild Shock schrieb:

    P.S.: Only providing shallow expansion is no a loss.
    You can use it to bootstrap deep expansion, I do
    that in a stashed version of formerly Jekejeke Prolog,

    as a proof of concept. So basically you can bootsrap
    ISO-Core from Novacore in many cases. Also if DCG with
    deep expansion would enter ISO-Core.

    Novecore is just the smaller core than ISO-core.
    Novacore is Prolog reduced to the max.

    Mild Shock schrieb:
    Woa! They are still fiddling with DCG:

    Modified: Samstag, 6. Juli 2024, 07:53:05
    https://www.complang.tuwien.ac.at/ulrich/iso-prolog/phrase

    For Dogelog Player and its Novacore, I have
    invented shallow DCG transform. Shallow expansion is a
    variant of the usually deep expansion, in that

    we don't define a multi-file predicate:

    term_expansion(<from>, <to>).

    Which uses a result from goal expansion, i.e.
    there is both term and goal expansion in deep expansion,
    SWI-Prolog has even function expansion a third type of

    expansion, but in shallow expansion we have only:

    term_conversion(<from>, <to>).

    In particular for performance and didactical
    reasons Novacore from Dogelog Player has nothing
    higher-order. So phrase/2 is missing. Not needed.

    But I don't have test cases yet for this shallow
    expansion. Maybe I could adapt a few from formerly
    Jekejeke Prolog, trim them down to the scope of

    shallow expansion.

    Mild Shock schrieb:
    Especially since good old FORTRAN has
    made a new appearance:

    TIOBE Index for May 2024
    I have received a lot of questions why Fortran entered the top 10
    again after more than 20 years. The TIOBE index just publishes
    what has been measured.
    https://www.tiobe.com/tiobe-index/

    Why Fortran is back in TIOBE’s top 10
    First, Fortran is especially good at numerical analysis and
    computational mathematics. Numerical and mathematical
    computing is growing because interest in artificial intelligence
    is growing, Jansen told TechRepublic in an email.
    https://www.techrepublic.com/article/tiobe-index-may-2024/



    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mild Shock@21:1/5 to Mild Shock on Tue Jul 23 16:38:59 2024
    Amazing Ciao Prolog can do it correctly.

    Even if the mode “fy” is correctly honored, it
    might nevertheless be a challenge. Since for
    example this here works also, note

    the space inside the empty list atom:

    /* Ciao Prolog 1.23.0 */
    ?- op( 100, fy, []).
    yes

    ?- X = [ ] p.
    X = []p ?

    https://ciao-lang.org/playground/

    Took me a while to figure out how to do it.
    But its rather straight forward to do. You
    find it in the source code of Novacore.


    Mild Shock schrieb:
    Another issue is that ISO Prolog doesn’t
    have a reference implementation 100% written
    in Prolog itself. Like for example the term
    reading and writing. Now we have the situation

    that no Prolog system can do these TPTP modal
    logic operators and TPTP first order logic
    quantifers at the same time:

    /* Segerberg Models */
    :- op( 600, fy, !).     % universal quantifier:  ![X]:
    :- op( 600, fy, ?).     % existential quantifier:  ?[X]:
    :- op( 600, fy, []).    % necessity
    :- op( 600, fy, <>).    % possibility

    But the above works in Dogelog Player. It doesn’t
    work in SWI-Prolog, neither in Trealla Prolog,
    neither in Scryer Prolog. Some Prolog systems have

    problems with !, other Prolog systems have problems
    with []. The parsing is admittedly a little tricky but
    after some thinking it turns out relatively straight

    forward doable.

    Mild Shock schrieb:

    Scryer Prolog is not the only dead Prolog around.
    Like 12 months ago or so, I mentioned in passing
    to @joseph-vidal-rosset , because he used Tau Prolog

    on his web site, that Tau Prolog will be dead as soon
    as the authors get their academic merits. And I guess
    this is indeed the case, their GitHub is inactive

    for at least 12 months now. But then some people still
    include it in their testing, maybe this is a sign of a little
    desperation, of finding Prolog system interested

    in ISO nonsense?

    Modified: Samstag, 6. Juli 2024, 07:53:05
    https://www.complang.tuwien.ac.at/ulrich/iso-prolog/phrase

    The main problem with ISO Prolog is, that it is not
    enough reduced to the max.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)