spectacle icon indicating copy to clipboard operation
spectacle copied to clipboard

Complete support for module semantics

Open will62794 opened this issue 3 years ago • 7 comments

For the use cases I envision, I was not planning to implement full blown semantics of modules and module imports e.g. EXTENDS, etc. For example, for now I'm just considering operators from the standard modules to be globally available at all times, even without being explicitly imported. This behavior could be re-considered in the future, though, if necessary.

will62794 avatar Jun 29 '22 23:06 will62794

See module notes: http://lamport.azurewebsites.net/tla/newmodule.html.

will62794 avatar Sep 10 '23 22:09 will62794

Preliminary implementation in 6c12345, starting with limited support of EXTENDS based imports.

Handling INSTANCE based imports is a remaining task. Will also need to handle LOCAL INSTANCE semantics.

will62794 avatar Sep 16 '23 12:09 will62794

Can the CommunityModules be added to the default search path? The root modules of both the CCF Consistency spec and the Azure CosmosDB spec extend them.

lemmy avatar May 06 '24 22:05 lemmy

Confirmed that the below doesn't work for CCF's consistency spec because resolving the CommunityModule's Functions and Folds from the CCF repo obviously results in a 404.

https://github.com/will62794/tla-web/blob/aeaf642766073bd3d82586bd98066dd0466aa16b/js/eval.js#L24-L30

https://github.com/will62794/tla-web/blob/aeaf642766073bd3d82586bd98066dd0466aa16b/js/eval.js#L1290-L1297

lemmy avatar May 06 '24 22:05 lemmy

See 538d398.

will62794 avatar May 07 '24 04:05 will62794

Further progress towards module instantiation in 64a44dc.

Does not yet include full handling of parameterized instantiation.

will62794 avatar Jul 11 '24 02:07 will62794

And initial handling of parameterized module instantiation in 799f00d.

Proper support of LOCAL definitions also still needed.

will62794 avatar Jul 11 '24 15:07 will62794