Skip to content

Conversation

jneem
Copy link
Member

@jneem jneem commented Sep 23, 2025

This adds C bindings to the public API. I think the most important basics are covered (inspecting values, deep/shallow eval, printing errors).

I've also added some very basic tests, included in nix flake check. However, I haven't updated the release workflows to actually distribute anything. I'm not quite sure what (if anything) makes sense to distribute, actually. Maybe libnickel_lang.a and nickel_lang.h?

Copy link
Contributor

github-actions bot commented Sep 23, 2025

🐰 Bencher Report

Branchc-api
Testbedubuntu-latest
Click to view all benchmark results
BenchmarkLatencymicroseconds (µs)
diagnostics-benches/inputs/goto-perf.ncl📈 view plot
🚷 view threshold
10,051.00 µs
diagnostics-benches/inputs/large-record-tree.ncl📈 view plot
🚷 view threshold
182,330.00 µs
diagnostics-benches/inputs/redis-replication-controller.ncl📈 view plot
🚷 view threshold
297.84 µs
diagnostics-benches/inputs/small-record-tree.ncl📈 view plot
🚷 view threshold
425.40 µs
fibonacci 10📈 view plot
🚷 view threshold
254.60 µs
foldl arrays 50📈 view plot
🚷 view threshold
445.83 µs
foldl arrays 500📈 view plot
🚷 view threshold
3,688.20 µs
foldr strings 50📈 view plot
🚷 view threshold
4,374.90 µs
foldr strings 500📈 view plot
🚷 view threshold
42,813.00 µs
generate normal 250📈 view plot
🚷 view threshold
39,426.00 µs
generate normal 50📈 view plot
🚷 view threshold
1,538.50 µs
generate normal unchecked 1000📈 view plot
🚷 view threshold
1,981.40 µs
generate normal unchecked 200📈 view plot
🚷 view threshold
419.66 µs
init-diagnostics-benches/inputs/goto-perf.ncl📈 view plot
🚷 view threshold
50,990.00 µs
init-diagnostics-benches/inputs/large-record-tree.ncl📈 view plot
🚷 view threshold
200,810.00 µs
init-diagnostics-benches/inputs/redis-replication-controller.ncl📈 view plot
🚷 view threshold
45,873.00 µs
init-diagnostics-benches/inputs/small-record-tree.ncl📈 view plot
🚷 view threshold
45,748.00 µs
pidigits 100📈 view plot
🚷 view threshold
2,089.60 µs
pipe normal 20📈 view plot
🚷 view threshold
663.98 µs
pipe normal 200📈 view plot
🚷 view threshold
5,601.30 µs
product 30📈 view plot
🚷 view threshold
247.17 µs
requests-benches/inputs/goto-perf.ncl-000📈 view plot
🚷 view threshold
2,681.00 µs
requests-benches/inputs/large-record-tree.ncl-000📈 view plot
🚷 view threshold
553,780.00 µs
requests-benches/inputs/large-record-tree.ncl-001📈 view plot
🚷 view threshold
86.64 µs
scalar 10📈 view plot
🚷 view threshold
554.46 µs
sum 30📈 view plot
🚷 view threshold
247.61 µs
🐰 View full continuous benchmarking report in Bencher

@jneem jneem marked this pull request as ready for review October 3, 2025 22:45
@jneem jneem requested a review from yannham October 3, 2025 22:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant