Difference between revisions of "Functions"

From Developer Documents
Jump to navigation Jump to search
(Created page with "= Intro = This section deals with the following specifications *Specification of generic functions applicable in the Simantics framework *Specification of functions attached to...")
 
Line 7: Line 7:
 
*Specification of functions with side-effects (operations or commands)
 
*Specification of functions with side-effects (operations or commands)
 
*Automatically generated code based on semantic model about functions (stubs)
 
*Automatically generated code based on semantic model about functions (stubs)
 +
 +
== Specification ==
 +
 +
* Functions are objects implementing the interface '''org.simantics.scl.runtime.function.Function'''.
 +
* We have a type '''Value''' (?) that can be adapted to an SCL value (in particular to a function).
 +
* We have a relation '''HasType''' (?) Value -> String that specifies the SCL type of the value
 +
* Operations are functions that return an object implemeting '''WriteResult'''.

Revision as of 09:49, 20 July 2011

Intro

This section deals with the following specifications

  • Specification of generic functions applicable in the Simantics framework
  • Specification of functions attached to types (methods)
  • Specification of functions with side-effects (operations or commands)
  • Automatically generated code based on semantic model about functions (stubs)

Specification

  • Functions are objects implementing the interface org.simantics.scl.runtime.function.Function.
  • We have a type Value (?) that can be adapted to an SCL value (in particular to a function).
  • We have a relation HasType (?) Value -> String that specifies the SCL type of the value
  • Operations are functions that return an object implemeting WriteResult.