Twitter | Search | |
Brandon Williams
Subterranean homesick mathematician. Previously . Working on Available for hire:
6,305
Tweets
478
Following
3,417
Followers
Tweets
Brandon Williams 6h
Replying to @mklbtz @pointfreeco
Yup, just a WKWebView: It’s also how we do snapshot testing:
Reply Retweet Like
Brandon Williams 6h
Replying to @an0 @jckarter
Ah, then I don’t encounter that. I only see the “Launching simulator” message in the top status area a single time. You see it multiple times?
Reply Retweet Like
Brandon Williams 7h
Replying to @an0 @jckarter
The start up for an iOS playground is a bit annoying for sure, but after that it’s usually ok. If I’m working on something that doesn’t require iOS I will use a macOS playground, which does not require the simulator.
Reply Retweet Like
Brandon Williams 11h
Replying to @py @pointfreeco
Indeed! The readme should have all the info needed to get up and running. Also, there may-or-may-not (but will) be a PF ep about it.
Reply Retweet Like
Brandon Williams retweeted
Point-Free 20h
Replying to @pointfreeco
Also, check out our open source library Tagged, which is really the machine powering all of these ideas. It’s just a couple of dozen lines of code, but can really open up new possibilities of expressiveness in your code!
Reply Retweet Like
Brandon Williams retweeted
Point-Free 20h
Replying to @pointfreeco
Learn about applying this technique in this week’s Point-Free Pointer: Tagging Seconds and Milliseconds.
Reply Retweet Like
Brandon Williams retweeted
Point-Free 20h
Replying to @pointfreeco
Even better, this can catch real bugs. For example, if we tried checking if a seconds value is less than a milliseconds value, we get a compile error instead of a runtime bug.
Reply Retweet Like
Brandon Williams retweeted
Point-Free 20h
Replying to @pointfreeco
Even though `Milliseconds` and `Seconds` are wrapped up in new types, we still get to mostly use them as if they were plain numeric values, including comparing them and performing arithmetic:
Reply Retweet Like
Brandon Williams retweeted
Point-Free 20h
Using some high-powered features of Swift, such as generics, generic type aliases, phantom types, and conditional conformances, we can use the Tagged type to provide a type-safe interface to measuring time in just 14 lines of code!
Reply Retweet Like
Brandon Williams 12h
Replying to @mbrandonw
I first talked about this nearly 2 years ago at the 2016 Functional Swift conference in Budapest. I think playground stability has been the biggest reason for lack of adoption of this technique, but Xcode 10 is looking very promising.
Reply Retweet Like
Brandon Williams 12h
Replying to @pointfreeco
The first thing I do when starting a project is figure out how I can get everything working in a playground in full isolation. Heck, we even build entire webpages for using playgrounds.
Reply Retweet Like
Brandon Williams 12h
Very cool to see that Trello is also using playgrounds to prototype UI like we did at Kickstarter. It definitely unlocked a new level of productivity and developer happiness for the team.
Reply Retweet Like
Brandon Williams 12h
Awesome! And Xcode 10 makes it even better. Feels the most stable and responsive since I can remember…
Reply Retweet Like
Brandon Williams 19h
This is some really powerful stuff. The `Tagged` type allows you to pluck all new types seemingly out of thin air, and conditional conformances makes those types behave like the underlying types. It means you get to add type safety to your code without heavy dependencies.
Reply Retweet Like
Brandon Williams 19h
Replying to @Hakonbogen
I was all over! Did a big loop starting in Bergen and going as far north as Trollheimen. Weather was fantastic, just 2 days of rain.
Reply Retweet Like
Brandon Williams retweeted
Point-Free Jun 18
We’re taking the week off to give a little breathing room between last week’s intense episode and a surprise coming alongside next week’s! In the meantime, here’s a Point-Free Pointer with a practical tip you can apply in your code bases today!
Reply Retweet Like
Brandon Williams 19h
Replying to @mbrandonw
I'm back!
Reply Retweet Like
Brandon Williams retweeted
John Carlos Baez Jun 18
Short version: a category is a bunch of dots and arrows. A functor, like F or G here, is a picture of one category drawn in another. A natural transformation, like α, slides one such picture over to another. For the full story, check out this:
Reply Retweet Like
Brandon Williams retweeted
Point-Free Jun 7
We previously showed how dependency injection can be made easy with an “environment” struct and no protocols or boilerplate. This week we continue extracting dependencies out of our sample app, and use our Overture library to improve mock data creation.
Reply Retweet Like
Brandon Williams Jun 7
Replying to @inamiy @AirspeedSwift
That’s how I found it! No WWDC for me this year!
Reply Retweet Like