WIP: Stdlib and PX use 'import' to relate files#315
Closed
matthewhammer wants to merge 3 commits intomasterfrom
Closed
WIP: Stdlib and PX use 'import' to relate files#315matthewhammer wants to merge 3 commits intomasterfrom
matthewhammer wants to merge 3 commits intomasterfrom
Conversation
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR attempts to:
importto relate the files ofstdliband the produce exchange (PX).Makefile, so that each invocation ofascgenerally takes a single.asfile, as opposed to the entire list of files upon which this file depends.However, I already foresee a few questions/issues that need further attention:
importessentially performs expression substitution, "library files" need to end with a unit value, to satisfy the type checker (e.g., see the edit forprelude.asthat ends that file with()); do we want this semantics?a.asis imported byb.asandc.as, and thend.asimportsb.asandc.as--- should we get errors about multiple definitions for the contents ofa.as(now transitively imported twice intod.as)? As an example, I suspect that very common modules likeprelude.asorhash.ascould play the role ofa.ashere, and fall victim to this kind of "duplication".cc @nomeata
Also, there are some non-critical, tangential odds and ends here too: