Yurt aims to implement functional relational programming defined in Out of the Tar Pit paper as closely as possible.

Feeders and Observers

Behavior of a yurt system is declaratively specified in relations, constraints, queries and functional extensions. But a program can only affect state and cause side effects as response to inputs.

There can be multiple feeders (sources of input) to a system. Each transaction must change the state into a new consistent state to succeed.

Observers are the means of output in a Yurt server. They subscribe to one or more queries and get notified when they change.

Ad-hoc queries and system prevalence are also considered as supplementary methods of accessing the state.

Project Status

Yurt is still in pre-alpha stage. Current priority is to make it work right, assuming an ideal world where giving up state and control doesn't cause performance drawbacks. Once this goal is accomplished making the platform scalable and high performance while retaining the advantages of controlled complexity will be prioritized.

More Info

If you would like to be notified when Yurt nears a release you can subscribe the updates list below. No updates are sent for now, and when there are updates they will either be bi-weekly or monthly. Also we will not share your emails with third parties or use them for another purpose.