-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rename miden
to miden_lib
#493
Comments
It is also confusing that we have two kernel libraries. It is hard to understand what is going in there. One suggestion is to isolate the user facing procedures, from the internal implementation, a way of splitting it is to have:
Edit: I think I understood what is going on. The miden contains all the lib code, including the code that is user facing, and code that implements the kernel. And the kernels contains only exposed kernel interface. Can't we move the kernel implementation inside the kernels folder? And make the miden into a public api only? |
We need 3 things here:
All 3 depend on some common procedures which are currently located under This shouldn't be too difficult and I think the nice benefit of this would be that anything under |
I'll have my assembler refactoring pushed for review tonight at some point, even if there are some small things left to address, the review can start and that will allow this discussion to proceed with a clear picture of what those changes are. |
@bobbinth My assembler changes enable quite a bit of additional flexibility now, but one thing that I maintained as an invariant is that kernel modules can't import other modules. There isn't any actual real reason why we need to maintain that as an invariant, rather we just need to ensure that the So in short, we can definitely introduce that as a new analysis pass for kernel modules, and then loosen the current requirement that kernel modules are "self-contained", just a matter of making that happen once 0xPolygonMiden/miden-vm#1277 is merged. |
I am not sure this is accurate: kernel modules can import modules from libraries. For example, our transaction kernel does import a bunch of procedures from |
@bobbinth Ah interesting, I mean, that's not an issue, but something that will need to be tweaked in my PR. I think I had been under the impression that kernels had to be self-contained (akin to an OS kernel), but relaxing that constraint is easy to do with the module graph structure my refactoring introduced. Ultimately we just need to guarantee that code in the kernel does not |
Yes, exactly. Previously, this was difficult to enforce because the assembler did "lazy" parsing/compiling of imported modules, but I think with your current structure we can enforce this properly. One thing to note: |
Closing this as after #826, we separated the kernel and user-facing code. |
Having a folder called just
miden
is not descriptive of what it does.The text was updated successfully, but these errors were encountered: