Go Back   DaemonForums > OpenBSD > OpenBSD Packages and Ports

OpenBSD Packages and Ports Installation and upgrading of packages and ports on OpenBSD.

Thread Tools Display Modes
  #1   (View Single Post)  
Old 29th May 2015
cpaulette cpaulette is offline
New User
Join Date: Nov 2014
Posts: 7
Default Haskell web frameworks in OpenBSD


In looking at Haskell web frameworks, I noticed that Yesod requires GHC 7.8.4 to install. That works fine with OpenBSD 5.7 so no problem there; but it got me thinking about any OpenBSD-specific things I should be aware of.

So, if you've used one and have any suggestions:

1) Which Haskell web framework do you use on OpenBSD?
2) Why?
3) Are there any special requirements or other possible gotchas that might trip up a noob?

Reply With Quote
  #2   (View Single Post)  
Old 29th May 2015
ocicat ocicat is offline
Join Date: Apr 2008
Posts: 3,301

Originally Posted by cpaulette View Post
Which Haskell web framework do you use on OpenBSD?

While someone may chime in to answer your questions, searching through the site's archives for mention of "Haskell" on OpenBSD matches only three threads since 2008. I suspect you will not be receiving the expertise you are looking for in a response.

Having read the official ports@ mailing list for years points out that M. Killian has been a big proponent & contributor of Haskell ports for OpenBSD for a very long time. You will find contact information at the following:


My suggestion would be to correspond with Matthias.
Reply With Quote
  #3   (View Single Post)  
Old 1st August 2015
cpaulette cpaulette is offline
New User
Join Date: Nov 2014
Posts: 7

This is a little late, but thanks for your response Ocicat! I reached out to Matthias as you suggested, and with his permission, I'm posting his response below for any future searchers. (If this is not advised due to bandwidth or other issues, please let me know and I'll edit this post.)

> I'm also looking at web frameworks, and trying to choose one to
> get started with. I noticed that you also maintain hs-snap-core.
> You don't know my specific requirements (frankly I don't either
> yet), so I'm not asking about which is the best fit for my
> requirements; my question is, is Snap the easiest to use and keep
> up to date in OpenBSD?

To be honest: I only played a little bit with snap and some of the
examples using snap's template mechanism. I never did something
serious with it nor did I play with other haskell web frameworks.

In addition, the port www/hs-snap isn't buildable at the moment
(because another library is currently marked as broken), and I
probably will delete the hs-snap* ports (and a lot pf other
hs-libraries) from the ports tree, because it's difficult to keep
hs ports uptodate without either breaking meta/haskell-platform,
and because it's a huge work to update lang/ghc and meta/haskell-platform
with so many hs-libraries in the ports tree.

Anyway... from the experiments I remember, snap indeed was very
easy to create at laest simple web applications.

But you probably better avoid using it from the pre-built binary
OpenBSD packages (see above, hs-snap itself, which also contains a
tool for creating simple snap projects from scratch isn't available
at the moment), better use cabal (from the cabal-install package)
to fetch and build recent veersions of snap and required libraries
(the sources will be downloaded from hackage.haskell.org).

Thatt's what most haskell projects (like snap itself, IIRC) recommend.
The only drawback is that you have to keep uptodate yourself.

> Any other things I should watch out for in terms of compatibility
> with OpenBSD?

Well, for writing, compiling and running haskell code with ghc on
OpenBSD: not so much. The problems I'm currently aware of:

- ghci and features like template haskell that dynamically load haskell
libraries at run time, don't work on i386 but only on amd64.

- there may be problems with character sets; a couple of years ago, I
added some ugly hacks to use latin1 instead of utf-8 by default (which
may be overridden by settting the envireonment variable HS_ENCODING).

- listening on sockets is a little bit different on OpenBSD than on
other systems: for example, when you create a snap project and
tell it to listen on all interfaces on port 80, it will listen
only on IPv4 adresses, not on IPv6 addresses.
Reply With Quote

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT. The time now is 10:07 PM.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Content copyright © 2007-2010, the authors
Daemon image copyright ©1988, Marshall Kirk McKusick