Hi everyone!
I'm Nikola and I'll be working on the following google summer of code project. I plan on updating you guys in this thread to check out the progress and maybe return feedback :)
Week 1 13.05-19.05
I started working on generation of the basic types. Progress for this week can be seen in this branch. Added most basic types with the exceptions of the likes of functions/pids/ports and some builtin types. When I say basic types, I mean the basic/built-in and literals that elixir supports, check them out here.
Week 2 20.05 - 26.05
For this week - I mostly experimented with different approaches to recursive data types reading some papers and how I would implement function generation. Some stuff that might be interesting:
- https://kseo.github.io/posts/2016-12-14-how-quick-check-generate-random-functions.html
- https://dl.acm.org/citation.cfm?id=2364516 - didn't read this one, but the current function generation generates total functions, that you can't really shrink or show any way I can think of.
- http://www.cse.chalmers.se/~russo/publications_files/AST2011.pdf - more notable 6.2 for generating functions out of some basic ones by composing them
And a branch where I experimented on recursive data types
Week 3 27.05 - 02.06
Set up a new mix project, so that tests and reviews can be easier, you can find the project here. Also create function generation, you can (git) check out the branch.
Week 4 03.06 - 03.10
Mostly getting help from mentor to get the basic types merged and review what we've been doing. I plan on adding support for pids/ports this week.