<feed xmlns='http://www.w3.org/2005/Atom'>
<title>fwd/include, branch gnc</title>
<subtitle>A programming language that cannot return</subtitle>
<id>https://metanimi.dy.fi/cgit/fwd/atom?h=gnc</id>
<link rel='self' href='https://metanimi.dy.fi/cgit/fwd/atom?h=gnc'/>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/fwd/'/>
<updated>2026-01-06T15:19:52Z</updated>
<entry>
<title>improve move checker to detect pointer leaks</title>
<updated>2026-01-06T15:19:52Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2026-01-06T15:17:27Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/fwd/commit/?id=99601456e6ad4c86287ba786923c99c5499037e0'/>
<id>urn:sha1:99601456e6ad4c86287ba786923c99c5499037e0</id>
<content type='text'>
+ Currently requires a lot of unnecessary `forget` statements,
  but at least some can likely be eliminated by doing some
  basic origin analysis, kind of like with groups
</content>
</entry>
<entry>
<title>work towards a simple integer vector implementation</title>
<updated>2026-01-06T15:19:52Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2025-12-28T22:07:16Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/fwd/commit/?id=c7b41b47d038fd4973da05224b7aa29efaae1784'/>
<id>urn:sha1:c7b41b47d038fd4973da05224b7aa29efaae1784</id>
<content type='text'>
+ Hopefully shows that useful programs can be implemented with
  the rules present

+ Still missing at least external functions with non-void returns
</content>
</entry>
<entry>
<title>implement enough type analysis for vector example</title>
<updated>2026-01-06T15:19:52Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2025-05-07T18:22:38Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/fwd/commit/?id=d501b2c9ebab6f5b90c808ea0e5fde912818707d'/>
<id>urn:sha1:d501b2c9ebab6f5b90c808ea0e5fde912818707d</id>
<content type='text'>
+ Big commit, scary
+ Some details still a bit up in the air, mainly about move checking
  structure member access ('register' types are freely copied I guess,
  same as in rust? How about user types?)
</content>
</entry>
<entry>
<title>WIP: rewrite C++ backend to be C</title>
<updated>2025-03-30T19:41:21Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2025-03-30T19:36:53Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/fwd/commit/?id=957da9056c36a5eea15c6058701f7465b31f64a8'/>
<id>urn:sha1:957da9056c36a5eea15c6058701f7465b31f64a8</id>
<content type='text'>
+ C allows for a bit more control, and we can manually handle closure
  contexts. For example `examples/fib.fwd` now works for effectively any
  `n`, pretty cool.

+ Fairly slow Fibonacci, I must admit. Initial profiling indicates it's
  mainly due to branch mispredictions, but I'll have to look into this a
  bit deeper.

+ The code is a bit hacked together, for now I'm more interested in
  getting things working, I'll worry about making things pretty later.

+ For testing, there's also initial support for modules, just so I can
  print stuff to the terminal

+ This commit is way too big, lol
</content>
</entry>
<entry>
<title>start sketching out type system</title>
<updated>2025-03-23T20:29:11Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2025-03-23T20:29:11Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/fwd/commit/?id=c87f5a8871edf6880b894a00b180c554ffd46d0a'/>
<id>urn:sha1:c87f5a8871edf6880b894a00b180c554ffd46d0a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>use maps in scope</title>
<updated>2025-03-22T14:36:18Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2025-03-22T14:36:18Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/fwd/commit/?id=350f6c40fa18c35bde9489225175c82de44ba709'/>
<id>urn:sha1:350f6c40fa18c35bde9489225175c82de44ba709</id>
<content type='text'>
</content>
</entry>
<entry>
<title>use generic conts</title>
<updated>2025-03-18T18:00:06Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2025-03-18T17:23:38Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/fwd/commit/?id=195b0c7d812811287996c3f39cbf5e9ec63da482'/>
<id>urn:sha1:195b0c7d812811287996c3f39cbf5e9ec63da482</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix some total moves</title>
<updated>2025-03-17T19:49:25Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2025-03-17T19:49:25Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/fwd/commit/?id=17c7dbd9cec96862384c4323a0e36eb0558b580d'/>
<id>urn:sha1:17c7dbd9cec96862384c4323a0e36eb0558b580d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>detect leaks</title>
<updated>2025-03-17T00:12:02Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2025-03-17T00:12:02Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/fwd/commit/?id=78bf3e039d77e3eb0d5e394273adb69b2b70a76d'/>
<id>urn:sha1:78bf3e039d77e3eb0d5e394273adb69b2b70a76d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>initial ptr stuff</title>
<updated>2025-01-09T21:00:01Z</updated>
<author>
<name>Kimplul</name>
<email>kimi.h.kuparinen@gmail.com</email>
</author>
<published>2025-01-09T21:00:01Z</published>
<link rel='alternate' type='text/html' href='https://metanimi.dy.fi/cgit/fwd/commit/?id=2367a8b63c3bcfe62d1aaf7d82c0ab3622f3b16c'/>
<id>urn:sha1:2367a8b63c3bcfe62d1aaf7d82c0ab3622f3b16c</id>
<content type='text'>
</content>
</entry>
</feed>
