[Haskell-beginners] general observation about programming

Jeffrey Brown jeffbrown.the at gmail.com
Thu Feb 25 19:19:24 UTC 2016


Something I like about functional programming is how it interfaces with
natural language. Haskell, somehow to a greater extent than other
languages, encourages me to divide functions into one or two-liners. Each
has a type signature that means something in English. Further, each gives
you the opportunity to choose a good name for the function and its
arguments. After doing those things, the function is much easier to write,
and much easier to read -- so much so that often you don't have to read the
function body at all, just the type signature, function name and argument
names.

On Thu, Feb 25, 2016 at 8:17 AM, Dudley Brooks <dbrooks at runforyourlife.org>
wrote:

> Ages and ages ago I saw this advice about programming:
>
> Q:  "What's the best language for a programmer to know?"
>
> A:  "English" (or whatever your native language is)
>
> -- Dudley
>
>
> On 2/24/16 4:03 PM, Dennis Raddle wrote:
>
> This is more about programming in general than Haskell, although
> Haskellers probably know it well.
>
> I don't claim to have expert knowledge on this, but I'm gradually getting
> better at it.
>
> When I set out to write a program, or refactor a program, or modify a
> program, it helps to set out my thinking in a clear way. And how I make it
> clear is to document my thoughts.
>
> An outline is one good way to organize thoughts and is probably my main
> tool. But good English prose is also helpful.
>
> The key factor is "editing." In what sense do I mean that? Good writers do
> it, and the Haskell documentation does it. I mean (1) brevity and (2) good
> flow. To achieve brevity, you must think about the essence of each
> statement and trim away the unnecessary stuff. Good flow refers to how the
> document builds up and modifies your concepts as you read it. A document
> can actually mirror an effective learning process, or influence and change
> your process.
>
> I work with my documentation, making several editing passes. By the time
> I'm done, I am in a great position to write a concise and flexible program.
>
> It's interesting that not only is Haskell a concise language, but the
> Haskell library documentation is concise. Contrast that with the Python
> documentation which often wanders about into areas that are irrelevant--it
> could easily be cut into one third its present size.
>
> Mike
>
>
>
>
> _______________________________________________
> Beginners mailing listBeginners at haskell.orghttp://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
>
>
>
> _______________________________________________
> Beginners mailing list
> Beginners at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
>
>


-- 
Jeffrey Benjamin Brown
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/beginners/attachments/20160225/8a114450/attachment-0001.html>


More information about the Beginners mailing list