Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.prolog > #13999
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Newsgroups | comp.lang.prolog |
| Subject | Re: Not being a Haskell programmer is trendy! |
| Date | 2024-03-01 17:57 +0100 |
| Message-ID | <urt1dd$qh1v$1@solani.org> (permalink) |
| References | <upjgq3$19qjv$1@solani.org> <urt0n0$qgjc$1@solani.org> <urt0rj$qgjc$2@solani.org> |
BTW: I retract my claim that Trealla Prolog
chokes on call/1. This is amazing. Try this program:
?- [user].
p(X) :- X = (Y is 1+2, _ is Y+3).
First SWI-Prolog:
/* SWI-Prolog */
?- p(X), time((between(1,1000000,_),call(X),fail; true)).
% 2,999,998 inferences, 0.516 CPU in 0.508 seconds (101% CPU, 5818178 Lips)
X = (_A is 1+2, _ is _A+3).
?- time((between(1,1000000,_),p(X),call(X),fail; true)).
% 3,999,998 inferences, 0.594 CPU in 0.580 seconds (102% CPU, 6736839 Lips)
Then Trealla Prolog:
?- p(X), time((between(1,1000000,_),X,fail; true)).
% Time elapsed 0.244s, 4000003 Inferences, 16.363 MLips
X = (_A is 1+2,_B is _A+3).
?- time((between(1,1000000,_),p(X),X,fail; true)).
% Time elapsed 0.399s, 6000003 Inferences, 15.047 MLips
true.
Whats going on, why is it faster?
Mild Shock schrieb:
>
> Motivation, it is now widespread assume that
> Prolog has call/n. But testing shows that both
> Scryer Prolog and Trealla Prolog chocke even on
>
> call/1. But then we find this proposal which
> includes maplist/n, foldl/4, etc..
>
> A Prologue for Prolog - post-N290
> https://www.complang.tuwien.ac.at/ulrich/iso-prolog/prologue
>
> But is there a Prolog technology that makes
> call/n fast in the first place?
>
>
> Mild Shock schrieb:
>>
>> Can the golang interfaces handling be compared to lazy/sharing
>> in the non-strict semantics of Haskell? Just curious, maybe
>> there is nevertheless a chance to speed up Prolog call/n.
>>
>> After all Haskell and Prolog are very similar they champion
>> non-strict features. Most novice Prolog programmers are
>> suprised by this behaviour, and that they need to invoke is/2,
>>
>> making evaluation explicit, why is it not implicit like in every
>> other programming language (warning the example could
>> be misleading, its not what I am attacking, only motivation here):
>>
>> ?- X = 1+2.
>> X = 1+2
>>
>> But then there are other more important corner where Prolog
>> and Haskell are basically the same, i.e. call/n.
>>
>> The sharing in Haskell could then give semantic to monomorphic
>> and polymorphic caches. Did somebody write a paper about
>> golang interfaces handling, relating it to non-strict behaviour?
>>
>>
>> Mild Shock schrieb:
>>> Just watched 2 videos from Scala and the
>>> year 2023 and nearly chocked on my yoghurt,
>>>
>>> especially when I saw the first presenter got a
>>> headeache from early returns. LoL
>>>
>>> Async/Await for the Monadic Programmer
>>> https://www.youtube.com/watch?v=OH5cxLNTTPo
>>>
>>> DIRECT STYLE SCALA Scalar Conference 2023
>>> https://www.youtube.com/watch?v=0Fm0y4K4YO8
>>>
>>> Whats the bottom line: All because they discovered they
>>> could do async/await as well?
>>
>
Back to comp.lang.prolog | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Not being a Haskell programmer is trendy! Mild Shock <janburse@fastmail.fm> - 2024-02-02 20:46 +0100
Re: Not being a Haskell programmer is trendy! Mild Shock <janburse@fastmail.fm> - 2024-02-02 21:00 +0100
Re: Not being a Haskell programmer is trendy! Mild Shock <bursejan@gmail.com> - 2024-02-02 12:50 -0800
Re: Not being a Haskell programmer is trendy! Mild Shock <bursejan@gmail.com> - 2024-02-07 03:25 -0800
Re: Not being a Haskell programmer is trendy! Mild Shock <bursejan@gmail.com> - 2024-02-11 14:34 -0800
Re: Not being a Haskell programmer is trendy! Mild Shock <bursejan@gmail.com> - 2024-02-11 14:39 -0800
Re: Not being a Haskell programmer is trendy! Mild Shock <bursejan@gmail.com> - 2024-02-14 06:45 -0800
Re: Not being a Haskell programmer is trendy! Mild Shock <bursejan@gmail.com> - 2024-02-14 06:53 -0800
Re: Not being a Haskell programmer is trendy! Mild Shock <bursejan@gmail.com> - 2024-02-14 13:29 -0800
Re: Not being a Haskell programmer is trendy! Mild Shock <bursejan@gmail.com> - 2024-02-14 13:33 -0800
Re: Not being a Haskell programmer is trendy! Mild Shock <janburse@fastmail.fm> - 2024-02-21 01:27 +0100
Re: Not being a Haskell programmer is trendy! Mild Shock <janburse@fastmail.fm> - 2024-02-21 01:28 +0100
Re: Not being a Haskell programmer is trendy! Mild Shock <janburse@fastmail.fm> - 2024-02-21 01:30 +0100
Re: Not being a Haskell programmer is trendy! Mild Shock <bursejan@gmail.com> - 2024-02-21 03:43 -0800
Re: Not being a Haskell programmer is trendy! Mild Shock <janburse@fastmail.fm> - 2024-03-01 17:45 +0100
Re: Not being a Haskell programmer is trendy! Mild Shock <janburse@fastmail.fm> - 2024-03-01 17:47 +0100
Re: Not being a Haskell programmer is trendy! Mild Shock <janburse@fastmail.fm> - 2024-03-01 17:57 +0100
Re: Not being a Haskell programmer is trendy! Mild Shock <janburse@fastmail.fm> - 2024-03-01 18:06 +0100
Re: Not being a Haskell programmer is trendy! Mild Shock <janburse@fastmail.fm> - 2024-03-01 18:08 +0100
Re: Not being a Haskell programmer is trendy! Mild Shock <janburse@fastmail.fm> - 2024-03-01 19:45 +0100
Re: Not being a Haskell programmer is trendy! Mild Shock <janburse@fastmail.fm> - 2024-03-01 21:33 +0100
Re: Not being a Haskell programmer is trendy! Mild Shock <janburse@fastmail.fm> - 2024-03-06 01:56 +0100
csiph-web