➤ projectdiscovery➤ Remix➤ Rescript➤ Purescript➤ npm➤ Cloudflare➤ React➤ Next.js➤ GO➤ Hyper-V➤ Tibero➤ Git➤ Algorithms, 2020년
퓨어스크립트 북 챕터9 가볍게 읽어보는 메모장
April 2, 2022가볍게 읽어보기!
Asynchronous PureScript
Aff
사용, js의async / await
와 비슷- Monad여서
do
사용
Parallel Computations
Aff
를 순서대로 사용하는 거말고 병렬 처리를 해보자
참고 자료
slowInt :: Int -> (Int -> Effect Unit) -> Effect Unit
slowInt int cb =
unit <$ setTimeout 1000 (cb int)
slowAdd :: Int -> Int -> (Int -> Effect Unit) -> Effect Unit
slowAdd a b cb =
slowInt a \slowA ->
slowInt b \slowB ->
cb $ slowA + slowB
main :: Effect Unit
main =
slowAdd 1 2 \result ->
Console.logShow result
- Effect를 Aff로 바꾼다.
slowInt :: Int -> Aff Int
slowInt int = do
delay $ Milliseconds 1000.0
pure int
slowAdd :: Int -> Int -> Aff Int
slowAdd a b = do
slowA <- slowInt a
slowB <- slowInt b
pure $ slowA + slowB
main :: Effect Unit
main = launchAff_ do
result <- slowAdd 1 2
- Aff 두 개를
parSequence
로 묶는다.
slowAdd :: Int -> Int -> Aff Int
slowAdd a b = do
results <- parSequence [slowInt a, slowInt b]
pure $ sum results