Re: [Haskell-cafe] Reading pcap

2011-10-12 Thread Mike Dillon
Did you try using the pcap library on Hackage?

http://hackage.haskell.org/package/pcap

-md

begin mukesh tiwari quotation:
 Hello all
 I was going through wireshark and read this
 pcaphttp://wiki.wireshark.org/SampleCaptures?action=AttachFiledo=viewtarget=udp_lite_full_coverage_0.pcapfile
 in wireshark. I wrote a simple haskell file which reads the pcap file
 displays its contents however it looks completely different from wireshark.
 When i run this program . it does not produce any thing and when i press ^C
 ( CTRL - C ) it produce output.
 
 output for given file
 ^C*0xd4 0xc3 0xb2 0xa1 0x02 0x00 0x04 0x00 0x00 0x00 0x00 0x00 0x00 0x00
 0x00 0x00 0xff 0xff 0x00 0x00 0x01 0x00 0x00 0x00 0x0b 0xd4 0x9e 0x43 0x41
 0x38 0x01 0x00 0x3c 0x00 0x00 0x00 0x3c 0x00 0x00 0x00 *0x00* *0x04 0x76
 0xdd 0xbb 0x3a 0x00 0x04 0x75 0xc7 0x87 0x49 0x08 0x00 0x45 0x00 0x00 0x28
 0x1a 0x6a 0x40 0x00 0x40 0x88 0x6f 0x71 0x8b 0x85 0xcc 0xb0 0x8b 0x85 0xcc
 0xb7 0x80 0x00 0x04 0xd2 0x00 0x00 0x38 0x45 0x68 0x65 0x6c 0x6c 0x6f 0x20
 0x77 0x6f 0x72 0x6c 0x64 0x00 0x00 0x00 0x00 0x00 0x00
 
 The values displayed in wireshark
   00 04 76 dd bb 3a 00 04  75 c7 87 49 08 00 45 00   ..v..:.. u..I..E.
 0010  00 28 1a 6a 40 00 40 88  6f 71 8b 85 cc b0 8b 85   .(.j@.@. oq..
 0020  cc b7 80 00 04 d2 00 00  38 45 68 65 6c 6c 6f 20    8Ehello
 0030  77 6f 72 6c 64 0a 00 00  00 00 00 00   world... 
 
 
 
 import Data.Char
 import Data.List
 import Text.Printf
 import Control.Monad
 
 
 
 fileReader :: Handle - IO ()
 fileReader h = do
 t - hIsEOF h
 if t  then return ()
  else do
 tmp - hGetLine h
 forM_  tmp (  printf 0x%02x  )
 fileReader h
 
 main = do
 l - openBinaryFile udp_lite_full_coverage_0.pcap ReadMode
 fileReader l
 print end
 
 I am simply trying to write  a  haskell script which produce interpretation
 of pcap packet same as wireshark ( At least for UDP packet ) . Could some
 one please tell me a guide map to approach for this . A general guide line
 for this project like What to read which  could be helpful for this project
 , which haskell library or any thing which you think is useful .
 
 Regards
 Mukesh Tiwari

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


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


Re: [Haskell-cafe] possible bug in default module lookup scheme / or invalid haskell?

2010-07-18 Thread Mike Dillon
begin Brandon S Allbery KF8NH quotation:
 The fundamental problem is that ghci has no concept of projects.  The
 correct place for this is in Cabal, which *does* have project support, but
 as yet it has no support for ghci.  It's conceivable that the ghci user
 commands capability could be used to find (and optionally) parse a *.cabal
 file to identify a package root, at the price of an initial slowdown if you
 didn't have one.

Not sure if anyone mentioned this possibility elsewhere in the thread,
but I was thinking that having a cabal console command would be a nice
way to handle this. Cabal would parse the *.cabal file and invoke ghci
with the appropriate incantation.

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


Re: [Haskell-cafe] point-free ADT pattern matching ?

2010-07-15 Thread Mike Dillon
begin Vo Minh Thu quotation:
 I guess it is short because you make use of second... so you can
 define second' for your B data type, or make B an instance of Arrow.

I don't think that's the case. The code for f is making use of the
Arrow instance for (-):

second  :: Arrow a = a b c - a (d, b) (d, c)
(str ++):: [Char] - [Char]
second (str ++) :: (d, [Char]) - (d, [Char])

All the caller can control here is what sort of d is passed through
unchanged, not the fact that the resulting function expects a pair and
returns a pair.

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


Re: [Haskell-cafe] point-free ADT pattern matching ?

2010-07-15 Thread Mike Dillon
begin Mike Dillon quotation:
 begin Vo Minh Thu quotation:
  I guess it is short because you make use of second... so you can
  define second' for your B data type, or make B an instance of Arrow.
 
 I don't think that's the case. The code for f is making use of the
 Arrow instance for (-):
 
 second  :: Arrow a = a b c - a (d, b) (d, c)
 (str ++):: [Char] - [Char]
 second (str ++) :: (d, [Char]) - (d, [Char])
 
 All the caller can control here is what sort of d is passed through
 unchanged, not the fact that the resulting function expects a pair and
 returns a pair.

BTW, I was only addressing whether making B an instance of Arrow would
help somehow. Creating a second' function could indeed help, provided it
had the right signature:

second' :: (String - String) - B - B
second' f (B i s) = B i (f s)

Then you can indeed write g like so:

g :: String - B - B
g = second' . (++)

Also, I'm pretty sure it isn't possible to write an instance of Arrow
for B in principle because the type constructor has the kind * and the
Arrow class has functions whose types include Arrow a = a b c,
implying that instances of arrow have kind * - * - *. In fact, GHC
will tell you as much even without trying to give a body to instance
Arrow B:

Kind mis-match
Expected kind `* - * - *', but `B' has kind `*'
In the instance declaration for `Arrow B'

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


Re: [Haskell-cafe] Re: The site has been exploited (again)

2010-07-13 Thread Mike Dillon
begin Gwern Branwen quotation:
 Ashley has made me admin; I've spent the last 1.5 hours deleting all
 the vandalism and indef blocking the accounts. I have Recent Changes
 in my RSS reader, so hopefully in the future there will be no greater
 than 24 hours delay before vandalism is dealt with. A MW upgrade will
 also help (eg. currently checkuser* seems to be unavailable).
 
 * http://www.mediawiki.org/wiki/Extension:CheckUser

Excellent!

Putting aside what I said earlier about protection, which doesn't really
work well with a single active admin, it may still be worth putting some
protection in place to avoid a non-bot account maliciously sticking
something like the goatse.cx pic on the home page of Haskell.org. The
options I know of for doing this are the Patrolled Edits feature and the
FlaggedRevs extension. Unfortunately, I don't think either of these can
be applied only to a limited set of pages because of the MediaWiki
team's asinine insistence that they'll never support per-page
authorization mechanism properly.

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


Re: [Haskell-cafe] Re: The site has been exploited (again)

2010-07-11 Thread Mike Dillon
begin Gour quotation:
 On Sun, 11 Jul 2010 14:40:03 -0300
  Felipe == Felipe Lessa felipe.le...@gmail.com wrote:
 
 Felipe As far as I know, haskell.org doesn't run on top of Haskell
 Felipe software.
 
 That's the point. ;)
 
 haskell.org should work on Haskell software in order to prevent such
 things.

This change had nothing to do with Haskell versus not Haskell and was
not the result in an exploit in MediaWiki.

The haskell.org wiki is set up to only allow logged-in users to edit
pages. What appears to have happened is that someone created an account
named Buycliamox and used it to make the edit in question:


http://www.haskell.org/haskellwiki/?title=Special:Contributionstarget=Buycilamox

Now, unless this was a bot-created account, there is nothing that a
newer version of Mediawiki would have helped. I believe newer versions
either have CAPTCHA/reCAPTCHA built-in or available via a plugin. That
could have helped prevent automated account creation, but you still have
the problems of hijacked accounts if haskell.org were really a target
for such things. I'd go with the most likely explanation in this case
and assume that a person created this account and decided to be cute.

Being that there is only one active admin on the Haskell.org wiki
(User:Ashley Y), I believe the fact that this page is editable by any
user is a policy decision to allow the community to contribute. The
page could be protected, but then only two administrators could edit it
(assuming John Peterson decided to become active again after two years
of not working on the wiki):

http://www.haskell.org/haskellwiki/?title=Special%3AListusersgroup=sysop

As for whether or not moving this particular wiki to a Haskell-based
solution would be a good idea, I don't see it being a win. I don't know
of any Haskell-based wikis that support MediaWiki syntax, so the effort
would involve converting all the existing content to some other format.
Being that MediaWiki's syntax is the most widespread wiki syntax at the
moment, I don't see how that would do anything but make it harder for
people to contribute.

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


Re: [Haskell-cafe] Re: The site has been exploited (again)

2010-07-11 Thread Mike Dillon
begin Mike Dillon quotation:
 Being that there is only one active admin on the Haskell.org wiki
 (User:Ashley Y), I believe the fact that this page is editable by any
 user is a policy decision to allow the community to contribute. The
 page could be protected, but then only two administrators could edit it
 (assuming John Peterson decided to become active again after two years
 of not working on the wiki):
 
 http://www.haskell.org/haskellwiki/?title=Special%3AListusersgroup=sysop
 
 As for whether or not moving this particular wiki to a Haskell-based
 solution would be a good idea, I don't see it being a win. I don't know
 of any Haskell-based wikis that support MediaWiki syntax, so the effort
 would involve converting all the existing content to some other format.
 Being that MediaWiki's syntax is the most widespread wiki syntax at the
 moment, I don't see how that would do anything but make it harder for
 people to contribute.

One more thing. On a wiki with active administrators, this user would
have been blocked. That hasn't happened. The last block was in August
2009:

http://www.haskell.org/haskellwiki/?title=Special%3ALogtype=block

If there is not someone regularly watching the wiki at all times, it
would probably be prudent to protect some of the higher profile pages
once there are more admins able to edit them.

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


Re: [Haskell-cafe] Memoization in Haskell?

2010-07-09 Thread Mike Dillon
begin Edward Kmett quotation:
 The result is considerably faster:
 
 *Main fastest_f 12380192300
 67652175206
 
 *Main fastest_f 12793129379123
 120695231674999

I just thought I'd point out that running with these particular values
on a machine with a 32 bit Int will cause your machine to go deep into
swap... Anything constant greater that maxBound is being wrapped back to
the negative side, causing havoc to ensue. I changed the open version of
f to look like this to exclude negative values:

f :: (Int - Int) - Int - Int
f mf 0 = 0
f mf n | n  0 = error $ Invalid n value:  ++ show n
f mf n | otherwise = max n $ mf (div n 2) +
 mf (div n 3) +
 mf (div n 4)

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


Re: [Haskell-cafe] Monad transformers

2010-07-03 Thread Mike Dillon
begin Andrew Coppin quotation:
 Roman Cheplyaka wrote:
 See above:
 -- Dynamic components may be retrieved with 'get', static components
 -- with 'ask'.
 
 So you use ask to get some configuration variable (reader monad is used
 for configuration in xmonad) and get/put/modify to deal with dynamic
 state of application. You use liftIO (abbreviated to 'io') to run IO
 computations.
 
 In other words, somebody has written a combinatorial explosion of
 class instances to automate some of the lifting.

Well then you need to automate writing the instances too :)

The GeneralizedNewtypeDeriving extension can be used to get instances
for Monad, MonadReader XConf, MonadState XState, and MonadIO
automatically for a newtype like X that should suffice in most cases.

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


Re: [Haskell-cafe] HaskellWiki and Wikipedia

2010-06-19 Thread Mike Dillon
Actually, it looks like MediaWiki:Newarticletext probably needs to be
edited as well since that's what you see when you click through a red
link. The others are for the top text after a search using Go and
Search respectively.

Unfortunately, this MediaWiki install doesn't appear to have interwiki
links enabled; either that or the default wikipedia: interwiki
doesn't work in this version or configuration. It's also horribly
ancient, so it's hard to find docs on what is actually supported in the
installed version since most docs out there reflect at least some of the
changes that have happened in the software in the last five years.

-md

begin Mike Dillon quotation:
 This can be achieved by a wiki admin by adding the interwiki link to 
 MediaWiki:Nogomatch. It may be nice to edit MediaWiki:Searchresultext in a 
 parallel way.
 
 -md
 
 Jason Dagit da...@codersbase.com wrote:
 
 On Fri, Jun 18, 2010 at 8:50 AM, Roman Beslik ber...@ukr.net wrote:
 
   On 18.06.10 07:41, Jason Dagit wrote:
 
  On Thu, Jun 17, 2010 at 6:36 AM, Roman Beslik ber...@ukr.net wrote:
 
  I mean that a link [[X]] leads to HaskellWiki if X exists in HaskellWiki
  and to Wikipedia otherwise.
 
 
   I think this is probably a bad idea.  Imagine trying to create a new page
  on the haskellwiki when wikipedia already has an article by the same name.
 
  O'kay, [[X]] leads to a page with links Create the page X and Go to
  Wikipedia.
 
 
 That seems pretty reasonable.  :)
 
 Jason
 ___
 Haskell-Cafe mailing list
 Haskell-Cafe@haskell.org
 http://www.haskell.org/mailman/listinfo/haskell-cafe
 
 ___
 Haskell-Cafe mailing list
 Haskell-Cafe@haskell.org
 http://www.haskell.org/mailman/listinfo/haskell-cafe
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] HaskellWiki and Wikipedia

2010-06-18 Thread Mike Dillon
This can be achieved by a wiki admin by adding the interwiki link to 
MediaWiki:Nogomatch. It may be nice to edit MediaWiki:Searchresultext in a 
parallel way.

-md

Jason Dagit da...@codersbase.com wrote:

On Fri, Jun 18, 2010 at 8:50 AM, Roman Beslik ber...@ukr.net wrote:

  On 18.06.10 07:41, Jason Dagit wrote:

 On Thu, Jun 17, 2010 at 6:36 AM, Roman Beslik ber...@ukr.net wrote:

 I mean that a link [[X]] leads to HaskellWiki if X exists in HaskellWiki
 and to Wikipedia otherwise.


  I think this is probably a bad idea.  Imagine trying to create a new page
 on the haskellwiki when wikipedia already has an article by the same name.

 O'kay, [[X]] leads to a page with links Create the page X and Go to
 Wikipedia.


That seems pretty reasonable.  :)

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

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


Re: [Haskell-cafe] Removing alternate items from a list

2010-06-08 Thread Mike Dillon
OK, here's mine:

f as = [ x | (True,x) - zip (cycle [True, False]) as ]

-md

begin R J quotation:
 
 What's the cleanest definition for a function f :: [a] - [a] that takes a 
 list and returns the same list, with alternate items removed?  e.g., f [0, 1, 
 2, 3, 4, 5] = [1,3,5]?
 
 _
 The New Busy is not the old busy. Search, chat and e-mail from your inbox.
 http://www.windowslive.com/campaign/thenewbusy?ocid=PID28326::T:WLMTAGL:ON:WL:en-US:WM_HMP:042010_3

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

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


Re: [Haskell-cafe] name of this monadic combinator?

2010-06-01 Thread Mike Dillon
begin Brent Yorgey quotation:
 On Sun, May 30, 2010 at 11:15:40AM -0700, Mike Dillon wrote:
  begin Michael Snoyman quotation:
   http://hackage.haskell.org/packages/archive/base/4.2.0.1/doc/html/Control-Monad.html#v%3AliftM2
   
   file:///usr/share/doc/ghc6-doc/html/libraries/base-4.2.0.0/Control-Monad.html#v%3AliftM2Strangely,
   Hayoo didn't turn this one up... anyone know why?
  
  Hoogle finds it. I didn't think Hayoo was expected to do this sort of
  abstract type signature search:
  
  
  http://haskell.org/hoogle/?hoogle=Monad+m+%3D%3E+%28a+-%3E+a+-%3E+a%29+-%3E+m+a+-%3E+m+a+-%3E+m+a
  
  It comes up as the second hit on that search or the first hit on this
  one:
  
  
  http://haskell.org/hoogle/?hoogle=Monad+m+%3D%3E+%28a+-%3E+b+-%3E+c%29+-%3E+m+a+-%3E+m+b+-%3E+m+c
  
  That second search also shows zipWith in there; I never really thought
  about zipWith being like liftM2 for the list Monad. I don't believe
  that's actually true for the normal list Monad, but it should be true of
  an alternate list Monad along the lines of the Functor and Applicative
  instances for the ZipList newtype in Control.Applicative.
 
 As Max noted, ZipList is not a monad.  However, you have the right
 idea: zipWith is exactly liftA2 (the equivalent of liftM2 for
 Applicatives) for ZipList.

Thanks to both you and Max. After you guys responded, I went back and
found an interesting haskell-cafe discussion about how ZipList cannot be
made into a Monad from August 2009.

I should have realized that there was a reason there is no Monad
instance defined along with ZipList.

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


Re: [Haskell-cafe] name of this monadic combinator?

2010-05-30 Thread Mike Dillon
begin Michael Snoyman quotation:
 http://hackage.haskell.org/packages/archive/base/4.2.0.1/doc/html/Control-Monad.html#v%3AliftM2
 
 file:///usr/share/doc/ghc6-doc/html/libraries/base-4.2.0.0/Control-Monad.html#v%3AliftM2Strangely,
 Hayoo didn't turn this one up... anyone know why?

Hoogle finds it. I didn't think Hayoo was expected to do this sort of
abstract type signature search:


http://haskell.org/hoogle/?hoogle=Monad+m+%3D%3E+%28a+-%3E+a+-%3E+a%29+-%3E+m+a+-%3E+m+a+-%3E+m+a

It comes up as the second hit on that search or the first hit on this
one:


http://haskell.org/hoogle/?hoogle=Monad+m+%3D%3E+%28a+-%3E+b+-%3E+c%29+-%3E+m+a+-%3E+m+b+-%3E+m+c

That second search also shows zipWith in there; I never really thought
about zipWith being like liftM2 for the list Monad. I don't believe
that's actually true for the normal list Monad, but it should be true of
an alternate list Monad along the lines of the Functor and Applicative
instances for the ZipList newtype in Control.Applicative.

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


Re: [Haskell-cafe] Why Either = Left | Right instead of something like Result = Success | Failure

2010-05-27 Thread Mike Dillon
begin C. McCann quotation:
 Personally, I advocate instead using Sinister and Dexter. Nice and
 catchy, don't you think?

Has anyone done a translation of the Prelude into Latin?

 modulus PraeLudus ubi

 data Uter a b = Sinister a
   | Dexter b
   derivare (Aequo, Ordinaro, Lego, Monstro)

Ha.

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


Re: [Haskell-cafe] Writing a web service client

2010-05-25 Thread Mike Dillon
I've been playing around with creating a binding for Zenfolio's JSON-RPC
API for the last few days. I've been looking at Sigbjorn Finne's
excellent packages on Hackage for guidance, including flickr, delicious,
and hs-twitter. I've also been looking at HTTP's Network.Browser and
HAXR's Network.XmlRpc since I'm having to implement the underying
JSON-RPC protocol too (again based on Sigbjorn's excellent json
package).

-md

begin Ionut G. Stan quotation:
 Hello,
 
 Thanks for all the links. It seems that I have a lot to study before
 I produce a decent library :)
 
 The Network.HTTP package looks nice too. It seems to be at the right
 level of abstraction compared to Network.Browser.
 
 
 I have to get used with searching the Hackage repository... :)
 
 
 On 5/25/10 3:12 PM, Christopher Done wrote:
 Hello Ionut,
 
 On 25 May 2010 13:26, Ionut G. Stanionut.g.s...@gmail.com  wrote:
 The first step that I want to undertake is to write a client library for the
 GitHub API, so my questions would be:
 
 1. Is there any such library?
 
 I don't know of nor have seen such a library on Hackage or Github.
 There was some brief talk on StackOverflow[1], but nothing about a
 full library. I would be interested in using such a library as I am an
 enthusiastic user of Github.
 
 [1]: 
 http://stackoverflow.com/questions/1816092/using-the-github-gist-api-from-haskell
 
 2. What other client library should I consider as an API model? Or maybe
 there's some paper/blog post on how do design a Haskell API?
 
 There are some good examples of Haskell code that uses REST-ish
 APIs.[1][2][3][4]
 
 Regarding designing a Haskell API, Real World Haskell has some
 chapters about that.[5]
 
 My personal advice would be at least to ensure you make it
 cabal-install-able, so that entails having a proper cabal file,
 documented with Haddock format, with QuickCheck test cases if
 appropriate, and provide one or two examples in the documentation, see
 Don's guide about writing a Haskell program[8].
 
 [1]: http://hackage.haskell.org/package/flickr
 [2]: http://hackage.haskell.org/package/twitter
 [3]: http://hackage.haskell.org/package/feed-cli
 [4]: http://hackage.haskell.org/package/Bitly
 [5]: 
 http://book.realworldhaskell.org/read/writing-a-library-working-with-json-data.html
 [6]: 
 http://book.realworldhaskell.org/read/io-case-study-a-library-for-searching-the-filesystem.html
 [7]: 
 http://book.realworldhaskell.org/read/advanced-library-design-building-a-bloom-filter.html
 [8]: http://www.haskell.org/haskellwiki/How_to_write_a_Haskell_program
 
 3. What network package do people use for accessing simple, rest-like web
 services? Network.Curl? If not, which other?
 
 Network.Curl is OK but it relies on a C library which is another
 dependency and it's maybe preferable to use the HTTP library or
 similar library written in pure Haskell, that you can find on Hackage.
 
 
 -- 
 Ionuț G. Stan  |  http://igstan.ro
 ___
 Haskell-Cafe mailing list
 Haskell-Cafe@haskell.org
 http://www.haskell.org/mailman/listinfo/haskell-cafe
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Would it be evil to add deriving Typeable to newtype Q?

2010-05-07 Thread Mike Dillon
begin Ivan Lazar Miljenovic quotation:
 Neil Mitchell ndmitch...@gmail.com writes:
  You might want to try Derive
  (http://community.haskell.org/~ndm/derive) if DrIFT doesn't work for
  you. They do roughly the same jobs, but Derive has more output formats
  (it can be spliced in as Template Haskell, generate #include files,
  output text etc) more derivations (but not quite overlapping -
  although both have Typeable), and is fully cabal-friendly on all
  platforms.
 
 I take it you haven't had the legal problems that DrIFT had when it used
 to be called Derive?  http://www.dcs.gla.ac.uk/~nww/Derive/History.html

Looks like derive.com is redirecting to a Texas Instruments site under
ti.com, so they likely don't care about this particular trademark
anymore since it is no longer maintained as an independent brand. Looks
like they stopped selling it in June 2007, at least in the UK:


http://education.ti.com/educationportal/sites/UK/productDetail/uk_derive6.html

The other link I found redirected to a page that didn't mention Derive™
at all.

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


Re: [Haskell-cafe] How to make way into a hadoop infrastructure

2010-04-30 Thread Mike Dillon
I think you'll want to look at the Hadoop Streaming or Hadoop Pipes API.

Further down the line, I think somebody will want to implement a Haskell
library to deal with the Avro serialization protocol when it becomes
possible to write non-JVM mappers and reducers directly. This JIRA issue
covers the RPC part of the Avro-Hadoop integration work:

https://issues.apache.org/jira/browse/HADOOP-6659

Looks like folks have already implemented support for Thrift and
Protocol Buffers, so implementing a library for Avro would likely be
pretty similar.

-md

begin C K Kashyap quotation:
 Dear Haskellers,
 
 A big part of my new job requires tuning app's on Hadoop. I was wondering if
 there is a way to push some Haskell code in the mix. I did some googling on
 Hadoop/Haskell and came across Holumbus - but looks like that is parallel
 to Hadoop.
 
 I was thinking in the lines of doing a Haskell implementation that could run
 in a Hadoop cluster - has anyone tried anything like that?
 
 -- 
 Regards,
 Kashyap

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

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


Re: [Haskell-cafe] Pointfree composition for higher arity

2010-02-17 Thread Mike Dillon
That signature is the `oo` specs combinator in Data.Aviary:

 fun = runFun `oo` someFun someDefault

-md

begin Sean Leather quotation:
 I find myself often writing this pattern:
 
 someFun x y z = ...
 
 
 
 fun y z = runFun $ someFun someDefault y z
 
 
 or, alternatively:
 
 fun y = runFun . someFun someDefault y
 
 
 The second option approaches the ideal pointfreeness (or pointlessness if
 you prefer), but I'd like to go farther:
 
 (...) :: (c - d) - (a - b - c) - a - b - d
  (...) f g x y = f (g x y)
  infixr 9 ...
 
 
 
 fun = runFun ... someFun someDefault
 
 
 There, that's better. More points for fewer points (which means I should
 really change the name from fun to pun).
 
 Does anybody else care about this? What are some alternative solutions? I'd
 love to have something like this available in the Prelude or a library. (I
 have no strong feelings about the particular operator.)
 
 Regards,
 Sean

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

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


Re: [Haskell-cafe] Pointfree composition for higher arity

2010-02-17 Thread Mike Dillon
begin Stephen Tetley quotation:
 On 17 February 2010 15:41, Mike Dillon m...@embody.org wrote:
  That signature is the `oo` specs combinator in Data.Aviary:
 
 Hi Mike
 
 Thanks - indeed, I was just looking up the thread that covered them a
 month or two ago:
 
 http://www.haskell.org/pipermail/haskell-cafe/2009-December/071392.html
 
 I wouldn't recommend writing code that depends on Data.Aviary, but
 some of the combinators are often worth copy/pasting out of it.

Are you kidding me? I love writing code like this:

o = bunting bunting cardinal thrush blackbird

:)

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