summaryrefslogtreecommitdiff
path: root/public/blog/announcing_honeysuckle.html
blob: 9c2ac0cac196839ac02775f65dcf10afb790ad89 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<!doctype html>
  <html>
    <meta charset="utf-8">
    <title>announcing honeysuckle | sanine.net</title>
    <link rel="stylesheet" href="/style.css">
  </html>
  <body>
  <div id="navigation"><pre><a href="/index.html">home</a>   <a href="/projects/">projects</a>   <a href="/git">git</a>   <a href="/about.html">about</a></pre></div>
  <div id="content">
  <p class="centered">announcing honeysuckle<br>================================</p>
<p class="centered">2021-05-23</p>

<p>As I’ve been working on various projects for the past couple of years
I have continued to find that a combination of C and Lua is my favorite
way to write code. The ongoing development of <a href="https://honey3d.org/">my game engine honey</a>
uses that pair and I’m planning on using it (whenever I get around to it) for my <a href="https://sanine.net/projects/dream-atlas">dream
atlas project</a>. But, and I’ll be the first
to admit this, the C API is a little clunky.
I don’t generally mind that all too much (after all, one of my favorite things about
both C and Lua is that they’re languages you can carry around in your head, and having
a very explicit API means you only need to understand the fundamental concepts to use it)
but it does mean that dev work goes a bit slower.</p>
<p>I did a good bit of work streamlining the process of writing Lua bindings in C when
tinkering with honey and ever since then I’ve found myself peeking back at that code
and re-implementing it in other projects. A colleague of mine once said that the time
to write a library is when you’ve done something once, you’re doing it now, and you
re pretty sure you’ll do it again, and I think I’ve quite handily cleared that condition
So! I’m splitting that code out and refactoring it into its own library which, due
to its historical roots, I’ve chosen to call honeysuckle.</p>
<p>honeysuckle is still under development – the API is a bit different from the one I
came up with when working on honey and imo is easier to use – but when it’s ready
it will provide a whole host of helpful functions that make integrating Lua scripting
into C applications simple and fast. I am (attempting) to employ readme-driven development
so I’ve written up a readme for honeysuckle. Any feedback on the proposed API and
features would be much appreciated! As of writing, honeysuckle is planned to include
functions for parsing arguments to C functions from Lua, creating and processing tables
throwing and handling Lua errors, using the Lua registry, and creating printf-formatted strings.</p>
<p>I’ve already created a repository for honeysuckle. There’s just a README in there
for now, but that will probably have changed even just later today, since I’m planning
on working on it more this afternoon. :p</p>

  </div>
  </body>
</html>