<commit_before>cursor
======

Cursor is a library for reading from and updating an immutable data structure.
It is designed w/ the following goals in mind:

- to provide a **simple, familiar, human friendly api**

- to work well with, but **avoid coupling to react.js** - data can easily be
shared between react and other parts of an app, or between multiple top level
react components in different parts of a page.

- to be **'pure render' friendly** - cursor objects are cached, making it easy
to avoid unncessary rendering.

- to **enforce immutability** - cursor uses Object.freeze on immutible data to
prevent bugs caused by unexpected changes.

- to provide **built in undo / redo** functionality w/ fine control over which<commit_msg>compile test to js<commit_after>cursor
======

Cursor is a library for reading from and updating an immutable data structure.
It is designed w/ the following goals in mind:

- to work well with, but **avoid coupling to react.js** - data can easily be
shared between react and other parts of an app, or between multiple top level
react components in different parts of a page.

- to be **'pure render' friendly** - cursor objects are cached, making it easy
to avoid unncessary rendering.

- to provide a **simple, familiar, human friendly api**

- to **enforce immutability** - cursor uses Object.freeze on immutible data to
prevent bugs caused by unexpected changes.

- to provide **built in undo / redo** functionality w/ fine control over which
{'fraction_non_alphanumeric': 0.0726294552790854, 'fraction_numerical': 0.0, 'mean_word_length': 4.166666666666667, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3447484', 'n_tokens_mistral': 382, 'n_tokens_neox': 373, 'n_words': 222}