Joy of Coding

I will be keynoting at Joy of Coding, 17 June, De Doelen, Rotterdam. Thank you to Felienne Hermans for the invite. Looking forward to it!




Ada Lovelace Symposium, Oxford

I was fortunate to attend a celebration of Ada Lovelace's 200th birthday at Oxford, featuring fantastic talks by Sydney Padua, Bernard Sufrin, Judith Grabiner, and many others. After the first session of three talks I thought "I wish all of those were longer", something I cannot remember thinking ever before! It's all online, so you can see it too.

Labels: , ,


Halmos on refereeing

Paul Halmos offers excellent advice on refereeing, two tenets that he formed as a young referee and confirmed as an experienced editor: "be Boolean; be prompt".

From "I want to be a mathematician: an automathography" by P. R. Halmos.

Labels: , ,



Impredicative images

Three images, spotted by Ohad Kammar (@aleph_kappa). Ohad suggests they illustrate recursion, but I think they represent impredicativity. Impredicativity is a category error, when a predicate applies to itself, as in Russell's paradox; but also a defining feature of polymorphic lambda calculus, where a function abstracted over a type may be applied to its own type.

Labels: ,



John Finnemore on Paris

From The Now Show, Series 47, Episode 6, Friday 18 December 2015.
Good news, globally 2015 is likely to be the hottest year ever recorded. And if it is the hottest year ever recorded then it will beat the previous record holder, last year.  ...

There is genuinely, genuinely good news about the environment this week, the Paris climate deal has been signed, a global agreement made by 195 countries to try and keep temperature rise below 1.5 degrees as we move away from fossil fuels. President Orlande said "History is coming. In fact, history is here." Which I'm not sure is quite how history works. I take his point. And the Prime Minister himself said "This global deal now means the whole world has signed up to play its part in halting climate change." And what inspiring words those are. And with those inspiring words, he beetled off home to see what part he could play in this global effort. And only a few days later he managed to change the law about fracking under Britain's national parks. I know what's happened though, it's a simple misunderstanding. They've heard everyone in Paris talking about how we must move to a fossil-fuel free future and said to themselves "Hang on, there's a bit of fossil fuel left under the Lake District. Better dig that up pronto and burn it." I assume that's what happened. Either that, or it's just like when you go to the gym, and then on the way home you say to yourself "Well, I've earned myself some fish and chips". Except of course the Paris agreement is actually a collection of largely non-binding aspirations for the future, so this is more like saying "I really must go the gym more often. Well that's earned me some fish and chips."

Labels: ,


Paris: 1.5C vs 8C

Roy Thompson, FRSE, is Professor Emeritus and Senior Honorary Professorial Fellow, and a former Professor of Environmental Geophysics at the University of Edinburgh, and a friend of my cycling buddy Shane. In his video, available on the University of Edinburgh Social Responsibility and Sustainability page, he opines on the results of Paris. While the Paris accords speak of limiting warming to 1.5C, his model shows that at our current pace we should expect warming of 8C by the end of the century. Experts are divided, but even if all the parties to Paris deliver on their current pledges it will cut the 8C by only 0.1C to 0.5C. Time to redouble the campaign to leave it in the ground.

Labels: ,


LFCS 30 and WadlerFest

I feel shy, humble, and honoured announcing this, but it's been pointed out to me that readers of this blog may find the following event of interest: LFCS 30 and WadlerFest. It looks like a fantastic line up. (I can say that because I've had nothing to do with it.) Many, many thanks to the organisers and contributors, and special thanks to Janne Irgens for the illustration above.

Labels: , , , , ,



How to lie (or not) with statistics: the Y axis

Vox debunks complaints it receives about graphs with a y-axis that starts at a position other than zero.

Labels: , , ,



Paris climate promises will reduce temperatures by just 0.05°C in 2100

Without the Paris accords, global temperatures are set to rise by more that 4.5C by 2100. And with the Paris accords? Pretty much exactly the same!
Dr. Lomborg’s research reveals:
  • The climate impact of all Paris INDC promises is minuscule: if we measure the impact of every nation fulfilling every promise by 2030, the total temperature reduction will be 0.048°C (0.086°F) by 2100.
  • Even if we assume that these promises would be extended for another 70 years, there is still little impact: if every nation fulfills every promise by 2030, and continues to fulfill these promises faithfully until the end of the century, and there is no ‘CO₂ leakage’ to non-committed nations, the entirety of the Paris promises will reduce temperature rises by just 0.17°C (0.306°F) by 2100. "
Spotted via Shane Voss and Roy Thompson.

Labels: ,




Flávio Brasil has released Quill, a Scala library that supports database query via the QDSL technique, as described in our papers A Practical Theory of Language Integrated Query (ICFP 2013) and Everything Old is New Again: Quoted Domain Specific Languages (PEPM 2016).

Labels: , ,



Cycle path resources

A list of cycling resources, suggested by Iain Longstaff. I expect these to be a huge help in lobbying Edinburgh to build more segregated cycle paths. The video is well worth the short time it takes to view.

Protected Intersections for Bicyclists
A six-minute video on dutch style protected junctions.

A View from the Cycle Path
A dutch blog detailing the advantages of cycle paths.

Bicycle Dutch
About new infrastructure being built in the Netherlands.

Good Cycling Facility of the Week
Examples of cycling facilities drawn from the UK and the Netherlands.



Static vs. Dynamic Languages: A Literature Review

A thorough study by Dan Luu. From the introduction:
The summary of the summary is that most studies find very small effects, if any. However, the studies probably don’t cover contexts you’re actually interested in. If you want the gory details, here’s each study, with its abstract, and a short blurb about the study.
And from the conclusion:
Other than cherry picking studies to confirm a long-held position, the most common response I’ve heard to these sorts of studies is that the effect isn’t quantifiable by a controlled experiment. However, I’ve yet to hear a specific reason that doesn’t also apply to any other field that empirically measures human behavior. Compared to a lot of those fields, it’s easy to run controlled experiments or do empirical studies. It’s true that controlled studies only tell you something about a very limited set of circumstances, but the fix to that isn’t to dismiss them, but to fund more studies. It’s also true that it’s tough to determine causation from ex-post empirical studies, but the solution isn’t to ignore the data, but to do more sophisticated analysis. For example, econometric methods are often able to make a case for causation with data that’s messier than the data we’ve looked at here.

The next most common response is that their viewpoint is still valid because their specific language or use case isn’t covered. Maybe, but if the strongest statement you can make for your position is that there’s no empirical evidence against the position, that’s not much of a position.
Thanks for the effort you put into this epic study, Dan! Spotted via Lambda the Ultimate.

Labels: , ,


Castagna: A Handbook for PC Chairs

Giuseppe Castagna published a 12-page guide based on his experience chairing ECOOP 2013. It includes pithy advice such as the following.
As a side note, I suggest to send to PC members as few emails as possible and to repeat all important information in every mail: never assume that if you wrote something in a mail, then every member of the PC knows it (my personal experience was that many of the important pieces of information I wrote in my mails were missed by one ortwo members, not always the same ones).
Beppe's handbook is a useful addition to the literature on how to run a conference, including several written by members of SIGPLAN.

Labels: , ,



Snooper's Charter could impede computer security workers in UK

From Ars Technica.
As Glyn Moody and George Danezis point out, the draft bill effectively makes it a crime to reveal the existence of government hacking. Along the way, the new law would also make it illegal to discuss the existence or nature of warrants with anyone under any circumstances, including in court or with your MP, no matter what’s been happening. The powers are sweeping, absolute, and carefully put beyond public scrutiny, effectively for ever. There’s no limitation of time.
Let’s say I’m a security researcher, digging into some unusual behaviour in a router on behalf of a major telecoms client. I discover a security hole into which somebody has installed a backdoor. Whoever it was didn’t leave a calling card: they rarely do.
What would I do if I found that backdoor today? The ethical thing is to check my results with trusted colleagues, tell my client, determine what the best remedial action is, tell whoever is in charge of that aspect of the router software, allow time for a patch to propagate out, then tell the world what happened. It’s interesting, but not immediately important, to work out who did the attack. Fix first, ask questions later.
Let’s look at that in a world where the Snooper's Charter has become law. I find the backdoor and tell a colleague. She doesn’t answer my e-mail, but I get a knock at the door—turns out that GCHQ was behind the attack. I am now banned forever from mentioning to anyone what I found—or that I found anything. The backdoor is later exploited by the bad guys and my client is hit. Why didn’t you find it, they ask? I can only shrug. Soon, my consultancy is in disarray. If I’m sued for incompetence, I cannot defend myself. I can write no papers, warn no people.What would I do if I found that backdoor today? The ethical thing is to check my results with trusted colleagues, tell my client, determine what the best remedial action is, tell whoever is in charge of that aspect of the router software, allow time for a patch to propagate out, then tell the world what happened. It’s interesting, but not immediately important, to work out who did the attack. Fix first, ask questions later.

Labels: ,



Strange Loop: "Propositions as Types" by Philip Wadler

And for the last of my selection from Strange Loop 2015, here is "Propositions as Types" by Philip Wadler, based on my paper of the same name, which I am told will soon appear in Communications of the ACM. I received more compliments on this talk than for any other, which I take as one benefit of the friendliness and fun of the Strange Loop crowd. Thanks to Alex Miller and the crew for assembling a great conference!

Labels: , , ,


Strange Loop: "Everything Old is New Again: Quoted Domain Specific Languages" by Philip Wadler

I have many more favourites from Strange Loop 2015, but for now I will just post the videos of my own talks. Here is "Everything Old is New Again: Quoted Domain Specific Languages", based on "A practical theory of language integrated query, by Cheney, Lindley, and myself and the eponymous draft paper, by Najd, Lindley, Svenningsson, and myself. Above is the Strange Loop talk, below the talks from Curry On, Prague, 2015 and DSLDISS, Lausanne, 2015.

Labels: , , , ,


Strange Loop: "Strange Loops: Capturing Knots With Powerful Notations" by Kay Ye

Third in my series of favourites from Strange Loop 2015. "Strange Loops: Capturing Knots With Powerful Notations" by Kay Ye. Ye has learned all about knot theory, and explains it to you. Great fun for anyone interested in how to describe complex situations, and which programming language afficionado can resist that? With beautiful hand-drawn slides.

Labels: ,


Strange Loop: "Security for Humans: Privacy and Coercion Resistant Design" by Morgan Marquis-Boir.

Second in my series of favourites from Strange Loop 2015"Security for Humans: Privacy and Coercion Resistant Design" by Morgan Marquis-Boir. Marquis-Boir is head of security for The Intercept, the online news source founded by Glen Greenwald and Laura Poitras, the journalists who Edward Snowden chose to be his conduit to the world. Morgan surveys computing and security as of 2015. Time to encrypt your phone!

Labels: , , , ,


Strange Loop: "From Protesting to Programming: Becoming a Tech Activist" by Idalin Bobé

A selection of my favourite talks from Strange Loop 2015. First up, "From Protesting to Programming: Becoming a Tech Activist" by Idalin Bobé. It's a cliché to call a story inspiring, but Bobé's story inspired me. She began life in the Badlands in North Philadelphia and pulled herself up by her bootstraps to become a tech activist on the frontlines in Ferguson.

Labels: , ,



Benefits of Investing in Cycling

Benefits of Investing in Cycling, a report by Dr. Rachel Aldred, Senior Lecturer in Transport, Faculty of Architecture and the Built Environment, University of Westminster. Some choice statistics:

If people in urban England and Wales cycled and walked as much as people do in Copenhagen, the NHS could save around £17 billion within twenty years.
Shifting 10% of short urban trips outside London from car to cycle could save over 100 premature deaths from air pollution related illnesses annually.
If cycling was as safe in the UK as in  The Netherlands we would see around  80 fewer cycle deaths each year.
Installing protected space for cycling can increase retail sales by up to a quarter.
Spotted by Ewen Maclean.  Thanks, Ewen!

Labels: ,



Intersectional Types

Chris Martens (@chrisamaphone) has founded Intersectional Types, a new mailing list for programming language researchers.
In some ways, this list should be considered just another research list, such as the TYPES forum. This space can be used for research questions, literature guidance, starting collaborative efforts, introductions and updates to current research projects, open-ended philosophical questions about grand research visions, links to blog posts/papers, announcement of CFPs and job postings, announcements of achievements and breakthroughs.

In addition, this list is a response to a problem: that PL research communities have a really hard time attracting, retaining, and especially *valuing* people who are marginalized in society. This problem is in no way unique to PL, but the purpose of this list is to bring together folks with similar enough research interests that we can provide each other support that’s meaningful within the context of our specific field.

Some specific examples of activity we encourage, but don’t see on traditional research fora, are: requests for career mentorship and advice (especially along an academic career track); requests for feedback on papers and blog posts; giving (remote) practice talks; organizing local meetups and events; posting about mentorship programs, fellowships, summer schools, and other opportunities; venting about the ways our environments are unwelcoming and dysfunctional; and discussing how we ourselves can create more welcoming and supportive environments when we are in positions of leadership.
I previously posted about Chris's research on linear logic and storytelling. Intersectional Types, along with Lambda Ladies, marks an important step toward supporting diversity in the PL community. Well done, Chris, and welcome!

Labels: , ,



Lambda Days

I am on the programme committee for Lambda Days, Krakow, 18-19 February 2016.




Paul Hudak Symposium: Putting the Funk in Functional Programming

Thank you to John Peterson, who is organising a symposium in memory of Paul Hudak. I was sorry to miss the session devoted to Paul at ICFP. Paul made huge contributions to FP, and though he was only a little older than me I was proud to have him as a mentor. I'm looking forward to the meeting. The symposium will take place Friday 29--Saturday 30 April 2016 at Yale.

Labels: , ,



Haskell gets Wired (but does Wired get Haskell?)

WIRED's business section has an article on Haskell, Facebook's New Spam-Killer Hints at the Future of Coding
LOUIS BRANDY PAUSES before answering, needing some extra time to choose his words. “I’m going to get in so much trouble,” he says. The question, you see, touches on an eternally controversial topic: the future of computer programming languages.
Brandy is a software engineer at Facebook, and alongside a team of other Facebookers, he spent the last two years rebuilding the system that removes spam—malicious, offensive, or otherwise unwanted messages—from the world’s largest social network. That’s no small task—Facebook juggles messages from more than 1.5 billion people worldwide—and to tackle the problem, Brandy and team made an unusual choice: they used a programming language called Haskell.
If you consider that companies like Facebook, Google, and Amazon represent where the rest of the internet is going—as the internet grows, so many other online services will face the same problems it faces today—Facebook’s Haskell project can indeed point the way for the programming world as a whole. That doesn’t mean Haskell will be ubiquitous in the years to come. Because it’s so different from traditional programming languages, coders often have trouble learning to use it; undoubtedly, this will prevent widespread adoption. But Facebook’s work is a sign that other languages will move in Haskell’s general direction.
What about Haskell itself? In the long run, could it evolve to the point where it becomes the norm? Could coders evolve to the point where they embrace it large numbers? “I don’t know,” Brandy says. “But I don’t think it would be a bad thing.”
Spotted via Katie Miller (@codemiller) and Manuel Chakravarty (@TechnicalGrace).

Labels: , ,


The control group is out of control

From The control group is out of control, by Scott Alexander (Star Slate Codex):

Allan Crossman calls parapsychology the control group for science.
That is, in let’s say a drug testing experiment, you give some people the drug and they recover. That doesn’t tell you much until you give some other people who are taking a placebo drug you know doesn’t work – but which they themselves believe in – and see how many of them recover. That number tells you how many people will recover whether the drug works or not. Unless people on your real drug do significantly better than people on the placebo drug, you haven’t found anything.
On the meta-level, you’re studying some phenomenon and you get some positive findings. That doesn’t tell you much until you take some other researchers who are studying a phenomenon you know doesn’t exist – but which they themselves believe in – and see how many of them get positive findings. That number tells you how many studies will discover positive results whether the phenomenon is real or not. Unless studies of the real phenomenon do significantly better than studies of the placebo phenomenon, you haven’t found anything.
Trying to set up placebo science would be a logistical nightmare. You’d have to find a phenomenon that definitely doesn’t exist, somehow convince a whole community of scientists across the world that it does, and fund them to study it for a couple of decades without them figuring out the gig.
Luckily we have a natural experiment in terms of parapsychology – the study of psychic phenomena – which most reasonable people don’t believe exists but which a community of practicing scientists does and publishes papers on all the time.
The results are pretty dismal. Parapsychologists are able to produce experimental evidence for psychic phenomena about as easily as normal scientists are able to produce such evidence for normal, non-psychic phenomena. This suggests the existence of a very large “placebo effect” in science – ie with enough energy focused on a subject, you can always produce “experimental evidence” for it that meets the usual scientific standards.
Bem, Tressoldi, Rabeyron, and Duggan (2014) ... is parapsychology’s way of saying “thanks but no thanks” to the idea of a more rigorous scientific paradigm making them quietly wither away.
You might remember Bem as the prestigious establishment psychologist who decided to try his hand at parapsychology and to his and everyone else’s surprise got positive results. Everyone had a lot of criticisms, some of which were very very good, and the study failed replication several times. Case closed, right?
Earlier this month Bem came back with a meta-analysis of ninety replications from tens of thousands of participants in thirty three laboratories in fourteen countries confirming his original finding, p < 1.2 * -1010, Bayes factor 7.4 * 109, funnel plot beautifully symmetrical [see figure above], p-hacking curve nice and right-skewed, Orwin fail-safe n of 559, et cetera, et cetera, et cetera. ... This is far better than the average meta-analysis. Bem has always been pretty careful and this is no exception.
Spotted by Conrad Hughes. Cheers, Conrad!




Don Syme awarded Silver Medal by Royal Academy of Engineering

 Congratulations, Don!
For over two decades, the Academy’s Silver Medals have recognised exceptional personal contributions from early- to mid-career engineers who have advanced the cause of engineering in the UK.
Three of the UK’s most talented engineers are to receive the Royal Academy of Engineering’s coveted Silver Medal for remarkable technical  achievements in their fields, coupled with commercial success.
They are the inventor of 3D printed surgical instruments, an
indoor location-tracking technology pioneer, and the creator of the F#
computer programming language.
 Full RAE Announcement. Spotted by Kevin Hammond.

Labels: , , ,



The Thrilling Adventures of Lovelace and Babbage

Sydney Padua explores an alternate universe wherein Ada Lovelace and Charles Babbage complete the Analytical Engine and use it to (at the order of Queen Victoria) fight crime. I've blogged before about the web comic, but the book is even better.

Padua's tome reconciles hilarity with accuracy. I am not normally a fan of footnotes: if it is worth saying, say it inline; don't force your poor reader to break the flow of thought and eye, and leap to the bottom of the page. But here is the glorious exception, where the footnotes supplement, argue with, and occasionally threaten to overflow the comic. Even the footnotes have footnotes: endnotes cite sources for the dialogue, present pocket biographies of Ada and Charles' contemporaries Isambard Kingdom Brunel, Charles Dodgson, and George Boole, quote at length from original sources, and explain the workings of the Analytic Engine. In the midst of an illustrated fantasia riff on Alice in Wonderland, the footnotes pursue an academic war as to whether or not Babbage truly considered Lovelace to be the Empress of Number. Padua makes pursuit of Victorian arcana a thrilling adventure of its own. Highly recommended!

Labels: , ,



A brief bibliography on parametricity

Henry Story asked HoTT Cafe about parametricity, prompting creation of a handy, short bibliography including Hermida, Reddy, and Robinson; Ahmed; Dreyer; Milewski (artist of the elegant diagram above); and Shulman.

Labels: , ,



How badly will Audible misuse my contact list?

In today's world, where our books, music, and photos belong to the Cloud rather than to ourselves, one problem we face is commercial concerns insisting on increased access to personal data.

I received the following note from Audible:

It looks like you may have an older version of Audible app installed on your device which needs to be updated before 6/30/15 to ensure that you enjoy uninterrupted access to your library.
Option 1: Continue to use the older version of the app.
If you receive an error message when you attempt to sign in, look in your emails for a password that you will need for sign in.
Option 2 (Recommended): Upgrade to the latest version.

Warmest Regards,
The Audible Team
What the note doesn't mention is that updating the app requires giving Audible access to my contacts list.

Does anyone know how Audible is using the contact list? Worst case scenario is they email advertisements to my friends in my name, telling them what I am currently reading.

Do customers have any legal redress? Changing the terms of service to require access to the customer's contact list is the sort of thing the law should protect against.

Labels: ,



Haskell in Production: Bdellium

At Medium, Fredrik (@ique) describes using Haskell in anger.
At the start of the products’ life we mostly analyzed small retirement plans with 100 to 500 plan participants. As time went on we started seeing plans with 2,000 participants and even 10,000 participants. At these numbers the execution time for the processing started going outside of acceptable bounds. Luckily, every participant could be analyzed in isolation from the others and so the problem was embarrassingly parallel.
I changed one line of code from
map outputParticipant parts
map outputParticipant parts `using` parListChunk 10 rdeepseq
and execution times were now about 3.7x faster on our 4-core server. That was enough to entirely fix the issue for another 6 months, during which time we could focus on further enhancing the product instead of worrying about performance. Later, we did do extensive profiling and optimization of the code to further reduce execution times significantly, but we didn’t want to prematurely optimize anything.
Spotted via Manual Chakravarty @TacticalGrace.

Labels: , ,



Stylish Academic Writing

Surprised to discover myself the subject of a "Spotlight on Style" in Stylish Academic Writing by Helen Sword. Thanks to @ctford for the heads up. The segment is about titles (no surprise there) and also quotes Robby Findler, Simon Peyton-Jones, Ralf Laemmel, Sam Lindley, Simon Marlow, Martin Odersky, Enno Runne, and Jeremy Yallop.



Royal Navy whistleblower says Trident is "a disaster waiting to happen"

A Royal Navy weapons expert who served on HMS Victorious from January to April this year has released via WikiLeaks an eighteen-page report claiming Trident is "a disaster waiting to happen".

McNeil's report on WikiLeaks.

Original report in The Sunday Herald.
McNeilly's report alleges 30 safety and security flaws on Trident submarines, based at Faslane on the Clyde. They include failures in testing whether missiles could be safely launched, burning toilet rolls starting a fire in a missile compartment, and security passes and bags going unchecked.
He also reports alarms being muted because they went off so often, missile safety procedures being ignored and top secret information left unguarded.
The independent nuclear submarine expert, John Large, concluded McNeilly was credible, though he may have misunderstood some of the things he saw.
Large said: "Even if he is right about the disorganisation, lack of morale, and sheer foolhardiness of the personnel around him - and the unreliability of the engineered systems - it is likely that the Trident system as a whole will tolerate the misdemeanours, as it's designed to do." 
(Regarding the quote from Large, I'm less sanguine. Ignoring alarms is a standard prelude to disaster. See Normal Accidents.)

Second report in The National.
“We are so close to a nuclear disaster it is shocking, and yet everybody is accepting the risk to the public,” he warned. “It’s just a matter of time before we’re infiltrated by a psychopath or a terrorist.”
Coverage in CommonSpace.



Summer School on DSL Design and Implementation

The Scala team at EPFL is running a Summer School on DSL Design and Implementation, 12-17 July in Lausanne, Switzerland. They have a great line-up, including Martin Odersky, Tiark Rompf, Kunle Olukotun, and Matthew Flatt. I'll be there, speaking on A practical theory of language-integrated query and Quoted Domain Specific Languages: Everything old is new again.

Labels: , , , , , ,


Status Report 5

I am recovered. My bone marrow biopsy and my scan at the National Amyloidosis Centre show no problems, and my urologist has discharged me. Photo above shows me and Bob Harper (otherwise known as TSOPLRWOKE, The Society of Programming Language Researchers With One Kidney Each) at Asilomar for Snapl.

My thanks again to staff of the NHS. Everyone was uniformly friendly and professional, and the standard of care has been excellent. My thanks also to everyone who wished me well, and especially to the SIGPLAN EC, who passed a get-well card around the world for signing, as shown below. I am touched to have received so many good wishes.




Bright Club: Computability

A brief introduction to the hilarious subject of computability theory. Performed as part of Bright Club at The Stand in Edinburgh, on Tuesday 28 April 2015.

Labels: ,



Fractal Maps

Sky Welch's Fractal Maps updates Alasdair Corbett's Mandelbrot Maps. It renders faster, and displays the two curves side-by-side (rather than displaying one large and one tiny). Mandelbrot Maps is the most popular Mandelbrot app in Google Play, with over 10,000 downloads. I expect Fractal Maps to catch up soon. Try it today! (Disclaimer/boast: both Sky and Alasdair produced their software as part of UG4 projects under my supervision.)

Labels: , ,



Bright Club

I'm performing at Bright Club, Edinburgh, Tuesday 28 April at The Stand. Doors open 7:30, show begins 8:30. See you there! Details, tickets £5.

Labels: ,



Prime Minister of Singapore plans to learn Haskell

The Prime Minister of Singapore, Lee Hsien Loong, plans to learn Haskell.
My children are in IT, two of them – both graduated from MIT. One of them browsed a book and said, “Here, read this”. It said “Haskell – learn you a Haskell for great good”, and one day that will be my retirement reading.
Spotted by Jeremy Yallop.

Labels: , ,



Multiple inheritance, revisited

Via @ReifyReflect (Sam Lindley) and @PedalKings. Previously: Multiple inheritance.




A complement to blame

A complement to blame
Philip Wadler.
SNAPL, May 2015.

Contracts, gradual typing, and hybrid typing all permit less-precisely typed and more-precisely typed code to interact. Blame calculus encompasses these, and guarantees blame safety: blame for type errors always lays with less-precisely typed code. This paper serves as a complement to the literature on blame calculus: it elaborates on motivation, comments on the reception of the work, critiques some work for not properly attending to blame, and looks forward to applications. No knowledge of contracts, gradual typing, hybrid typing, or blame calculus is assumed.

Labels: , ,


Blame and Coercion:Together Again for the First Time

Blame and Coercion:Together Again for the First Time
Jeremy Siek, Peter Thiemann, Philip Wadler.
PLDI, June 2015.

C#, Dart, Pyret, Racket, TypeScript, VB: many recent languages integrate dynamic and static types via gradual typing. We systematically develop three calculi for gradual typing and the relations between them, building on and strengthening previous work. The calculi are: λB, based on the blame calculus of Wadler and Findler (2009); λC, inspired by the coercion calculus of Henglein (1994); λS inspired by the space-efficient calculus of Herman, Tomb, and Flanagan (2006) and the threesome calculus of Siek and Wadler (2010). While λB is little changed from previous work, λC and λS are new. Together, λB, λC, and λS provide a coherent foundation for design, implementation, and optimisation of gradual types.

We define translations from λB to λC and from λC to λS. Much previous work lacked proofs of correctness or had weak correctness criteria; here we demonstrate the strongest correctness criterion one could hope for, that each of the translations is fully abstract. Each of the calculi reinforces the design of the others: λC has a particularly simple definition, and the subtle definition of blame safety for λB is justified by the simple definition of blame safety for λC. Our calculus λS is implementation-ready: the first space-efficient calculus that is both straightforward to implement and easy to understand. We give two applications: first, using full abstraction from λC to λS to validate the challenging part of full abstraction between λB and λC; and, second, using full abstraction from λB to λS to easily establish the Fundamental Property of Casts, which required a custom bisimulation and six lemmas in earlier work.

Labels: , ,



Codes that changed the world

Aleks Krotoski tackles programming languages in BBC Radio 4's Codes that Changed the World. The five episodes comprise: Fortran, Cobol, Basic, Java, and The Tower of Babel. Functional programming and Haskell are singled out for special attention in the final programme, which includes a interview with Haskell developer Elise Huard; online is a clip of interview with Simon Peyton Jones that did not make it on air.

Labels: , , , ,

This page is powered by Blogger. Isn't yours?