Skip to content

Lisp

For engineers who wish to use a proper programming language to express the entities and their composition, there is a Lisp interpreter that transpiles and composes the topology to a bincode format.

(ns my-app)
(defroute api
:path "/api"
:method :post
:authorizer 'authorizer)
(defun bar :uri "https://github.com/myorg/bar")
(defevent Completed)
(defchannel my-room)
(compose route/api function/bar event/Completed channel/my-room)
Terminal window
tc-lisp topology.lisp | tc create -s dev1 -e dev --bin

We can also define more complex flows that use the map and reduce for example:

(compose
route/api
(map
'(function/bar function/baz))
(reduce)
event/Completed
channel/my-room)

tc-lisp-mode wip