code:
1
| filter (\p -> [f | f <- [1..p], p `mod` f == 0] == [1,p]) [1..] |
Ik heb een tijdje geleden deze code getest in Hint (de Helium interpreter voor Haskell), en ik zou zweren dat het werkte. Vandaag probeer ik het nogmaals (om iemand te overtuigen dat je in Haskell écht een lijst van priemgetallen kan genereren in 1 regel), en ja hoor, het werkt niet
code:
1
2
3
4
5
| Type error in infix application expression : [ f | f <- [1 .. p], p `mod` f == 0 ] == [1, p] operator : == type : Int -> Int -> Bool does not match : [Int] -> [Int] -> Bool |
Op zich logisch, maar ik heb de vorige keer ook de code rechtstreeks uit het voorbeeld gekopieerd en toen werkte het volgens mij wel