[Haskell-cafe] Status of Acid-State and IxSet

43 views
Skip to first unread message

JP Moresmau

unread,
May 28, 2015, 2:05:56 PM5/28/15
to Haskell Cafe
Hello, for a project I decided to use Acid-State and IxSet, and was pretty happy with them. I enjoyed working with Haskell structures for storing and querying data, and my data could fit in memory. However, now I've moved to GHC 7.10, and for example syb-with-class, a dependency of ixset, does not build with template-haskell 2.10. So I'm wondering, are these projects still alive and kicking? Are if I want some memory based storage and indexing, should I look at some other projects (maybe VCache http://hackage.haskell.org/package/vcache). Or is it just bad timing and GHC 7.10 compatible versions of these libraries are in the works?

Thanks!

--

Felipe Lessa

unread,
May 28, 2015, 2:17:45 PM5/28/15
to haskel...@haskell.org
Hey, JP!

Coincidentally I've recently used acid-state as well. It seems
well-maintained and works on GHC 7.10.

I can't say much about ixset, though. It looks like the Happstack
project is supporting GHC 7.10, perhaps someone forgot about ixset? You
could file an issue [2].

[1] https://github.com/Happstack/happstack-server/issues/12
[2] https://github.com/Happstack/ixset

Cheers,

--
Felipe.

signature.asc

Ben Gamari

unread,
May 29, 2015, 4:37:24 AM5/29/15
to JP Moresmau, Haskell Cafe, sanz...@gmail.com, Simon Peyton Jones
Indeed it seems like syb-with-class is a bit stagnant. For what it's worth
I've moved the source to a Git repository [1] along with fixes allowing
it to compile on GHC 7.10 (although with a slight loss of sharing which
may or may not be recovered by the optimizer).

sanzhiyan or Simon, do you think you could have a look at these changes
and push them to Hackage if you find them acceptable? I would also be
happy to take over maintenance if that is preferred.

Cheers,

- Ben


[1] https://github.com/bgamari/syb-with-class
signature.asc

Adam Gundry

unread,
May 29, 2015, 4:53:33 AM5/29/15
to JP Moresmau, Haskell Cafe
Hi,
Another alternative to ixset is ixset-typed [1], by my colleague Andres.
It has an API rather like ixset, but with much stronger type-level
guarantees, and it is fairly easy to port code from one to the other.
Moreover, it doesn't depend on syb-with-class.

Hope this helps,

Adam

[1] https://hackage.haskell.org/package/ixset-typed
https://github.com/well-typed/ixset-typed

--
Adam Gundry, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/
_______________________________________________
Haskell-Cafe mailing list
Haskel...@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe

JP Moresmau

unread,
May 29, 2015, 6:51:06 AM5/29/15
to Haskell Cafe
Thank you all!! It looks I need to look into ixset-typed but that there is hope to get ixset and its dependencies in good order!

JP

On Fri, May 29, 2015 at 10:53 AM, Adam Gundry <ad...@well-typed.com> wrote:
Hi,

On 28/05/15 19:05, JP Moresmau wrote:
> Hello, for a project I decided to use Acid-State and IxSet, and was
> pretty happy with them. I enjoyed working with Haskell structures for
> storing and querying data, and my data could fit in memory. However, now
> I've moved to GHC 7.10, and for example syb-with-class, a dependency of
> ixset, does not build with template-haskell 2.10. So I'm wondering, are
> these projects still alive and kicking? Are if I want some memory based
> storage and indexing, should I look at some other projects (maybe
> VCache http://hackage.haskell.org/package/vcache). Or is it just bad
> timing and GHC 7.10 compatible versions of these libraries are in the works?

Another alternative to ixset is ixset-typed [1], by my colleague Andres.
It has an API rather like ixset, but with much stronger type-level
guarantees, and it is fairly easy to port code from one to the other.
Moreover, it doesn't depend on syb-with-class.

Hope this helps,

Adam

[1] https://hackage.haskell.org/package/ixset-typed
https://github.com/well-typed/ixset-typed

--
Adam Gundry, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/



Jeremy Shaw

unread,
May 29, 2015, 12:52:51 PM5/29/15
to JP Moresmau, Haskell Cafe
Hello,

acid-state is still alive and kicking (and better be since hackage uses it). In fact, there is a GSoC project to add replication support this summer I believe.

ixset is still supported. We submitted a patch upstream to syb-with-class but have not heard back. Our patched version is here:


Nix patches syb-with-class by default -- which is nice ;)

If you do not have legacy code to support, I highly recommend checking out ixset-typed. It is very much like ixset -- but does a better job catching errors though the type system. IxSet is a little too loose with the types for no real reason resulting in avoidable runtime errors.

- jeremy

Andrea Vezzosi

unread,
May 29, 2015, 4:08:45 PM5/29/15
to Jeremy Shaw, Haskell Cafe
On Fri, May 29, 2015 at 6:52 PM, Jeremy Shaw <jer...@n-heptane.com> wrote:
> Hello,
>
> acid-state is still alive and kicking (and better be since hackage uses it).
> In fact, there is a GSoC project to add replication support this summer I
> believe.
>
> ixset is still supported. We submitted a patch upstream to syb-with-class
> but have not heard back. Our patched version is here:

Where is this upstream? Since I haven't seen any patches my way until
today I guess there's some other place where I'm not checking.

Anyhow there's a new version on hackage now which builds on ghc-7.10.

I would gladly transfer maintainership of syb-with-class though.

Cheers,
Andrea

Andrea Vezzosi

unread,
May 29, 2015, 4:17:27 PM5/29/15
to Jeremy Shaw, Haskell Cafe
Oh, sorry, your mail was from today as well, so github was the
upstream, it's been a while since I've been on -cafe and thought this
was an older thread.

All the best,
Andrea
Reply all
Reply to author
Forward
0 new messages