typelevel / algebra

Experimental project to lay out basic algebra type classes
https://typelevel.org/algebra/
Other
378 stars 69 forks source link

use simlacrum everywhere possible #54

Closed pjan closed 5 years ago

johnynek commented 9 years ago

I'm a bit on the fence on this one. The win is positive, but not overwhelming (200 lines added 300 removed), I'm not sure about the future of macro-annotations (but maybe that is clear), and lastly, it adds a learning curve to contributing (for instance, I had to read the source of simlacrum to see what noop did as it is not mentioned on the front page and there is no wiki).

non commented 9 years ago

@johnynek OK. I think the documentation will probably improve, but I am happy to close this for now and re-open the conversation once that happens.

non commented 9 years ago

@pjan Thanks for doing this, but I think we will be deferring this issue for now. Is it OK if I close this PR?

pjan commented 9 years ago

@johnynek it's unfortunate that simulacrum has not yet managed to create the documentation, which would lower its barrier for usage/learning curve (which is not really high). I very much appreciate the code clarity and consistent behaviour it brings (taking away the need to create typeclass boilerplate stuff), yet de gustibus... .

@non PR was only made to take some work of your shoulders. No offence taken if it is not being merged. Will likely put up a small one with some tiny code improvements I came across when making this one.

non commented 9 years ago

Thanks! I agree that in the long run I think something like Simulacrum is the right thing. But Oscar is also right that there isn't enough documentation right now.

antonkulaga commented 9 years ago

The main problem with simulacrum is that Intellij cannot regognize the code generated by it, I opened an issue about that ( https://youtrack.jetbrains.com/issue/SCL-8800 ) but I doubt that it will be fixed soon.

denisrosset commented 8 years ago

What about the speed? Does the code generated by simulacrum inline the method calls, as machinist does in spire?

Second, what are the binary compatibility guarantees of simulacrum?

sritchie commented 7 years ago

Shall we close this for now and pick it back up down the road?

larsrh commented 5 years ago

Closing for being outdated.