ATS2 libraries I've been working on

41 views
Skip to first unread message

randy...@gmail.com

unread,
Jun 24, 2020, 7:35:33 PM6/24/20
to ats-lang-users

First of all, I'd like to say hello to everyone. This is my first post (please be kind).

I've been playing with ATS for the last few months and I wanted to share some libraries that I've been working on. A few things to note before criticism is laid upon me:

1. I definitely am still learning ATS, so I've probably (definitely?) made many mistakes.
2. These libraries still need work (like a license, documentation, more features, so on).

https://github.com/xran-deex/ats-http (a basic (but working!) http server built on epoll)
https://github.com/xran-deex/ats-args (a command line parsing library)
https://github.com/xran-deex/ats-unit-testing (a tiny unit testing framework)
https://github.com/xran-deex/ats-epoll (ats-http is built on top of this)

All of these libraries should be memory clean and have a small test suite accompanying them (using ats-unit-testing).

My main focus has been the HTTP library. It's far from a full implementation of the protocol, but it works quite well, it handles basic get, post, put requests, does gzip compression, access to headers and request body, and there's an example using sqlite3. Also, it's pretty fast and the binary is tiny (2 of my main goals with the project).

There are a bunch of other smaller libraries that each of these projects depend on (some of which I think are borrowed (stolen?) from elsewhere and modified to work with my makefiles).
To make things simple, I've defaulted to using npm to manage dependencies.
I have a docker image (xrandeex/ats2:0.4.0) that most of my libraries use in conjunction with drone.io to automate builds when checking into github.

Enjoy!
-Randy

isaac....@gmail.com

unread,
Jun 25, 2020, 10:08:40 AM6/25/20
to ats-lang-users
Thank you! I am learning ATS as well and I have wanted an http library for a project.

There are a bunch of other smaller libraries that each of these projects depend on (some of which I think are borrowed (stolen?) from elsewhere and modified to work with my makefiles).

Can you link the repositories of those dependencies? I just want to see what licenses they fall under.

Artyom Shalkhakov

unread,
Jun 25, 2020, 2:33:58 PM6/25/20
to ats-lang-users
Hi Randy and welcome!

This is nice!

I think I might find these things very handy one day!

Hongwei Xi

unread,
Jun 25, 2020, 2:48:29 PM6/25/20
to ats-lan...@googlegroups.com
Thanks for sharing!

And looking forward to more :)

Cheers!

--Hongwei



--
You received this message because you are subscribed to the Google Groups "ats-lang-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ats-lang-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ats-lang-users/379f56b0-ba3f-482f-a3a2-1c9ee4317579n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages