<commit_before># Notes

## Mapping of arguments to names

Can be just sugar.

```
(let list '(123 456 789))

(let func (\ (*x) x))

(= (func 123 456 *list 789)
   (func * x (concat '(123 456) list '(789))))
```

## Evaluation steps

1. Parse source code: `string -> []interface{}`
2. Eval source code: `[]interface{} -> *Thunk`<commit_msg>Add IR section<commit_after># Notes

## Mapping of arguments to names

Can be just sugar.

```
(let list '(123 456 789))

(let func (\ (*x) x))

(= (func 123 456 *list 789)
   (func * x (concat '(123 456) list '(789))))
```

## Evaluation steps

1. Parse source code: `string -> []interface{}`
2. Eval source code: `[]interface{} -> *Thunk`

## IR

IR can be curried.
{'fraction_non_alphanumeric': 0.19121813031161472, 'fraction_numerical': 0.0821529745042493, 'mean_word_length': 3.651315789473684, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 7, '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': '6146047', 'n_tokens_mistral': 305, 'n_tokens_neox': 256, 'n_words': 98}