# Ada library wishlist

**URL:** https://forum.ada-lang.io/t/ada-library-wishlist/14
**Category:** General
**Created:** [September 27, 2022, 5:45am UTC](https://forum.ada-lang.io/t/ada-library-wishlist/14 "2022-09-27T05:45:52Z")
**Posts on this page:** 1
**Showing post:** 5

<div class="post-metadata">

### Author: ![pyj](https://forum.ada-lang.io/user_avatar/forum.ada-lang.io/pyj/32/5_2.png) [@pyj](https://forum.ada-lang.io/u/pyj)
#### Post date: [October 1, 2022, 2:59pm UTC](https://forum.ada-lang.io/t/ada-library-wishlist/14/5 "2022-10-01T14:59:45Z")

</div>

I don’t know which of these might exist, I have some parts of these in progress. Most of what I do in Ada is desktop applications and tools, not embedded, but that doesn’t seem to be a category of software that the community is very interested in.

- **Backing for memory allocators** (stack, page allocator w/ mmap, etc.)
- **Memory allocator types** (free list, bump pointer, slab allocator)
- **Scope-based files** (controlled-type files), that close when they go out of scope
- **Smart pointers** - (atomic/non-atomic) reference counted, something analogous to `std::unique_ptr`
- **Memory mapped loading of files**
- **Monitoring files for changes**
- **“Is this file binary?”** - e.g. Examine first 4 KiB of a file for a null byte
- **UTF-8 helpers to operate on String types** - painful especially is grapheme cluster iteration. A lot of tools use UTF-8 or ASCII so I don’t want to move over to `Wide_String` or `Wide_Wide_String`.
- **String splitting** - I have this in Septum
- **Python [shlex](https://docs.python.org/3/library/shlex.html) equivalent**
- **Code generation for JSON serialization/deserialization** - feed it an .abs file and get an ads+adb file with load/save functionality.
- **Vulkan bindings**
- **PNG loading**
- **Super simple http**

---

_[View the full topic](https://forum.ada-lang.io/t/ada-library-wishlist/14)._
