Re: [Haskell-cafe] librar...@haskell.org (was: GHC and backwards compatibility)

2013-08-19 Thread Joe Quinn

On 8/19/2013 2:43 PM, Ketil Malde wrote:

Joe Q headprogrammingc...@gmail.com writes:


This is definitely an issue with the array package not setting the right
minimum versions. You should email the maintainer.

Yes, that would be the thing to do, except that the maintainer is
librar...@haskell.org, whom I believe does not accept emails from me.
:-(

But if you (or anybody else) subscribes to the list, perhaps you could
forward?

In any case, one of the dependencies uses Stringable, which means that a
newer GHC is probably still required.

-k


The libraries@ address is just a mailman list. Perhaps it should be set 
to allow non-subscribers to post. Not allowing the general public to 
email the posted maintainer of the standard library is ridiculous.


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Alternative name for return

2013-08-07 Thread Joe Quinn

On 8/7/2013 11:00 AM, David Thomas wrote:

twice :: IO () - IO ()
twice x = x  x

I would call that evaluating x twice (incidentally creating two 
separate evaluations of one pure action description), but I'd like to 
better see your perspective here.


x is only evaluated once, but /executed/ twice. For IO, that means 
magic. For other types, it means different things. For Identity, twice = id!
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] ANNOUNCE: tasty, a new testing framework

2013-08-05 Thread Joe Quinn

On 8/5/2013 2:48 PM, Roman Cheplyaka wrote:

I am pleased to announce the first release of tasty, a new testing
framework for Haskell. It is meant to be a successor to test-framework
(which is unmaintained).

Tasty supports HUnit, SmallCheck, QuickCheck, and golden tests out of
the box (through the standard packages), but it is very extensible, so
you can write your own test providers.

Please see the home page for more information:
http://documentup.com/feuerbach/tasty

Roman

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Will tasty be available through yum?

*ducks*
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Question about Newtype op() function arguments.

2013-06-07 Thread Joe Quinn

On 6/7/2013 4:51 PM, Tom Ellis wrote:

On Fri, Jun 07, 2013 at 04:05:09PM -0400, Joe Q wrote:

The phantom parameter solves the same problem as scoped type variables.
Granted, if you find yourself in that kind of polymorphic soup you have
deeper problems...

I don't understand this.  Scoped type variables are used when you want to
use a type variable from the top level within the body of a function.  If
you use op and specify a particular constructor then you don't have a
variable but a concrete instance of a type.  But maybe I'm missing some more
powerful way this can be used ...

Tom


You can use scoped type variables to correct an ambiguous type error.

You can think of op as a variation on asTypeOf, as documented here on 
http://www.haskell.org/haskellwiki/Scoped_type_variables#Avoiding_Scoped_Type_Variables.


If I tried to come up with an example that's specific to op, it would 
only be horribly contrived.


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Hackage checking maintainership of packages

2013-05-05 Thread Joe Quinn
And we can have something on hackage that does this check automatically! 
And we can put unmaintained in the description! And then we can leave 
it unmaintained!


Unmaintained should have its own flag, I think...

On 5/5/2013 2:28 PM, Petr Pudlák wrote:

I'd say:
- If a package has UNMAINTAINED (perhaps also DEPRECATED?) somewhere 
in its title/description, don't do anything.
- Otherwise if the package hasn't been updated for past 3 months, send 
a quarterly reminder (including the information under what conditions 
the reminder is sent).




2013/5/5 Doug Burke dburke...@gmail.com mailto:dburke...@gmail.com


On May 5, 2013 7:25 AM, Petr Pudlák petr@gmail.com
mailto:petr@gmail.com wrote:

 Hi,

 on another thread there was a suggestion which perhaps went
unnoticed by most:

 -- Forwarded message --
 From: Niklas Hambüchen m...@nh2.me mailto:m...@nh2.me
 Date: 2013/5/4
 ...
 I would even be happy with newhackage sending every package
maintainer a
 quarterly question Would you still call your project X
'maintained'?
 for each package they maintain; Hackage could really give us better
 indications concerning this.


 This sounds to me like a very good idea. It could be as simple
as If you consider yourself to be the maintainer of package X
please just hit reply and send. If Hackage doesn't get an answer,
it'd just would display some red text like This package seems to
be unmaintained since D.M.Y.

 Best regards,
 Petr


For those packages that give a repository, a query could be done
automatically to see when it was last updated. It's not the same
thing as 'being maintained', but is less annoying for those people
with many packages on hackage.

Doug




___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Looking for portable Haskell or Haskell like language

2013-04-27 Thread Joe Quinn
If you are feeling brave, you can also bootstrap GHC. For operating 
systems that are already supported, it should not be too hard.
Last time I tried on a fresh install of Debian, the process was to 
install the dependencies, and then something like this:


sh configure
make
make install

Disclaimer: this was with 7.4.1, which was a while ago. I don't remember 
if that's all there was to it.


On 4/27/2013 7:12 AM, Daniel Fischer wrote:

On Saturday 27 April 2013, 19:18:35, Andrew Cowie wrote:

On Fri, 2013-04-26 at 21:21 -0800, Christopher Howard wrote:

Hi. I've got this work situation where I've got to do all my work on
/ancient/ RHEL5 systems, with funky software configurations, and no root
privileges. I wanted to install GHC in my local account, but the gnu
libc version is so old (2.5!) that I can't even get the binary packages
to install.

Silly question, but have you tried *building GHC from source*?

Building GHC is non-trivial, but basically boils down to having an
existing ghc that runs enough to bootstrap, right? So you can take a
(quite old, sure, no problem) ghc out of the RHEL 5 repositories and use
that to build a current GHC 7.6 say.

It's not quite as convenient as that, since you need a new enough GHC to build
7.6 (not sure which version is required).

So you'd probably need to build one or two intermediate GHCs from source,
depending on what you can directly install.

Building from source isn't so difficult, you need a gcc, you need to install
happy and alex (sufficiently old versions for the start, install the newest
versions before you build the final GHC), and of course a working GHC.

./configure --prefix=$HOME
(or where you want to install GHC)
make  make install

You then have a lot of time to drink tea.


That _would_ be linked against whatever library stack you have present,
and you should be ok from there.


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe



___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Why were datatype contexts removed instead of fixing them?

2013-04-25 Thread Joe Quinn
From what I have heard, they are completely subsumed by GADTs, which is 
a stable enough extension that it was considered unimportant to save.


Your Foo would be something like this:

data Foo a where
  Foo :: Eq a = a - Foo a


On 4/25/2013 6:38 AM, harry wrote:

If I understand correctly, the problem with datatype contexts is that if we
have e.g.
   data Eq a = Foo a = Foo a
the constraint Eq a is thrown away after a Foo is constructed, and any
method using Foos must repeat Eq a in its type signature.

Why were these contexts removed from the language, instead of fixing them?

PS This is following up on a discussion on haskell-beginners, How to avoid
repeating a type restriction from a data constructor. I'm interested in
knowing whether there's a good reason not to allow this, or if it's just a
consequence of the way type classes are implemented by compilers.


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe



___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] ANN: Nomyx 0.1 beta, the game where you can change the rules

2013-03-01 Thread Joe Quinn

On 2/28/2013 11:17 PM, Chris Wong wrote:

On Wed, Feb 27, 2013 at 8:37 AM, Corentin Dupontcorentin.dup...@gmail.com
wrote:

Hi Chris,
Thanks!
That's true for the user number. What should I do? Encrypt it?


It's not that you have a user number, or even that it's accessible: it's
that it's the entirety of access control, meaning that if the user changes
it they can masquerade as another user. The correct solution is that a user
should authenticate, which creates a session hash that you stash away and
also send back to the user as a cookie so the browser will present it on
accesses. Then you check that the presented hash is there and matches the
session hash. These should expire periodically, requiring the user to log
back in again.
Additionally, you can change the session hash with every page hit, to 
some other totally random hash. If someone steals your session, they had 
better act on it immediately, lest you visit another page and it changes 
completely. If your session gets hijacked, you get logged out. When you 
log in again the attacker loses access.


You can also check sessions by the hash and IP address. That has 
usability concerns though. Even if players never switch machines in the 
middle of a game, suppose you are playing on a cell phone and your train 
goes through a tunnel. When you reconnect, your provider gives you a 
different IP and you are logged out.


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe