[curry] Re: What speed to expect doing logic on graphs represented by maps

From: Michael Hanus <mh_at_informatik.uni-kiel.de>
Date: Mon, 19 Nov 2018 17:42:34 +0100

On 11/12/18 5:40 PM, Jeffrey Brown wrote:
> Is this kind of performance a reasonable thing to expect from Curry? If
> so, using which compiler? If not, can you recommend another language?
Hi Jeff,

here are some general remarks about the performance of Curry.
Since Curry combines functional and logic programming,
you cannot expect to be faster than purely functional or
purely logic languages. Although the combination might have
its costs, one can try a pay-per-view implementation so that
you pay only if you use the features. For instance, if
non-determinism is not used, the KiCS2 implementation, which
compiles Curry to Haskell, is almost as fast as Haskell.
The only price are additional arguments for each function
which are passed around. However, if you heavily use
non-determinism, the KiCS2 implementation, which also
implements breadth-first search and iterative deepening
(beyond depth-first search as in Prolog), become less
efficient than a backtracking-based Prolog implementation
(like PAKCS), but this is incomplete as Prolog.

In contrast to Mercury, high performance is not our main goal.
I see no principle problems to achieve it with clever
analysis tools, but this requires more implementation
efforts. Nevertheless, our current implementations are
sufficient for us to develop applications with Curry,
but maybe not the ones you have in mind.

Best regards,

curry mailing list -- curry_at_lists.rwth-aachen.de
To unsubscribe send an email to curry-leave_at_lists.rwth-aachen.de
Received on Mo Nov 19 2018 - 17:45:31 CET

This archive was generated by hypermail 2.3.0 : Do Jun 20 2024 - 07:15:14 CEST