Cudowna rzecz o Haskell. Rodzaj funkcji prawie dyktuje jej realizację. To sprawa dla tego jednego, ale ... mój mózg po prostu nie jest owijanie wokół zagnieżdżonych funkcji rzecz tutaj:Jak zaimplementować tę funkcję w Haskell
mkDyn :: (Typeable a) => ((a -> IO()) -> IO()) -> ((Dynamic -> IO()) -> IO())
Pytanie tylko, jak radzić obsługi błędów w fromDynamic zaproszenia, które będą wymagane, ale ... Mogę sobie z tym poradzić, gdy resztę wymyślę. Zgaduję, że gdzieś będzie coś takiego. Ale wydaje mi się, że nie udało mi się zrozumieć owijania lambdy.
case fromDynamic x of
Just x -> f x
Nothing -> undefined -- TODO
Wow, nie wiedziałem nawet, że Haskell ma wsparcie dynamiczne, nie mówiąc już o tym, że był [dostępny w bazie] (http://hackage.haskell.org/packages/archive/base/latest/doc/html/ Data-Dynamic.html). Naucz się czegoś nowego każdego dnia. –
@Joey IIRC jest nawet biblioteka do pisania imperatywnego kodu z łatwymi operatorami przypisania, ale zapomniałem gdzie. Myślę, że raz wspomniano o niej na Planet Haskell. – fuz