Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.prolog > #13961

Re: Not being a Haskell programmer is trendy!

From Mild Shock <janburse@fastmail.fm>
Newsgroups comp.lang.prolog
Subject Re: Not being a Haskell programmer is trendy!
Date 2024-02-02 21:00 +0100
Message-ID <upjhl9$19quc$1@solani.org> (permalink)
References <upjgq3$19qjv$1@solani.org>

Show all headers | View raw


BTW: The Go programming language which has direct
style runs the primes example in 0.6 seconds.
The primes example is here:

The Go Playground
https://go.dev/play/

Just choose the Concurrent Prime Sieve example.
Twice as slow as the 0.3 seconds of Haskell but
nevertheless faster than Prolog.

For those interested was comparing to:

Prolog Hand Rolled Lazy Lists via call/n:
=============================================

iter(F,A,A,iter(F,B)) :- call(F,A,B).

take(0, _, []) :- !.
take(N, C, [X|L]) :- M is N-1, call(C, X, D), take(M, D, L).

modfilt(C, M, X, E) :- call(C, Y, D), modfilt2(D, M, Y, X, E).

modfilt2(D, M, Y, X, E) :- Y mod M =:= 0, !, modfilt(D, M, X, E).
modfilt2(D, M, X, X, modfilt(D,M)).

primes(C, X, primes(modfilt(D,X))) :- call(C, X, D).

/* on @emiruz machine */
?- time(take(5000,primes(iter(succ,2)),_)). 

% 38,009,267 inferences, 2.005 CPU in 2.005
seconds (100% CPU, 18954407 Lips) 

true.

Haskell David Turner's sieve (SASL Language Manual, 1983)
=============================================

sieve :: [Integer] -> [Integer] 

sieve [] = [] 

sieve (p:xs) = p : sieve [x | x <- xs, rem x p > 0]

/* on @emiruz machine */
time ./primes
% real	0m0.312s
% user	0m0.294s
% sys	0m0.005s

https://wiki.haskell.org/Prime_numbers#Turner.27s_sieve_-_Trial_division

Disclaimer: Didn't run the Go version by myself
yet. Have first to install Go etc.. Somebody
else run it and reported 0.6 seconds.

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 | NextPrevious in thread | Next in thread | Find similar | Unroll thread


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