nondeterminism alternatives and similar packages
Based on the "AI" category
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of nondeterminism or a related project?
This package is available via Hackage where its documentation resides.
This provides nondeterministic computations in Haskell. It implements
Amb monad in which you can perform nondeterministic choices along
with a monad transformer version,
An example which finds Pythagorean triplets up to a certain size, project Euler problem 9.
import Control.Monad import Control.Monad.Amb pyTriple :: (Num t, Ord t) => t -> Amb r (t, t, t) pyTriple n = do a <- anIntegerBetween 1 n b <- anIntegerBetween (a + 1) n c <- anIntegerBetween (b + 1) n when (a*a + b*b /= c*c) empty return (a,b,c) length $ allValues $ pyTriple 100
More examples can be found in
- allValues is not lazy in its return value