reactive-banana

    2熱度

    1回答

    在FRP文獻中是否存在Latch和Pulse類型,還是他們是反應性香蕉作者的發明? 只要看看類型,它們大致對應於行爲和事件(分別),但我想知道它們的區別是什麼,以及它們的實現是基於任何正式的研究。 謝謝!

    10熱度

    3回答

    由於鈉已被作者deprecated我試圖將我的代碼移植到反應香蕉。然而,兩者之間似乎有些不協調,我很難過度。 例如,鈉很容易檢索行爲的當前值: retrieve :: Behaviour a -> IO a retrieve b = sync $ sample b 我不明白如何在無功香蕉 (我想之所以這樣做這是因爲我想要的行爲導出爲DBUS財產屬性可以從其他DBUS客戶查詢) 編輯:代替「民

    4熱度

    1回答

    我正在閱讀Conal Elliot的論文"Declarative Event-Oriented Programming",其中的例子是使用現在已經過時的Fran庫編寫的。 當我學習FRP時,我試着用反應式香蕉來實現這些例子。我似乎沒有這個問題(但必須認爲很多 :))。唯一我不明白的是如何正確翻譯Fran的ifB。 它似乎有這種類型的簽名: ifB :: Behavior Bool -> Behav

    3熱度

    2回答

    考慮下面的代碼: module Main where import Control.Event.Handler import Reactive.Banana import Reactive.Banana.Frameworks main :: IO() main = do (addHandler, fire) <- newAddHandler compile (ne

    2熱度

    1回答

    基於我剛纔的問題,其設定我逐漸細化(How to create monadic behaviour in reactive-banana): 假設有eKey,一個觸發的事件,只要按下一個鍵,Buffer類型的b這是隻要在eKey中發生支持的事件時進行了適當的修改,最後還有一些IO將對某些事件採取行動。這些IO動作取決於b的狀態(爲了簡單起見,假設它們將當前狀態b打印到控制檯)。 目前,我有這個選擇

    2熱度

    1回答

    的文檔accumB說: 注:與步進,行爲價值變動「後小幅 」的事件發生。這允許遞歸定義。 在我的情況下沒有遞歸,但我想獲得更新「現在」,而不是「稍後」。爲什麼沒有accumB的特殊版本?我猜,我錯過了明顯的東西? 編輯:在我的應用程序有data Config,其保持各種配置值和一堆Event (Config -> Config),當用戶改變在GUI一些值被燒製。現在,我希望我的程序的其他部分隨時訪

    6熱度

    1回答

    這裏的代碼,用來工作(截斷適當希望) makeNetworkDescription :: forall t . Frameworks t => Parameters -> Moment t() makeNetworkDescription params = do eInput <- fromAddHandler (input params) eTick <- fromAddH

    1熱度

    1回答

    我有一個解決某些問題的程序,我決定在一個不錯的GUI中監視它的功能。對於GUI,我選擇了Gtk這意味着我需要在專用線程中運行mainGUI循環,而我的程序的其餘部分將佔用不同的線程。我認爲我的程序和其他線程之間的通信將使用Chan向一個方向流動。我進一步決定使用FRP來更新工作者通知的GUI(原始程序在其單獨線程中的邏輯)。所以我嘗試編寫一個簡單的線程示例,其中一個線程將IO動作發送到執行操作(顯

    1熱度

    1回答

    我正在研究一個基於小型終端的用戶界面,並且我想使用活性香蕉來描述交互。我唯一感興趣的外部事件是用戶是否按下了一個鍵。 從我從框架文檔中收集到的信息,我可以使用輪詢來獲取終端輸入緩衝區的狀態,或者將「事件處理程序」傳遞給反應香蕉。我寧願選擇後者,但我發現事件處理部分令人困惑。我將如何描述getChar的事件驅動版本?最後,我想在「事件密鑰」流上進行操作。 我已經看過SDL和wx綁定,但是我沒有發現它

    1熱度

    2回答

    我克隆reactive-banana,並試圖建立reactive-banana-wx例如: git clone http://github.com/HeinrichApfelmus/reactive-banana.git cd reactive-banana/reactive-banana-wx stack build 有在該目錄stack.yaml,並且它取幾個包,但這個錯誤停止: Pr