Re: [Haskell-cafe] Quick Angel User's Survey

2013-09-14 Thread Alexander Kjeldaas
You can use cgroups on linux to ensure that everything is shut down. See systemd. Alexander On Sep 14, 2013 9:21 PM, Michael Xavier mich...@michaelxavier.net wrote: Hey Cafe, I am the maintainer of Angel, the process monitoring daemon. Angel's job is to start a configured set of processes

Re: [Haskell-cafe] ANNOUNCE: MFlow 3.0

2013-07-10 Thread Alexander Kjeldaas
Here are some common-lisp web frameworks using continuations: http://common-lisp.net/project/cl-weblocks/ http://common-lisp.net/project/ucw/features.html What always worried me with these frameworks is how they could be made robust in case of failures. Storing all state in a database backend

Re: [Haskell-cafe] Markdown extension for Haddock as a GSoC project

2013-04-29 Thread Alexander Kjeldaas
I see the pluggable markup being pushed in this thread again. I just want to remind everybody that we currently have a flavor of a markup issue on github. The ghc source code uses literal haskell, and it does not work well on github.

Re: [Haskell-cafe] GSoC proposal: Haskell AST-based refactoring and API upgrading tool

2013-04-29 Thread Alexander Kjeldaas
There is another aspect to this: How do you get maintainers to apply the patches? How should hackage be changed to accomodate large-scale refactorings? There was a discussion on this mailing list related to build regressions on GHC 7.6 last year. All of the regressions could be fixed using

Re: [Haskell-cafe] Fwd: How to do automatic reinstall of all dependencies?

2013-04-25 Thread Alexander Kjeldaas
This is not what you asked for, but reinstalling *all dependencies*probably isn't such a good idea, because ultimately some dependencies are shipped with GHC and you might not be able to reinstall them. Here is a useful formula I developed to avoid cabal-hell and always *upgrade * dependencies

Re: [Haskell-cafe] GSoC Project Proposal: Markdown support for Haddock

2013-04-06 Thread Alexander Kjeldaas
+1 for concistency. Also, consider interop with non-haskell environments. For example showing the documentation of a function in emacs, eclipse, on github, and from a javascript library. All of these can be engineered around, and tooling can be provided. But let me give an example: the other

Re: [Haskell-cafe] File I/O benchmark help (conduit, io-streams and Handle)

2013-03-08 Thread Alexander Kjeldaas
On Fri, Mar 8, 2013 at 9:53 AM, Gregory Collins g...@gregorycollins.netwrote: On Fri, Mar 8, 2013 at 9:48 AM, John Lato jwl...@gmail.com wrote: For comparison, on my system I get $ time cp input.dat output.dat real 0m0.004s user 0m0.000s sys 0m0.000s Does your workstation have an SSD?

Re: [Haskell-cafe] RFC: rewrite-with-location proposal

2013-02-25 Thread Alexander Kjeldaas
Immediately, the alternative of introducing bound variables in the environment that is available to rewrite rules comes to mind as a more general way of doing this. So this example from the GHC docs: {-# RULES map/mapforall f g xs. map f (map g xs) = map (f.g) xs map/append forall f xs

Re: [Haskell-cafe] RFC: rewrite-with-location proposal

2013-02-25 Thread Alexander Kjeldaas
On Mon, Feb 25, 2013 at 12:46 PM, Simon Hengel s...@typeful.net wrote: On Mon, Feb 25, 2013 at 10:40:29AM +0100, Twan van Laarhoven wrote: I think there is no need to have a separate REWRITE_WITH_LOCATION rule. What if the compiler instead rewrites 'currentLocation' to the current

Re: [Haskell-cafe] package dependencies should distinguish between API and implementation?

2013-02-25 Thread Alexander Kjeldaas
On Mon, Feb 25, 2013 at 12:50 PM, Johannes Waldmann waldm...@imn.htwk-leipzig.de wrote: Package dependencies are modelled by a relation A depends-on B. Shouldn't this in fact be two relations: API-depends-on and implementation-depends-on? (meaning that A API-depends-on B iff some type

Re: [Haskell-cafe] RFC: rewrite-with-location proposal

2013-02-25 Thread Alexander Kjeldaas
My initial thought as I read the proposal was to represent currentLocation as a lexical bound variable, thus error is rewritten to the expression: let currentLocation = someplace.hs:123 in errorLoc currentLocation there is no referntial transparency issue in that because there is no global

Re: [Haskell-cafe] Ticking time bomb

2013-02-01 Thread Alexander Kjeldaas
Forgot the list. On Fri, Feb 1, 2013 at 10:21 AM, Alexander Kjeldaas alexander.kjeld...@gmail.com wrote: Trying to avoid the wrath of Ketil I'll refrain from suggesting to do anything, I'll just explain why git is good at this, and not arbitrary. :-) Most systems that I know of to verify

Re: [Haskell-cafe] Ticking time bomb

2013-01-31 Thread Alexander Kjeldaas
On Thu, Jan 31, 2013 at 9:26 AM, Vincent Hanquez t...@snarc.org wrote: On 01/31/2013 06:27 AM, Ertugrul Söylemez wrote: In any case there is no valid excuse for the lack of crypto. It's too easy to attack Hackage, so we need some crypto regardless of what we interpret it as. My proposal

Re: [Haskell-cafe] FFI - Approaches to C/C++

2013-01-31 Thread Alexander Kjeldaas
From my experience, these things are needed to get solid (i.e. not flaky software) results. This is not what normal Haskell bindings look like though: 1. Create an interface over the Haskell RTS if you are going to use any of it from C++, and use dependency injection to choose between mock and

Re: [Haskell-cafe] Ticking time bomb

2013-01-31 Thread Alexander Kjeldaas
On Thu, Jan 31, 2013 at 11:48 AM, Vincent Hanquez t...@snarc.org wrote: On 01/31/2013 08:54 AM, Alexander Kjeldaas wrote: On Thu, Jan 31, 2013 at 9:26 AM, Vincent Hanquez t...@snarc.org wrote: On 01/31/2013 06:27 AM, Ertugrul Söylemez wrote: In any case there is no valid excuse

Re: [Haskell-cafe] Ticking time bomb

2013-01-31 Thread Alexander Kjeldaas
On Thu, Jan 31, 2013 at 11:40 AM, Vincent Hanquez t...@snarc.org wrote: On 01/31/2013 10:06 AM, Ertugrul Söylemez wrote: Joachim Breitner m...@joachim-breitner.de wrote: And that may even be more harmful, because an insecure system with a false sense of security is worse than an insecure

Re: [Haskell-cafe] Ticking time bomb

2013-01-31 Thread Alexander Kjeldaas
On Thu, Jan 31, 2013 at 12:53 PM, Ketil Malde ke...@malde.org wrote: Ertugrul Söylemez e...@ertes.de writes: And that may even be more harmful, because an insecure system with a false sense of security is worse than an insecure system alone. Yes. As is clear to all, the current low

Re: [Haskell-cafe] Ticking time bomb

2013-01-30 Thread Alexander Kjeldaas
Not to downplay the significance of this issue, but a primary issue, much more important is to secure ghc, base, cabal-install, and the build process for these. The development process needs to be robust. That process should include signing commits by *two developers*. This is really not a lot

Re: [Haskell-cafe] ANN: monad-bool 0.1

2013-01-23 Thread Alexander Kjeldaas
If we step back, I think the lesson here is that Haskell libraries exist, but the concepts are far enough from what you expect to exist given background knowledge from another programming language. So what is actually needed is not monad-bool, but the equivalent documentation that makes a

Re: [Haskell-cafe] forkProcess, forkIO, and multithreaded runtime

2013-01-21 Thread Alexander Kjeldaas
is waiting on condvar %d., ret); return; } On Mon, Jan 21, 2013 at 8:18 AM, Alexander Kjeldaas alexander.kjeld...@gmail.com wrote: I just looked at this code and since I don't know the code I can't give you good solutions, but for others watching this thread the links might prove

Re: [Haskell-cafe] forkProcess, forkIO, and multithreaded runtime

2013-01-21 Thread Alexander Kjeldaas
(Mutex* pMut) { -pthread_mutex_destroy(pMut); +int ret = pthread_mutex_destroy(pMut); +CHECKM(ret == 0, RTS Bug! Destroying held mutex ret=%d, ret); } void On Mon, Jan 21, 2013 at 10:14 AM, Alexander Kjeldaas alexander.kjeld...@gmail.com wrote: I think you can test this theory

Re: [Haskell-cafe] forkProcess, forkIO, and multithreaded runtime

2013-01-21 Thread Alexander Kjeldaas
While trying to dig around this morning I started adding clang-style thread locking annotations to the source code. These can be very handy and I found at least one place where the documented locking policy doesn't seem to match what is happening. Here is an example with annotations, and what

Re: [Haskell-cafe] [ANN] tls-extra 0.6.1 - security update, please upgrade.

2013-01-20 Thread Alexander Kjeldaas
On Sun, Jan 20, 2013 at 6:50 AM, Vincent Hanquez t...@snarc.org wrote: Hi cafe, this is a security advisory for tls-extra 0.6.1 which are all vulnerable to bad certificate validation. Some part of the certificate validation procedure were missing (relying on the work-in-progress x509 v3

Re: [Haskell-cafe] forkProcess, forkIO, and multithreaded runtime

2013-01-20 Thread Alexander Kjeldaas
I just looked at this code and since I don't know the code I can't give you good solutions, but for others watching this thread the links might prove interesting. My main theory is that you do have some other thread in FFI-land while you are fork()ing. The task-cond, task-lock seems to be

Re: [Haskell-cafe] forkProcess, forkIO, and multithreaded runtime

2013-01-20 Thread Alexander Kjeldaas
On Mon, Jan 21, 2013 at 12:15 AM, Mark Lentczner mark.lentcz...@gmail.comwrote: Sorry to be reviving this thread so long after but I seem to be running into similar issues as Michael S. did at the start. In short, I'm using forkProcess with the threaded RTS, and see occasional hangs:

Re: [Haskell-cafe] debugging memory corruption

2012-12-01 Thread Alexander Kjeldaas
What I've mostly done in similar circumstances (jni) 1. Create an interface (virtual functions or template) for the FFI in C++ that covers everything you use. Then create one test implementation and one real implementation. The test implementation must allocate resources whenever the real FFI

Re: [Haskell-cafe] Can a GC delay TCP connection formation?

2012-11-28 Thread Alexander Kjeldaas
Jeff, this is somewhat off topic, but interesting. Are telehouse and AWS physically close? Was this latency increase not expected due to geography? Alexander On 28 November 2012 06:21, Neil Davies semanticphilosop...@gmail.comwrote: Jeff Are you certain that all the delay can be laid at

Re: [Haskell-cafe] forkProcess, forkIO, and multithreaded runtime

2012-10-17 Thread Alexander Kjeldaas
On 17 October 2012 00:17, Mike Meyer m...@mired.org wrote: On Tue, 16 Oct 2012 21:55:44 +0200 Alexander Kjeldaas alexander.kjeld...@gmail.com wrote: There are variants of this, but the meta-problem is that at the point in time when you call forkProcess, you must control all threads

Re: [Haskell-cafe] forkProcess, forkIO, and multithreaded runtime

2012-10-16 Thread Alexander Kjeldaas
On 15 October 2012 09:47, Michael Snoyman mich...@snoyman.com wrote: Hi all, I think I have a misunderstanding of how forkProcess should be working. Ultimately this relates to some bugs in the development version of keter, but I've found some behavior in a simple test program which I

Re: [Haskell-cafe] Build regressions due to GHC 7.6

2012-08-31 Thread Alexander Kjeldaas
-current version of some other package is also quite uninteresting (or at least outside the scope of my needs). Such a package is basically just a relic. Alexander On 30 August 2012 22:26, Jay Sulzberger j...@panix.com wrote: On Thu, 30 Aug 2012, Alexander Kjeldaas alexander.kjeld...@gmail.com

Re: [Haskell-cafe] Build regressions due to GHC 7.6

2012-08-30 Thread Alexander Kjeldaas
This is very unfortunate, but this is crucially a tooling issue. I am going to wave my hands, but.. Ignore the mapreduce in the following video, but look at the use of clang to do automatic refactoring of C++. This is *incredibly* powerful in dealing with updates to APIs.

Re: [Haskell-cafe] Build regressions due to GHC 7.6

2012-08-30 Thread Alexander Kjeldaas
, Alexander Kjeldaas wrote: perl -ni -e 'print unless /import Prelude hiding \(catch\)/' $(git grep 'import Prelude hiding (catch)') I don't think regular expressions are powerful enough. This example does not match on hiding multiple names, for instance. This was just an example, the CInt

Re: [Haskell-cafe] createProcess running non-existent programs

2012-08-14 Thread Alexander Kjeldaas
On 13 August 2012 23:49, Richard O'Keefe o...@cs.otago.ac.nz wrote: On 13/08/2012, at 11:26 PM, Alexander Kjeldaas wrote: This isn't that hard - a pipe shouldn't be needed anymore. Just require a post-2003 glibc. fexecve is a system call in most BSDs. It is also implemented in glibc

Re: [Haskell-cafe] createProcess running non-existent programs

2012-08-14 Thread Alexander Kjeldaas
On 14 August 2012 17:22, Niklas Larsson metanik...@gmail.com wrote: 2012/8/14 Alexander Kjeldaas alexander.kjeld...@gmail.com: On 13 August 2012 23:49, Richard O'Keefe o...@cs.otago.ac.nz wrote: On 13/08/2012, at 11:26 PM, Alexander Kjeldaas wrote: This isn't that hard

Re: [Haskell-cafe] createProcess running non-existent programs

2012-08-13 Thread Alexander Kjeldaas
This isn't that hard - a pipe shouldn't be needed anymore. Just require a post-2003 glibc. fexecve is a system call in most BSDs. It is also implemented in glibc using a /proc hack. http://www.kernel.org/doc/man-pages/online/pages/man3/fexecve.3.html Apparently, there are proposals/RFCs to

Re: [Haskell-cafe] Exceeding OS limits for simultaneous socket connections

2012-02-07 Thread Alexander Kjeldaas
On 30 January 2012 14:22, Rob Stewart robstewar...@gmail.com wrote: Hi, I'm experiencing the accept: resource exhausted (Too many open files) exception when trying to use sockets in my Haskell program. The situation: - Around a dozen Linux machines running my Haskell program, transmitting

Re: [Haskell-cafe] Cabal issue

2011-12-09 Thread Alexander Kjeldaas
Not what you asked for, but.. Although the documentation looks somewhat cryptic, and I have not use it at all, a nix + cabal option seems to be in the works. Search google for nix haskell. I am guessing that their Hydra continuous build system which is built on top of nix also could do wonders

Re: [Haskell-cafe] Hackage feature request: E-mail author when a package breaks

2011-10-31 Thread Alexander Kjeldaas
On 31 October 2011 17:22, Yitzchak Gale g...@sefer.org wrote: Gregory Crosswhite wrote: could [Hackage] have a feature where when a working package breaks with a new version of GHC the author is automatically e-mailed? This would be nice. However, there would have to be a way for it to

Re: [Haskell-cafe] SMP parallelism increasing GC time dramatically

2011-10-07 Thread Alexander Kjeldaas
I am guessing that it is slowdown caused by GC needing to co-ordinate with blocked threads. That requires lots of re-scheduling to happen in the kernel. This is a hard problem I think, but also increasingly important as virtualization becomes more important and the number of schedulable cores

Re: [Haskell-cafe] Enumeratees are killing me

2011-09-18 Thread Alexander Kjeldaas
I am waiting for a web service where I can enter the type I want to process, the iterator package to use, and which will spit out the types and an example. Then life will be good. Alexander On 16 September 2011 22:46, tsuraan tsur...@gmail.com wrote: Well, I got it working. It seems to

Re: [Haskell-cafe] bitSize

2011-08-29 Thread Alexander Kjeldaas
On 27 August 2011 21:57, Brandon Allbery allber...@gmail.com wrote: On Sat, Aug 27, 2011 at 06:57, Andrew Coppin andrewcop...@btinternet.comwrote: On 26/08/2011 10:51 PM, Steve Schafer wrote: On Fri, 26 Aug 2011 20:30:02 +0100, you wrote: You wouldn't want to know how many bits you need

Re: [Haskell-cafe] Replacing stdin from within Haskell

2011-06-10 Thread Alexander Kjeldaas
On 10 June 2011 06:43, Richard O'Keefe o...@cs.otago.ac.nz wrote: On 10/06/2011, at 1:11 AM, Erik Hesselink wrote: On Thu, Jun 9, 2011 at 13:40, Neil Davies semanticphilosop...@gmail.com wrote: Anyone out there got an elegant solution to being able to fork a haskell thread and replace

Re: [Haskell-cafe] ANNOUNCE: iterIO-0.1 - iteratee-based IO with pipe operators

2011-05-17 Thread Alexander Kjeldaas
On 16 May 2011 21:31, dm-list-haskell-c...@scs.stanford.edu wrote: At Mon, 16 May 2011 10:56:02 +0100, Simon Marlow wrote: Yes, it's not actually documented as far as I know, and we should fix that. But if you think about it, sequential consistency is really the only sensible policy:

[Haskell-cafe] Ur vs Haskell

2011-01-07 Thread Alexander Kjeldaas
I've briefly gone through the Ur demo at http://impredicative.com/ur/demo/ Ur looks very impressive, so the natural question I'm asking myself is: How does it stack up against haskell frameworks, and why can't Ur be implemented in Haskell? I'm thinking mainly of the safety guarantees, not

Re: [Haskell-cafe] Type Directed Name Resolution

2010-11-10 Thread Alexander Kjeldaas
In most imperative languages understanding x.name requires knowledge of the type of x to understand what name refers to. Now with TDNR in Haskell, name x requires knowledge of the type of x to understand what name refers to. As a newcomer, I think some of the coding conventions favored by

[Haskell-cafe] Current thinking on CompositionAsDot issue in haskell prime?

2010-10-28 Thread Alexander Kjeldaas
Hi haskellers. Reading through the Haskell Prime suggestions, one that caught my eye is the CompositionAsDot issue. I'm especially thinking of the Pro issue: * Paves the way for using . as the selection operator in improved record or module systems I think I recognize this issue from common