重要說明:瞬態正在轉化為新的回購
此存儲庫已棄用
請,對於最後一個版本,請轉到:
https://github.com/transient-haskell/transient-stack
有所有的Haskell軟件包,包括分佈式計算(瞬態)和客戶端網絡(AXIOM)

注意:分佈式計算和Web原始圖在瞬態宇宙和公理中。瞬態示例的一些示例
transient的一些反饋:Rahul Muttineni @rahulmutt Nov。 09 2016 03:40 ETA(JVM HASKELL編譯器)的首席開發器
這有點彎曲,因為它就像使用更高級別的清單單元一樣,但非常非常酷。對於初始的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
如果類型匹配並生成可組合的新應用程序,則可能是可能的。
瞬態確實可以做到這一點。
運算符<$> <*>和<>表示並發,操作員<|>表達並行性和>>=用於線程,分佈式進程或Web小部件的測序。因此,即使在存在這些效果和其他效果的情況下,一切都是可以組合的。
為此,瞬態是一種可擴展的效果單,具有所有主要效果和平行性,事件,異步IO,早期終止,非確定性記錄和分佈式計算的原始效果。由於可以在不添加Monad Transformer的情況下擴展更多效果,因此可以確保合成性。
該程序將在控制台中輸入“火”,將從n個節點流式傳輸。
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 <|> distribStreamWiki更面向用戶
我在livecoding.tv中的視頻會話不是作為教程或演示文稿,而是顯示一些最新功能。
這些文章更具技術性:
這些文章包含可執行的示例(現在不現在,因為該站點不再支持Haskell摘要的執行)。
一旦可能的合成性就可以實現,就有一定數量的想法可以實現。有短期和長期目標。開發狀況定期出版。
最瘋狂的人之一是將此框架擴展到其他語言並使它們可互操作的可能性。將整個包裝應用程序視為組件,並將它們作為樂高積木在操作系統的新層中作為樂高積木,在該層中,外殼可以使用這種類型的安全碼頭。這種可組合的Docker允許各種合成性,而當前的Docker平台只是一種不計算的降解的單體降解形式。
想貢獻嗎?確保您已經閱讀了我們的撰稿人指南。我們想听聽您和您的想法,通過以下方式與其他貢獻者聯繫:
瞬態的問題頁面
暫時性宇宙的問題頁面
公理的問題頁面
一旦學到有趣的東西,您就可以為Wiki做出貢獻
您還可以向首席開發人員捐款,以使更多時間的奉獻精神填補整個堆棧中真正軟件合成性的潛在優勢。