<commit_before><ol class="breadcrumb">
  <li><a href="/">Home</a></li>
  <li><a href="/book/">Book</a></li>
  <li><a href="/book/2-0-0-overview/">Part Two: The Suffusion of Blue</a></li>
  <li class="active">Extra Credit: Write a Foreign Function Interface</li>
</ol>

## Chapter 2.18 --- Extra Credit

# Write a Foreign Function Interface

> "Relevant quote..."
> <footer>Source</footer>

Chapter text.

<ul class="pager">
  <li class="previous"><a href="/book/2-17-0-debugging-testing/">&laquo; Previous</a></li>
  <li><a href="/book/">Table of Contents</a></li>
  <li class="next"><a href="/book/2-19-0-essential-libs/">Next &raquo;</a><li>
</ul><commit_msg>add some intro text to ch. 2.18<commit_after><ol class="breadcrumb">
  <li><a href="/">Home</a></li>
  <li><a href="/book/">Book</a></li>
  <li><a href="/book/2-0-0-overview/">Part Two: The Suffusion of Blue</a></li>
  <li class="active">Extra Credit: Write a Foreign Function Interface</li>
</ol>

## Chapter 2.18 --- Extra Credit

# Write a Foreign Function Interface

> "Relevant quote..."
> <footer>Source</footer>

Extending on Chapter 2.16, we will now write our own Foreign Function Interface for the Oculus Rift SDK using CFFI.  This particular use case poses some interesting challenges that will hopefully prove more generally useful to you in your career as a Lisp Hacker.

We will also be using this library in Chapters 3.6 and 3.7; so that should be a good motivation to see this through to the end!

<ul class="pager">
  <li class="previous"><a href="/book/2-17-0-debugging-testing/">&laquo; Previous</a></li>
  <li><a href="/book/">Table of Contents</a></li>
  <li class="next"><a href="/book/2-19-0-essential-libs/">Next &raquo;</a><li>
</ul>
{'fraction_non_alphanumeric': 0.19255381035485747, 'fraction_numerical': 0.02210587550901687, 'mean_word_length': 4.259938837920489, 'pattern_counts': {'":': 0, '<': 67, '<?xml version=': 0, '>': 71, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2595690', 'n_tokens_mistral': 621, 'n_tokens_neox': 571, 'n_words': 175}