Jon Pretty

@propensive

Supporting Scala through professional training and open-source software. Responsible for Magnolia, Fury, Scala World and Functional Africa.

Europe
Joined July 2010

Tweets

You blocked @propensive

Are you sure you want to view these Tweets? Viewing Tweets won't unblock @propensive

  1. Pinned Tweet
    21 Dec 2020

    Developers who live in the poorest parts of the world can't easily participate in the global tech economy, and for no good reason: after all, remote work is now our new normal. So why can't a functional programmer in Africa export code and be paid for it?

    Show this thread
    Undo
  2. 8 hours ago
    Undo
  3. Retweeted
    Apr 23

    Join us, ask questions, and let's celebrate all the successes that led us to Scala 3 release! Starting soon, registrations still open & free 🥰

    Undo
  4. Retweeted
    Apr 22
    Undo
  5. Retweeted
    Apr 22

    Metals support for 3.0.0-RC3 is already here! ⤵️

    Undo
  6. Apr 21

    Everyday duality! Intersection types are intersections of instances. Union types are unions of instances. Intersection types are unions of properties. Union types are intersections of properties.

    Undo
  7. Apr 19

    Compare that to a "normal" (non-context) function parameter, where one user will write `{ r => ... }`, another will write `{ req => ... }` and another will write `{ httpRequest => ... }`. Any user reading that code needs to learn the parameter name for each use site.

    Show this thread
    Undo
  8. Apr 19

    For example, imagine an HTTP server's request handler is typed `Request ?=> Response`, so the request object is "given" within its body at the callsite. Defining, def request(using Request) = summon[Request] in the library means the request will always have the name `request`.

    Show this thread
    Undo
  9. Apr 19

    An interesting consequence of Scala 3's context functions is that since the parameter's name isn't chosen at the call site (it's implicit), it's often accessed using a helper method, and that method will have a consistent canonical name across codebases. That helps readability.

    Show this thread
    Undo
  10. Apr 15

    More careful use of visibility modifiers can help to hide methods. But here's a question: would it be a reasonable approach to nest non-user-facing types (which can't be private) inside the companion objects of related, public types, as a way of making them less visible?

    Show this thread
    Undo
  11. Apr 15

    Since the Scala IDE experience is getting better at completions, API hygiene is becoming more important: users should not have to wade through lots of "incidental" methods and types to find the ones that are relevant to them.

    Show this thread
    Undo
  12. Apr 14

    An experiment started by and continued by a couple of years ago resulted in Scala 3 getting kind polymorphism. I've written a lesson all about it... and for an advanced feature, I think it's actually easier than it sounds.

    Undo
  13. Retweeted
    Apr 14

    We're going to jump ahead to an advanced lesson on ScalaZONE this week: kind polymorphism! We take a philisophical look at higher-kinded types, cover the limitations imposed by the `AnyKind` type constraint, and then delve into a worked example.

    Undo
  14. Retweeted
    Apr 14

    “Good things come to those who wait”… so we’ll have to wait for Scala 3 a few more weeks 😀. But we're not planning on delaying the celebration! See you on April 23rd at Scala 3 (pre) Release Party! 🎉🎉🎉

    Undo
  15. Retweeted
    Apr 7

    Metals preparing to lead the way for tooling support in 3!

    Undo
  16. Retweeted
    Apr 8

    For the last year we were cooperating with Scala Center on development of project. We have compared it's performance aspects with JVM and Graal Native Image in this article ⤵️

    Undo
  17. Retweeted
    Apr 13

    Scala 3 Heads-Up: There will be a 3.0.0-RC3 before the final release. See more info here:

    Undo
  18. Retweeted
    Apr 9

    Shapeless 2.3.4 with Scala Native support is out 🎉

    Undo
  19. Apr 9

    Fair warning... this is a question involving opinions about whitespace. How should I start writing an type-parameterized extension method in Scala 3?

    Undo
  20. Apr 8

    (all dates approximate)

    Show this thread
    Undo
  21. Apr 8

    Scala 3.0, 2021: given Eq[Int] = _ == _ (7/8)

    Show this thread
    Undo

Loading seems to be taking a while.

Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.

    You may also like

    ·