The support functions and operator methods needed to extend a GIN index are documented in C syntax. Do these functions need to be implemented in C, or is there an interface for other languages like PL/pgSQL?
GIN support functions use classic C functions, that means they can be called only from C and languages that support C calls. PL/pgSQL doesn't do this.
PL/pgSQL is just glue for SQL - it can be used for implementation of some customer business tasks, but it cannot be (almost) used for Postgres extending.