alexr_rwx: (my fandom writes your software)
[personal profile] alexr_rwx
From Paulson's ML for the Working Programmer:
The product of a list of integers can be computed like this:

fun prod ns = if null ns then 1 else (hd ns) * (prod (tl ns));

If you prefer this version of prod, you might as well give up ML for Lisp. For added clarity, Lisp primitives have names like CAR and CDR. Normal people find pattern-matching more readable than hd and tl.
*laughs* I guess I'd better give up ML for LISP, then, because that's exactly how I'd do it. I'm sure that ML is, uh, lovely when you get to know it (perhaps analogous to "I'm sure that deep down inside, he's a really nice guy..."), but it just feels pretentious, as a language. The Paulson text really doesn't help.

And it's not that it's totally debilitating, trying to code in it, anymore... it's just that it's incredibly slow going, and the documentation sucks. And this is me whining that I could whip out the cs4240 project in LISP in like a quarter of the time, if that.

Nyip, off to go do things...

Date: 2004-10-11 10:38 am (UTC)
From: [identity profile] sstrickl.livejournal.com
The benefit of the latter being that it's iterative since foldl is written in a tail recursive style whereas I'd have to worry about writing an accumulator-style one for prod.

I've made too many comments already -- I should be more patient when writing them, then I wouldn't think of things after the fact!

Profile

alexr_rwx: (Default)
Alex R

May 2022

S M T W T F S
1234 567
891011121314
15161718192021
22232425262728
293031    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 22nd, 2025 12:51 pm
Powered by Dreamwidth Studios