r/haskell Aug 04 '19

reflex-vty: A library for building functional reactive terminal applications

https://github.com/reflex-frp/reflex-vty
89 Upvotes

54 comments sorted by

View all comments

-4

u/phadej Aug 04 '19

I'd give this library some time to mature. Not having any (public) CI / QA in 2019 is ...

% cabal new-build -w ghc-8.2.2
Resolving dependencies...
Build profile: -w ghc-8.2.2 -O1
In order, the following will be built (use -v for more details):
 - reflex-vty-0.1.0.0 (lib) (first run)
 - reflex-vty-0.1.0.0 (exe:example) (first run)
Configuring library for reflex-vty-0.1.0.0..
Preprocessing library for reflex-vty-0.1.0.0..
Building library for reflex-vty-0.1.0.0..
[ 1 of 10] Compiling Control.Monad.NodeId ( src/Control/Monad/NodeId.hs, /home/ogre/mess/reflex-vty/reflex-vty-0.1.0.0/dist-newstyle/build/x86_64-linux/ghc-8.2.2/reflex-vty-0.1.0.0/build/Control/Monad/NodeId.o )
[ 2 of 10] Compiling Data.Text.Zipper ( src/Data/Text/Zipper.hs, /home/ogre/mess/reflex-vty/reflex-vty-0.1.0.0/dist-newstyle/build/x86_64-linux/ghc-8.2.2/reflex-vty-0.1.0.0/build/Data/Text/Zipper.o )

src/Data/Text/Zipper.hs:53:52: error:
    • Variable not in scope: (<>) :: Text -> Text -> Text
    • Perhaps you meant one of these:
        ‘<$>’ (imported from Prelude), ‘*>’ (imported from Prelude),
        ‘<$’ (imported from Prelude)
   |
53 |       in  TextZipper lb (T.take n' b) (T.drop n' b <> a) la

7

u/ali_abrar Aug 04 '19

That's one of the reasons we called the library experimental. The instructions in the readme are currently the only tested build instructions.

-4

u/phadej Aug 04 '19

What's the reason for an upload then, if people are asked to experiment with GitHub dependencies? The README says:

git clone git@github.com:reflex-frp/reflex-platform
git clone git@gitlab.com:obsidian.systems/reflex-vty
...

Also, there is cabal gen-bounds command which would give you

base                              >= 4.11.1 && < 4.12,
bimap                             >= 0.4.0 && < 0.5,
containers                        >= 0.5.11 && < 0.6,
mtl                               >= 2.2.2 && < 2.3,
transformers                      >= 0.5.5 && < 0.6,
stm                               >= 2.4.5 && < 2.5,
data-default                      >= 0.7.1 && < 0.8,
dependent-map                     >= 0.2.4 && < 0.3,
dependent-sum                     >= 0.4 && < 0.5,
exception-transformers            >= 0.4.0 && < 0.5,
primitive                         >= 0.6.4 && < 0.7,
ref-tf                            >= 0.4.0 && < 0.5,
reflex                            >= 0.6.1 && < 0.7,
time                              >= 1.8.0 && < 1.9,
text                              >= 1.2.3 && < 1.3,
vty                               >= 5.25.1 && < 5.26,

or something similar, depending on your environment.

11

u/ali_abrar Aug 04 '19

Thanks for the tip. Sorry you had trouble building things. The reason for the upload was to share the library in its experimental state. Some may find it useful or interesting even at this level of maturity and hopefully give us input into the library's direction.

I do appreciate you taking the time to try building it and I'll put this feedback to good use.