Purescript - 迭代一个较长的数组

问题描述 投票:0回答:1

以下代码在 Chrome 中执行,打印后失败

7492
:

module Main where

import Prelude
import Effect (Effect)
import Effect.Console as Console
import Data.Array as Array
import Data.Traversable (for_)

main :: Effect Unit
main = do
  for_ (Array.range 1 10000) Console.logShow

我在这里做错了什么?如何迭代较长的数组而不导致堆栈溢出?

代码使用

spago build
编译并使用
parcel
运行。

package.json
的片段:

  "devDependencies": {
    "parcel": "2.7.0",
    "purescript": "^0.15.4",
    "spago": "^0.20.9"
  }

UPD:在 Orion 中,执行在 33793 次迭代后中断。 Safari 达到 8000,速度越来越慢。这是脚本的“生产”版本 —

spago bundle-app --to prod/index.js && parcel build prod/index.html

purescript
1个回答
0
投票
Effect.foreachE (Array.range 1 100000) Console.logShow

似乎正在工作。

© www.soinside.com 2019 - 2024. All rights reserved.