On 05/30/2013 03:51 PM, Makarius wrote:

So back to this now:

  * Canonical session name?  It looks like the name of the tool is
    "Spec_Check", according to its main Spec_Check.thy

    So it would be session HOL-Spec_Check in ~~/src/HOL/Spec_Check/

You still have a chance to rename "Spec_Check" now, before anything is
    pushed to main Isabelle.  The directory location is given by having a
    session built on HOL, though.

Yes, I think Spec_Check is the name to go with.
  * Formal licensing.  As part of the main source tree it implicitly
joins the toplevel LICENSE. It is possible to have a 1-line add-on in
    each theory header, e.g. see ~~/src/HOL/SPARK/SPARK.thy, but not a
    separate LICENSE file.

There is no need for a separate LICENSE file here.
    The README could also say in plain words that the original code-base
    by Christopher League has been relicensed under the 3-clause BSD
    license of Isabelle -- i.e. a slightly reduced version of what is in
    the README of f0a79be57a4b already.

Yes, I was trying to point this out, but did not state it in such precise words.

  * NEWS and CONTRIBUTORS entries.


Summary and Authors are in the README file from that NEWS and CONTRIBUTORS can be derived.
Further (less important hints on the README):

  3. As Isabelle can run heavily in parallel, we avoid reference types.

Sounds like someone got surprised after 10 years of multicores in the consumer market that parallel programming is just the normal situation. When I was a young student, we did learn parallel and concurrent programming by default, instead of the oo-nonsense that came on later generations. (Times have changed again already, so we don't have to revisit this old topic.)


  4. Isabelle has special naming conventions and documentation of source
  code is only minimal to avoid parroting.

Sounds a bit depressing for me, since I've tried to explain the good old high-quality code writing techniques in the implementation manual, and then the young people don't even fit sources on the screen (much more than the 80--100 char line length). BTW, I've seen really good sources recently: ACL2. They have a *strict* 80 char limit, and really good writing style of "essays", not "code documentation".

Anyway, we stick to what Isabelle/ML is, and don't have to make excuses for it.


These are no excuses, but they simply describe the reasons for the differences between the original QCheck and the Isabelle's Spec_Check implementation.
Dou you want to have a toplevel Isar command for "check_property @{context}"? That is relatively easy to have these days. What should be its name?

I was thinking of a ML antiquotation for "check_property @{context}" and I was thinking of @{spec ...} and some context flags that lets spec either only compile, or check with values. This should allow that @{spec ...} could be inlined in the implementation if anyone wishes to do so.

All of this is possible future work, but more importantly, I would like to see some volunteer that advertises and mentors a follow-up student project for Spec_Check.

Lukas
_______________________________________________
isabelle-dev mailing list
[email protected]
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev

Reply via email to