Personally, I notice the similarity of expressiveness between the two
languages and envy Haskell's ideas of lazy evaluation and infinite lists.


On Wed, May 28, 2014 at 8:17 PM, Raul Miller <[email protected]> wrote:

> I'm not sure if it's legit to compare languages.
>
> That said, it's kind of interesting to think of how you might implement
> something like Haskell (or a subset) in J. Similarly, it's kind of
> interesting to think about how you might implement J (or a subset) in
> Haskell. (For example, you could use a tuple of maybes to represent J's
> concept of "array type", with each maybe holding the data for one possible
> type - shape, and the type tag itself would be stored separately.)
>
> Thanks,
>
> --
> Raul
>
>
> On Wed, May 28, 2014 at 7:50 PM, 'elton wang' via Programming <
> [email protected]> wrote:
>
> > 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
> >
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>



-- 
Devon McCormick, CFA
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to