Sure - so we can isolate this issue to the ramda notebook, which displays the Circular definition error in itself. The import into Thinking in Ramda is just showing the same error message.
The gist here is, well - these are indeed circular references. For example, the Ramda
_equals method calls its
_uniqContentEquals method, and the
_uniqContentEquals method goes back and calls
_equals if it needs to traverse deeper.
If you want to bring Ramda into Observable, the simplest way, by far, is simply:
R = require('ramda')
And if you want to expose individual functions, it’d just be a list of cells like
map = R.map
To expose them as named cells.
But if you definitely want to bring Ramda in, function-by-function, it’ll likely be a bit trickier - you’ll want to group cyclical methods like
_equal into cells rather than splitting into into one function per cell. That might take a while, because you’ll need to follow all of the references between the cells, but it’s certainly possible if that’s your goal.