[Haskell] Job opportunities at Startup - London and Exeter
If you are an experienced developer, have a keen interest in functional programming and would be interested in working at an ambitious, funded, consumer-focused UK startup, please get in touch with me. Our main server-side infra is Haskell-based but we also use Java and Objective-C for the mobile platforms we target. Beyond the obvious technical skills, successful candidates will need focus and determination to get the job done. In return we offer a hugely exciting and challenging working environment, competitive compensation, a great culture (we'll probably try and drag you away from your keyboard and onto a mountain bike) and an experienced management team with a proven track-record. We are looking for developers to be based in London and Exeter. -- Ben Moseley - Programmer b...@benmoseley.net ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
Re: [Haskell] deriving Show for GADT?
Unfortunately, this isn't supported at present. --Ben On 14 Apr 2009, at 05:28, Norman Ramsey wrote: I've got a fairly large GADT for which I wished to use deriving (Show) but I got a mysterious error message: Exp.hs:13:11: Can't make a derived instance of `Show (Exp a)' (`Exp' has non-Haskell-98 constructor(s)) In the data type declaration for `Exp' This is from GHC. Does anybody know a compiler option or other trick that will coax the compiler into producing a Show instance. (I know I can write one by hand, but I'd rather not bother.) Norman ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
Re: [Haskell] Abusing quickcheck to check existential properties
> there are similar > scenarios on which I've already given up in despair, such as writing a > generator for creating well-typed terms in a nontrivial language. This is something I've also struggled with. I'm coming to the conclusion that it'd really be useful for the "Gen" monad to be parameterizable with some user state, or maybe even be made into a transformer. The only alternative really seems to be passing around the extra information manually between generator-creation functions, and this quickly gets to be a pain. For me this is probably the most serious short-coming of QuickCheck. --Ben On 14 Oct 2008, at 23:36, Norman Ramsey wrote: But how do I use QuickCheck to check an existential? The "standard" method in QuickCheck is to be constructive, and actually implement the function that constructs for the value. So, instead of forAll x . exists y . P(x,y) you write forAll x . P(x, find_y(x)) Interesting. For A-E properties I can see where this approach would be helpful, especially if it's not too hard to think of a good skolem function. In my case x is empty and so I'm left with 'find a y such that P(y)' or a bit more exactly 'find an x in the four-dimensional unit cube such that 0.9 < f(x)' I've already written f and I'd really rather not write f-inverse; I want the computer to do some of the work for me. So perhaps SmallCheck would be a better way to go. It does seem a pity, as almost all the QuickCheck machinery would be useful in such a search. On the other hand there are similar scenarios on which I've already given up in despair, such as writing a generator for creating well-typed terms in a nontrivial language. Anyway, thanks for suggesting a skolem function---I'm sure I'll find use for one sooner or later. Norman ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
[Haskell] Re: Making Haskell more open
Simon Peyton-Jones microsoft.com> writes: > ... And avoid > getting screwed up by malicious folk? > Probably the biggest example of this type of thing working well on a large scale is Wikipedia. I'm not intimately familiar with the process they use, but I believe there are a number of people who regularly review all the "Recent Changes" and undertake to 'undo' any malicious/inaccurate modifications. Having something that is more open like this could be incredibly useful. ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell