You are probably familiar with primitive data types, like string or integer. Exaptive has a type system that will feel familiar. Our type system has seven primitive data types: 

  • boolean
  • integer
  • float 
  • string
  • tag
  • null
  • type

There are also types that are containers. They provide parameters for primitive types and other containers:
  • collections - lists, multisets, and sets
  • entities
  • dynamic
  • nullable

To build xaps, it's important to learn 1) how to identify what type a component will output or expects to receive to an input and 2) how to make one component's output work with another component's input in light of the data type(s) you're working with. 


This article walks through how to do that. You'll then want to take a look at the Type System Reference (part 3 of 3) to learn more about the different types.




Identifying the Type a Component Expects

To figure out what type a component wants, click on the port. You'll see a sub-title denoting what type it puts out (if it's an output) or the type it expects to receive (if it's an input).

8_os__q6ZEQQbaOx0DLniRVHbH9uY2aEHQ.png



Generally, you'll work from output to input, left to right as you build your dataflow. A component will output a type of data, and you'll need to see whether it will work with the input you want to wire it to.  


Making Components Work Together


If the output sends the same type that the input wants, you've got a match and you can wire it up. 


NOTE: Integer ports work with float ports and vice versa.


If you don't have a match, you'll need a projection or to use a gate to transition between the components. In theory you could also edit the component(s) so their ports work together, but that's only possible when it's your component or one you have permission to edit. And they are probably made the way they are for a reason. You could also work with different components, if necessary.


Now take a look at the Type System Reference (part 3 of 3) to learn the specifics of the different types.