Re: [Haskell-cafe] (+) on two lists ?

2013-02-15 Thread brandon s allbery kf8nh
Note also that typeclasses are open, so ghc is not allowed to say that there is 
no instance of Num for lists there; it will happily infer a type which requires 
such an instance, and only when it needs to firm down to concrete types at some 
point will it notice that there's no such instance in scope.  (I think some 
such instances do exist, in fact, in various programs.)  Just to make things 
more interesting, numeric literals are not sufficient to make it think 
otherwise because of the implicit fromIntegral / fromRational, which a Num 
instance for lists would need to supply at the appropriate type.

FlexibleContexts is because the Haskell standard is extremely pedantic about 
the form that typeclass instances and contexts may take; I think if you had 
written it as (Num ([] a)) it would have passed without an extension.  On the 
one hand, it's something of an irritation; on the other, it *does* help to 
catch thinkos like the above. 

-- 
brandon s allbery kf8nh
Sent with Sparrow (http://www.sparrowmailapp.com/?sig)


On Friday, February 15, 2013 at 2:33 AM, sheng chen wrote:

> Hi,
> 
> I was puzzled by the following little program.
> 
> sum' [] = []
> sum' (x:xs) = x + sum' xs
> 
> I thought the GHC type checker will report a type error. However, the type 
> checker accepts this program and gives the type 
> 
> Num [a] => [[a]] -> [a]
> 
> When I add type annotation to the program
> 
> sum' :: Num [a] => [[a]] -> [a]
> sum' [] = []
> sum' (x:xs) = x + sum' xs
> 
> The GHC asks me to add FlexibleContexts language extension.
> 
> I would appreciate explanation on this issue.
> 
> Thanks,
> Sheng
> ___
> Haskell-Cafe mailing list
> Haskell-Cafe@haskell.org (mailto: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] performance question

2013-02-14 Thread brandon s allbery kf8nh
It's worth remembering that the main gain from lex/yacc had originally to do 
with making the generated programs fit into 64K address space on a PDP11 more 
than with any direct performance efficiency.

-- 
brandon s allbery kf8nh
Sent with Sparrow (http://www.sparrowmailapp.com/?sig)


On Thursday, February 14, 2013 at 6:27 PM, David Thomas wrote:

> (I'll be brief because my head is hurting, but please don't interpret that as 
> an intent to offend)
> 
> A few points:
> 
> 1) Capture groups are all you need to do some meaningful interpretation of 
> data; these were around long before perl.
> 
> 2) Yacc is typically used in conjunction with lex, partly for (a) efficiency 
> and partly for (b) ease of use (compared to writing out [a-z] as production 
> rules).
> 
> 3) I've actually used lex without yacc (well, flex without bison) when faced 
> with dealing with a language that's regular (and easy enough to express that 
> way - cf. an enormous finite subset of a context-free language).
> 
> 
> 2b is mostly irrelevant in Haskell, as Parsec already provides functions that 
> can easily match the same things a regexp would.
> 
> 2a, if it stands up to testing, is the best argument for ripping things apart 
> in Haskell using a DFA.  Parsec and cousins are efficient, but it's hard to 
> beat a single table lookup per character.  The questions are 1) is the 
> difference enough to matter in many cases, and 2) is there a way to get this 
> out of parsec without touching regexps?  (It's not impossible that parsec 
> already recognizes when a language is regular, although I'd be weakly 
> surprised).
> 
> 
> 
> 
> 
> On Thu, Feb 14, 2013 at 3:07 PM, wren ng thornton  (mailto:w...@freegeek.org)> wrote:
> > On 2/13/13 11:18 PM, wren ng thornton wrote:
> > > On 2/13/13 11:32 AM, Nicolas Bock wrote:
> > > > Since I have very little experience with Haskell and am not used to
> > > > Haskell-think yet, I don't quite understand your statement that
> > > > regexes are
> > > > seen as foreign to Haskell-think. Could you elaborate? What would a more
> > > > "native" solution look like? From what I have learned so far, it seems 
> > > > to
> > > > me that Haskell is a lot about clear, concise, and well structured
> > > > code. I
> > > > find regexes extremely compact and powerful, allowing for very concise
> > > > code, which should fit the bill perfectly, or shouldn't it?
> > > 
> > > Regexes are powerful and concise for recognizing regular languages. They
> > > are not, however, very good for *parsing* regular languages; nor can
> > > they handle non-regular languages (unless you're relying on the badness
> > > of pcre). In other languages people press regexes into service for
> > > parsing because the alternative is using an external DSL like lex/yacc,
> > > javaCC, etc. Whereas, in Haskell, we have powerful and concise tools for
> > > parsing context-free languages and beyond (e.g., parsec, attoparsec).
> > 
> > 
> > Just to be clear, the problem isn't that proper regexes are only good for 
> > regular languages (many files have regular syntax afterall). The problem is 
> > that regexes are only good for recognition. They're an excellent tool for 
> > deciding whether a given string is "good" or "bad"; but they're completely 
> > unsuitable for the task of parsing/interpreting a string into some 
> > structure or semantic response. If you've ever used tools like yacc or 
> > javaCC, one of the crucial things they offer is the ability to add these 
> > semantic responses. Parser combinator libraries in Haskell are similar, 
> > since the string processing is integrated into a programming language so we 
> > can say things like:
> > 
> > myParser = do
> > x <- blah
> > guard (p x)
> > y <- blargh
> > return (f x y)
> > 
> > where p and f can be an arbitrary Haskell functions. Perl extends on 
> > regular expressions to try and do things like this, but it's extremely 
> > baroque, hard to get right, and impossible to maintain. (N.B., I was raised 
> > on Perl and still love it.) And at some point we have to call into question 
> > the idea of regexes as an embedded DSL when we then turn around and try to 
> > have Perl be a DSL embedded into the regex language.
> > 
> > One of the big things that makes regexes so nice is that they identify 
> > crucial combinators like choice and repetition. However

Re: [Haskell-cafe] 64-bit vs 32-bit haskell platform on Mac: misleading notice on Platform website?

2012-10-08 Thread brandon s allbery kf8nh
On Monday, 8 October 2012 at 06:28, Christiaan Baaij wrote:
> ghci: segfault
> ghci from gdb: everything works

This makes me suspect something that gets disabled when debugging, such as 
address space randomization and the like.  I did not think ML handled that any 
differently from Lion, though. 

-- 
brandon s allbery kf8nh   sine nomine associates
allber...@gmail.com  ballb...@sinenomine.net
unix/linux, openafs, kerberos, infrastructure  http://sinenomine.net


Sent with Sparrow (http://www.sparrowmailapp.com/?sig)

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


Re: [Haskell-cafe] Those damned parentheses

2011-05-07 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 5/7/11 15:10 , Eitan Goldshtrom wrote:
> I get the error "Couldn't match expected type `[Char]' with actual type `a0
> -> c0'". The only way it seems to work is
> f p = putStrLn $ (show (Main.id p)) ++ " - message received"

Interestingly enough, you have the correct answer in there as well:  "$"

> f p = putStrLn $ (show $ Main.id p) ++ " = message received"

You may also want to look into Control.Applicative.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]allber...@gmail.com
system administrator  [openafs,heimdal,too many hats]kf8nh
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk3FmykACgkQIn7hlCsL25X9cQCeM2leHUslCJWW1GIFKtt5Dw9P
gFoAn1DbWu9QO89062Dx6hMIPRNq6siU
=P2Zz
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] ANN: Leksah 0.10.0

2011-04-26 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 4/26/11 09:15 , Daniel Fischer wrote:
> On Tuesday 26 April 2011 02:00:32, jutaro wrote:
>> Well, it is a bit more intricate to invert the sides. After
>> * swapping LeftP and RightP in Edit Prefs -> Initial Pane positions
>> * Close all panes and pane groups. (You may leave an editor window open,
>> so that you better see what happens in the next steps).
>> * Collapse all (Hit Ctrl-1 - 2 times)
>> * Split vertical (Hit Ctrl-2), put the focus to the left, split
>> horizontal (Hit Ctrl-3)
>> * Go to Panes Menu and reopen the Log and the Browser and an editor
>> Window * Configure tabs as you like
>> * Save the session or restart Leksah
> 
> Intricate indeed. If some day you have too much time, consider adding 
> configuration options for that. Until then, how about putting that in the 
> docs?

How about a "layout editor" mode where you can drag panes around,
double-click somewhere to split at that point (hold shift for horizontal
split, maybe?), and a window palette to drag windows into panes?

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]allber...@gmail.com
system administrator  [openafs,heimdal,too many hats]kf8nh
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk23VXoACgkQIn7hlCsL25X/0gCgpKLaNqOeHbgO8D4ZQ38y1EQV
ZisAnik6XZHVPGs3k50xGZ+MEJCaAfZC
=P0vf
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] DSL for task dependencies

2011-03-23 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 3/18/11 00:43 , Conal Elliott wrote:
> Speaking of which, for a while now I've been interested in designs of
> make-like systems that have precise & simple (denotational) semantics with
> pleasant properties. What Peter Landin called "denotative" (as opposed to
> functional-looking but semantically ill-defined or intractable).
> 
> Norman Ramsey (cc'd) pointed me to the Vesta
>  system
> from DEC SRC. If anyone knows of other related experiments, I'd appreciate
> hearing.

Back in the late 1980s there were several attempts at this kind of thing;
the ones that stick in my mind are Shape[1] and Cake[2].  Their
declarative/denotative abilities were primitive at best, but they helped
shape further development and I find these papers often cited in later research.

[1]
http://citeseer.ist.psu.edu/viewdoc/download;jsessionid=30B4EC21BAD13166AFBEBB20246221B8?doi=10.1.1.55.6969&rep=rep1&type=pdf
(http://tinyurl.com/4l79vg4)
[2] http://www.cs.mu.oz.au/~zs/papers/cake.ps.gz

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]allber...@gmail.com
system administrator  [openafs,heimdal,too many hats]kf8nh
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk2Khm0ACgkQIn7hlCsL25X+lgCeP4U8lUcVOvLKQQVcmbAhLT11
dvMAoIabif8gGlsLKnvg0e3ZKqgVpPVn
=ApVq
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] X11 package bug: XClientMessageEvent long data

2011-03-17 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 3/16/11 00:10 , Dylan Alex Simon wrote:
> Does anyone know the current maintenance status of the X11 package?  I emailed
> Spencer Janssen a number of months ago and never heard back.  So, I'll put
> this here in case any one else runs into it or can get it to the right place.
> 
> This is a proposed bug fix for a problem I ran into using xmonad client
> messages to send remote commands on 64LP architectures (i.e., amd64), wherein
> the C X11 library and Haskell's disagree about the size of client message
> arguments.
> 
> Tue Nov 16 23:41:49 EST 2010  Dylan Simon 
>   * change XClientMessageEvent long data
>   
>   The XClientMessageEvent.data.l field is actually a long, not an int, so it 
> must
>   be interpreted as such, even though format is set to 32 in this case.
>   Ostensibly this is an Xlib bug, but it is unlikely to be fixed there.

I believe it's documented behavior (in XLib).  In any case, that's only one
of several problems with client messages (and properties).  It's on the
list... somewhere.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]allber...@gmail.com
system administrator  [openafs,heimdal,too many hats]kf8nh
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk2CiEoACgkQIn7hlCsL25XezACdH8w+tE7FveanJvA8s/1RQQQD
SVEAnA88zbzt+1dRzMR7Maq7H4kLEVBg
=Hb3q
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] writing to a fifo when the reader stops reading

2011-03-13 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 3/13/11 03:16 , bri...@aracnet.com wrote:
> ghc: fdWriteBuf: resource vanished (Broken pipe)
> 
> which make sense, sort of.  I write a value, let's say 10, and the
> reader reads it.  It's the last value so it "closes" the fifo.
> 
> Now there's nothing reading, so when I get to threadWaitWrite, I would
> expect the program to wait, just as it does when it starts up and there
> is no reader.

FIFOs don't work that way; like a regular pipe, once all readers go away it
doesn't work any more.  You need to open it read-write initially to keep a
reader around.  Haskell has no control over this:  it's how they're defined
to work.

In general, trying to use a FIFO like an AF_UNIX socket is a mistake.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]allber...@gmail.com
system administrator  [openafs,heimdal,too many hats]kf8nh
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk19tqkACgkQIn7hlCsL25VxGwCgsInAy4YJhOA2Ca/tQTRd0Cjs
NmAAn2hjqtQm0/eZXVoLM8GMCMv+yxR4
=SDd8
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] groupBy huh?

2011-03-03 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 3/3/11 20:09 , Jacek Generowicz wrote:
>> 1 < 2 ok, same group
>> 1 < 3 dito
>> 1 < 2 dito
>> Thus you get [[1,2,3,2]]
> 
> OK, that works, but it seems like a strange choice ...

Stability is often valued in functions like this:  the order of elements is
not altered.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]allber...@gmail.com
system administrator  [openafs,heimdal,too many hats]kf8nh
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1wPPIACgkQIn7hlCsL25WF3ACfZrwM2OxutJZgadhaSCcpjoEv
Bg4AnA+V/H3tfCovwwnw8qrlaw5I92C4
=WJev
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] upgrading mtl1 to mtl2

2011-02-17 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 2/16/11 00:51 , Evan Laforge wrote:
> On Tue, Feb 15, 2011 at 7:58 PM, Ivan Lazar Miljenovic
>  wrote:
>> On 16 February 2011 14:46, Evan Laforge  wrote:
>>> I just got started on this because packages are starting to use mtl2.
>>> I had hoped it would be simple, and hopefully it is, but...
>>>
>>> Do I really have to add (Functor m) to the 300 or so functions with
>>> (Monad m) on them?  Or just not use fmap or applicative?
>>
>> Use liftM instead of fmap if all of your functions are polymorphic in
>> the type of Monad and you don't want to bother putting in the Functor
>> constraint.
> 
> There are hundreds of 'fmap's in there too.  And even more <$>s and a
> scattering of <*>s.  And... these functions are convenient!  I like
> using them.  If "upgrading" to mtl2 means porting away from Functor
> and Applicative... then that's even less of a "minor incompatibility"!
>  At least the class context mangling can be mostly done with search
> and replace.
> 
>>> Says that the only benefit of 'transformers' is that it's "haskell 98
>>> and thus more portable," but doesn't that come with the caveat that
>>> "only if you don't use classes and do all the lifting manually"?
>>
>> Yes, but some people don't want the extensions.
> 
> Ok, so does that mean the migration to transformers so mtl could be
> deleted is cancelled?  Or was rendered obsolete by mtl-2?  Or maybe I
> was imagining it?  I think minimal extensions is a worthy goal, but
> you can hardly position Y as "the next step" for X when all it is is X
> minus features that people still like...

Yes; as I understand it, mtl2 is transformers + monad-fd, and the standard
upgrade path is to go to mtl2.  monads-tf is expected to eventually replace
monads-fd, but it's not a near future change (for one thing, type families
are still being figured out; see the recent thread about injective type
functions as an example).  It was decided that the mtl2 route would be
easier than forcing people to replace mtl with transofrmers + monads-fd.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]allber...@gmail.com
system administrator  [openafs,heimdal,too many hats]kf8nh
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1dtWMACgkQIn7hlCsL25WPFwCaA8MbZYbZr/gQ9pa/ttj/E5a0
pTgAoIZ9LMNuq4o7arXmTUZa5qTUFjx4
=NLta
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] On hGetContents semi-closenesscloseness

2011-02-15 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

(I'm probably glossing over important stuff and getting some details wrong,
as usual, but I hope it's good enough to give some idea of what's going on.)

On 2/15/11 11:57 , Rafael Cunha de Almeida wrote:
> What state is that? It seems to be something related to Haskell. I
> couldn't find a definition for it in the unix documentation I have
> laying around.

Yes, it's specific to Haskell's runtime; if you have a handle being read
lazily "in the background" (see unsafeInterleaveIO), trying to use it "in
the foreground" is problematic.  Specifically, which call(s) should get the
data?

> entirely consumed that the descriptor gets closed. Is hGetContents responsible
> for closing the descriptor? Or is it the garbage collector? Who closes the
> descriptor when the contents are read? Looking at hGetContents function

The garbage collector closes the handle, as I understand it.

> openFile "foo" ReadMode >>= \handle -> (hGetContents handle >>= (\s -> hClose 
> handle >> putStr s)) [2]

This is a classic example of the dangers of hGetContents (and, more
generally, of unsafeInterleaveIO).  In general, you should use lazy I/O only
for "quick and dirty" stuff and avoid it for serious programming.  You can
get many of the benefits of lazy I/O without the nondeterminacy by using
iteratee-based I/O (http://hackage.haskell.org/package/iteratee).

The usual way to deal with this is to force the read in some way, usually by
forcing evaluation of the length of the data (let s' = length s in evaluate
$ s' `seq` s' -- or something like that).

> The question most people doesn't have a good answer is: when does
> Haskell thinks it is necessary to do something?

Haskell is actually what manufacturing folks call "just in time"; things are
evaluated when they are needed.  Usually this means that when you output
something, anything needed to compute that output will be done then.  The
exceptions are things like Control.Exception.evaluate (which you can treat
as doing output but without *actually* outputting anything), mentioned
above, plus you can indicate that some computation must be evaluated before
another by means of Prelude.seq.  You can also declare a type as being
strict by prefixing an exclamation mark (so the runtime will always evaluate
a computation before binding it), and with the BangPatterns extension you
can also declare a pattern match binding as strict the same way.

Be aware that in most cases, evaluating a computation takes it to "weak head
normal form", which means that (as one would expect from a lazy language)
only the minimum amount of evaluation is done.  If nothing else forces
evaluation, this means that the computation is evaluated to the point of its
top level constructor and no further.  You can think of it this way:  all
expressions in Haskell are represented by "thunks" (little chunks of code),
and evaluation replaces the outermost thunk in an expression with the result
of running it.  So if we have an expression

@(@[@a,@b],@(Foo @(Bar @d)))

(where a @ precedes a sub-expression which is unevaluated/a thunk), WHNF
removes the outermost (leftmost, here) @ by evaluating the tuple constructor
while leaving the elements of the tuple unevaluated.  If you need to force
evaluation in other ways, take a look at Control.DeepSeq
(http://hackage.haskell.org/package/deepseq).

The upshot of the above is that you can determine the order of evaluation by
working backwards from output computations.  It may be a partial ordering,
because when there are multiple independent computations required by another
computation, the order in which they are evaluated is undefined.  In
practice, this is usually unimportant because in pure code there is by
definition no difference between evaluation order in those cases (this is
technically called "referential integrity"); but when unsafeInterleaveIO is
used (as with hGetContents), it allows pure code to behave indeterminately
(it violates referential integrity).  This is why it is "unsafe" (and why
hGetContents is thereby unsafe), and why mechanisms like
Control.Exception.evaluate and seq are provided.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]allber...@gmail.com
system administrator  [openafs,heimdal,too many hats]kf8nh
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1azs4ACgkQIn7hlCsL25XlBwCg0dxc4pElXfFGNRh7m1Vezva4
dgQAnjIxlJhwTn2JBto005KfRSpc2Svr
=sQo7
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] Is Show special? Of course not but...

2011-02-12 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 2/11/11 14:20 , Cristiano Paris wrote:
> God! It seems like I'm reading the small-character lines of a contract :)

Wait until you encounter the equivalent of rules-lawyering in the type system :)

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]allber...@gmail.com
system administrator  [openafs,heimdal,too many hats]kf8nh
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1XTzAACgkQIn7hlCsL25U+RACgzzqpTAJLum60odY8dpOi6dGQ
kyIAnRp5cM3QbrkzYu7OzTQgOzeXWdXw
=P20S
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] Proving correctness

2011-02-12 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 2/11/11 06:06 , C K Kashyap wrote:
> I've come across this a few times - "In Haskell, once can prove the
> correctness of the code" - Is this true?

Only up to a point.  While most of the responses so far focus on the
question from one direction, the other is epitomized by a Knuth quote:

"Beware of bugs in the above code; I have only proved it correct, not tried it."

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]allber...@gmail.com
system administrator  [openafs,heimdal,too many hats]kf8nh
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1XRLkACgkQIn7hlCsL25XbNgCfSifYHygWPmG6UJUZZzeVXZWd
+fYAn1Tv1IJlt6H8R4t6TxSKX1h3xwQG
=AdfB
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] coding style vs. foreign interfaces

2011-02-07 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 2/7/11 12:36 , Donn Cave wrote:
> I don't know the OpenGL example, but I gather you're talking about
> an API that's different in a practical way, not just a thin layer
> with the names spelled differently.  In that case, assuming that
> it really is more Haskell-functional-etc, vive la difference!  No
> one would argue with this, I think.

Usually the low level one is merely a thin layer, whereas the high level one
is more than just Haskell conventions but a proper Haskell-style API, using
e.g. monads instead of opaque state blobs.

> helpfully reveals the actual POSIX 1003.1 function names, but
> try for example to figure out what has become of the the fairly
> commonly used "ICANON" flag, without looking at the source.
> If you're hoping that in the course of time a significantly
> functionally designed API will come along for any of these things,
> note that names it might have used are already taken.

+1.  The stuff that's a thin wrapper, such as System.Posix.*, should keep
names as close to the API it's mirroring as possible; if you want to rename
them, do it in the context of an actual Haskell API.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]allber...@gmail.com
system administrator  [openafs,heimdal,too many hats]kf8nh
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1QiYsACgkQIn7hlCsL25UZ4gCgrS2vGDNqk0QPyPB9+ZVCCYHi
oBsAnA5XJyHSozeEny+xlnNcL+K5ZfAy
=AfVP
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] Problems with iteratees

2011-02-03 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 2/3/11 19:16 , Brandon S Allbery KF8NH wrote:
> POSIX FIFOs and GHC's nonblocking file descriptors implementation don't play
> well together; you should launch the writer end first and let it block

More specifically, I think what's happening here is that a non-blocking
open() of a FIFO returns with the fd not actually open yet, a situation
which isn't expected, and a blocking open will block until the other side is
opened.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]allber...@gmail.com
system administrator  [openafs,heimdal,too many hats]kf8nh
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1LRf4ACgkQIn7hlCsL25V8dQCgjD+pLVt9LbyqRJ8VYeF8XuLt
ieQAoJl/3ws1hh8OJtrjVTyPx9gDRGgW
=EcXI
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] Problems with iteratees

2011-02-03 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 2/2/11 20:06 , wren ng thornton wrote:
> When I put this all together, the process is killed with:
> control message: Just (Err "endOfInput")

POSIX FIFOs and GHC's nonblocking file descriptors implementation don't play
well together; you should launch the writer end first and let it block
waiting for the reader, or you should switch to opening the FIFO r/w and add
a control message for end-of-stream (the usual way to work with FIFOs).

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]allber...@gmail.com
system administrator  [openafs,heimdal,too many hats]kf8nh
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1LRWYACgkQIn7hlCsL25UhiwCePaEpZM0wlKRabmOT0SV7UKbP
Bc8AnRs+QTl59Cn9JRWUfNE1MBGv0X1S
=Fvqe
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] Loading bitmap with xlib

2011-02-02 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 2/2/11 04:03 , Francesco Mazzoli wrote:
> Conrad Parker  metadecks.org> writes:
>> On 31 January 2011 21:40, Francesco Mazzoli  mazzo.li> wrote:
>>> Francesco Mazzoli  mazzo.li> writes:
>>> At the end I gave up and I wrote the function myself:
>>> http://hpaste.org/43464/readbitmapfile
>>
>> cool ... the listed maintainer for the Xlib bindings is
>> libraries  haskell.org. Perhaps you could prepare a patch and send it
>> there? (does anyone know if there is an actual maintainer?)
>>
> I will send a patch, but I'm sure there must be a reason behind the
> fact that those functions were not included, even if I can't see it.

Pretty much what the comment says.  Graphics.X11 was never really a complete
set of bindings, just what people needed at the time.  The "Extras" stuff in
there was driven by xmonad development, for example (and named so because
originally it was a separate library before it got folded in, so the module
names were difficult to change while maintaining compatibility).  Dealing
with structs in the FFI is painful enough that I can easily imagine someone
saying "we don't need those, let someone else figure it out" --- which you
have done.  Patch away.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1Jq9cACgkQIn7hlCsL25XaJgCfc+CCngSmZlL9JOeZ21vZwkBO
BHkAn128z1dH2entJKEfH6pKJ2Y7qW4w
=LOMj
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] Inheritance and Wrappers

2011-01-31 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 1/31/11 15:24 , Daniel Fischer wrote:
> want. You could then also enable OverlappingInstances, which would allow 
> you to write other instances, but that extension is widely regarded as 
> dangerous (have to confess, I forgot what the dangers were, one was that 
> instance selection doesn't always do what you want/expect).

Instance selection will still not look at the context, so multiple instances
would complain about needing IncoherentInstances, and if you add *that* then
it does something like taking the first matching instance it finds (again,
ignoring the context completely).

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1HHNMACgkQIn7hlCsL25XFYgCgqLWUoZzYrZO54ydDY9kTa9RT
3VAAn0WgJzeWO5vvO4QP1pkEYL5tzxYB
=+6Pz
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] A few days to go before the old server goes down

2011-01-30 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 1/31/11 00:04 , Antoine Latter wrote:
> On Sun, Jan 30, 2011 at 5:38 PM, Aaron Gray  
> wrote:
>> On 27 January 2011 22:42, Henk-Jan van Tuyl  wrote:
>>> Only four days until the old Haskell.org server disappears; I found the
>>> following missing:

For what it's worth, the Internet Wayback Machine (http://web.archive.org)
seems to have much if not all of the old haskell.org, so it will continue to
be available even after the real server vanishes.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1GRmEACgkQIn7hlCsL25WMkACeMPs/UOD2FZdA5zxs+a5pd7Mu
IccAmwYwX1BzfJxqPD8jWZypR3a7R6Ld
=g9fD
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] Automatically move cursor focus in split window in haskell-mode in emacs on load (C-c C-l) command?

2011-01-30 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 1/30/11 12:13 , JETkoten wrote:
>> ;Default behaviour is to always
>> jump to the GHCi window.
>> ;Jump back automatically unless errors.
>> (defadvice haskell-ghci-load-file
>> (after name)
>>   (other-window 1))
>> (ad-activate 'haskell-ghci-load-file t)
>>
> I tried various combinations of moving the various lines around and nothing
> works. Is the indentation significant in elisp?

Aside from the comments, wich go to end of line but got broken in this case,
no; all that matters is the parens.  I suspect it may depend strongly on
what version of emacs you're running though.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1GDB8ACgkQIn7hlCsL25XwUwCfTYktCZ2WuayLprACS79LS8gG
td4AnR5WygspwmARIUUeNRm9E++cHOMa
=1r0X
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] Code from Haskell School of Expression hanging.

2011-01-29 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 1/29/11 21:27 , michael rice wrote:
> I'm using the OpenGL stuff (GLFW). Same set of problems?

None of the lower level libraries support multithreading.  If any of those
libraries use FFI bindings that run in a bound thread, they'll fail in the
threaded runtime.  gtk2hs was modified to allow ghci to work, IIRC.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1FDIkACgkQIn7hlCsL25V6twCgn5JcK8Y0yerY5EkiyJyULOeM
6sYAoLkj8JS/CfquHfHCzl3DbGPKAhgo
=Ybo6
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] Haskell for children? Any experience?

2011-01-29 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 1/30/11 00:24 , Brandon S Allbery KF8NH wrote:
> Isn't there already a body of evidence that people who've never been exposed
> to procedural languages find functional programming to be much more natural?

Also worth pointing out is that kids get math flash cards early, at least
here in the US; while they're obviously trivial, they're still both
equational and algebraic.  So they're very probably already used to that
meaning, and systems of equations and ADTs are actually fairly easy jumps.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1E92EACgkQIn7hlCsL25WsWwCcDyoxsulKYstH2bXdeUBu/RB0
3A4AoL59wMMxMsSt032bXQ0ceQ+TDJUB
=amOK
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] Haskell for children? Any experience?

2011-01-29 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 1/27/11 10:28 , aditya siram wrote:
> Haskell's immutability is good for mathematics but doing anything else
> takes a great deal of up-front patience and perseverance, two very
> rare qualities in that demographic if my own childhood is any
> indication.

Isn't there already a body of evidence that people who've never been exposed
to procedural languages find functional programming to be much more natural?

(I vaguely recall trying to teach someone at a summer camp what = did in
BASIC; they were using the equational meaning, and "assignment" wasn't
clicking with them at all.)

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1E9hIACgkQIn7hlCsL25WStwCgnCXonPchAQtXjmC1YOz8fGql
NL4AnRZQXY4oIXMZ3I0yK6jVTZt6DOOY
=i8cJ
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] Haskell for children? Any experience?

2011-01-29 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 1/27/11 10:26 , Stephen Tetley wrote:
> John Peterson had some nice work using Haskore and Fran for elementary
> teaching on the old Haskell.org website. Google's cache says the old
> URL was here but its now vanished:
> 
> www.haskell.org/edsl/campy/campy-2003-music.ppt

web.archive.org is your friend.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1E9WcACgkQIn7hlCsL25VcUACbBjYscWmlm5QaHGWooQyqb0o1
mUEAn0D5LXJK8Gt+B8/ShqQclbs8R2Gs
=8EdW
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] Problem about exception.

2011-01-26 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 1/26/11 22:13 , Magicloud Magiclouds wrote:
> Yes, the problem is that Exception cannot hold anything in it. Things
> like Either might work. I am thinking how to make it work with
> StateT

That wasn't my point, but sure it can.  Go take a look at the IO exception,
and in particular (ioeGetErrorType).
(http://www.haskell.org/ghc/docs/latest/html/libraries/base-4.3.0.0/System-IO-Error.html#t:IOError)

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1A5HEACgkQIn7hlCsL25WajQCgnFlH0/k6W9I5qBvJSvrqSN0q
bXoAn1yFY5eh9lvxcpv4VTEpZSasOKoW
=3JhM
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] Problem about exception.

2011-01-26 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 1/26/11 22:02 , Magicloud Magiclouds wrote:
> Sorry, in last mail, I meant, in really wrong situation, there might
> be other tens of unexpected command, I'd like to wrap them in one
> exception, other than making tens of exceptions.

I'm not sure you can get away with that in a monadic computation, unless you
hold all the exceptions until everything is done... and if there's no way to
control "everything is done" you have a potential DoS.  (Worse, it looked to
me like one of those ControlExceptiion-s *was* the "everything is done",
which makes holding onto things problematic plus makes me wonder what good
the debug message is if it's batched until protocol shutdown.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1A4e0ACgkQIn7hlCsL25X8lQCbBrKO5Lmwazn9025FcDlZ8DYH
2BEAoKuc6bVOH3gG13aa9OUkBoCCmLiP
=0NWM
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] Problem about exception.

2011-01-26 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 1/26/11 22:00 , Magicloud Magiclouds wrote:
> This is one way. But so the outer function could not know what
> happened in "really wrong" situation.

How so?

(1) fromException lets you test it:  if (fromException e :: Maybe
ControlException) returns a (Just ce), then you have a ControlException.

(2) see under (catches) for examples of how to catch specific exception
types.  If you don't catch anything but ControlException then the exception
propagates upward unchanged, which is exactly what you want.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1A4S8ACgkQIn7hlCsL25VKgwCdF0rEO7FI2EFA7kQf2dEC70Oc
mdIAnRz69xJCGzdNoDzSFn/NFic+rL5t
=2qNi
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] Problem about exception.

2011-01-26 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 1/26/11 21:10 , Magicloud Magiclouds wrote:
> Hi,
>   Consider such a case: I'm making a client program. There is a
> process, client and server exchange some information in a strict
> order. So I do (persudo code):
> exchange = do
>   sendHello
>   readMsg >>= expect hello processHelloReply
>   sendWhatsyourname
>   readMsg >>= expect name processNameReply
> 
>   And expect is something like:
> expect c f (cmd, msg) =
>   if c == cmd then
> f msg
>   else
> fail "unexpected"
> 
>   This is OK until this situation: The server may send some special
> command, for example DEBUG, DISCONNECT. This breaks the process above.
> So I think I could throw the unexpected command to outer function to
> handle. Something like:
> main = do
>   connect
>   catch exchange $ \e -> do
> case e of
>   UnexpectedCMD DEBUG -> -- ignore process
>   UnexpectedCMD DISCONNECT -> -- disconnect process
>   _ -> -- something really wrong
> 
>   Well, with Control.Exception, I do not know how to make this done.

It looks to me like the very example in the Control.Exception documentation
will do this, with some renaming.

> -- many languages call this a "control exception"; think break/next
> -- etc.  It's an exception used internally to modify control flow.
> data ControlException = CEDebug | CEDisconnect
>  deriving (Show, Typeable)
>
> instance Exception ControlException

So now you can trap your ControlException above, or anything else is
presumably a true exception.


- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1A3RgACgkQIn7hlCsL25XRMgCeNEImC8VWPiM0fHB5Bu2ooFc8
nz8An0TwHXXUxJl7bhndSVf2vxWbXpGf
=HIqR
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] source line annotations

2011-01-21 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 1/19/11 17:43 , Evan Laforge wrote:
> My preprocessor works well, but occasionally I do have to go in and
> fix yet another odd corner that came up.  Initially I thought I would
> only simplistically replace tokens and avoid using a full syntax
> parser, but to really do it correctly a full parser is needed.  And of
> course this is specific to my style (qualified imports) and project.
> To do this in full generality really requires the compiler's help.

Had you looked at the haskell-src-exts package?

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk06TJYACgkQIn7hlCsL25VmugCfVxD0o078PwJx7da1Axnqg2ep
TzMAnR4oEkA7S1oOdYWtNiS3WBWgb88i
=FbHc
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] Browser Game Engine

2011-01-20 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 1/17/11 12:16 , Jeremy Shaw wrote:
> The must be at least a million flash games, so clearly it can be used for
> that. If you create a flash game, nobody gets excited. But if you create an
> html5 based game, then people still get excited about that. So, I assume it
> must be hard :) 

I think not so much hard as new.  The latest Exciting! New! Web! Tech!
(*yawn*... sorry, my cynicism is showing)

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEUEARECAAYFAk04zbcACgkQIn7hlCsL25Wh2ACXYKfES4AUgiLjzy9wp5NHPOga
mgCeJDnbzxX4QQzeW5jY0dlxoWszAhQ=
=fhJw
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] Guy Steele's Praise For Haskell @ Strange Loop Keynote

2011-01-16 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 1/15/11 18:15 , Warren Henning wrote:
> MATLAB, LabVIEW, Fortran, Java, C, and non-OO C++/random subsets of
> C++ rule scientific programming. Unit testing is rare and sporadic. In
> dragging scientists halfway to something new, the exotic, powerful
> things in Haskell will have to be left behind, just as Java only has a
> tiny fraction of what Smalltalk has had since the '80s.
> 
> That seems clear to me, anyway.

Scipy seems to be doing a decent job of throwing that into question.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk0zZqMACgkQIn7hlCsL25XpLACgt58blRk3Sbaxnpyoi9Hu98Ma
ZoIAnRWUUlJKyFbiVXvIUmfoGdw/mMIY
=ucvP
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] Generalizing catMaybes

2011-01-08 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 1/8/11 07:11 , Conor McBride wrote:
> On 8 Jan 2011, at 11:14, Henning Thielemann wrote:
>> For me, the solutions of Dave Menendez make most sense: Generalize Maybe
>> to Foldable and List to MonadPlus.
> 
> What has it to do with monads? There's no bind in sight.
> 
> Alternative is certainly a more general alternative, but then I
> would say that, wouldn't I? Even that seems a tad too much.

That was my thought too, and no, I didn't actually test first, just tried to
think out what he was doing.  Bad idea when half asleep :/

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk0oln8ACgkQIn7hlCsL25WL1gCfepiOrw2ptUKah1KNj1vychnZ
1dMAoL2CmnbV2T/ravh6fuc8oyzlncrt
=Hx/b
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] Generalizing catMaybes

2011-01-07 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 1/7/11 21:56 , Tony Morris wrote:
>  I am wondering if it possible to generalise catMaybes:
> 
> (Something f, SomethingElse t) => t (f a) -> t a
> 
> I have being doing some gymnastics with Traversable and Foldable and a
> couple of other things from category-extras to no avail. Perhaps
> someone else's brain is molded into an appropriate shape to reveal an
> answer!

Looks to me like you want something like:

> mtraverse :: (Traversable t, Monoid m) => t m -> m
> mtraverse xs = traverse mappend (mempty:xs)

or possibly the same kind of thing using MonadPlus instead of Monoid.

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


- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk0n20AACgkQIn7hlCsL25V0MACeIJjbHmIjnABHxpykeVdcZ62f
fS0AoL2xet/PpuvyuioWNvbzCTqWz5Z/
=2HGT
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] Ur vs Haskell

2011-01-07 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 1/7/11 14:14 , Alexander Kjeldaas wrote:
> 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 necessarily the
> performance guarantees, GC-less execution, or even non-lazy evaluation.
> 
> And I can't answer those.. any takers?

Right on the intro page it talks about having simplified dependent typing.
While some (not all) forms of dependent typing can be simulated in Haskell,
"simple" is not the word to describe the techniques.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk0nygQACgkQIn7hlCsL25UUcACfSbSvzrFF3hFtPIOeV6+SEkCF
0dUAn3V4ozEYg/U6rzOYysaJXM7xKzBQ
=QUia
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] Building lambdabot

2011-01-07 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 1/6/11 02:27 , Joe Bruce wrote:
> Now I'm stuck on readline again [lambdabot build step 28 of 81]:
> "/Users/joe/.cabal/lib/readline-1.0.1.0/ghc-6.12.3/HSreadline-1.0.1.0.o:
> unknown symbol `_rl_basic_quote_characters'"

This sounds like the cabal readline package (the Haskell bindings) used
Apple's libreadline (which is really libedit, so doesn't have most readline
functionality).  I'd forcibly reinstall readline-1.0.1.0 and then try again.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk0nvyYACgkQIn7hlCsL25X1kQCgpnQIC4GmI0fUBh5E+3Z9vXBx
T8MAn35u+cna0Dni+amapHXFsukpb8wz
=fnWv
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] Freeglut

2011-01-07 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 1/3/11 18:21 , Eric wrote:
> I would like to use freeglut instead of GLUT for my Haskell OpenGL program,
> but when I place the freeglut dll in the program's directory and try to run
> the program on Windows XP, I get the following error message:
> 
> user error (unknown GLUT call glutSetOption, check for freeglut)

That would mean that it's known that freeglut doesn't have some necessary
functions, and it's telling you to use a real GLUT.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk0ntVYACgkQIn7hlCsL25UiIgCgxwaNeCh1JMiqJsFxdEpnq6kK
3AEAoJYhqNjuQrAaKF39NrFuFy/OG0UP
=7RQ8
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] How about Haskell Golf just like vimgolf.com

2011-01-02 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 1/2/11 02:48 , C K Kashyap wrote:
> I found this site called http://vimgolf.com/ ... the idea there is
> that people come up with challenges and try to come up with the least
> number of keystrokes to get it done.

Code golf in any language is generally a recipe for obfuscation.
Interesting, certainly, but I don't think I'd recommend it as a service or
feature.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk0gs90ACgkQIn7hlCsL25XOAACfQhq2bb18442MYAROhnqZ3jJ6
b7kAoIaJ8LNsAdjlEHZDftAspWtUgJ43
=zjuv
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] tplot and splot - analyst's swiss army knifes for visualizing log files

2011-01-01 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

still catching up on inbox...

On 12/17/10 04:08 , Eugene Kirpichov wrote:
> Just in case, I'm also attaching a PDF of the current version to this
> email, but visiting the link is preferable, since I'll be updating the
> contents.

So lessee, I need to get *yet another* account to be able to get updated
versions of your document?  I expect I won't be updating, then.  (No, I'm
not on Facebook, and won't be; they aren't going to fix their security and
privacy issues because they're where their profit comes from.  If I want to
give away my vital information to the universe I'll just post my social
security/US ID number somewhere, thanks.)

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk0f2C8ACgkQIn7hlCsL25WbZACgoRAafE2xKTx7z5JxuypZdwRP
JXsAnAkjx67HqBFYdobhk0zl9P34Vb95
=bp7O
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] Incorrectly inferring type [t]

2010-12-29 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 12/29/10 22:05 , william murphy wrote:
> I've spent a lot of time trying to write a version of concat, which
> concatenates lists of any "depth":
> So:
> concat'' [[[1,2],[3,4]],[[5]]]   would return: [1,2,3,4,5]

You can't do that, at least with a normal type signature.  There might be
some evil that can do it, but (as you found) if you try to do it naively you
will get an error which amounts to "this type can't represent both an item
and a list of that item at the same time".

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk0b+Z0ACgkQIn7hlCsL25WFCQCeNkSf0+1pyJI+rpBWtk3uBsv5
qosAoIRQQyg78IPlHuQiiVleqmYUdQD+
=lOjO
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] Behaviour of System.Directory.getModificationTime

2010-12-22 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 12/17/10 06:22 , Arnaud Bailly wrote:
> Thanks for your answers. I am a little bit surprised, I thought
> timestamps were on the milliseconds scale.

POSIX timestamps are seconds.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk0Ss28ACgkQIn7hlCsL25XpygCgziZm1KyO+dP00ACtIrfsueJg
0dQAoI6hNz3oSmiIO2kAiXtRmowWwAg1
=wAHu
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] $ do?

2010-12-22 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 12/15/10 02:36 , Roman Cheplyaka wrote:
> Regarding the rationale, I'm not so sure and I'd like to hear an
> explanation from someone competent. But I assume it has something
> to do with the fact that if you supply a 'do' argument, you cannot
> supply any more arguments (because 'do' extends to the right as far as
> possible). Not that I'm convinced that it is a valid reason to prohibit
> such construct.

Hm?  do {...} would work, as would using indentation per usual layout rules
(the next argument would be indented no farther than the "do").  It'd
certainly be more confusing to read, though.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk0SsvUACgkQIn7hlCsL25XM6wCcDvu9G3fc9M5Vv6d2EKZ64X8t
k7YAn0hvoyq0KpmAAEyAD4HIWX8HsMTY
=11UF
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] IO, sequence, lazyness, takeWhile

2010-12-19 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 12/13/10 09:15 , Jacek Generowicz wrote:
> untilQuit' = (fmap (takeWhile (/= "quit"))) (sequence $ map (>>= report)
> (repeat getLine))
> 
> -- The latter version shows the report, but it doesn't stop at the
> -- appropriate place, so I'm guessing that I'm being bitten by my
> -- ignorance about the interaction of actions and lazyness.

The reason this doesn't stop where you expect it to is that sequence is
effectively strict (that is, it will keep going until the list is
exhausted), but repeat creates an infinite list.  You want the stop
condition between the map-report and the repeat-getLine.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk0OWJQACgkQIn7hlCsL25Wb2gCgw3GKF/rBdXL2LIsV5qUVSa1M
ZfEAoL5Vzd9+F7+NDqOAP7s2pyxtmJ0S
=bU/D
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] haskell2010 and state question.

2010-12-11 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 12/9/10 20:40 , Magicloud Magiclouds wrote:
> First to notice that. So standard-wise, there is no way to do state thing?

There seems to be a lot of confusion as to what the language standard
covers.  It is a bare minimum; practical libraries are not part of its
purview, but only the minimum needed to make implementing practical
libraries possible.

This includes some baked-in assumptions:  for example, the "do" construct
requires that the Monad typeclass support a "fail" method, numeric literals
require the Num typeclass to support a "fromIntegral" method, etc., and
since you can't extend typeclasses after definition that means Num and Monad
are overspecified compared to other types in the language standard.

Take a look at the Haskell Platform for a practical compiler-and-libraries
standard.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk0EI/IACgkQIn7hlCsL25Xc1wCgi9saZgo9h4RScI+ZAyR843sG
eHoAn2J7Yfn664oaL1zAEZxQDLCat04k
=SDlV
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] dot-ghci files

2010-12-11 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 12/9/10 02:01 , Tony Morris wrote:
> I teach haskell quite a lot. I recommend using .ghci files in projects.
> Today I received complaints about the fact that ghci will reject .ghci
> if it is group-writeable. I didn't offer an opinion on the matter. I am
> wondering if these complaints have legitimate grounds i.e. maybe you
> want to have group write on that file for some reason.

Linux likes to do the group-write thing (this derives from an early Debian
decision that uids were obsolete and everything should use the gid as the
uid; basically, the wrong solution to file ACLs). Given their decision and
its near ubiquity in the Linux world these days, I suspect ghc's going to be
on the wrong end of the battle.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl] allb...@kf8nh.com
system administrator [openafs,heimdal,too many hats] allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk0EHvoACgkQIn7hlCsL25WM3ACeMMSJAcyBEM0KRkK71nhpCiOx
pRMAn01M0F2AJlkm+IxIeMrnIral/vwS
=DcFw
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] haskell-2010 binary IO

2010-12-11 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 12/10/10 02:14 , Permjacov Evgeniy wrote:
> Does haskell 2010 include binary IO? If no, what was the reason?

That's not really the language report's job.  You're looking for the Haskell
Platform.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk0EF9gACgkQIn7hlCsL25WT5QCgpeYsVUJA2SGDbob1pixivJMF
39kAn1hxwZjQloLNheCLlcSz1p9db0RK
=gwKV
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] [Haskell] ANNOUNCE: genprog-0.1

2010-12-11 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 12/8/10 12:57 , Andrew Coppin wrote:
> inherited a knackered L-gulonolactone oxidase enzyme.

L-gluconolactone oxidase maybe?

(pedants-R-us...)

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk0D6vEACgkQIn7hlCsL25WTVgCgk39LETHHkzZElEVLZKCzt1KQ
YhcAoKaevErIsoPx69Vkn8B0TK271beB
=LEGS
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] Offer to mirror Hackage

2010-12-11 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 12/9/10 16:04 , Richard O'Keefe wrote:
> I thought "X is a mirror of Y" meant X would be a read-only replica of Y,
> with some sort of protocol between X and Y to keep X up to date.
> As long as the material from Y replicated at X is *supposed* to be
> publicly available, I don't see a security problem here.  Only Y accepts
> updates from outside, and it continues to do whatever authentication it
> would do without a mirror.  The mirror X would *not* accept updates.

The above assumes that the operator of the mirror is trustworthy.  It
wouldn't be difficult for a hostile party to set up a mirror, but then
modify the packages to include malware payloads --- if the packages aren't
signed.  (Or even if they are signed if it's a sufficiently weak algorithm.
 MD5 is already unusable for the purpose.)

Other possibilities include MITM attacks where the hostile party detects
that someone is attempting to download a package and spoofs a reply that
directs it to a different package.

(Or more complex tricks; see
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.167.4096&rep=rep1&type=pdf
for examples.)

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk0D1jcACgkQIn7hlCsL25V3dQCfZ4zdF9KXNNS7bA35CL33e00q
FzUAnAvQiRhElO/86qgagtKzv/cwgQfJ
=DxV9
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] GHC 7.0.1 developer challenges

2010-12-08 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 12/8/10 02:17 , Anders Kaseorg wrote:
> On Sat, 2010-12-04 at 13:42 -0500, Brandon S Allbery KF8NH wrote:
>> We went over this some time back; the GHC runtime is wrong here, it
>> should only disable flags when running with geteuid() == 0.
> 
> No.  +RTS flags on the command line, at least, need to stay disabled in
> all cases, not just setuid binaries.  There are many situations where
> you can arrange for untrusted command line arguments to be passed to
> normal non-setuid binaries running with different privileges, including
> some that you might not expect, such as CGI scripts.
> 
> We can possibly be more permissive with the GHCRTS environment variable,
> as long as we check that we aren’t setuid or setgid or running with
> elevated capabilities, because it’s harder to cross a privilege boundary
> with arbitrary environment variables.  But, as already demonstrated by
> the replies, this check is hard to get right.

Then build your CGIs restricted.  Restricting the runtime by default,
*especially* when setting runtime options at compile time is so much of a
pain, is just going to cause problems.  I'm already thinking that I may have
to skip ghc7.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkz/pGwACgkQIn7hlCsL25VzGwCfaI7e+WQewAMXHtqTAFhrWzFd
SsQAmwY47A2lPqxmbI+pky7HiXFqwiUy
=hLrC
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] Offer to mirror Hackage

2010-12-07 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 12/7/10 18:53 , Darrin Chandler wrote:
> On Tue, Dec 07, 2010 at 11:04:04PM +0100, Ketil Malde wrote:
>> It's not obvious to me that adding a mirror makes the infrastructure
>> more more insecure.  Any particular concerns?  (I hope I qualify as
>> naïve here :-)
> 
> If you run a mirror people will come to you for software to run on their
> machines. I see a way to take advantage of that immediately.

Exactly.  And this isn't theoretical; fake packages and packages with extra
payloads injected into them are fairly common.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkz/AMYACgkQIn7hlCsL25WCuwCgyuhbb6Q1eMbatUX5mxDp6Avi
dDoAnj49sj73cDTVp0+8BXxi6oir3zAq
=x2Gr
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] Conditional compilation for different versions of GHC?

2010-12-07 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 12/7/10 06:00 , Henning Thielemann wrote:
> Brandon S Allbery KF8NH wrote:
>> Since the base package is (with good reason) part of the compiler, anyone
>> smart enough to get that to work is smart enough to edit the cabal file.
> 
> There are good reasons for not only bundling 'ghc' package with GHC, but
> 'base', too? I assumed it is intended to untangle 'base' and GHC in future,
> such that 'base' can be used with JHC, UHC, Hugs.

I seem to recall that the logistics of that change have been proving a bit
difficult in practice, and as such it's probably not going to happen very soon.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkz+9HYACgkQIn7hlCsL25XXPQCfa/x9ZyhUmN88vu3/EPv8Tjhq
+5EAniBq3G9gto/IC8kyYFP2rAjTxB/4
=LnDx
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] Question: mime-mail and base64 encoding

2010-12-07 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 12/7/10 01:21 , Nathan Howell wrote:
> The way I've seen it done before was to:
> - calculate the size of the body in quoted-printable and base64 encoding
> - select the smaller encoded form of the two
> 
> quoted-printable is fairly human readable. This strategy also works
> for encoding headers, particularly Subject: lines (substituting
> q-encoding for qp).

"Quoted-Printable: a standard for mangling Internet messages
 Quoted-Unreadable: the result of applying said standard
 Unquoted-Unprintable: the comments from the recipients of the above"

(me, in alt.sysadmin.recovery.  I'm not sure how someone converted "Brandon
S Allbery KF8NH" into "bf8" but that's the universal attribution.)

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkz+87kACgkQIn7hlCsL25U+FQCgzV+47Rl5KB7ZreKMyRx4kDhb
6kMAmgJy8TW0omQyDuSMp5oaYOctnSDh
=Si8I
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] Offer to mirror Hackage

2010-12-07 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 12/7/10 08:07 , Ketil Malde wrote:
> Dan Knapp  writes:
>> I agree that signed packages are a good idea.  We should move with all
>> haste to implement them.  But I'm not sure we want to hold up
>> everything else while we wait for that.  
> 
> IMO, mirroring is orthogonal to that, too.

Only if you consider security a minor or non-issue.  I'm tempted to say
anyone who believes that on the modern Internet is at best naïve.  (Although
admittedly security is one of my work foci.)

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkz+k3YACgkQIn7hlCsL25W7PACdHUuh5zaPZeBTprMvN+HcLslu
VV0AoJVgmDbBZyZtcX57fGWkGeW2dT/3
=Gqlm
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] Storables and Ptrs

2010-12-06 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 12/6/10 13:22 , Antoine Latter wrote:
> On Mon, Dec 6, 2010 at 12:03 PM, Tyler Pirtle  wrote:
>> On Sun, Dec 5, 2010 at 9:46 PM, Antoine Latter  wrote:
>>> On Sun, Dec 5, 2010 at 10:45 PM, Tyler Pirtle  wrote:
 Hi cafe,

 I'm just getting into Foreign.Storable and friends and I'm confused
 about the class storable. For GHC, there are instances of storable for
 all kinds of basic types (bool, int, etc) - but I can't find the
 actual declaration of those instances.

 I'm confused that it seems that all Storable instances operate on a
 Ptr, yet none of these types allow access to an underlying Ptr. I
 noticed that it's possible via Foreign.Marshal.Utils to call 'new' and
 get a datatype wrapped by a Ptr, but this isn't memory managed - I'd
 have to explicitly free it? Is that my only choice?
>>>
>>> The Storable class defines how to copy a particular Haskell type to or
>>> from a raw memory buffer - specifically represented by the Ptr type.
>>> It is most commonly used when interacting with non-Haskell (or
>>> 'Foreign') code, which is why a lot of the tools look like they
>>> require manual memory management (because foreign-owned resources must
>>> often be managed separately anyway).
>>>
>>> Not all of the means of creating a Ptr type require manual memory
>>> management - the 'alloca' family of Haskell functions allocate a
>>> buffer and then free it automatically when outside the scope of the
>>> passed-in callback (although 'continuation' or 'action' would be the
>>> more Haskell-y way to refer to the idea):
>>>
>>> alloca :: Storable a => (Ptr a -> IO b) -> IO b
>>>
>>> This can be used to call into C code expecting pointer input or output
>>> types to great effect:
>>>
>>> wrapperAroundForeignCode :: InputType -> IO OutputType
>>> wrapperAroundForeignCode in =
>>>  alloca $ \inPtr ->
>>>  alloca $ outPtr -> do
>>>poke inPtr in
>>>c_call inPtr outPtr
>>>peek outPtr
>>>
>>> The functions 'peek' and 'poke' are from the Storable class, and I
>>> used the 'alloca' function to allocate temporary storage for the
>>> pointers I pass into C-land.
>>>
>>> Is there a particular problem you're trying to solve? We might be able
>>> to offer more specific advice. The Storable and Foreign operations may
>>> not even be the best solution to what you're trying to do.
>>>
>>
>>
>> Hey Antoine,
>>
>> Thanks for the clarity, it's very helpful. There is in fact a particular
>> problem I'm trying to solve - persisting data structures. I'm a huge
>> fan of Data.Vector.Storable.MMap, and I'm interested in other things
>> like it - but i realize that the whole thing is built up/on/around
>> storables, and building vectors with storables (read == peek, write ==
>> poke, etc), because i'm trying to write the raw structures themselves
>> to disk (via mmap).
>>
>> I am aware of Data.Binary, but I feel that this kind of serialization
>> for the application I'm building would be too cumbersome considering the
>> number of objects I'm dealing with (on the order of hundreds-of-millions
>> to billions), especially considering that the application I'm building
>> has some very nice pure-ish semantics (an append-only list). I'd
>> like the application to able to simply load a file and interact with
>> that memory - not have to load the file and then deserialize everything.
>>
>> If you have any suggestions here, or if anyone has any general feelings
>> about the design or implementation of Data.Vector.Storable.MMap I'd be
>> very interested in hearing them. Or about any ideas involving persisting
>> native data structures in an append-only fashion, too. ;)
>>
> 
> If you took the approach of Data.Vector.Storable.MMap, every time you
> read an element out of the array you would be un-marshalling the
> object from a pointer into a Haskell type - in effect, making a copy.
> There are probably ways to do this for ByteStrings to make this copy
> free, but that's about it.

IIRC bytestring-mmap uses pinned bytestrings; might be easier/faster to use
that directly if the vector package is troublesome.  You'd want to use the
bytestring internals module for the equivalent of peek/poke.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkz9Mm0ACgkQIn7hlCsL25UgKgCgqV/BIXRDm5BVEPBzNllpVVD9
QsYAoJMU7kvHWxoAmb2eYV9b5tll9U0d
=p1GN
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] Conditional compilation for different versions of GHC?

2010-12-05 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 12/5/10 17:05 , Henning Thielemann wrote:
> Isn't it better to move the dependency on 'base' out of the If block? I
> mean, someone might succeed to use GHC-7 with base-4.2 or GHC<7 or a
> different compiler with base-4.3.

Since the base package is (with good reason) part of the compiler, anyone
smart enough to get that to work is smart enough to edit the cabal file.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkz8GukACgkQIn7hlCsL25WTxACfc4k/3GoQr402TbVFmabRD7sJ
7WEAoMnmLeaKGfjQdjdP4K60Ch6g72md
=LZuU
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] the beginning of the end

2010-12-05 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 12/5/10 15:07 , Andrew Coppin wrote:
> you actually cannot do something as trivial as follow a conversation

You can, just not via the web site.  I do it in Tweetdeck all the time.

That said, the important thing about Twitter is that it's *broadcast*.  If
you try to force it to be an AIM/Windows Live Messenger etc. replacement,
you will be unhappy; if you use it as itself, it actually works fairly well.

But "for itself" doesn't include reliable delivery in any sense; not only
does it not provide any guarantees that the recipient(s) received or saw any
given message, but the service itself is unreliable (constant outages, and
the "fail whale" (referring to the message the web site displays when the
service is overloaded) shows up a lot even when Twitter's up.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkz79HEACgkQIn7hlCsL25UlZwCgzJ76zZtLTixa3uf1Pi2sN2CA
PVoAoK/ekbBEz+xUQbWiPLM7q14evyXp
=wGeu
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] the beginning of the end

2010-12-05 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 12/5/10 12:34 , Daniel Peebles wrote:
> Oh yeah, the 2.0 stuff that snobby techies love to hate :) hrrmpf back in my
> day we programmed in binary using a magnetized needle on the exposed tape! I
> don't need any of this newfangled bull.
> 
> I kid! But I am curious to see why people are so opposed to this stuff? The
> attitude "I can't see any reason for it to exist" (without having seriously
> tried it) seems similar to that our (haskell's) detractors use when taking a
> cursory glance at it and saying the syntax doesn't make sense. 

My problem with reddit is (a) I always have to click through the reddit
entry to see the article it's about; this is a usability botch as far as I'm
concerned (b) I already have to follow too many sources of information, and
would really like to get it under control.

As for twitter, one word:  firehose.  *Way* too easy to miss things, even
with Tweetdeck and the like.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkz70L0ACgkQIn7hlCsL25VOjACghY40T+eHMEeQSAtmjxkXFoXr
53IAnRR4j9xF/TiHmlAQAswjzju3Zf/7
=oOFZ
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] the beginning of the end

2010-12-05 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 12/4/10 21:35 , Jason Dagit wrote:
> In that case, here you go:
> http://twitter.com/statuses/user_timeline/216043045.rss
> http://twitter.com/statuses/user_timeline/17788765.rss
> 
> You can get those by finding them on twitter and then clicking the RSS link.

Twitter might be the one idea worse than reddit for this kind of thing

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkz7xR8ACgkQIn7hlCsL25UpxQCeL/v4mUjYpESgQWpDbj2ZQuyx
96sAoLiPOfvdT5r2vIRg3GxTKXntf/0c
=0cvu
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] Offer to mirror Hackage

2010-12-05 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 12/5/10 02:41 , Florian Lengyel wrote:
> Why is there even any consideration of some committee if someone wants to
> mirror the Hackage site? Why not mirror the site?

Because it would be nice to have a mirror run by someone (a) accountable (b)
who is unlikely to suddenly disappear due to loss of job, life becoming
hectic, etc.  (Consider that this is pretty much why *.haskell.org has been
unreliable and fixes have been slow in coming; the individual in question is
at Yale, and a good person but kinda snowed under of late.)

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkz7wrAACgkQIn7hlCsL25VrvACZAWZq4rYMM8PARZYvyFmnt1qZ
jX4An3fgSSsuFLHR0/HsEB8hEeyj4MCO
=MI9c
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] GHC 7.0.1 developer challenges

2010-12-04 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 12/4/10 14:35 , Riad S. Wahby wrote:
> "Edward Z. Yang"  wrote:
>> There are many setuid binaries to non-root users, so getuid() != geteuid()
>> would probably make more sense, though I'm not 100% it has all the correct
>> security properties.
> 
> Might as well throw in getegid() != getgid() for good measure.
> 
> Another issue with this: in the next couple years it looks like Fedora
> and Ubuntu will both be going towards filesystem capabilities instead of
> suid. If access to +RTS is restricted for suid binaries, it should
> probably also be restricted for binaries with elevated capabilities.

Yes to both.  And on Windows I wonder if it makes sense to try to detect
that a program is running with restricted permissions (lack of membership in
certain groups) and likewise restrict use of runtime options.  (I don't
think there's anything like setuid, though, and it probably makes no sense
to try to detect that someone installed the program as a service running as
LSA or used RunAs.)

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkz6xIQACgkQIn7hlCsL25XuiACfbUPTtk1Qkvo5fpWJzhX/WrbL
A54An2CLYNa6Rza5KmswyrRJlKAb/w0G
=X0nY
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] GHC 7.0.1 developer challenges

2010-12-04 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 11/24/10 20:59 , John D. Ramsdell wrote:
> Due to a security concern, GHC 7.0.1 disables all runtime flags unless
> a new flag is provided during linking.  Since limiting memory usage is
> so important, many developers will modify their cabal files to add the
> linker flag or prepare for complaints from users that the developer's
> program caused their machine to freeze and lose their work.

We went over this some time back; the GHC runtime is wrong here, it should
only disable flags when running with geteuid() == 0.  Also, the current
mechanism for specifying runtime flags at compile time is horridly ugly and
this really needs to be fixed before any such runtime limitation is viable.
 I hope that will be fixed in a later point release.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkz6i6gACgkQIn7hlCsL25VajgCeKqReTXt0JlQ90iTPtvU6VRXy
1PkAoJC83Glcy3jurrxH7eoiNGFZdazJ
=Zi+B
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] In what language...?

2010-12-03 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 11/28/10 08:47 , Florian Weimer wrote:
> * Gregory Collins:
> 
>> * Andrew Coppin:
>>> Hypothesis: The fact that the average Haskeller thinks that this
>>> kind of dense cryptic material is "pretty garden-variety" notation
>>> possibly explains why normal people think Haskell is scary.
>>
>> That's ridiculous. You're comparing apples to oranges: using Haskell
>> and understanding the underlying theory are two completely different
>> things.
> 
> I could imagine that the theory could be quite helpful for accepting
> nagging limitations.  I'm not an experienced Haskell programmer,
> though, but that's what I noticed when using other languages.

Yes and no; for example, it's enough to know that System F (the type system
used by GHC) can't describe dependent types, without needing to know *why*.
 A brief overview is more useful in this case.

This is true of most of the ML-ish languages:  they're based on rigorous
mathematical principles, but those principles are sufficiently high level
that there isn't a whole lot of point in teaching them as part of teaching
the languages.  The concepts behind other languages are rarely based in
anything quite as high level, and moreover often take structural rather than
mathematical form, so understanding them *does* help.  (An example of this
is C++ templates; as I understand it, there *is* mathematics behind them,
but many of their behaviors come from their structure rather than the math.)

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkz5ROsACgkQIn7hlCsL25VdGQCeLuDo6HS8sfnFG1EuA4oDO56y
5soAoLexEtjRKYIVFFCpWk86u0/woZGF
=Fn2e
-END PGP SIGNATURE-

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


Re: [Haskell-cafe] RegEx versus (Parsec, TagSoup, others...)

2010-11-19 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 11/13/10 09:19 , Brent Yorgey wrote:
> On Fri, Nov 12, 2010 at 03:56:26PM -0800, Michael Litchard wrote:
>> a Perl perspective. I let him into what I was doing, and he opined I
>> should be using pcre. So now I'm second guessing my choices. Why do
>> people choose not to use regex for uri parsing?
> 
> Never believe anything anyone coming from a Perl perspective says
> about regular expressions.

If a Perl "expert" tells you that regexps are the way to parse HTML/XML, you
can safely conclude they've never actually tried to do it.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkzm93MACgkQIn7hlCsL25V6RACgxWMErR6armLoxyFooERkxnJa
+I8Aniag5cRSZ9pdwsDeQ/nedMsxana+
=aiuP
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Error installing hp2any-graph on Snow Leopard

2010-11-15 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 11/8/10 04:52 , Ivan Lazar Miljenovic wrote:
> I'm not sure how MacPorts does packaging, so you may require to
> install a -dev or development version of glut to get the relevant
> headers and library files.

MacPorts always builds from source, so always installs libraries with their
development headers and libraries.  A -devel package in MacPorts is usually
the latest alpha/beta release of the corresponding non-devel package.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkziAKkACgkQIn7hlCsL25VB4ACgr02BjAcI9m0Ju7jYzxE8W63V
Er8AmgJ4FyO2SbGBBffyYRDeyOXdrUDw
=gKN1
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Compiler constraints in cabal

2010-11-15 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 11/6/10 23:09 , wren ng thornton wrote:
> On 11/6/10 6:20 AM, Reiner Pope wrote:
>> I was aware of this condition, but I'm not precisely sure it addresses
>> my requirements. When you run "cabal install some-package", cabal
>> reads all version constraints listed in the "build-depends" field, and
>> chooses which versions of which packages to download from Hackage in
>> order to satisfy these constraints.
>>
>> I want to expose my dependency on a particular version of ghc to
>> cabal's constraint satisfier. The end result I want is that when you
>> type "cabal install hmatrix-static" with ghc-6.12 installed, then
>> cabal chooses hmatrix-static-0.3; and when you type "cabal install
>> hmatrix-static" with ghc-7.0 installed, then cabal chooses
>> hmatrix-static-0.4.
> 
> 
> Clients of hmatrix-static would have to say
> 
> if impl(ghc >= 7.0)
> Build-Depends: hmatrix-static == 0.4.*
> else
> Build-Depends: hmatrix-static == 0.3.*
> 
> in order to pull in the right dependency for themselves.
> 
> In order to get the behavior you're after, though, is trickier business.
> Since every version of GHC ships with a different version of base, you'll
> have to make use of that knowledge such that users of ghc-7.0 with base-5
> will get hmatrix-static-0.4 whereas users of ghc-6.12 with base-4 will get
> hmatrix-static-0.3

Don't you just rerelease 0.3.x (bump the sub-version) with a dependency on
base < 5, and release 0.4 with base = 5, and let Cabal work out the above
Build-Depends for itself?

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkze5FUACgkQIn7hlCsL25XnkACZAULQcjlaAxsClFxhQRsHcuRX
NBkAn2cbZ4FD1+Qtu1qsB7f9mXvPHjMt
=Zt6h
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Re: "Haskell is a scripting language inspired by Python."

2010-11-11 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 11/11/10 11:12 , Simon Marlow wrote:
> I bootstrapped GHC from the intermediate C files on a 640K PC around 1993 or
> so.  I don't remember exactly, but I think it might have worked, for some
> small value of "work".

If you used the right build environment, the compiler would have arranged
for overlays; the better ones even supported data overlays, but I imagine
that would have wreaked utter havoc with the runtime (its thunks would have
been wrapped in compiler-generated thunks that swapped the overlay space as
needed).

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkzcF7wACgkQIn7hlCsL25UdJACeNi0aPwQRAatUiBH1MDFQrttR
jOcAnjrUA29p/lxqwv3N0WXDRvEO+DYW
=+BuC
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Re: Decoupling type classes (e.g. Applicative)?

2010-11-08 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 11/3/10 21:30 , Maciej Piechotka wrote:
> On Tue, 2010-11-02 at 21:57 -0400, Brandon S Allbery KF8NH wrote:
>> On 10/29/10 09:35 , Dominique Devriese wrote:
>>> * Only introduce a dependency from type class A to type class B if all
>>>   functions in type class B can be implemented in terms of the
>>>   functions in type class A or if type class A is empty.
>>
>> Er?  Eq a => Ord a makes perfect sense in context but violates this law.
> 
> x == y = case x `compare` y of EQ -> True; _ -> False

So, gratuitous duplication.  Leading to the potential for the lovely case
where Eq does one thing and `compare` does something else.  This is an
improvement?

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkzYzTAACgkQIn7hlCsL25U91wCgz1kGXIyrlOqq69qnAyK4F1jm
De0AoM8mwq39+qFQRRZSsf3Qu8dSLoQr
=IMhV
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] What is simplest extension language to implement?

2010-11-05 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 11/2/10 03:33 , Permjacov Evgeniy wrote:
> Forth is quite easy to implement, but can it be used as extension
> language? Wiki describes it as quite low level...

It's low level but rather easy to build up more complex stuff.  It's never
been that popular in general due to its RPN nature, but is quite popular for
extensions in low memory situations:  it's *extremely* compact when
"compiled" (that is, when source code consisting solely of word definitions
is executed, the result is quite tiny).

To give one example of the latter, look at FreeBSD's boot loader.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkzUq3sACgkQIn7hlCsL25UxZwCePgTpKGFnxZB+AJHugIAkXSbd
FTUAnjl2FJEjyp9bxr3rh3Nmql3O0y22
=ncJH
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Decoupling type classes (e.g. Applicative)?

2010-11-02 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/29/10 09:35 , Dominique Devriese wrote:
> * Only introduce a dependency from type class A to type class B if all
>   functions in type class B can be implemented in terms of the
>   functions in type class A or if type class A is empty.

Er?  Eq a => Ord a makes perfect sense in context but violates this law.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkzQwZUACgkQIn7hlCsL25UXaACghD6I6JnoVZ3LTOsjy86ZWzmO
hq4An06sQPiC2/Xr40xlTAA97xdhACud
=nf0v
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] commutativity

2010-11-01 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/30/10 06:55 , Patrick Browne wrote:
> -- Question 1
> -- commutative com 1 3
> -- This also gives true. Is it because of commutative equation or
> because of the plus operation?

Haskell doesn't know about commutativity; you got true because (+) happens
to be commutative.  There was a discussion about this recently on the list.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkzO8MMACgkQIn7hlCsL25XC2ACgulNd5A+Gf33lplW3HOmhPLlZ
u3EAoMsrbEkMQuU1yR/VaG5XqvNdhS5+
=jMQe
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


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

2010-10-31 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/29/10 22:30 , wren ng thornton wrote:
> On 10/29/10 8:33 PM, C. McCann wrote:
>> I suggest U+2621.
> 
> I'm not sure I'd've ever recognized a funny 'z' as "caution sign"... :)

You'd have to be a TeX / Metafont user to get that one.  (The LaTeX book
doesn't use that symbol for "caution", so I don't count LaTeX users so much.)

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkzNrlIACgkQIn7hlCsL25VoygCgnohkDoepVXT+SNzOOpJ15r/6
IB4AnA/dI1d6pk2pje3K2LSFGEXoCADE
=JyAA
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


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

2010-10-31 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/29/10 20:33 , C. McCann wrote:
> I suggest U+2621.

Did you mean U+2620 SKULL AND CROSSBONES there?

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkzNrfoACgkQIn7hlCsL25UTPwCfZIoFnec/y9Hx9BfIqzw6gSr8
ajAAnjycfEoRw7ZbBrplVb3xApb3Cq6J
=7No/
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Parsec in Haskell platform

2010-10-25 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/25/10 10:49 , Brandon S Allbery KF8NH wrote:
> On 10/24/10 06:59 , Andrew Coppin wrote:
>> now I can't seem to find it. Instead, I had to navigate to the Unix download
>> page, download the source tarball, untar it (non-trivial under Windows), and
> 
> I thought WinZip added tar and tar.gz several years ago?

Also, "cabal configure" gets you a nicely unpacked tree.  (Hm, I thought
there was a "cabal unpack" somewhere.)

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkzFmWEACgkQIn7hlCsL25WN8ACffLOlyebWjatpktmvSFnquJ1m
WzEAn3OBVRReoOfT0hTpv0v0jl2bkwPD
=LNmG
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Parsec in Haskell platform

2010-10-25 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/24/10 06:59 , Andrew Coppin wrote:
> now I can't seem to find it. Instead, I had to navigate to the Unix download
> page, download the source tarball, untar it (non-trivial under Windows), and

I thought WinZip added tar and tar.gz several years ago?

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkzFmO4ACgkQIn7hlCsL25U2LQCfdJYOYskuvEGV161ng5ntHjDe
L2EAnjDNpjrqriRnXHJmmL0gCnZ804D1
=BhVW
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Compiling and installing glib and gtk+ on Snow Leopard

2010-10-23 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/23/10 10:00 , Mark Spezzano wrote:
> What, exactly is happening here? I've compiled libiconv and put it under 
> /usr/bin (so iconv is there). Yet it still complains...I don't get it. I've 
> spend the best part of a day mucking around with this to no avail.

What's happening is SL has its own libiconv that interferes with pretty much
everything; there have been bug reports filed against ghc, Fink, MacPorts,
and pretty much every other development-related package/collection I know of
that is available on SL.

(Also, compiling your own something and putting it in /usr/{bin,lib} is a
BAD BAD BAD idea that will come back and bite you at some point.)

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkzDOF4ACgkQIn7hlCsL25VwvQCeJ8+W0FUPN6DtxAwwv4DNt/V3
0DYAoIVrJHdBnW5TbbVAeW4edZ6D0rT7
=sccS
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] concurrency vs. I/O in GHC

2010-10-23 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/22/10 19:16 , Bulat Ziganshin wrote:
> Monday, October 18, 2010, 8:15:42 PM, you wrote:
>> If anyone is listening, I would very much like for there to be a
>> mechanism by which external functions can be called "unsafe"-ly, but
>> without blocking all other Haskell threads.  I have code that does this:
> 
> +RTS -N2

I think they mean "please don't conflate `reentrant' with `blocking' in the
FFI".

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkzDKmIACgkQIn7hlCsL25WHMwCgktq4XC3Exdij33maBxN9Vu8p
jlcAoJhasAIqVbSYo79z+IrY3zp9GVOR
=ZmOh
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Haskellers.com skills list moderation?

2010-10-19 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/19/10 13:09 , Andrew Coppin wrote:
>  On 18/10/2010 09:59 PM, Magnus Therning wrote:
>> On 18/10/10 21:56, Andrew Coppin wrote:
>>> ...I thought *I* was the only person who's ever heard of Rexx?
>> Every amiga user is very likely to have heard of rexx, as a close
>> relative to it was included in AmigaOS at some point.
> 
> ...and I had of course assumed that I was the only person to have ever heard
> of the Amiga too.

Not to mention us old geekosaurs, some of whom have used (a) OS/2 (b) IBM
VM/SP, for which REXX was the standard scripting language.  (Fun stuff:
extending XEDIT with REXX code.)

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAky+U+EACgkQIn7hlCsL25VJAQCgzKsfXsTJ26r0Dlkhfb+eiMPq
XKMAn3D0ygw74Y4YbqKiNtVVkEa1W/cm
=/WfD
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] An interesting paper from Google

2010-10-19 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/18/10 21:37 , Evan Laforge wrote:
> For instance, currently I have the top consumer of both time and alloc
> as 'get', which is 'lift . Monad.State.Strict.get'.  Of course it
> occurs in a million places in the complete profile, along with
> mysteries like a line with 0 entries 0.7%/0.1 time/alloc.  Doesn't 0
> entries mean it was never called?  Meanwhile, a line with 37000
> entries has 0.2/0.2.  Is the difference how the 'get'ed value was
> used?  And then there's the wider question of how 'get' is taking so
> much time and space.  Doesn't it just return a pointer to the State
> value?  Biographical profiling shows large amounts of void, lag, and
> drag, but no clear way to trace that to the code that is responsible.

Any time you see something "inexplicable" like lots of time being attributed
to something simple like "get", it means that something isn't strict enough
and "get" is having to force a bunch of lazy evaluations to do its job.
Since you're using State.Strict but lift-ing to get there, I'd first look at
the strictness of the monad you're lift-ing from.  (I'm assuming
State.Strict does what the label says, but it's possible that it's not
strict in the way you need; strictness is kinda tricky.)

Moral of the story:  time is accounted to the function that forces
evaluation of lazy thunks, not to the thunks themselves or the function that
created the lazy thunks.  (I think the latter is impossible without passing
around a lot of expensive baggage, and in any case doesn't tell you anything
useful; unexpected functions taking a lot of time, on the other hand, tells
you right away that there's excessive laziness in the invocation somewhere
and gives you a starting point to track it down.)

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAky9zQ8ACgkQIn7hlCsL25UvhACeIGaziKg+nx6cTWRLnwjf0T5c
Gg8An1ZvNSDj/NXh032wsTGWZjLxZ7xD
=VPo+
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] An interesting paper on VM-friendly GC

2010-10-18 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/18/10 01:18 , Nathan Howell wrote:
> On Sat, Oct 16, 2010 at 8:45 AM, Brandon S Allbery KF8NH
>  wrote:
>> I thought Windows already had a system message for something like that.  Or
>> at least it used to, although I can see why it would have been removed or at
>> least deprecated.
> 
> You're probably thinking of CreateMemoryResourceNotification [1],
> available since Windows XP. If they were to deprecate it (doubtful) it
> typically takes two major releases to do so.

No, the one I'm thinking of was around (and buggy enough to get some press
as the target of a service pack) for NT4.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAky8f0UACgkQIn7hlCsL25XXPwCgvsUYMa6EH/Ryp9WGhyZa3z/g
XAcAn0Vdn6WZu7I4VoA1VVCKcLdkb913
=DTNY
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] downloading GHC

2010-10-16 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/16/10 12:07 , Ketil Malde wrote:
> Brandon S Allbery KF8NH  writes:
> 
>>> Linux users don't have easy binary installers, usually. What can we do
>>> about this bootstrapping problem?
> 
>> I thought the answer to that was supposed to be "bug your distribution to
>> package the Platform".
> 
> In my case, it's more like bug the IT department to get with the times
> and drop distributions like RHEL and CentOS.  And I do try, but to my
> perpetual chagrin, I'm not always as high on their priority list as I
> might wish...

There is that, isn't there?  And, as one of aforementioned IT department
folks (admittedly in a different context) it's not always as high on our
priority lists as we might wish, and — worse — we may have our hands tied by
someone even higher in the food chain.

(I'm going to have to drop gtk2hs here because recent versions are
incompatible with the glib (gtk+, oddly, is fine) we have installed on about
a third of the machines in the department, and we're *already* failing to
get those upgraded to something halfway modern)

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAky54lcACgkQIn7hlCsL25WifgCgi/sMjBuqXm8jOIcpKnuCIVde
meQAoNbbpu2hfAedLqRHmLEZuN66zuN6
=pgJg
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] An interesting paper on VM-friendly GC

2010-10-16 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/16/10 05:35 , Andrew Coppin wrote:
> GC languages are not exactly rare, so maybe we'll see some OSes start adding
> new system calls to allow the OS to ask the application whether there's any
> memory it can cheaply hand back. We'll see...

I thought Windows already had a system message for something like that.  Or
at least it used to, although I can see why it would have been removed or at
least deprecated.

Unix could do it with a signal, but in general the application can't easily
do that at times chosen by an external entity (consider that the act of
finding such memory could inadvertently *increase* memory pressure on the
system, since an application can't tell which of its pages aren't in core)

The correct solution is to give the application the tools necessary for it
to do its own memory management --- which is what the paper is about.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAky5yLEACgkQIn7hlCsL25UU/ACfXc8mmUeR2oIJMKGYSwd61JvM
qC0AoJ7BrEf0+ApE+Ohr4BnyqfqBCQ4q
=VBBc
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] In what language...?

2010-10-15 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/15/10 16:36 , Andrew Coppin wrote:
> Does anybody have any idea which particular dialect of pure math this paper
> is speaking? (And where I can go read about it...)

Type theory.  It makes my head spin, too, since essentially my only exposure
to it so far is Haskell itself.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAky5AAUACgkQIn7hlCsL25UxawCePztYYnJLXZS8Cx78H4IdNs4q
pG4AnjrRLBkL96gduOhN9AyBJPp+xKSv
=IcA6
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] An interesting paper from Google

2010-10-15 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/15/10 16:28 , Andrew Coppin wrote:
> I'm surprised about the profiler. They seem really, really impressed with
> it. Which is interesting to me, since I can never seen to get anything
> sensible out of it. It always seems to claim that my program is spending 80%
> of its runtime executing zipWith or something equally absurd. I'm

That just means you haven't internalized managing laziness yet, so you're
seeing thunks get processed by zipWith instead of where they ought to be.
(Not that I'll claim to be any better; I just know why it happens.)

> surprised that there's no tool anywhere which will trivially print out the
> reduction sequence for executing an expression. You'd think this would be
> laughably easy, and yet nobody has done it yet.

Hat hasn't been maintained for years, sigh.  A number of times I could have
used it... and I'm not confident enough of my ability to grok the code.

> Their comments about String are sadly true.

HP's still struggling with that one (I think some people need to realize
that Text and ByteString have different use cases and correspondingly
different data models, and trying to force both into the list API will only
cause grief, but I digress).  I have hope that this situation will improve
in the future.

(Also, I process enough short strings that I'm uncertain of the wisdom of
just using Text or ByteString for everything; this is admittedly a function
of lack of experience.)

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAky4/tgACgkQIn7hlCsL25UR4ACeJ/HY2OGyjEPCz1k3te+x0MRU
ZUIAoI+P5KL//rkPv8nOZmqYqs90VruC
=UBvU
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] downloading GHC

2010-10-15 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/15/10 11:26 , Don Stewart wrote:
> Linux users don't have easy binary installers, usually. What can we do
> about this bootstrapping problem?

I thought the answer to that was supposed to be "bug your distribution to
package the Platform".

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAky46mEACgkQIn7hlCsL25XBNgCfefI3QCUmwGTMA5KlE05QY3S6
tAMAnjPMmFRQitxhB97o0lysnfGL41yj
=VTuz
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Re: Re: Make your Darcs repositories hashed?

2010-10-13 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/13/10 13:48 , Jason Dagit wrote:
> Isn't debian etch a security liability at this point?

Never underestimate the inertia of a system which a professor uses for
research or a grad student for their thesis work.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAky2aKMACgkQIn7hlCsL25W9vgCgvtBEJkSSTNfpk/kUXZ1GcWTW
JfkAn3OOKnNaLcKuwk/Kh9OBNOtFxvIF
=OD3V
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Re: Re: A question regarding cmdargs package

2010-10-13 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/13/10 06:07 , Henning Thielemann wrote:
> Ben Franksen schrieb:
>> I wanted to create a clone of an existing program that had no help option
>> and instead gave the help output if it saw an invalid option.
> 
> I find it very annoying if a program floods my terminal with a help
> page, when I just misspelled something. A short descriptive message that
> points to the mistake would be of more help for me.

He mentioned that he has backward compatibility constraints.  In an ideal
world

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAky1xmUACgkQIn7hlCsL25WWpwCdFM209D0Y0FfhBwgeOnfyuzJa
SoYAnAhNuo1uhFE6hNErRG8QdIPmQmB6
=XTVN
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Haskellers.com recent changes (and I need some volunteers)

2010-10-12 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/11/10 03:37 , Michael Snoyman wrote:
> "verified users" will be displayed here. I'm also considering adding a
> new status as well: real picture, so that only people with real images
> (not cartoons, not identicons) can show up on the homepage. I think
> this might give a more professional feel. Thoughts?

I think you need to decide which community you intend to support, actually.

On the one hand, a professional organization will prefer to have real names,
real pictures, etc.  On the other, if you want to be a central coordinating
spot for the existing Haskell community, many of us are far better known by
nicknames and identicons.

If you want to support both, then perhaps you need multiple "portals", with
people wanting to be identified professionally registering appropriately in
order to show up in the professional portal.  But then you have the
difficulty of how to show content in each portal (for example, a forum
discussion might be cited in the professional forum, but what if some or all
of the contributors were on the community side?  You might show names and
pictures from the professional side and some kind of placeholder for those
not registered professionally, but then you need to worry about the folks
who want to keep their professional and "online" identities separate.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAky0XIoACgkQIn7hlCsL25VCsQCfVPHZFM3ZY0syuCQ55P78R5a9
hnkAnimXEzujTNifh5jgwnQyMsrZmwo0
=Fppp
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] ANNOUNCE: tls, native TLS/SSL protocolimplementation

2010-10-12 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/11/10 04:41 , Brandon Moore wrote:
> particular about cryptographic primitives. Some side channel attacks seem to
> call for a very low-level language, to make it easier to verify that e.g.
> execution time and the memory access pattern does not depend on the key.

It's hard enough to predict execution times for Haskell code at the best of
times :)

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAky0V4cACgkQIn7hlCsL25V0VwCg1GrZkqrGU0CswG/KSQvHO+hJ
B2QAn269l6o58G0AeRlyWV9lRTaFF6K6
=6RTp
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] ANNOUNCE: tls, native TLS/SSL protocolimplementation

2010-10-12 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/11/10 04:06 , Sittampalam, Ganesh wrote:
> While I agree with the potential benefits, I also worry that you will
> end up making something that is far less well tested in practice. For
> widely used and fairly low-level libraries like gnutls, openssl and
> zlib, I'm just skeptical that the benefits outweigh the risks and costs.

I see your point, but I would be prepared to trust a clean, typesafe (and
especially if it's pure) Haskell implementation over the Cthulhu's-tentacles
that is openssl.  :)

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAky0VikACgkQIn7hlCsL25Wt/QCgneAyuCttwnyrHG4vuC22sNBp
Y7gAnAtKUoNekXUb61ISYwnmSkZWJejM
=3+oI
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Haskellers.com recent changes (and I need some volunteers)

2010-10-10 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/10/10 21:22 , Tim Matthews wrote:
> seems crazy. I don't know how that works and whether having that status
> absent means a haskeller is 'fake'/'imaginary' etc but I can't see how
> anyone would like to be labeled '¬real' or 'not real'.

I'll counter that by noting that, with my record of answering questions on
- -cafe, it's probably best not to suggest me as someone to look to for useful
experience  (That is, I'm understanding it to mean "a potential mentor")

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkyygn4ACgkQIn7hlCsL25VgygCgwX3USV55U+5Hv6o7J/sdMLwu
iHoAoIWKIyysC2w6+Dck7pWZySYRGVPz
=awZE
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Make your Darcs repositories hashed?

2010-10-09 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/9/10 08:30 , Christopher Done wrote:
> Every Darcs repository I've pulled this year has always showed me this 
> message:
> 
> ***
> Fetching a hashed repository would be faster.  Perhaps you could persuade
> the maintainer to run darcs optimize --upgrade with darcs 2.4.0 or higher?
> ***

The problem with this message is that it knows that *you* have a darcs that
can take advantage of it, but no way to know if other users of the
repository can (or, for that matter, if the repository is managed by a
capable version of darcs).

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkyw52oACgkQIn7hlCsL25XbLACg0SE1NAbQKkKYY5pCQWQxRJLy
noQAoNRlwRCDC78R2Sroo5rq1GkX59+L
=FcxO
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Re: Polyvariadic functions operating with a monoid

2010-10-09 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/9/10 10:25 , Kevin Jardine wrote:
> instance Show a => Monoidable a [String] where
> toMonoid a = [show a]
> 
> main = putStrLn $ unwrap $ polyToMonoid [] True () (Just (5::Int))
> 
> fails to compile.
> 
> Why would that be? My understanding is that all lists are
> automatically monoids.

I *think* the problem here is that Oleg specifically pointed out that the
first parameter to polyToMonoid must specify the type of the monoid.  []
tells you it's a list, therefore a monoid, but it doesn't say enough to
allow the [String] instance to be chosen.  (No, the fact that you only
declared an instance for [String] isn't really enough.)

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkyw49wACgkQIn7hlCsL25VZygCfVETk+3AZ3gKoBy4pZ7j8g4Km
WXgAnjrbO9rEl2HnQtGQ31EyRuhWzI4r
=YMDw
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] ANNOUNCE: tls, native TLS/SSL protocol implementation

2010-10-09 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/9/10 09:17 , Malcolm Wallace wrote:
> 
> On 8 Oct 2010, at 16:56, Donn Cave wrote:
> 
>> wikipedia:  "Managed code is a differentiation coined by Microsoft to
>>identify computer program code that requires and will only execute
>>under the "management" of a Common Language Runtime virtual machine
>>(resulting in Bytecode)."
>>
>> In other words, a new way to say `interpreted',
> 
> I believe the wikipedia description is misleading.  The difference between
> "managed" and "unmanaged" code is that the former is garbage-collected (i.e.
> free of memory freeing errors), whilst the latter is responsible for its own
> memory behaviour.

More to the point, the runtime makes it impossible to acquire a pointer to
memory that is not checked.  This is in specific distinction to C and C++,
where the former is entirely unmanaged and the latter usually only checks
pointers when compiling for debugging (and even then it's mostly just like
C, only it has some assert()s in some STL constructors).

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkywxzEACgkQIn7hlCsL25WxBgCgvvfrsSEuOk2Qaa7CUGE53K7L
hxIAnjDk/N8/aJaotZN+NnGUjnCuPGqX
=FwAF
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Ordering vs. Order

2010-10-08 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/7/10 04:02 , Christian Sternagel wrote:
> However, I do know that there are many publications about "ordered
> structures" which use the word "ordering" (most of which I'm aware of, not
> by native speakers).

Like most things in Haskell, it's named with respect to mathematical jargon,
not standard dictionaries.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkyv2ykACgkQIn7hlCsL25VaVgCfSmQfCeOfvy+Har7VRvUKt5yD
HUwAnjJXCP4M2sXmbkv0MwMVWthbS7IY
=F184
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Lambda-case / lambda-if

2010-10-05 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/5/10 12:38 , Henning Thielemann wrote:
> In order to be consistent with current case, maybe in layout mode:
> 
> \1 -> f
>  2 -> g
> 
> and in non-layout mode
> 
> \{1 -> f; 2 -> g}

+1; likewise for consistency it should support guards (which would preclude
using | the way Richard suggested, and goes along with the "lambda-case" thing).

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkyrWNIACgkQIn7hlCsL25WPLwCfYGc4KUscdpv3lJ7lQbugtbIa
jz4An2mbZdJr3LZY6rF0qZjBcle4HLsX
=kR9R
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Lazy evaluation from "Why Functional programming matters"

2010-10-05 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/5/10 10:52 , C K Kashyap wrote:
> And I had built up this impression that laziness distinguished Haskell
> by a huge margin ... but it seems that is not the case.
> Hence the disappointment.

Haskell is lazy-by-default and designed around lazy evaluation, whereas most
other languages are strict by default, designed around strictness, and make
you do extra work to get laziness which you then may lose rather easily.
Sometimes it's as easy as using an iterator, other times it means passing
around closures and invoking them at just the right time.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkyrVcgACgkQIn7hlCsL25W5tQCeMoY6XCcDLKFh3tbwdrliQSqd
grcAnjCGqxBwRsEoI2pG3+ZgA4biSDAw
=kgwK
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Lambda-case / lambda-if

2010-10-02 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/2/10 15:27 , Jan Christiansen wrote:
> You can use a similar approach for case expressions ; )

There are several better (that is, not using unsafePerformIO) versions at
http://haskell.org/haskellwiki/Case .

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkynmNsACgkQIn7hlCsL25XbOgCfdjFrXdR3PWJvPUif7VVfZZak
lOcAoMpp6l1+XOxU6vwCT+sgLI94l3Kx
=+gFp
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Coding conventions for Haskell?

2010-09-27 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 9/27/10 17:07 , Max Rabkin wrote:
> On Mon, Sep 27, 2010 at 22:57, Andrew Coppin  
> wrote:
>>  data Foo a b =
>>  Fooa   |
>>  Bar  b |
>>  Foobar a b
>>deriving (Eq, Ord)
> 
> Also, either your pipes don't line up, or you violate your own rule

They line up fine in a fixed width font.  Programming in any
indentation-sensitive language in a proportional font leads inevitably to
use of tabs to make things line up properly, which leads directly to pain.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkyhHNcACgkQIn7hlCsL25XKjwCgjlxdAK1RTimZhFb0nzyYo5lu
pXAAoLKdcuZ7foV+uM0s9QtvabFopuJl
=WCR4
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Coding conventions for Haskell?

2010-09-26 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 9/25/10 11:06 , Donn Cave wrote:
> Though it's common practice for sure, maybe universal, does the
> "Don't insert a space after a lambda" rule make sense?
> 
> I found it confusing at first sight, because of course it looks

More to the point, some editors find it confusing.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkyf4AIACgkQIn7hlCsL25XhtQCgnm9XsAGq6lmJkZCg5U1Of6hK
Xb0AoJyqoVU9lI6QOJPQ6729NmS4kNvS
=8eeh
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] searching haskell-cafe ?

2010-09-19 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 9/19/10 20:12 , Jason Dagit wrote:
> There may be someway to do a google search that is restricted to just
> haskell-cafe archives but I'm not sure what the correct search syntax
> would be.  Something about in-url and then the url of the archives.

"site:gmane.org inurl:comp.lang.haskell.cafe", but Google knows about
standards-compliant mailing lists so "list:haskell-cafe.haskell.org" should
work fine.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkyWy5IACgkQIn7hlCsL25XAugCgrDYo0nLI3hraIRjrFDck9wbI
IecAniCGwf85AZ1lDFyEeH20gi+c+x1w
=za+s
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Unified Haskell login

2010-09-17 Thread Brandon S Allbery KF8NH
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 9/17/10 17:43 , Brandon S Allbery KF8NH wrote:
> On 9/17/10 05:27 , Neil Davies wrote:
>> Why not use kerberos?
> Mind, we use Kerberos heavily around here... but we have the infrastructure
> that uses it.   Web application space is *not* something that integrates
> well, though, unless you use it as a dumb store and manage the resulting
> authentication information yourself (Pubcookie, etc.).  For a primarily web

Additional:  MIT does use it for web auth (cf. ezyang's response in this
thread), but I believe they use a third mechanism:  users have certificates,
which are registered with the KDC and used via PKINIT.  The infrastructure
cost of this is (currently, PKINIT still being not quite fully nailed down)
higher than anyone in the Haskell community is likely to be willing to deal
with --- and you *still* have to solve the authorization problem yourself.

- -- 
brandon s. allbery [linux,solaris,freebsd,perl]  allb...@kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university  KF8NH
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkyT4m8ACgkQIn7hlCsL25VKawCeNTumjtGy7U9HVdC4DXs8+lhb
tTYAoJZtP3ZxH90hqOWsldkWd1eyiROm
=jokt
-END PGP SIGNATURE-
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


  1   2   3   4   5   6   7   8   9   10   >