Conversation
- `Table.lang` gets `External of string`; `Extraction Language` accepts any registered identifier. - `Common.register_language` registers a `language_descr`; built-in languages use it too. - Per-language special cases move to `language_descr` fields: `unquote`, `upper_types`, `char_type`, `string_type`, `modular`, `id_of_filename`. - `error_scheme` becomes `error_not_modular`, for any language, with a hint to use single-file extraction. Follow-up to rocq-prover#22487.
02f8881 to
98169b3
Compare
SkySkimmer
left a comment
There was a problem hiding this comment.
seems reasonable, if some other language needs more flexibility we can change the API later.
|
Do you have scala as an external plugin to add to CI? |
|
Switched to |
|
@coqbot run full ci |
|
Also, a naive question to @vbergeron: what were the limitations of the JSON export that prevented you from writing your code directly above it? |
The JSON export drops some information the proposed Scala backend relies on:
An external translator would also have to redo the keyword/case renaming that Last but not least, the JSON backend is marked as for "development and debugging". Enriching and stabilizing the format seemed like a bigger commitment than a plugin API. Happy to discuss it further if needed |
Follow-up to #22487: allow plugins to add extraction languages.
Table.langgetsExternal of string;Extraction Languageaccepts any registered identifier.Common.register_languageregisters alanguage_descr; built-in languages use it too.Per-language special cases move to
language_descrfields:unquote,upper_types,char_type,string_type,modular,id_of_filename.error_schemebecomeserror_not_modular, for any language, with a hint to use single-file extraction.Added / updated test-suite.
Added changelog.
Added / updated documentation.
make doc_gram_rsts.