update interop.md
This commit is contained in:
		@@ -5,11 +5,11 @@ for that certain considerations are taken:
 | 
			
		||||
* number of public api calls is kept at the minimum
 | 
			
		||||
* procedure parameters can only use basic types, no aggregates, with exception of Vec/Matrix types and alike,
 | 
			
		||||
  with no expectation on new additions (see [/include/twn_types.h](../include/twn_types.h))
 | 
			
		||||
* optionals can be expressed via pointer passage of value primitives, with NULL expressive default, but they should be immutable
 | 
			
		||||
* opaque typed parameters are passed around as pointers
 | 
			
		||||
* when mutation on input is done, - it shouldn't be achieved from a mutable pointer, but return value
 | 
			
		||||
* return value could be a simple aggregate that is translatable to value-only dictionary
 | 
			
		||||
* optionals can be expressed via pointer passage of value primitives, assumed immutable, with the NULL expressing default
 | 
			
		||||
* no opaque types, only keys
 | 
			
		||||
* when mutation on input is done, - it shouldn't be achieved from a mutable pointer, but the return value
 | 
			
		||||
* return value could be a simple aggregate that is translatable to pure data dictionary
 | 
			
		||||
* module prefix is used for namespacing, actual symbols come after the prefix (`module_symbol`)
 | 
			
		||||
* symbols should not contain letters at the start nor after the namespace prefix
 | 
			
		||||
* floats are preferred over integers
 | 
			
		||||
* [/include/twn_api.json](../include/twn_api.json) file is hand-kept with a schema to aid automatic binding generation and other tooling
 | 
			
		||||
* 32 bit floating point is the only numeric type
 | 
			
		||||
* [/include/twn_api.json](../include/twn_api.json) file is hand-kept with a schema to aid automatic binding generation and tooling
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user