Here is the link to Project Euler:
In the past, I found it quite interesting to solve in ATS some of the
problems published
at Project Euler. This can also be particularly effective for teaching
oneself various concepts
of program verification.
I have just set up the following ATS-project:
I hope that the ATS community will have a considerably significant amount
of interest in this
so that this effort can continue in a meaningful way.
Let me take the first problem (https://projecteuler.net/problem=1) as an
example:
If we list all the natural numbers below 10 that are multiples of 3 or 5,
we get 3, 5, 6 and 9. The sum of these multiples is 23.
Find the sum of all the multiples of 3 or 5 below 1000.
I give a specification of this problem in the following file:
This specification has been implemented in the following file:
In general, a problem can have multiple specifications and each
specification can have multiple solutions
(that is, implementations).
I hope that people interested in this will contribute both specifications
and solutions. As a community, we
can review them together and likely improve them as well.
At this point, I would like to mostly work as a reviewer/editor. If you
contribute, please send your code to
this list or to me directly.
The following link leads to a solution to the first problem that can be
type-checked using Patsopt-as-a-service
(Patsoptaas):
The following link leads to a variant of the above solution that can be
tested (that is, run) using Patsopt-as-a-service:
Cheers!