<commit_before>## Matlab/Octave Prototype for WCON API

This is primarily an Octave prototype, but it is expected to be portable/ported
to Matlab without any major compatibility issues, very probably with no changes.

### Setup

This package relies on the jsonlab library for JSON parsing capabilities. The
current prototype expects the git repository to be installed in the "externals"
folder. When setting up this package for the first time:

cd externals;
git clone https://github.com/fangq/jsonlab

### Current Status 

This prototype is mostly incomplete. Some very
basic functionality works, but all assumed API functions exist and are
exercised by main.m in the "driver" folder.<commit_msg>Added intended API details<commit_after>## Matlab/Octave Prototype for WCON API

This is primarily an Octave prototype, but it is expected to be portable/ported
to Matlab without any major compatibility issues, very probably with no changes.

### Setup

This package relies on the jsonlab library for JSON parsing capabilities. The
current prototype expects the git repository to be installed in the "externals"
folder. When setting up this package for the first time:

cd externals;
git clone https://github.com/fangq/jsonlab

### Current Status 

This prototype is mostly incomplete. Some very
basic functionality works, but all assumed API functions exist and are
exercised by main.m in the "driver" folder.

### Intended API

WCONWorms class object
* to_canon() # convert data to canonical units
* load_from_file(file) # loads from json (wcon) file
* save_to_file(file) # writes to json (wcon) file. save_to_file will also invoke to_canon()
* load(string) # loads from a literal string
* is_equal(object1, object2) # probably need to invoke to_canon() on both first
* file_equal(file1, file2) # do we really need this?
* merge(object1, object2) # Exception is raised on conflict. What is a conflict - time overlap with incompatible movement?

{'fraction_non_alphanumeric': 0.05918682449819866, 'fraction_numerical': 0.003088008234688626, 'mean_word_length': 4.873111782477341, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, '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': '4852541', 'n_tokens_mistral': 515, 'n_tokens_neox': 502, 'n_words': 265}