For language comparision rather than library comparision, we need to compare the "digits' source code with the J implementations here:
http://hackage.haskell.org/package/digits-0.1/docs/src/Data-Digits.html#digits -- | Returns the digits of a positive integer as a list, in reverse order. -- This is slightly more efficient than in forward order. digitsRev :: Integral n => n -- ^ The base to use. -> n -- ^ The number to convert to digit form. -> [n] -- ^ The digits of the number in list form, in reverse. digitsRev base i = case i of 0 -> [] _ -> lastDigit : digitsRev base rest where (rest, lastDigit) = quotRem i base -- | Returns the digits of a positive integer as a list. digits :: Integral n => n -- ^ The base to use (typically 10). -> n -- ^ The number to convert to digit form. -> [n] -- ^ The digits of the number in list form. digits base = reverse . digitsRev base On Wednesday, May 28, 2014 7:41 PM, 'elton wang' via Programming <[email protected]> wrote: This may not be a good example to show Haskell's relative strength. All the expressiveness comes from the handy function "digits", which is belong to a package in Haskell, you have to "import Data.Digit" or something. On Wednesday, May 28, 2014 11:35 AM, Jon Hough <[email protected]> wrote: Project Euler 16 is defined: 215 = 32768 and the sum of its digits is 3 + 2 + 7 + 6 + 8 = 26.What is the sum of the digits of the number 21000? http://projecteuler.net/problem=16 My J solution:NB. create base base =. 302 $ 10 digitsum =. +/ @:(base & #:)"1@: (1000x &(^~)) digitsum 2 As a J beginner, clearly my code is not as terse or as elegant as it could be. But browsing the solution forums I found this Haskell solution: sum $ digits 10 $ 2^1000 I don't know Haskell but the above code pretty much speaks for itself. Clearly the solution is terse, simple and easy to understand.Comparing Haskell to J, it seems one of J's strong points, terseness and rapid program developing, doesn't hold up to Haskell so much as it does against C-style languages. So my question is, what advantages does J hold over Haskell, in terms of speed, terseness etc? Regards. ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
