frostney / frostney/GocciaScript
Write the C-ABI embedding guide and examples
Nobody has claimed this yet.
- Dominant language
- Pascal
- Stars
- 20
- Forks
- 3
- Avg merge
- 3d 4h
- Merged PRs (30d)
- 45
Description
Summary
Document embedding through the versioned libgoccia dynamic library and stable C ABI, with a worked example for every validated host language.
Why
docs/embedding.md covers FreePascal-native embedding only. Foreign hosts need installation, runtime-discovery, ownership, and compatibility guidance specific to a dynamic library.
Expected behavior
- Document platform artifact names and runtime search/install configuration for
.dylib,.so, and.dll. - Publish the C API reference: ABI versioning, lifecycle, value handles,
ref/unref, error handling, thread affinity, and execution limits. - Include a worked C, Rust, Zig, Crystal, Nim, and C# example sourced from #866.
- Explain library/header compatibility and upgrade rules.
- Document redistribution and release-artifact verification.
Scope notes
- Depends on #864, #865, and #866.
- Parent #823.
- Do not describe static linking as a supported embedding route.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with docs/embedding.md and the outputs from #864, #865, and #866, since this guide depends on them. Cover the versioned libgoccia artifacts, stable C ABI, runtime and ownership rules, compatibility, redistribution, and verification. Done means the guide includes validated C, Rust, Zig, Crystal, Nim, and C# examples without presenting static linking as supported.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, crystal, csharp, nim, rust, zig
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100