Friday, December 19, 2008
A small peeve
Whenever I write a function with an external wrapper and an internal recursive function (say, to add an accumulator), I can never come up with a name for the internal function that I find satisfying. This is totally picking nits, but it bugs me for all the recursive calls to be to foo/aux or foo/helper or something like that. Come to think of it, somehow the prime symbol in Haskell and ML feels more natural.
Subscribe to:
Post Comments (Atom)
21 comments:
OTOH efficient implementation of optional parameters (I don't know how efficient mzscheme is) should allow you to use one name for both versions (and even allow different accumulator seeds when needed)
An optional argument isn't always the right solution. In one case I have a function that needs to transform its argument in a particular way only once at the beginning; an extra boolean flag indicating whether this had been done yet would be overkill.
I usually use underscore as the name for these functions.
I like using gerunds for this. Like the internal loop for the 'mung' function is 'munging'.
I generally use ‘visit’ for that purpose; it's nice and functional, and clearly conveys the intent of the function. To me, it seems as natural as naming an accumulator ‘acc’ and a continuation ‘c’; I wouldn't use the names for anything else.
Dan usually writes foo^ as the nearest Scheme equivalent to foo' .
I've also used foo-loop or foo-inner.
Interesting how the smallest things get the most comments :-)
If you think of those internals as private, foo/private makes sense.
If you are using PLT's module system, then name the public functions foo/public and rename them on export. You can keep your code looking how you want privately and publicly.
Oh I relate to this a lot. The same issue also often exists with the argument to the external and internal function.
I've gone through a lot of phases in my life. Currently I've been doing _foo. It used to be just aux, before that: foo-aux, and others. I could never settle.
Actually I very often just write let-loop to avoid the naming issue. Then there was the most misguided of all, utilizing the fact that internal definitions shadow the external function.
-mike
The Seasoned Schemer uses upper-case one-letter names, which helps remind you that the function is very local.
This seemed weird at first, but seems to be working out.
Thanks for Sharing. I am glad to know that I follow your blogs. it was very interesting. keep posting!
Install Norton Antivirus in your PC's and mobile to protect your systems from viruses.
norton setup with key
enter norton product key code to activate
Norton setup
norton.com/setup
www.norton.com/setup
norton setup enter product key
Norton™ provides industry-leading antivirus and security software for your PC, Mac, and mobile devices Visit @: - McAfee.com/activate | Norton.com/myaccount | norton.com/setup
Enter Key Norton Setup, after purchasing Norton from visit norton.com/setup, sign in to your Norton account then enter product key for Norton Install.
norton setup |
mcafee.com/activate |
office.com/setup |
Norton Security Deluxe is new applications that have all the qualities of Norton antivirus with some extra services.
norton.com/setup
office.com/setup
office.com/setup
norton.com/setup
norton.com/setup
norton.com/setup
If your purchase of ms-office.com/setup came with a product key, you enter your product key on one of the websites listed below for your version of Office. After you enter your key, you can download and install Office, or you can renew your Office 365 subscription. office.com/setup ||
www.office.com/setup||
www.office.com/setup
I really happy found this website eventually. Really informative and inoperative, Thanks for the post and effort! Please keep sharing more such blog.
norton.com/setup
norton.com/setup
norton.com/setup
kaspersky activation code
free pogo games
roadrunner email
aol mail
office setup is the software setup file with this setup file you can install on your PC and some of the supported device to make use of office setup. Not only the
office.com/setup but all the software for all time has the setup file, and it is very significant, without the setup file the software turn ineffective
office setup
www.office.com/setup
Microsoft Office setup is a must tool for any PC in this generation. It provide very userful tools like MS-Word, Excel and powerpoint which are essential for making your task very easy related to business. This feature makes Office.com/setup one of the best software package.
Office.com/setup
Webroot.com/safe
It read your article every thing is clear , Thanks for sharing.
office.com/setup , mcafee.com/activate
I am very glad after reading your fantastic article , Thanks for sharing .
norton.com/setup
yeah it is good that it should be written on external wrapper with the name of external through which they can get satisfy
does El Pollo Loco take EBT? The answer is no. As of the time of writing, El Pollo Loco does not accept EBT as a form of payment.
Post a Comment