중요 참고 사항 : 과도가 새로운 리포지토리로 번역되고 있습니다.
이 repo는 더 이상 사용되지 않습니다
마지막 버전은 다음으로 이동하십시오.
https://github.com/transient-haskell/transient-stack
분산 컴퓨팅 (과도 우주) 및 클라이언트 측 웹 (Axiom)을 포함한 모든 Haskell 패키지가 있습니다.

참고 : 분산 컴퓨팅 및 웹 프리미티브는 일시적인 우주 및 공리에 있습니다. 과도 계정의 일부 예
transient 에 대한 일부 피드백 :Rahul Muttineni @rahulmutt 11 월. 09 2016 03:40 ETA의 리드 개발퍼 (JVM Haskell Compiler)
더 높은 수준의 목록 Monad를 사용하는 것과 같지만 매우 시원합니다. Haskellers를 시작하는 경우, 실제로 유용한 것은 다양한 분산/병렬 작업을 수행 할 때 발생하는 일을 시각화하는 것입니다. 스레드/노드에서 계산을 얼마나 쉽게 실행할 수 있는지는 거의 충격적입니다.
멋진 부분은 분산 설정의 합성 가능성입니다. wormhole 및 teleport 통해 장기 분산 거래 체인을 작성하고 재사용 할 수있는 고차 모나디 한 기능을 만들 수 있습니다 . 또 다른 이점은 거래가 일류가되고, 이는 코드를 이벤트 콜백에 해당하는 코드를 이벤트 콜백과 동등하게 만드는 법에 대한 논리를 배포하는 대신 한 곳에서 무슨 일이 일어나고 있는지 정확하게 볼 수 있다는 것 입니다.
https://gitter.im/transient-transient-universe-hplay/lobby?at=58228CAA35E6CF054773303B
소프트웨어 엔지니어링의 꿈 중 하나는 제한되지 않은 합성 가능성입니다.
이것은 다음과 같은 용어로 넣을 수 있습니다.
ap1 및 ap2 는 여러 스레드, 비동기 IO, 불확실성, 사건 및 분산 컴퓨팅을 포함한 모든 효과와 함께 임의의 복잡성을 갖는 두 가지 응용 프로그램을 보자.
그런 다음 조합 :
- ap1 <|> ap2 -- Alternative expression
- ap1 >>= x -> ap2 -- monadic sequence
- ap1 <> ap2 -- monoidal expression
- (,) <$> ap1 <*> ap2 -- Applicative expression
유형이 일치하고 합성 가능한 새로운 애플리케이션을 생성하는 경우 가능합니다.
일시적은 정확히 그렇게합니다.
연산자 <$> <*> 및 <> 동시성을 표현하고, 연산자 <|> 평행을 표현하고, 스레드, 분산 프로세스 또는 웹 위젯의 시퀀싱에 대해 >>= 표현합니다. 따라서 이러한 효과와 다른 효과가있을 때에도 모든 것이 합리적입니다.
이러한 목적을 위해 과도는 병렬성, 이벤트, 비동기 IO, 초기 종료, 비 결정적 로깅 및 분산 컴퓨팅에 대한 모든 주요 효과 및 프리미티브를 갖춘 확장 가능한 효과 모나드입니다. 모나드 변압기를 추가하지 않고 더 많은 효과로 확장 할 수 있으므로 합성 가능성이 보장됩니다.
이 프로그램은 콘솔에 "Fire"를 입력하면 N 노드에서 "Hello World"를 스트리밍합니다.
main = keep $ initNode $ inputNodes <|> distribStream
distribStream = do
local $ option " fire " " fire "
r <- clustered . local . choose $ repeat " hello world "
localIO $ print r튜토리얼을 읽고 컴파일하고 호출하는 방법을 알 수 있습니다.
이 프로그램은 브라우저에 링크를 제시하고 클릭 할 때 Fibonnacci 번호를 브라우저에 스트리밍합니다. (Docker가 있다면 콘솔에서 스트라스팅을 실행할 수 있습니다.
main = keep . initNode $ webFib
webFib = onBrowser $ do
local . render $ wlink () (h1 " hello fibonacci numbers " )
r <- atRemote $ do
r <- local . threads 1 . choose $ take 10 fibs
localIO $ print r
localIO $ threadDelay 1000000
return r
local . render . rawHtml $ (h2 r)
where
fibs = 0 : 1 : zipWith (+) fibs ( tail fibs) :: [ Int ]이 프로그램은 두 기능을 모두 결합합니다.
main = keep . initNode $ inputNodes <|> webFib <|> distribStream위키는 더 사용자 지향적입니다
LiveCoding.tv의 비디오 세션은 튜토리얼이나 프레젠테이션으로 의도되지 않았지만 최신 기능 중 일부를 보여줍니다.
기사는 더 기술적입니다.
이 기사에는 실행 가능한 예제가 포함되어 있습니다 (현재는 아닙니다. 사이트는 더 이상 Haskell 스 니펫 실행을 지원하지 않기 때문에).
대규모의 종합성이 가능하면 실현 될 수있는 무한한 아이디어가 있습니다. 단기 및 장기 목표가 있습니다. 개발 상태는 정기적으로 게시됩니다.
가장 미친 것 중 하나는이 프레임 워크를 다른 언어로 확장하고 상호 운용적으로 만들 수있는 가능성이 있습니다. 전체 패키지 애플리케이션을 구성 요소로 처리하고 쉘이 이러한 종류의 안전한 안전 도킹을 허용하는 운영 체제의 새로운 레이어에서 레고 조각으로 도킹합니다. 이 종합 가능한 Docker는 모든 종류의 복합 가능성을 허용하는 반면, 현재 Docker 플랫폼은 계산하지 않는 저하 된 모노이드의 한 형태 일뿐입니다.
기여하고 싶습니까? 기고자 가이드 라인을 읽었는지 확인하십시오. 우리는 귀하와 귀하의 아이디어로부터 듣고 싶습니다.
과도 문제 페이지
과도 우주의 문제 페이지
공리 문제 페이지
흥미로운 것을 배우면 위키에 기여할 수 있습니다.
또한 전체 스택 전체에 걸쳐 실제 소프트웨어 합성 가능성의 잠재적 장점을 풀기 위해 더 많은 시간의 헌신을 가능하게하기 위해 리드 개발자에게 기부 할 수도 있습니다.