<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ccl/ccl_test.go, branch v1.0.0</title>
<subtitle>A configuration language inspired by textproto</subtitle>
<id>https://code.roseh.moe/ccl/atom/ccl_test.go?h=v1.0.0</id>
<link rel='self' href='https://code.roseh.moe/ccl/atom/ccl_test.go?h=v1.0.0'/>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/ccl/'/>
<updated>2025-12-02T02:02:28Z</updated>
<entry>
<title>Fix error messages and add tests</title>
<updated>2025-12-02T02:02:28Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rosehogenson@posteo.net</email>
</author>
<published>2025-12-02T02:02:28Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/ccl/commit/?id=81e2107ecc3e9562a343f704c4955f5480d58636'/>
<id>urn:sha1:81e2107ecc3e9562a343f704c4955f5480d58636</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Allow octal and hex escapes to take fewer digits</title>
<updated>2025-12-01T19:21:40Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rosehogenson@posteo.net</email>
</author>
<published>2025-12-01T19:20:16Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/ccl/commit/?id=9414a7fd024dba6c70c3c204e7a98dd807572f4a'/>
<id>urn:sha1:9414a7fd024dba6c70c3c204e7a98dd807572f4a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Get rid of struct token</title>
<updated>2025-12-01T18:58:57Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rosehogenson@posteo.net</email>
</author>
<published>2025-12-01T18:58:57Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/ccl/commit/?id=55b358e280b16d1d3335b85e5fe12702a264cc1d'/>
<id>urn:sha1:55b358e280b16d1d3335b85e5fe12702a264cc1d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Disallow control characters in strings</title>
<updated>2025-11-25T01:43:44Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rosehogenson@posteo.net</email>
</author>
<published>2025-11-25T01:43:44Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/ccl/commit/?id=456b784f4ff742bf604340e62c11da47b46b2950'/>
<id>urn:sha1:456b784f4ff742bf604340e62c11da47b46b2950</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Only allow "true" and "false" for bool</title>
<updated>2025-11-25T00:18:03Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rosehogenson@posteo.net</email>
</author>
<published>2025-11-25T00:12:09Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/ccl/commit/?id=36acb0052bde87b82fb6c08d3a57680f8bea4e5f'/>
<id>urn:sha1:36acb0052bde87b82fb6c08d3a57680f8bea4e5f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Don't allow decoding bool as int</title>
<updated>2025-11-25T00:16:33Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rosehogenson@posteo.net</email>
</author>
<published>2025-11-25T00:06:33Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/ccl/commit/?id=c61422f65bf1859da9336d764bb328b1882ec287'/>
<id>urn:sha1:c61422f65bf1859da9336d764bb328b1882ec287</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Holy shit fuzzing is so cool</title>
<updated>2025-11-19T03:20:29Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rosehogenson@posteo.net</email>
</author>
<published>2025-11-19T03:20:29Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/ccl/commit/?id=933c9c9721bf20bc00dab85a75546a7573c31747'/>
<id>urn:sha1:933c9c9721bf20bc00dab85a75546a7573c31747</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add a helper function for readability</title>
<updated>2025-10-31T02:45:39Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rosehogenson@posteo.net</email>
</author>
<published>2025-10-31T02:45:39Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/ccl/commit/?id=b25fc1dbacf79d795f80ae07a5785877c2b0fdb0'/>
<id>urn:sha1:b25fc1dbacf79d795f80ae07a5785877c2b0fdb0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Set the lexer as a field on parser</title>
<updated>2025-10-31T02:09:35Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rosehogenson@posteo.net</email>
</author>
<published>2025-10-31T02:04:42Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/ccl/commit/?id=e4f0185460ab348d596877606b2d4a99b4c27ffb'/>
<id>urn:sha1:e4f0185460ab348d596877606b2d4a99b4c27ffb</id>
<content type='text'>
goos: linux
goarch: amd64
pkg: roseh.moe/pkg/ccl
cpu: AMD Ryzen 9 5900X 12-Core Processor
         │ baseline.txt │              new.txt               │
         │    sec/op    │   sec/op     vs base               │
Parse-24    4.808µ ± 0%   4.739µ ± 0%  -1.44% (p=0.000 n=20)
</content>
</entry>
<entry>
<title>Use a classic struct iterator instead of iter.Pull</title>
<updated>2025-10-31T01:50:19Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rosehogenson@posteo.net</email>
</author>
<published>2025-10-31T01:45:11Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/ccl/commit/?id=aa8a935f620a053cc9c3c65587b433f3e8d3a6e9'/>
<id>urn:sha1:aa8a935f620a053cc9c3c65587b433f3e8d3a6e9</id>
<content type='text'>
iter.Pull doesn't provide much value here. Actually the lexer is
probably simpler this way, and iter.Pull also destroys stack traces for
panics in the lexer.

Ouch

goos: linux
goarch: amd64
pkg: roseh.moe/pkg/ccl
cpu: AMD Ryzen 9 5900X 12-Core Processor
         │ baseline.txt │             itern't.txt             │
         │    sec/op    │   sec/op     vs base                │
Lex-24      1.436µ ± 0%   1.320µ ± 0%   -8.05% (p=0.000 n=20)
Parse-24    7.846µ ± 0%   4.801µ ± 0%  -38.82% (p=0.000 n=20)
geomean     3.356µ        2.517µ       -24.99%
</content>
</entry>
</feed>
