Re: Building the GHC library without building GHC

2013-02-15 Thread brandon s allbery kf8nh
Er, the GHC library *is* GHC.  The answer is very probably no.

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


On Friday, February 15, 2013 at 9:52 AM, C Rodrigues wrote:

 
 Hi,
 
 I was going to do some hacking on Haddock.  Haddock depends on the GHC API 
 from the development version of GHC, however, stage2 crashes on my system 
 when I try to build the newest GHC from the repository.  Since I don't 
 actually need to compile with the new GHC, I'm hoping there's a workaround.  
 Is there a way to build only the GHC library so that I can get back to 
 Haddock?
 
 
 ___
 Glasgow-haskell-users mailing list
 Glasgow-haskell-users@haskell.org (mailto:Glasgow-haskell-users@haskell.org)
 http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
 
 


___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


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: base package (Was: GHC 7.8 release?)

2013-02-14 Thread brandon s allbery kf8nh
On Thursday, February 14, 2013 at 8:14 PM, Johan Tibell wrote:
 On Thu, Feb 14, 2013 at 2:53 PM, Joachim Breitner m...@joachim-breitner.de 
 (mailto:m...@joachim-breitner.de) wrote:
 I don't think having FFI far down the stack is a problem. There are lots of 
 pure data types we'd like in the pure data layer (e.g. bytestring) that 
 uses FFI. As long as the I/O layer itself (System.IO, the I/O manager, etc) 
 doesn't get pulled in there's no real problem in depending on the FFI. 
Doesn't the FFI pull in some part of the I/O layer, though?  In particular 
threaded programs are going to end up using forkOS?

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

___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


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 w...@freegeek.org 
 (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, once those 
  combinators have been identified, we can just offer them directly as 
  functions in the host language. No need for a special DSL or special 
  syntax. The big trick is doing this efficiently. Parser combinators were an 
  academic curiosity for a long time until Parsec came around and made them 
  efficient. And we've come a long way since then: with things like 
  attoparsec, PEG parsing, and non-monadic applicative parsers (which can 
  perform more optimizations because they can identify the structure of the 
  grammar).
  
  The theory of regular expressions is indeed beautiful and elegant. However, 
  it's a theory of recognition, not a theory of parsing; and that's a crucial 
  distinction. Haskell is about clear

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: backslashes within quotes

2012-10-05 Thread brandon s allbery kf8nh
On Friday, 5 October 2012 at 15:34, Evan Laforge wrote:
 On Fri, Oct 5, 2012 at 9:50 AM, Henrik Nilsson
 henrik.nils...@nottingham.ac.uk (mailto:henrik.nils...@nottingham.ac.uk) 
 wrote:
  The same is true for \a, \b, \f, \v, \EM, \DC1, etc.
  We do need \, though.
  
 
 What is \ used for? I never knew it existed until I reread that bit
 of the report, and couldn't figure out what it was for.
 
 

There's a conflict between \SOA and \SO followed by A, which is resolved by 
making the latter \SO\A.

-- 
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-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-prime


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] ANN: Yi 0.6.3

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

On 3/28/11 21:15 , Ivan Lazar Miljenovic wrote:
 On 29 March 2011 12:10, Brandon S Allbery KF8NH allber...@gmail.com wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 On 3/28/11 17:06 , Ivan Lazar Miljenovic wrote:
 On 29 March 2011 06:40, Jeff Wheeler wheel...@illinois.edu wrote:
 Oh, my bad. I removed this because alex is included in the Platform,
 so it seemed like it'd always be available. I'll add it back.

 Not *everyone* has the Platform installed! (I prefer to install ghc
 and then just the libraries I need via my package manager).

 So you're saying that the Platform is pointless?  I think there's some
 miscommunication going on somewhere, if we're all going to pretend it
 doesn't exist.
 
 No, my meaning was that the reasoning of I don't need to specify this
 as a dependency since it's part of the Platform isn't sound since not
 everyone has the Platform.

The point of the Platform is to provide a baseline.  So you *are* saying it
is pointless, because you want packages to confirm to a different baseline.

- -- 
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/

iEYEARECAAYFAk2RM5MACgkQIn7hlCsL25UgggCg01PqGZflU7EQdEa03TR9sMEE
CrwAoICxWlsJmPhhq3MEbSdkzyR1x+CL
=km8w
-END PGP SIGNATURE-

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


Re: [Haskell] ANN: Yi 0.6.3

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

On 3/28/11 21:29 , Ivan Lazar Miljenovic wrote:
 On 29 March 2011 12:19, Brandon S Allbery KF8NH allber...@gmail.com wrote:
 No, my meaning was that the reasoning of I don't need to specify this
 as a dependency since it's part of the Platform isn't sound since not
 everyone has the Platform.

 The point of the Platform is to provide a baseline.  So you *are* saying it
 is pointless, because you want packages to confirm to a different baseline.
 
 My impression that the Platform was a baseline in regards to what do
 I need to get started to develop with Haskell?, and not in terms of
 specifying dependencies.  After all, we still need to specify a
 dependency on `base' in .cabal files, even though it comes with GHC
 and other compilers (let alone the Platform)?

And it regularly causes annoying dependency issues, including causing cabal
to regularly do diamond dependencies.

Somehow the Haskell community is hellbent on repeating the mistakes every
other community learned about the hard way years ago, especially in the area
of dependencies (first refusing to acknowledge the need for upper dependency
limits, more recently trying to avoid adding an epoch — and I'm not counting
how packages included with the compiler but not recognized as such by Cabal
lead directly to Cabal introducing diamond dependency failures).  Is this
*really* necessary, or should those of us who've seen it before just sit
back and watch you all ram your heads against the same brick walls?

(Why no, it doesn't look like a brick wall now; that's the point.  It
*will*.  Learn *before* it happens.)

- -- 
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/

iEYEARECAAYFAk2RODUACgkQIn7hlCsL25VOXwCguwsUCVTZoDyh8FxD9buJkiO5
AzIAoLC61yrpRTi9bmId13hupf1dc9Tl
=vL+w
-END PGP SIGNATURE-

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


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
 http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.19.8468 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.6969rep=rep1type=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 dy...@dylex.net
   * 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-14 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
 ivan.miljeno...@gmail.com wrote:
 On 16 February 2011 14:46, Evan Laforge qdun...@gmail.com 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] 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] 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] 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: Reform of the Monad, and Disruptive Change

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

On 2/4/11 14:30 , Daniel Peebles wrote:
 Perhaps GHC could be released with two sets of libraries. This would
 give people time to experiment without breaking existing code. It would
 also make implementing individual changes much easier.
 
 I fully support this. {-# LANGUAGE NewPrelude #-} or something similar would
 be wonderful. 

Or Haskell Platform/Haskell Future with some way other than standard level
to select it... although I don't recall if this is easily doable.

- -- 
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/

iEYEARECAAYFAk1MuzIACgkQIn7hlCsL25UoiQCeK0YqPIw69jcFaw0ZfVv1HLT/
riUAoJe5efmuWLLIHunvUvYPZJBszcTh
=zdsY
-END PGP SIGNATURE-

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


Re: [Haskell] a quick question

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

On 2/2/11 22:01 , Ramy Abdel-Azim wrote:
 No need to apologize. Not dumb of you. The mandatory else is unusual. I
 don't personally know of any other language that requires an else for every 
 if.

Haskell's if is an expression, best compared to the ?-: ternary operator in
C and Perl or Python's if-else operator instead of to a control structure.

- -- 
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/

iEYEARECAAYFAk1LRsQACgkQIn7hlCsL25XSPACfRTlbLfBO6bKmg9EH4RPGSdMx
SvoAnjakFqCArV9GRczvi2b1HZ6BZTjO
=9Vvo
-END PGP SIGNATURE-

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


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] 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] 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 conrad at metadecks.org writes:
 On 31 January 2011 21:40, Francesco Mazzoli f at mazzo.li wrote:
 Francesco Mazzoli f at 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 at 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: Local definitions in the class instances

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

On 1/30/11 05:54 , John Meacham wrote:
 instance Num Wrapped where
 (+) = lift2 (+)
 (-) = lift2 (-)
 (*) = lift2 (*)
 abs = lift abs
 signum = lift signum
 fromInteger = Wrapped
  where
lift2 f (Wrapped a) (Wrapped b) = Wrapped (f a b)
lift f (Wrapped a) = Wrapped (f a)
 
 so 'where' indroduces the local instance scope.

The double where strikes me as a bit odd.  Also, not sure how the parser
would deal with it, even given that using the second without the first is
entirely pointless; Haskell structures all follow a similar pattern WRT
where, and this confounds it in several ways.

- -- 
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/

iEYEARECAAYFAk1F8qgACgkQIn7hlCsL25UDmQCg0iyxts0dSvbhqdDosK0WKF/w
CxkAnR5uxzTSYTmK4nvypRcIOtpxTDCm
=Z8+V
-END PGP SIGNATURE-

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


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] 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 aaronngray.li...@gmail.com 
 wrote:
 On 27 January 2011 22:42, Henk-Jan van Tuyl hjgt...@chello.nl 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] 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] 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/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] 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] 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] 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 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] 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: backward compatibility

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

On 1/20/11 12:09 , Sittampalam, Ganesh wrote:
 Simon Marlow wrote:
 judgement as to whether we should spend effort on backwards
 compatibility or not.  Perhaps we're getting it wrong - so feedback
 from 
 users is always valuable.
 
 From the point of view of darcs, which is usually trying to support 2 or 3 
 GHC versions at a time, one cycle of deprecation makes life a lot simpler. We 
 do look at warnings and try to fix them, but it's nicer not to have to do so 
 in a real hurry.

And of the Haskell Platform, etc.  Think of it as the price of failing to
avoid success.

- -- 
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/

iEYEARECAAYFAk04bpsACgkQIn7hlCsL25Wh2QCgydcO3kZGxRTePJvp+HvnZloI
r/wAn0YIv8ZqN6ZS9WNMvaH86F3AHZgl
=m18O
-END PGP SIGNATURE-

___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: backward compatibility

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

On 1/20/11 21:12 , Ian Lynagh wrote:
 On Thu, Jan 20, 2011 at 09:22:37PM +0100, Axel Simon wrote:
 I therefore think that keeping the number of extensions 
 to a minimum should be a high priority. It seems that the ghc team is 
 going overboard with the amount of extensions and their granularity that 
 I do not believe that there will ever be another compiler since 
 implementing all these extensions is a nightmare. The road of may 
 extensions is leading down the road that the Haskell standards aimed to 
 avoid: having a single implementation defining what a Haskell program can 
 be.
 
 I'm not sure if you're saying there should be fewer new language
 features implemented, less fine-grained control over which are enabled,
 or something else?

Many of the new features ought to be changes to the standard, not
individual language features that might or might not be implemented by
various compilers.

Less fine-grained control could be taken as a subset of this; consider that
Haskell2010 can be understood as Haskell98 + a number of language extensions
(or de-extensions in the case of n+k).

I think he has a good point:  having too many individual language features
significantly raises the bar for what other compilers need to at least
consider supporting.  Even if we don't necessarily change the official
standard, perhaps there should be standard packages of extensions which
compilers are encouraged to support even if they don't support fine-grained
extension control.

- -- 
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/

iEYEARECAAYFAk05BEcACgkQIn7hlCsL25VBnwCfT9nCZ5eLs4oJ3jUFHf3Tl8o1
7DwAnicvaNk6XuT0H1pZbaotzjKGoP+/
=vqzt
-END PGP SIGNATURE-

___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


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] 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] 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] 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] 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] 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] $ 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] 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] 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] 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.4096rep=rep1type=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] [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] 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] 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] 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: [darcs-users] How to develop on a (GHC) branch with darcs

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

On 12/8/10 03:45 , Simon Peyton-Jones wrote:
 | known problem with darcs with no obvious solution.  For me, switching
 | GHC to git would certainly be a win.
 
 I have personal experience of git, because I co-author papers with git users. 
 I am not very technologically savvy, but my failure rate with git is close to 
 100%.  Ie I can do the equivalent of 'pull' or 'push' but I fail at 
 everything else with an incomprehensible error message.  Maybe I just need 
 practice (or more diligence), but I really don't understand git's underlying 
 model, despite trying, and reading several tutorials.  If anyone has a 
 favourite how to understand git doc, do point me at it.

I'm tempted to point out that Linux named it git for a reason.  :)

Mercurial might be a better choice, especially for people familiar with 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/

iEYEARECAAYFAkz/sgQACgkQIn7hlCsL25WV7gCdF48m1hMxoQUc/NpW08zfye3P
7+sAnRy8ef3nImblBPGcXQPCzFWbdP2h
=/Xf1
-END PGP SIGNATURE-

___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


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: How to develop on a (GHC) branch with darcs

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

On 12/7/10 21:42 , David Peixotto wrote:
 P.S.
 Apparently Linus used to use Lennart's method of diff and patch for version 
 control before switching to bitkeeper and then git: 
 http://www.youtube.com/watch?v=4XpnKHJAok8 about 10:30 minutes in. I guess 
 it's a sign of a true hacker :)

Right up until it bit him in the butt and he released a trashed kernel
source tree as a result.  (When is about when most people finally figure out
that VCSes aren't pointless busywork.)

- -- 
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/AVgACgkQIn7hlCsL25WorwCggF2OuwKWnVufktcfvA3rUZTw
kqcAnj5K9UxzhE8/Fx8npAqNOvG39r1d
=W2g7
-END PGP SIGNATURE-

___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


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 dan...@gmail.com 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] 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] 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] 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] 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 tee...@gmail.com wrote:
 On Sun, Dec 5, 2010 at 9:46 PM, Antoine Latter aslat...@gmail.com wrote:
 On Sun, Dec 5, 2010 at 10:45 PM, Tyler Pirtle tee...@gmail.com 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] 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] 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] 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/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] 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 GHC7 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] 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] 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 ezy...@mit.edu 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: Problems with openFd and -threaded

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

On 11/29/10 18:36 , Bryan O'Sullivan wrote:
 On Sat, Nov 27, 2010 at 9:05 PM, wren ng thornton w...@freegeek.org
 mailto:w...@freegeek.org wrote:
 
 So I've just started playing around with STM and -threaded programs and
 I've run into a bug. The bug is similar to [1] except that the file in
 question is a Posix FIFO instead of a Bluetooth device. Same behavior:
 always errors with -threaded, but expected behavior when not -threaded
 (i.e., blocks until another process opens the other end of the FIFO).
 GHC version is 6.12.1.
 
 Isn't that pretty normal? Just retry if you get EINTR, that's what
 throwErrnoIfMinus1 and friends are for:

The problem is the interrupting signal is the timer interrupt used by the
runtime system; this should not be visible to user programs, instead the
runtime should *itself* restart the operation.

- -- 
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/

iEYEARECAAYFAkz5Uv4ACgkQIn7hlCsL25UOLACgz85SXrIH54c5zVZHot0FTzqW
Z9cAoKa6ViYVrT4U5PaYwVF34oM6lahv
=o2md
-END PGP SIGNATURE-

___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


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: List vs Data.List

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

On 11/18/10 13:06 , Serge D. Mechveliani wrote:
 In  ghc-7.0.1,  to import `partition', it is sufficient the line
 
import List (partition), 
 
 but to import `intercalate', it is needed
import Data.List (intercalate).
 
 Does  Haskell-2010  differ between  List  and  Data.List  import?

Haskell-2010 specifies Data.List.  List is only for Haskell98.

- -- 
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/

iEYEARECAAYFAkzliWgACgkQIn7hlCsL25XloQCggEV8ndpBEJp435VQj9ZqMqMp
hicAnjrX7gQs7KYyW97c9HpkJcz3kKHJ
=4yB5
-END PGP SIGNATURE-
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


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] 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] 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: Loop optimisation with identical counters

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

On 11/5/10 19:22 , David Peixotto wrote:
 Probably there are some wins to be had by choosing a good optimization
 sequence for the code generated from GHC, rather than just using `-O1`,
 `-O2`, etc. I believe It should be possible to find a good optimization
 sequence that would work well for Haskell codes.

Didn't someone (dons?) already make a start on this?

- -- 
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/

iEYEARECAAYFAkzUtdQACgkQIn7hlCsL25VG6ACeJ3sSXoI4YLbXW3KIFVMqKqdK
oTsAn23bxl0mvfdl3up69xM4qWPnklGj
=TXBk
-END PGP SIGNATURE-
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


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: network programming with GHC 7

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

On 10/28/10 05:16 , Kazu Yamamoto (山本和彦) wrote:
 When I compiled a network server with GHC 7 without the -threaded
 option and ran it, I got the following error.
 
   file descriptor 5496824 out of range for select (0--1024).

I would be extremely suspicious of memory corruption with an fd that large;
it would indicate a kernel file table several tens of megabytes in size and
a minimum 10MB per-process file table associated with every process (on
Unix, but similar concerns probably apply on Windows).

(Also, I thought the new I/O manager didn't use select(), specifically
because it has annoying limitations like the above.)

- -- 
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/

iEYEARECAAYFAkzNwcsACgkQIn7hlCsL25V10ACdE6JOxEcTqbSarM0xnff3Bg7d
9Z0AoLPNWTCfJSF8BG7IDU6/Vghwcr/Q
=Onzb
-END PGP SIGNATURE-
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


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] 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] 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] 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] 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] 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] 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] 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 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
 allb...@ece.cmu.edu 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] 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] 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 allb...@ece.cmu.edu 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] 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] 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] 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] 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] 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


  1   2   3   4   5   6   7   8   9   10   >