<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Bounded Rationality (Posts about functional programming)</title><link>http://bjlkeng.github.io/</link><description></description><atom:link href="http://bjlkeng.github.io/categories/functional-programming.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><lastBuildDate>Tue, 10 Mar 2026 20:54:59 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Functions and Procedures</title><link>http://bjlkeng.github.io/posts/functions-and-procedures/</link><dc:creator>Brian Keng</dc:creator><description>&lt;div&gt;&lt;p&gt;I have something to admit: I've never done any serious programming in a
functional language.  Yes, yes, I've done some small school assignments in
&lt;a class="reference external" href="https://en.wikipedia.org/wiki/Scheme_%28programming_language%29"&gt;Scheme&lt;/a&gt; (a
dialect of Lisp), even helping out my friend from another university with his
Scheme assignment but nothing &lt;em&gt;real&lt;/em&gt; &lt;a class="footnote-reference brackets" href="http://bjlkeng.github.io/posts/functions-and-procedures/#id3" id="id1"&gt;1&lt;/a&gt;.  Does this
make me a worse programmer?  Probably not, I imagine most developers haven't
done anything &lt;em&gt;real&lt;/em&gt; with functional programming.  Although that's probably not
what you'd expect from reading &lt;a class="reference external" href="https://news.ycombinator.com/"&gt;Hacker News&lt;/a&gt;,
where you don't know programming if you haven't tried Clojure or Haskell &lt;a class="footnote-reference brackets" href="http://bjlkeng.github.io/posts/functions-and-procedures/#id4" id="id2"&gt;2&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;My position is much more pragmatic: I'm interested in tools and techniques that
help me solve problems faster, cleaner and with less headache.  Ideas and
concepts from functional programming languages are &lt;em&gt;supposed&lt;/em&gt; to help with at
least some of that -- and they do; they're just not a panacea for all your
programming woes.  Like most things a solid grasp of the fundamentals goes a
long way.  So the topic of this post is about something pretty fundamental: a
subroutine.  In particular, two important kinds of subroutines:
procedures and pure functions.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://bjlkeng.github.io/posts/functions-and-procedures/"&gt;Read more…&lt;/a&gt; (6 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>functional programming</category><category>functions</category><category>fundamentals</category><category>Greg Ward</category><category>James Hague</category><category>procedures</category><guid>http://bjlkeng.github.io/posts/functions-and-procedures/</guid><pubDate>Sun, 06 Sep 2015 07:04:05 GMT</pubDate></item></channel></rss>