Skip to content

pylover/carrow

Repository files navigation

carrow

C non-blocking IO framework inspired by Haskell's arrow and monads.

From haskell's wiki:

Arrows, or Freyd-categories, are a generalization of Monads.

They can do everything monads can do, and more. They are roughly comparable to monads with a static component.

Build

Dependencies

git clone git@github.com:pylover/carrow.git
cd carrow 
mkdir build
cd build
cmake ..
make clean all

Running examples

Examples Dependencies:

cd path/to/carrow/build
make tcpserver_exec
make tcpserver_profile

make tcpclient_exec
make tcpclient_profile

make udpserver_exec
make udpserver_profile

make timer_exec
make timer_profile

make sleep_exec
make sleep_profile

Contirbution

pip install prettyc
cd path/to/carrow/build
make lint

Running tests

Dependencies
make test

Coding style

  • Please preserve two blank lines between every definition at the root of the module/file.