Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/holyjak/ardoq-rama-poc

My attempt at learning Rama by re-implementing parts of Ardoq
https://github.com/holyjak/ardoq-rama-poc

Last synced: 2 months ago
JSON representation

My attempt at learning Rama by re-implementing parts of Ardoq

Awesome Lists containing this project

README

        

# I am learning Rama by re-implementing parts of Ardoq

This is a learning project, which I initiated to get a practical experience with the [fascinating Rama programming platform](https://blog.redplanetlabs.com/2023/08/15/how-we-reduced-the-cost-of-building-twitter-at-twitter-scale-by-100x/). Started at Ardoq hackaton 2023.

**See `doc/` for details:**

1. [Day 1 log](/doc/day1.adoc)
2. TBD

Note that Rama AOT compiles a specific Clojure version in its jar, so you can't specify a different version of Clojure in your dependencies.

# Notes

## Cursive

* Awesome
* Some macros lack docstring, e.g. <
* Currently, Rama has Clojure 1.11.1 built-in but Cursive believes `random-uuid` doesn't exist (though it works fine in the repl)

## Rama setup

* Run with lein profiles dev,provided
* Had to add nrepl dependency to for Cursive

## Rama learnings

* See my #rama questions https://clojurians.slack.com/archives/C05N2M7R6DB/p1702471642548209
* Topologies: finish with `local-transform` to write the data
* I can't use Clojure flow control constructs such as `or` in a dataflow > use `or>`, `<