From: sameer.deshmukh93@... Date: 2018-09-11T23:01:27+00:00 Subject: [ruby-core:88952] [Ruby trunk Feature#15074] Create 'official' C API documentation on ruby-doc.org Issue #15074 has been updated by v0dro (Sameer Deshmukh). @hsbt what do you think about writing the docs within C API files like `ruby.h`, `intern.h` and `extension.h` itself so that ruby-doc.org can run doxygen on them to generate the relevant documents? It will keep the documentation up-to-date as well. ---------------------------------------- Feature #15074: Create 'official' C API documentation on ruby-doc.org https://bugs.ruby-lang.org/issues/15074#change-73985 * Author: v0dro (Sameer Deshmukh) * Status: Open * Priority: Normal * Assignee: * Target version: ---------------------------------------- Currently working with Ruby C API is basically reading a bunch of random blogs and coming up with a solution based on inputs from various sources (some of which can be out of date). The only relevant resource for C API docs with practical examples for each API is currently is this website: https://silverhammermba.github.io/emberb/ However the author is sometimes unresponsive and the documentation on some APIs is missing. The extension.rdoc file in the ruby repo is not complete either. There is almost no mention of various critical functions for things like string encoding and hashes. Therefore, I propose we maintain a full C API documentation divided into meaningful sections and host this complete and 'official' documentation on ruby-doc.org website such that it is directly picked up from the Ruby repo (the same way the current docs for the Ruby core library are). We should at least aim to make it as complete and comprehensive as the Python C API docs: https://docs.python.org/3/c-api/index.html The other benefit of maintaining it this way is that users can easily see changes across Ruby versions. Having good documentation for C APIs is critical for creating fast and efficient scientific computing libraries for Ruby. The C API docs can subdivided into the following sections. Please feel free to add to the list: * Introduction - Include files - Interfacing extensions with Ruby gems using mkmf. * Garbage Collection * Basic Ruby functionality - Creating classes, constants, instance variables etc. - Method calls and constant lookup. * Global Interpreter Lock * Interfacing C structs with Ruby * Interfaces to Ruby core classes - String - String encodings - Hash - Float - Integer - Symbol -- https://bugs.ruby-lang.org/ Unsubscribe: