diff options
author | Luke Shumaker <lukeshu@lukeshu.com> | 2018-02-09 17:28:49 -0500 |
---|---|---|
committer | Luke Shumaker <lukeshu@lukeshu.com> | 2018-02-09 17:29:55 -0500 |
commit | fe95d9386908cd2b199778db38eefdce1d054020 (patch) | |
tree | 4aa5f12ef1c920c832efff93abf162918fba426c /public/make-memoize.html | |
parent | 208b8bb7a31158fabb444931e957a2b7185bfd9f (diff) | |
parent | 46238db12b6178ce3826665a1fea180dd28b0356 (diff) |
make: Update em-dashes for pandoc > 1.8.2.1
Diffstat (limited to 'public/make-memoize.html')
-rw-r--r-- | public/make-memoize.html | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/public/make-memoize.html b/public/make-memoize.html index 8505bef..2edb5a0 100644 --- a/public/make-memoize.html +++ b/public/make-memoize.html @@ -10,10 +10,10 @@ <header><a href="/">Luke Shumaker</a> » <a href=/blog>blog</a> » make-memoize</header> <article> <h1 id="a-memoization-routine-for-gnu-make-functions">A memoization routine for GNU Make functions</h1> -<p>I'm a big fan of <a href="https://www.gnu.org/software/make/">GNU Make</a>. I'm pretty knowledgeable about it, and was pretty active on the help-make mailing list for a while. Something that many experienced make-ers know of is John Graham-Cumming's "GNU Make Standard Library", or <a href="http://gmsl.sourceforge.net/">GMSL</a>.</p> -<p>I don't like to use it, as I'm capable of defining macros myself as I need them instead of pulling in a 3rd party dependency (and generally like to stay away from the kind of Makefile that would lean heavily on something like GMSL).</p> +<p>I’m a big fan of <a href="https://www.gnu.org/software/make/">GNU Make</a>. I’m pretty knowledgeable about it, and was pretty active on the help-make mailing list for a while. Something that many experienced make-ers know of is John Graham-Cumming’s “GNU Make Standard Library”, or <a href="http://gmsl.sourceforge.net/">GMSL</a>.</p> +<p>I don’t like to use it, as I’m capable of defining macros myself as I need them instead of pulling in a 3rd party dependency (and generally like to stay away from the kind of Makefile that would lean heavily on something like GMSL).</p> <p>However, one really neat thing that GMSL offers is a way to memoize expensive functions (such as those that shell out). I was considering pulling in GMSL for one of my projects, almost just for the <code>memoize</code> function.</p> -<p>However, John's <code>memoize</code> has a couple short-comings that made it unsuitable for my needs.</p> +<p>However, John’s <code>memoize</code> has a couple short-comings that made it unsuitable for my needs.</p> <ul> <li>Only allows functions that take one argument.</li> <li>Considers empty values to be unset; for my needs, an empty string is a valid value that should be cached.</li> @@ -52,7 +52,7 @@ _main = $(_$0_main) _hash = __memoized_$(_$0_hash) memoized = $(if $($(_hash)),,$(eval $(_hash) := _ $(_main)))$(call rest,$($(_hash)))</pre> <p></code></p> -<p>Now, I'm pretty sure that should work, but I have only actually tested the first version.</p> +<p>Now, I’m pretty sure that should work, but I have only actually tested the first version.</p> <h2 id="tldr">TL;DR</h2> <p>Avoid doing things in Make that would make you lean on complex solutions like an external memoize function.</p> <p>However, if you do end up needing a more flexible memoize routine, I wrote one that you can use.</p> |