<commit_before># Ponyo

Ponyo is a comprehensive high-level library for Standard ML. It is inspired
by [POCO](http://pocoproject.org/), the [Go standard library](https://golang.org/pkg/),
and the [Python standard library](https://docs.python.org/3/library/). It is the first
such library in Standard ML and addresses some of the gaps found in
a standard that has seen little revision in almost 20 years.

In particular, the needs of PL researchers and the average programmer interested in ML
are different. Ponyo's take on a comprehensive library will be geared toward
use on the server as a safe scripting language and for server-side web development.
See below for [why Standard ML](#why-standard-ml).

## Example

```sml
(* This simple program makes an HTTP GET request against http://api.ipify.org/
 * and prints the response.
 *)

structure client = Http.Client
structure request = Http.Request
strucutre method = Http.Method

fun main () =
    let
        val req = request.new (method.Get, "api.ipify.org", "")
        val rsp = client.act (req)
    in
        print (#body response)
    end
```

## Overview

Modules (WIP):
* archive
  * tar
  * zip
* compress
  * gzip
  * deflate
* container
  * tree
    * [BinarySearchTree](https://github.com/eatonphil/ponyo/blob/master/src/container/tree/binarysearch.sml)<commit_msg>fixed spelling of structure<commit_after># Ponyo

Ponyo is a comprehensive high-level library for Standard ML. It is inspired
by [POCO](http://pocoproject.org/), the [Go standard library](https://golang.org/pkg/),
and the [Python standard library](https://docs.python.org/3/library/). It is the first
such library in Standard ML and addresses some of the gaps found in
a standard that has seen little revision in almost 20 years.

In particular, the needs of PL researchers and the average programmer interested in ML
are different. Ponyo's take on a comprehensive library will be geared toward
use on the server as a safe scripting language and for server-side web development.
See below for [why Standard ML](#why-standard-ml).

## Example

```sml
(*
 * This simple program makes an HTTP GET request against http://api.ipify.org/
 * and prints the response.
 *)

structure client = Http.Client
structure request = Http.Request
structure method = Http.Method

fun main () =
    let
        val req = request.new (method.Get, "api.ipify.org", "")
        val rsp = client.act (req)
    in
        print (#body response)
    end
```

## Overview

Modules (WIP):
* archive
  * tar
  * zip
* compress
  * gzip
  * deflate
* container
  * tree
    * [BinarySearchTree](https://github.com/eatonphil/ponyo/blob/master/src/container/tree/binarysearch.sml)
{'fraction_non_alphanumeric': 0.10041060097051138, 'fraction_numerical': 0.0022396416573348264, 'mean_word_length': 3.6206896551724137, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 6, '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': '1807016', 'n_tokens_mistral': 797, 'n_tokens_neox': 772, 'n_words': 308}