Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.prolog > #14007
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Newsgroups | comp.lang.prolog |
| Subject | Re: Not being a Haskell programmer is trendy! |
| Date | 2024-03-06 01:56 +0100 |
| Message-ID | <us8f0r$100qa$1@solani.org> (permalink) |
| References | <upjgq3$19qjv$1@solani.org> |
In short moment I though I could speed up call/1, by using SWI-Prolog $meta_call/1 semantics, which differs from call/1 semantis: /* SWI-Prolog 9.3.0 */ ?- call((Y=!,(X=1;X=2),Y,X=2)). Y = !, X = 2. ?- '$meta_call'((Y=!,(X=1;X=2),Y,X=2)). false. /* SWI-Prolog 9.3.0 */ ?- call(((X=1;X=2),1,X=2)). ERROR: Type error: `callable' expected, found `(_168=1;_168=2),1,_168=2' (a compound) ?- '$meta_call'(((X=1;X=2),1,X=2)). ERROR: Type error: `callable' expected, found `1' (an integer) One can spare one pass, since body conversion is ommited. Would make call/1 faster. Also intersting find, that I wasn't aware of, namely there is correspondence between: SWI-Prolog Dogelog Player prolog_current_choice/1 '$MARK' prolog_cut_to/1 '$CUT' but the body conversion pass in Dogelog Player, does optimize away unnecessary '$MARK' and $CUT', so maybe the this extra pass isn't useless overhead? Mild Shock schrieb: > Lets not forget GNU Prolog. It lacks a little bit > behind SWI-Prolog for the first test case: > > ?- p(X), (between(1,1000000,_),X,fail; true). > X = (A is 1+2,_ is A+3) > (453 ms) yes > > ?- (between(1,1000000,_),p(X),X,fail; true). > (578 ms) yes > > Also this kind of testing might be a little bit > to generous, by ommiting the time/1 call.
Back to comp.lang.prolog | Previous | Next — Previous 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