La funzione seguente dovrebbe generare numeri primi tuttavia non per GHC 7.10.2. Qualcun altro sta vedendo questo?nubBy non funziona come previsto
GHCi, version 7.10.2: http://www.haskell.org/ghc/ :? for help
Prelude> import Data.List
Prelude Data.List> print . take 100 . nubBy (\x y -> x `rem` y == 0) $ [2..]
[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101]
La parte strana è che sembra funzionare bene su questo sito:
'nubBy' richiede una relazione di equivalenza, credo. – chi
Questo è ciò che dicono i documenti e la funzione passata qui non lo è, il che comporterebbe un comportamento indefinito. In pratica, potrebbe ad es. sono stati riscritti in modo tale che gli argomenti siano applicati nell'ordine opposto (sicuro per le funzioni di equivalenza, non per funzioni arbitrarie come questa) –
Funziona qui bene: http://rextester.com/LWZCQ71376 –