refined icon indicating copy to clipboard operation
refined copied to clipboard

Refinement types for Scala

Results 80 refined issues
Sort by recently updated
recently updated
newest added

Scala Exercises' lessons for refined would be cool, see http://www.47deg.com/blog/scala-exercises-version-two#contribute-3 and https://github.com/scala-exercises/scala-exercises/blob/master/DEV_GUIDE.md

documentation

Hi, I'm posting this feature request after a small e-mail exchange with @fthomas The code ``` for (i

``` scala import eu.timepit.refined.auto._ import eu.timepit.refined.api.Validate import shapeless.tag.@@ final case class CrashOnTypeTag[A]() object CrashOnTypeTag { implicit def crashValidate[A: reflect.runtime.universe.TypeTag]: Validate.Plain[String, CrashOnTypeTag[A]] = { Validate.fromPredicate({ tree => true }, { tree...

I think it would be great if we could use the same language at the type-level like at the value level. At least as close as possible. E.g. Instead of...

At the Typelevel Summit in Oslo @non and @dwijnand asked/talked about refining values into a coproduct of a refined type and its "negation", e.g. something like `Either[T Refined Not[P], T...

experiment

The library has first class support for `shapeless.tag.@@` and `Refined` as carrier for refinements and both types are used in tests and example. We should document the pros and cons...

documentation

`RefinePartiallyApplied.force` currently throws an `IllegalArgumentException` if the argument does not conform to the predicate. We should probably introduce a special exception type (which can be a subtype of `IllegalArgumentException`) that...

enhancement

Remove `Predicate.show` and use `Show` type class instead

enhancement

`refine` currently returns an `Either[String, A]`. `String` is an awful type for errors and should probably be replaced by a dedicated error type like `RefinementError`. ``` scala case class RefinementError(msg:...

enhancement