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

Could performance related benchmarking + experiments go into this repo? #2

Open
paluh opened this issue Jul 5, 2020 · 4 comments
Open

Comments

@paluh
Copy link

paluh commented Jul 5, 2020

The design concept is to provide a simpler AST rather than performance considerations.

I want to ask if you want to stay away from performance related experiments here. I'm thinking mainly about JS codegen at the moment but some pieces could be used across the the other backends too.

@opyapeus
Copy link
Owner

opyapeus commented Jul 6, 2020

Actually I'm a bit suspicious about the existence of the CoreImp layer (as general one for alternative backends).
After hearing your thoughts, I thought it might be a good stepping stone to improve the current purescript's js output.

Sorry, but I haven't so much motivation to do that right now.

@paluh
Copy link
Author

paluh commented Jul 6, 2020

Actually I'm a bit suspicious about the existence of the CoreImp layer (as general one for alternative backends).

I think that CoreImp has its own value as it somewhat reflects what is going on on the compiler side and it is easier to translate existing optimization passes - but I can miss something obvious here as I've just started reading the code on both sides.
Do you mean that CoreImp + JS.AST should be turned into a single specialized JS.AST? Do you think that this could be beneficial?

After hearing your thoughts, I thought it might be a good stepping stone to improve the current purescript's js output.
Yeah, it seems that we can experiment here with JS output optimization (data type representation, uncurring etc.).

I know that one of the objectives of PS compiler is to produce readable code and some of these things are not going to be included anytime soon I think...

@opyapeus
Copy link
Owner

opyapeus commented Jul 6, 2020

Do you mean that CoreImp + JS.AST should be turned into a single specialized JS.AST?

Not exactly.
I think CoreImp layer may be useful for refactoring and optimization targeting mainly single language (in this case JS).
But for general purpose for alternative backend, it seems to be a bad idea because there are too much to consider.

Do you think that this could be beneficial?

Possibly.

I saw the issue you put for the first time.
I've been a little more motivated than before.
Thank you!

@paluh
Copy link
Author

paluh commented Jul 6, 2020

Thanks for the quick answers. I think that either way this project can have a huge value for the community. It brings the opportunity for the PS programmer to experiment more with optimization and it has significantly lower entry barrier because it is written in PS.

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

2 participants