<commit_before># Calchylus - Lambda calculus with Hy

`Calchylus` is a combination of [Hy](http://docs.hylang.org) macro and Lambda term dictionary. It was written to help to write and evaluate Lambda expressions.

<blockquote><a href="https://en.wikipedia.org/wiki/Lambda_calculus">Lambda calculus</a> is a formal system in mathematical logic for expressing computation based on function abstraction and application using variable binding and substitution. -<i> wikipedia.org</i></blockquote>

The short `𝜆` macro presented below, makes it possible to define and evaluate Lambda expressions the most conventional way. There is really not much to implement because Hy is already a LISP language. LISP, on the other hand, can be defined as *an untyped Lambda calculus extended with constants*. So actually we just need to introduce `𝜆` macro,  simplify the usual LISP notation, and act only with functions.

At the current development stage, `Calchylus` does not provide alpha and beta reduction stages of the terms, just direct evaluation.

### Repository

`Calchylus` Jupyter notebook [document](http://nbviewer.jupyter.org/github/markomanninen/calchylus/blob/master/Calchylus%20-%20Lambda%20calculus%20in%20Hy.ipynb) and GitHub [repository](https://github.com/markomanninen/calchylus) was initialized by [<NAME>](https://github.com/markomanninen), 08/2017.<commit_msg>intro improvements<commit_after># Calchylus - Lambda calculus with Hy

`Calchylus` is a combination of [Hy](http://docs.hylang.org) macro and Lambda term dictionary. It was written to help to write and evaluate Lambda expressions.

<blockquote><a href="https://en.wikipedia.org/wiki/Lambda_calculus">Lambda calculus</a> is a formal system in mathematical logic for expressing computation based on function abstraction and application using variable binding and substitution. -<i> wikipedia.org</i></blockquote>

The short `𝜆` macro, that is presented in the document, makes it possible to define and evaluate Lambda expressions the most conventional way in Hy environment. In reality, there is really not much to implement because Hy is already a LISP language. LISP, on the other hand, can be defined as *an untyped Lambda calculus extended with constants*. So actually we just need to introduce `𝜆` macro,  simplify the usual LISP notation, and act only with functions. Maybe more useful are all main concepts and Lambda terms presented in the document. One can study the very basics of functional language with given examples.

At the current development stage, `Calchylus` does not provide alpha conversion and beta [reduction](https://en.wikipedia.org/wiki/Lambda_calculus#Reduction) stages of the terms as an output, just direct evaluation.

### Repository

`Calchylus` Jupyter notebook [document](http://nbviewer.jupyter.org/github/markomanninen/calchylus/blob/master/Calchylus%20-%20Lambda%20calculus%20in%20Hy.ipynb) and GitHub [repository](https://github.com/markomanninen/calchylus) was initialized by [<NAME>](https://github.com/markomanninen), 08/2017.
{'fraction_non_alphanumeric': 0.08237232289950576, 'fraction_numerical': 0.010543657331136738, 'mean_word_length': 5.473347547974414, 'pattern_counts': {'":': 0, '<': 17, '<?xml version=': 0, '>': 17, 'https://': 7, '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': '2508981', 'n_tokens_mistral': 869, 'n_tokens_neox': 814, 'n_words': 349}