Substrate

2406 bookmarks
Custom sorting
swift-evolution/0244-opaque-result-types.md
swift-evolution/0244-opaque-result-types.md
Right now, if you want to abstract the return type of a declaration from its signature, existentials or manual type erasure are your only options, and these come with tradeoffs that are not always acceptable. Instead of declaring the specific return type of `EightPointedStar.shape`'s current implementation, all we really want to say is that it returns something that conforms to `Shape`. We propose the syntax `some Protocol`. An opaque return type can be thought of as putting the generic signature “to the right” of the function arrow; instead of being a type chosen by the caller that the callee sees as abstracted, the return type is chosen by the callee, and comes back to the caller as abstracted. or some composition thereof (joined with `&`)
·github.com·
swift-evolution/0244-opaque-result-types.md
Semantic’s “Why Haskell?” Document
Semantic’s “Why Haskell?” Document
While no level of type safety is sufficient to ensure all programs' correctness, the fact that the Semantic Code team spends the majority of its time working on features rather than debugging production crashes is truly remarkable—and this can largely be attributed to our choice of language. ​ but in Haskell: its brevity, power, and focus on correctness lets researchers focus on the nature of the problem rather than the onerous task of fitting advanced research into conventional languages. Writing in Haskell allows us to build on top of the work of others rather than getting stuck in a cycle of reading, porting, and bug-fixing. ​ a reputation for being difficult to learn. Some of that is well deserved, but half of it has more to do with how many of us first learned imperative programming and the switch to a functional paradigm takes some patience.
·raw.githubusercontent.com·
Semantic’s “Why Haskell?” Document
The Unseen Forest
The Unseen Forest
It’s more akin to individual groups planting the seeds that will eventually become the trees that will eventually make up the forest. Those planters aren’t in the forest-seeing business, they’re in the planting-seeds business. And those you’d think would be in the forest-seeing business have a hard time seeing such things until all those seeds have grown into trees. And that’s often not until the rest of us can see said forest too.
·500ish.com·
The Unseen Forest
Don't Be A Free User
Don't Be A Free User
These projects are all very different, but the dynamic is the same. Someone builds a cool, free product, it gets popular, and that popularity attracts a buyer. The new owner shuts the product down and the founders issue a glowing press release about how excited they are about synergies going forward. They are never heard from again.
·blog.pinboard.in·
Don't Be A Free User
The Sweetgreen-ification of Society
The Sweetgreen-ification of Society
Fast forward to 2019. My lunch routine is a rotating cast of fast casual concepts, with lost vowel names ​ When I do go to a nearby deli, it’s impossible to ignore just how stark the socioeconomic contrast is to the Sweetgreen line. While the latter appears filled with people who stepped away from their WeWork desks, the former feels packed with the contractors underpaid to maintain that same WeWork. ​ We're no longer constrained to the Banana Republic-Gap-Old Navy trichotomy. Every facet of our daily consumer lives can now be hyper-segmented. ​ It's yet another area where technological know-how amplifies existing behaviors and practices. We've always signaled status with things like the little horse on your shirt or the expensive watch on your wrist (can you tell I worked in finance?) or the bag you carry or the shoes you wear. Those were social signaling table stakes. But now it's our lunch too. ​ Just next time you get lunch, take a good look around you. We are losing the spaces we share across socioeconomic strata. Slowly, but surely, we are building the means for an everyday urbanite to exist solely in their physical and digital class lanes. It used to be the rich, and then everyone else. Now in every realm of daily consumer life, we are able to efficiently separate ourselves into a publicly visible delineation of who belongs where. ​ But like in so many other areas of consumer life, we're slowly learning that mutually beneficial success at the micro-level just might have adverse effects in the macro.
·themargins.substack.com·
The Sweetgreen-ification of Society
Short Stuff
Short Stuff
That’s why my short stuff appears here (and on my microblog) and then gets copied to Twitter. It belongs on the open web first. Twitter is just another form of syndication. It’s not the home of my writing.
·inessential.com·
Short Stuff
Devil’s Bargain | L.M. Sacasas
Devil’s Bargain | L.M. Sacasas
I have to confess that Twitter has yielded some good relationships and opportunities over the past few years. And there’s a part of me that wants to keep that portal open. It’s just that on most days, I’m not sure it’s worth it. ​ going indie, as it were, works better (better, I grant, depends on your purposes) when you’ve already got a large audience that is going to follow you where ever you go ​ divided ​ What I do know is that the newsletter is increasingly where I want to write and what I want to keep developing
·thefrailestthing.com·
Devil’s Bargain | L.M. Sacasas
Always In
Always In
AirPods foster a different approach to detachment: Rather than mute the surrounding world altogether, they visually signal the wearer’s choice to perpetually relegate the immediate environment to the background. ​ AirPods, then, express a more complete embrace of our simultaneous existence in physical and digital space, taking for granted that we’re frequently splitting our mental energy between the two. ​ AirPods have externalities — penalizing non-wearers while confining the value they generate to their individual users. ​ Once everyone has earbuds that are always in, physical proximity will no longer confer a social expectation of shared experience. ​ subordinate our in-person sociality to the privatized infrastructure of networked communication ​ Now, the kind of space that suffices instead is a pleasant backdrop for solitary device usage, a relatively blank slate that doesn’t compete with the phone’s foreground — conditions that places like Sweetgreen and Equinox supply. ​ A dominant aural information platform could have a similar effect, fostering a world where we might as well leave our headphones on because there’s nothing around us worth hearing.
·reallifemag.com·
Always In
Rob Rix’s “Postmodern Programming” talk transcript
Rob Rix’s “Postmodern Programming” talk transcript
The important parts of the job are done with our minds. It’s how we think about things, and what things we think up, and how we arrange these things. ​ that is to say, you will very likely make you a better programmer, and I will be very glad indeed if I have helped in some small way. ​ Before that, I spent eighteen months implementing sync, and so I know a thing or two about making mistakes. ​ If it’s new to you, there’s nothing wrong with that, either—it just means it’s your lucky day, and for that matter, mine too. So please don’t take my word on anything: if there’s anything in here that strikes you as interesting or dull or likely or implausible, try it out for yourself. See where it takes you. More than anything else, I would love to see you make things. ​ In truth, it isn’t easy selecting a name, but that’s not the hard part by half. The hard part is selecting something which is deserving of a name: abstracting. ​ With -setUpNavigationItem, defining the what is a contradiction in terms: it’s not a noun, not a concept. It has no value (by which I mean that it declares its return type to be void, i.e. no type, no value). It was abstracted, but in a sense it is not an abstraction, but merely an extraction of specific instructions. ​ In this sense, too, -setChild: and -setUpNavigationItem are not abstractions, despite having been abstracted: they have no meaning, only instructions. They are not nouns. They are not concepts. ​ but I promise the segue makes sense if you’re me. ​ instead the Grand Declarator, telling each abstraction what it is. Again: how vs. what. ​ At the same time, abstracting imperatively, abstracting-without-abstractions, denies you the ability to deal with these extra concepts behind the veil of local complexity; that is, any code using an imperative abstraction necessarily incurs the complexity of any changes it performs in a total sense (as with any other abstraction), but also incurs it locally—because any other changes to the same state need to be carefully sequenced. The details leak from callee to caller, again and again, and can never be contained. ​ part of what I think about when I think of “declarative programming” is the notion that you are constructing a system of objects at runtime out of which the desired behaviour falls naturally: a necessary consequence of the structure. ​ Composition is abstraction’s dual; where abstraction is breaking a problem into simpler components, composition is reassembling those into the solution. Constructing an abstraction is generally itself composition of other abstractions; any time you use an abstraction, you are composing. ​ It is therefore in our best interests to ensure that the abstractions we build are as simple as possible: simple abstractions are more flexible, meaning more easily composed together, because they do not introduce factors not necessary to their operation. ​ And it is clearly the direction that the market and the industry is heading in: there is a lot of ongoing, exciting research being done in declarative languages and systems and how to survive in an imperative world. ​ It’s necessarily different, of course; if control flow is abstracted, it becomes increasingly difficult for your the API’s client to simply use lldb to debug it. ​ To abstract is to identify an idea, a concept, as a unique thing which can be reasoned and acted upon in isolation. It is to give it a name; to define that name with that concept. This is equally true in language and in code. ​ or of the bittersweet experience of a trusted colleague and friend leaving to work on something important to them ​ If abstraction is vocabulary, then composition is grammar
·raw.githubusercontent.com·
Rob Rix’s “Postmodern Programming” talk transcript
The Future Of ReactiveCocoa
The Future Of ReactiveCocoa
GitHub desktop developer Justin Spahr-Summers presents a case for what the future of ReactiveCocoa might look like at the 2014 Reactive Cocoa Developer Conference hosted by GitHub. As always, feel free to leave us a comment below and don't forget to subscribe: http://bit.ly/subgithub Thanks! Connect with us. Facebook: http://fb.com/github Twitter: http://twitter.com/github Google+: http://google.com/+github LinkedIn: http://linkedin.com/company/github About GitHub GitHub is the best place to share code with friends, co-workers, classmates, and complete strangers. Millions of people use GitHub to build amazing things together. For more info, go to http://github.com
·m.youtube.com·
The Future Of ReactiveCocoa
'MTA Museum' Pays Tribute To Butt Imprints, Bubble Gum & Other Everyday Subway Sights
'MTA Museum' Pays Tribute To Butt Imprints, Bubble Gum & Other Everyday Subway Sights
It reads: "As a political statement on transit and the concept of rest, millions of New Yorkers collaborated over a period of decades to meticulously create these unique patterns using only their posteriors." ​ they've taken it upon themselves to try to curate our mass transit experience as if it were a living museum.
·gothamist.com·
'MTA Museum' Pays Tribute To Butt Imprints, Bubble Gum & Other Everyday Subway Sights
zurry and unzurry
zurry and unzurry
When working with a monad, you work in its Kleisli category which is another example of a CCC. The above discussion relating function evaluation to function composition, would then relate Kleisli evaluation (=) to Kleisli composition (=). Woah, is `bind` just monadic function evaluation?
·tangledw3b.wordpress.com·
zurry and unzurry
in conclusion: you will make better things if you go grave robbing in really weird and shitty cemeteries that no one else likes
in conclusion: you will make better things if you go grave robbing in really weird and shitty cemeteries that no one else likes
never apologize for your terrible taste. the ability to derive enjoyment from something no one else can stand is a form of comparative advantage this is especially true in creative fields, where everything is built from the bones of everything else and you make "novel" stuff by importing fresh new bones in conclusion: you will make better things if you go grave robbing in really weird and shitty cemeteries that no one else likes
·twitter.com·
in conclusion: you will make better things if you go grave robbing in really weird and shitty cemeteries that no one else likes