User Tools

Site Tools


Each Dana component acts as a service that can be used by other components. A component provides implementations of one or more abstract objects and requires other objects to be implemented by other components. Requirements of a given component C are called dependencies and each one must be satisfied by connecting C to another component that provides an implementation of a compatible object.

Here is a very simple Dana component:

component provides App requires io.Output out
    int App:main(AppParam *params)
        return 0;

This component provides an implementation of the App object and requires itself to be connected to another component implementing the io.Output object. Unlike the majority of dependencies, those of type io.Output are automatically satisfied by the Dana runtime.

From a command prompt we can therefore compile this component:

dnc App.dn

And run it:

dana App.o

And we should see some familiar output.

a_simple_component.txt · Last modified: 2013/06/30 16:36 by barryfp

Page Tools