# Special request

**URL:** <https://forum.crystal-lang.org/t/special-request/7987>\
**Category:** Offtopic\
**Created:** [April 22, 2025, 6:34pm UTC](https://forum.crystal-lang.org/t/special-request/7987 "2025-04-22T18:34:46Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![kojix2](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/kojix2/32/1583_2.png) [@kojix2](https://forum.crystal-lang.org/u/kojix2)\
**Post date:** [April 24, 2025, 2:39am UTC](https://forum.crystal-lang.org/t/special-request/7987/2 "2025-04-24T02:39:38Z")

</div>

The question is a bit unclear, but here’s what I understand:

1. The Crystal compiler can be used as a library.  
See: [How can I use Crystal compiler as a library?](https://forum.crystal-lang.org/t/how-can-i-use-crystal-compiler-as-a-library/6162)

2. Embedding an interpreter has been discussed, but I don’t know of any practical examples.  
Since Crystal’s interpreter is slow to start and run, some people embed Ruby instead.  
See: [Anyolite 1.0.0](https://forum.crystal-lang.org/t/anyolite-1-0-0/4630/15)

3. Creating C ABI-compatible shared libraries in Crystal is difficult because function types depend on how they are called.  
A library compiled in one context may not be usable in another.  
See: [Discussion between asterite and beta-ziliani](https://forum.crystal-lang.org/t/embeddable-interoperable-with-ruby/4894/35)

4. As far as I know, there is no standard for a Crystal-specific ABI or shared library format beyond the C ABI.  
The Swift community, on the other hand, might be exploring this idea:  
See: [Swift ABI Stability Manifesto](https://github.com/swiftlang/swift/blob/main/docs/ABIStabilityManifesto.md)

---

_[View the full topic](https://forum.crystal-lang.org/t/special-request/7987)._
