st-monad

    8

    1답변

    내가 쓴 작은 프로그램을 변경할 수 벡터를 넣어 복잡성 그리고 O (1)에서 업데이트를 찾고 O (1)에서 액세스하고 있습니다. 가변 벡터는 내가 원하는 것을합니다. 이들을 사용하려면 ST 또는 IO를 사용해야합니다. 나는 UnitTests를하고 싶기 때문에 ST 모나드를 선호하지만, 함수 호출에서 그 벡터를 전달하고 싶지는 않습니다. ErrorT와 Wri

    0

    1답변

    I 현재 입력 한 다음 함수 tt를 작성할 수있는 방법 오류 : I가 tt에 runST, 내부 s 가변 상태 함수 f에 나사 결합 될 수 있다는 것을 생각 t :: Int t = runST $ do ref <- newSTRef 10 readSTRef ref tt :: (STRef s a -> ST s a) -> Int tt f =

    2

    1답변

    나는 STArray가 어떻게 작동하는지 배우려고했으나 할 수 없었다. (의사는 가난하거나 적어도 내가 찾은 사람이 아닙니다.) 어쨌든 나는 다음 알고리즘을 가지고 있지만 많이 사용합니다!는 느립니다. 어떻게 STArray 모나드를 사용하도록 변환 할 수 있습니까? -- The Algorithm prints the primes present in [1 ..

    0

    1답변

    간단히하기 위해 목록을 가져 와서 배열과 목록을 만드는 재귀 함수를 만들려고합니다. 때문에 배열을 읽고 쓸 필요가 있기 때문에, 나는 일정한 시간을 읽고 쓸 수 있도록 변경할 수있는 배열을 사용하고있다. f :: [a] -> ST s ([a], STArray s Int a) -> ST s ([a], STArray s Int a) f (x:xs) curr_

    7

    1답변

    최근에 나는 Hackage의 핵심 라이브러리를 살펴보기 시작했고, 이해할 수없는 반복적 인 관용구가 있습니다. instance Monad (ST s) where {-# INLINE (>>=) #-} (>>) = (*>) (ST m) >>= k = ST (\ s -> case (m s) of { (# new_s