transient-haskell / transient

A full stack, reactive architecture for general purpose programming. Algebraic and monadically composable primitives for concurrency, parallelism, event handling, transactions, multithreading, Web, and distributed computing with complete de-inversion of control (No callbacks, no blocking, pure state)
MIT License
630 stars 28 forks source link

Add Semigroup instance for TransIO monad #76

Closed Jyothsnasrinivas closed 6 years ago

Jyothsnasrinivas commented 6 years ago

We're migrating Eta's base to version 4.11. This PR adds a Semigroup instance which is required in the recent base because Semigroup is a superclass of Monoid

agocorona commented 6 years ago

Great. Thanks

agocorona commented 6 years ago

where is MIN_VERSION_base defined? It is ok with ghc but The C preprocessor used by GHCJS does not recognizes it

if !MIN_VERSION_base(4,10,0)

Jyothsnasrinivas commented 6 years ago

@agocorona The macro should be present in the header file automatically generated by Cabal (or Stack).

For example in my system the header file is at .stack-work/dist/x86_64-osx/Cabal-1.22.5.0/build/autogen/cabal_macros.h when building with Stack.