Skip to content
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

Implementation idea of the verifier #199

Open
Thihup opened this issue Jun 27, 2024 · 1 comment
Open

Implementation idea of the verifier #199

Thihup opened this issue Jun 27, 2024 · 1 comment
Labels
suggestion suggestion

Comments

@Thihup
Copy link

Thihup commented Jun 27, 2024

Hello!

I'd like to suggest an idea for the implementation of the verifier.
As it is one of the most complex areas to implement fully, I was thinking that maybe it would be possible to include the Prolog code that is in the specification (https://docs.oracle.com/javase/specs/jvms/se17/html/jvms-4.html#jvms-4.10) and use some Prolog interpreter, like https://github.com/ichiban/prolog to run it.

This way it can both simplify the implementation and also help validate that the Prolog source code provided in the specification works as expected :)

@platypusguy
Copy link
Owner

Hello Thiago!Thank you for this suggestion and thank you also for your longstanding interest in Jacobin. We're finishing up the interpreter at the moment and haven't given much thought to how to translate the Prolog validation definitions in the JVM spec. So, I really appreciate you pointing us to this project, especially because it is written in go, which allows us to continue with our goal of a JVM written entirely in go. I'll save your suggestion for when we get into the validation phase. Again, thank you!

@platypusguy platypusguy added the suggestion suggestion label Jun 28, 2024
Thihup pushed a commit to Thihup/jacobin that referenced this issue Jun 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
suggestion suggestion
Projects
None yet
Development

No branches or pull requests

2 participants