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

UPDATE #25 #34

Open
ityonemo opened this issue Jan 1, 2021 · 1 comment
Open

UPDATE #25 #34

ityonemo opened this issue Jan 1, 2021 · 1 comment

Comments

@ityonemo
Copy link
Owner

ityonemo commented Jan 1, 2021

Happy New Year!

After taking a bit longer than I expected updating zigler, I am back in the saddle on working on Selectrix. Over in mavis_inference land, I ran into a bit of snag because some test opcode statements are not working correctly, and I made a video about the surprising meaning of is_nil in the virtual machine: https://youtu.be/nebDOqU0TJ0

I decided to go ahead and work on some stuff in mavis that will help out with test opcodes, and that is LITERAL TYPES. This has been nagging at me ever since I started this project, and quite frankly it's disappointing that dialyzer does not support them. PR to merge Literal Type functionality is here: ityonemo/mavis#140 and I will be making a video on the subject soon. It was also really neat how smoothly literal types fit in the organizational scheme of Mavis, which to me is a sign that "I am doing things correctly".

Now that Literal types are done, it's going to be much easier writing code for SUBTRACTION TYPES. This is explicitly not a part of what Dialyzer supports (nor does Gradualizer support this). It's going to be a bit of effort, but I think that the way that mavis is organized is going to make producing Subtraction types easy. And even though it's going to make Mavis more complex, it's going to be worth it because test conditions, and case statements, etc. are going to be buttery-smooth.

Update 24:
#33

@ityonemo
Copy link
Owner Author

ityonemo commented Jan 2, 2021

video on literal types: https://youtu.be/qv-GR4sEsd4

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

No branches or pull requests

1 participant