2
に、私はこのコードの素数の無限のリストを定義しフィルタは、無限リスト
isPrime x = x > 0 && filter divisible [1..x] == [1,x]
where divisible y = x `mod` y == 0
primes = filter isPrime [1..]
を持ってハングアップします。
すべてのこれらのケースは、期待どおりに動作:
*Main> take 10 primes
[2,3,5,7,11,13,17,19,23,29]
*Main> take 10 $ filter odd primes
[3,5,7,11,13,17,19,23,29,31]
しかし
*Main> take 10 $ filter even primes
[2
ハングして続行されません。私は理由についての手がかりがありません... ghciを再起動しても問題は解決しません。 私はghc 8.0.1を使用しています。
マイパッケージ:
C:\projects\littlethings\prime>ghc-pkg list
C:/Program Files/Haskell Platform/8.0.1\lib\package.conf.d
Cabal-1.24.0.0
GLURaw-2.0.0.1
GLUT-2.7.0.7
HTTP-4000.3.3
HUnit-1.3.1.1
ObjectName-1.1.0.1
OpenGL-3.0.0.2
OpenGLRaw-3.1.0.0
QuickCheck-2.8.2
StateVar-1.1.0.4
Win32-2.3.1.1
array-0.5.1.1
async-2.1.0
attoparsec-0.13.0.2
base-4.9.0.0
binary-0.8.3.0
bytestring-0.10.8.1
case-insensitive-1.2.0.6
containers-0.5.7.1
deepseq-1.4.2.0
directory-1.2.6.2
fgl-5.5.2.3
filepath-1.4.1.0
fixed-0.2.1.1
(ghc-8.0.1)
ghc-boot-8.0.1
ghc-boot-th-8.0.1
ghc-prim-0.5.0.0
ghci-8.0.1
half-0.2.2.3
hashable-1.2.4.0
haskeline-0.7.2.3
haskell-src-1.0.2.0
hoopl-3.10.2.1
hpc-0.6.0.3
hscolour-1.24
html-1.0.1.2
integer-gmp-1.0.0.1
mtl-2.2.1
network-2.6.2.1
network-uri-2.6.1.0
parallel-3.2.1.0
parsec-3.1.9
pretty-1.1.3.3
primitive-0.6.1.0
process-1.4.2.0
random-1.1
regex-base-0.93.2
regex-compat-0.95.1
regex-posix-0.95.2
rts-1.0
scientific-0.3.4.6
split-0.2.3
stm-2.4.4.1
syb-0.6
template-haskell-2.11.0.0
text-1.2.2.1
tf-random-0.5
time-1.6.0.1
transformers-0.5.2.0
unordered-containers-0.2.7.0
vector-0.11.0.0
xhtml-3000.2.1
zlib-0.6.1.1
C:\Users\Hamburger\AppData\Roaming\ghc\x86_64-mingw32-8.0.1\package.conf.d
(containers-0.5.8.1)
data-ordlist-0.4.7.0
lazyset-0.1.0.0
memoize-0.8.1
なんてこった:
例えば、それは非常に単純な近似値です。はい、もちろん。私自身のwetwareの欠陥のように見える。 – KarlsFriend