Skip to content

Conversation

@ChingLongTin
Copy link

Call implementation will be after the algorithms for instrumenting functions are completed.

  1. allocating optionNme
    This changed some diff tests (OpenWildcard.mls, Imports.mls, ImportMLs.mls) that imported Option themselves.
    If I allocate optionNme after checking if stageCode is enabled, it fails to link to the file.
    Is there some way to avoid changing the diff tests, or is this fine?

  2. implementing I-Inst
    The current shape for Class C(n:s) includes the field names (n), but the field names are not available in Instantiation.
    The field names are used in sel. If the class is staged using I-Cls, then we can use the staged ClsLikeDefn to retrieve the symbol names, but when do we do when it isn't staged?

class A(a)
staged module B
  class C(a)
  fun f() = 
    new C(1) // ok, C is staged
    new A(1) // not ok, we don't know field names of A after instrumentation

ChingLongTin and others added 30 commits September 30, 2025 16:13
…ring

Add Block.mls into DiffMaker and prepare the function for lowering

Use older Import syntax for now
@ChingLongTin
Copy link
Author

ChingLongTin commented Dec 12, 2025

From the meeting, the logic for shape will now be implemented in mlsript, so I am reducing the scope of Instrumentation.scala to just handle conversion from Block into Block IR. I will mark this pr as ready when that is done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants