[Haskell] Job opportunities at Startup - London and Exeter

2013-11-08 Thread Ben Moseley
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?

2009-04-13 Thread Ben Moseley

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

2008-10-14 Thread Ben Moseley

> 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

2005-11-10 Thread Ben Moseley
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