<commit_before># WIP; USE AT YOUR OWN RISK
# HyCC
**HyCC** is a static compiler for **Hy programming language**, can create shared libraries and standalone executables from Hy source files.
The input source file is once translated to C and then compiled to machine code. You may also get the generated C source code and compile it mannually with any C/C++ compilers.

One of the recommended uses is to compile a Hy module and create a shared library in order to improve its performance.
In most cases, the compiled module runs much faster than Hy as well as Python, so we can say that `hycc` replaces `hyc` completely.

## Requirements
- hy (latest)
- Cython >= 0.25.2

## Installation
```
$ pip install hycc
```

## Usage
```
usage: hycc [options] module...

options:
  -o file [file ...]  place the output into [file]
  --with-c            generate c code
  --with-python       generate python code
  --shared            create shared library
  --version           show program's version number and exit
  --help              show this help and exit
```
## Example
- hello.hy

```clj:
(defn hello []
  (print "hello"))

(defmain [&rest args]
  (hello))
```

### Create an executable file
```
$ hycoc hello.hy
$ ./hello
hello
```

### Create a shared library
```
$ hycc hello.hy --shared
```
You can import this from Hy as well as Python.

```clj:
(import hello)
(hello.hello)
; > hello
```

```python:
import hello
hello()
# > hello
```

## License
HyCC is destributed under [MIT license](LICENSE).

## Author
[<NAME>](https://github.com/koji-kojiro) (<EMAIL>)<commit_msg>Update README.md; I want to improve my English...<commit_after># WIP; USE AT YOUR OWN RISK
# HyCC
**HyCC** is a static compiler for [**Hy**](https://github.com/hylang/hy), can create shared libraries and standalone executables from Hy source files.  
The input source file is once translated to C and then compiled to machine code.  
You may also get the generated C source code and compile it mannually with any C/C++ compilers.

One of the recommended uses is to compile a Hy module and create a shared library in order to improve its performance.  
In most cases, the compiled module runs much faster than Hy as well as Python, so we can say that `hycc` replaces `hyc` completely.

## Requirements
- hy (latest)
- Cython >= 0.25.2

## Installation
```
$ pip install hycc
```

## Usage
```
$ hycc --help
usage: hycc [options] module...

options:
  -o <file>      place the output into <file>
  --with-c       generate c code
  --with-python  generate python code
  --shared       create shared library
  --version      show program's version number and exit
  --help         show this help and exit

```
## Example
- hello.hy

```clj
(defn hello []
  (print "hello"))

(defmain [&rest args]
  (hello))
```

### Create an executable file
```
$ hycoc hello.hy
$ ./hello
hello
```

### Create a shared library
```
$ hycc hello.hy --shared
```
You can import this from Hy as well as Python.

```clj
(import hello)
(hello.hello)
; > hello
```

```py
import hello
hello()
# > hello
```

## License
HyCC is destributed under [MIT license](LICENSE).

## Author
[<NAME>](https://github.com/koji-kojiro) (<EMAIL>)
{'fraction_non_alphanumeric': 0.12205095942120163, 'fraction_numerical': 0.0025165146272412707, 'mean_word_length': 3.3031123139377536, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 15, 'https://': 3, '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': '1806214', 'n_tokens_mistral': 1017, 'n_tokens_neox': 951, 'n_words': 425}