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

Expose LLL IR #790

Closed
ralexstokes opened this issue Apr 21, 2018 · 6 comments
Closed

Expose LLL IR #790

ralexstokes opened this issue Apr 21, 2018 · 6 comments
Labels

Comments

@ralexstokes
Copy link

The current compiler v0.0.4 doesn't expose the LLL IR as it's own target. An implication of this is that you can't author LLL and then generate bytecode in an easy manner.

It would be ideal to eventually expose the LLL as a separate module that the vyper frontend (and any other frontend) could consume.

@djrtwo
Copy link

djrtwo commented Apr 23, 2018

Important for Casper contract to remove it's reliance upon the Serpent compiler.

ethereum/casper#69
ethereum/casper#73

@fubuloubu
Copy link
Member

sighasher looks like something that might be of more general utility. is that true?

Perhaps we can implement some of these functions as vyper primitives, if that makes sense. Or the portions of them which might make sense as primitives which allows you to compose larger functions out of those new primitives.

What portion of those casper contracts cannot be implemented using Vyper?

@dani-corie
Copy link

I do think we absolutely need a dedicated LLL compiler. This should be a separate EIP, shouldn't it?

@jacqueswww
Copy link
Contributor

jacqueswww commented Jul 26, 2018

@daniel-jozsef for the time being, I will create vyper-lll command here.

@fubuloubu @ralexstokes
I am thinking of going full parethesis for the files, having a json format will just be very nasty.
I will make to build in expression names of main and init.

@fubuloubu
Copy link
Member

lisp away!

@ralexstokes
Copy link
Author

yeah -- the LLL source should just be a bunch of nested parens :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants