/Types

The Hunt For The Missing Data Type

- Hillel Wayne tl;dr: “I see graphs everywhere and use them to analyze all sorts of systems. At the same time, I dread actually using graphs in my code. There is almost no graph support in any mainstream language. None have it as a built-in type, very few have them in the standard library, and many don’t have a robust third-party library in the ecosystem. Most of the time, I have to roll graphs from scratch. There’s a gap between how often software engineers could use graphs and how little our programming ecosystems support them. Where are all the graph types?” Hillel discusses and shares a list of programming languages with graph types. 

featured in #495


The “Missing" Graph Datatype Already Exists. It Was Invented In The '70s

- Tyler Hou tl;dr: A response to the above. Tyler agrees with a lot of Wayne’s reasoning but not with his conclusion — that graphs are inherently too complex to be well-supported by mainstream programming languages. “Languages could have amazing graph support.” Tyler believes structured programming model of modern programming languages is ill-suited for graph algorithms.

featured in #495


How I Implemented Type Inference For Request Validation

- Vijay Ramamurthy tl;dr: Type inference is often used in programming languages to provide error-checking without needing much input from the developer. In this post, I talk about how we used type inference in our API to check for errors in the data you load into Oso Cloud.

featured in #460


The Type System Is A Programmer's Best Friend

- Dustin Gorski tl;dr: "A string value is not a great type to convey a user's email address or their country of origin. These values deserve much richer and dedicated types. I want a data type called EmailAddress which cannot be null. I want a single point of entry to create a new object of that type. It should get validated and normalised before returning a new value. I want that data type to have helpful methods such as Domain() or NonAliasValue() which would return gmail.com and foo@gmail.com respectively for an input of foo+bar@gmail.com."

featured in #365


Understanding Higher-kinded Types

- Dan Soucy tl;dr: "Values have types. Some typical types are Integer, Bool, and String. Values of type Integer include 0, 1, 42. Just as values can be grouped into types, types can be grouped into kinds. Dan explains first-order types and higher-kinded types. 

featured in #296