dafny-lang / libraries

Libraries useful for Dafny programs
Other
43 stars 25 forks source link

Readme.md needs code duplication explanation #138

Closed benreynwar closed 1 year ago

benreynwar commented 1 year ago

Currently it looks like there are two versions of the library existing at the same time in the repo, but it's not at all clear why this is the case.

It would be good if the main Readme.md would explain what is going on here, and what someone who's looking at the repo for the first time should be using.

Presumably there's a good rational for this duplication rather than just having two branches, but to a newcomer it's a little hard to understand what's going on.

My impression is I should use the code in the 'dafny' subdirectory. But if I want to add functionality to the library, do I need to modify both versions, or do I only need to worry about the code in the 'dafny' subdirectory?

stefan-aws commented 1 year ago

Thanks, I agree that we should add further documentation. The reason for having two branches is that we were developing a more structured version of the library inside of the dafny subdirectory (see https://github.com/dafny-lang/libraries/blob/master/src/dafny/DafnyCore.md), while wanting to keep the support for the existing library during the time of transition. This is an ongoing effort, with other approaches to modernise the library happening at the same time. As to your last question, given that the transition hasn't really been completed yet, and most users tend to go for the old version, I'd suggest adding new code to both directories for now.