These are chat archives for fthomas/refined

7th
Aug 2015
Frank S. Thomas
@fthomas
Aug 07 2015 06:28
@koshelev you were right, the scala-2.10 branch requires the paradise plugin, but only for using shapeless.LabelledGeneric. The macros in refined built just fine without that plugin
Vladimir Koshelev
@koshelev
Aug 07 2015 07:39
@fthomas i had this problem in some another project :)
have you came to some conclusion, how error type for And will look like?
Frank S. Thomas
@fthomas
Aug 07 2015 08:00
no, not really. If we have the predicate as error (as in Either[P, T @@ P]) there is no indication what went wrong in the case for And
maybe a new datatype is needed: Result a = Passed a | Failed aand refine* then returns Either[Result, T @@ P]
then we could have Failed(And(Passed(a), Failed(b)))and know exactly if a failed, b failed, or both
Vladimir Koshelev
@koshelev
Aug 07 2015 08:13
@fthomas is there a reason why And evaluates both predicates?
Frank S. Thomas
@fthomas
Aug 07 2015 08:24
@koshelev you mean why it isn't short circuiting. I guess to provide comprehensive error messages. In case that both predicates fail, you can fix the problem at once