GeistHaus
log in · sign up

https://wadler.blogspot.com/feeds/posts/default

atom
25 posts
Polling state
Status active
Last polled May 19, 2026 05:58 UTC
Next poll May 20, 2026 03:25 UTC
Poll interval 86400s
ETag W/"964bccf5d8416fb6b50e064c1f367862044db22de0b3dcc3e9a36374ea547581"
Last-Modified Mon, 18 May 2026 13:23:42 GMT

Posts

Smaller, cheaper Plutus scripts with the UPLC command-line tool
AgdaBlockchainIOHKProgramming Languages
Show full content

Banner image for the UPLC command-line tool blog

If you want to see a use of Agda in real life, to provide certificates validating the correctness of compiler passes, check out this blog post from my colleague Ziyang Liu at Input Output. A simplified description of one of the passes appears in A Tale of Two Zippers, by myself, Jacco Krijnen, and Ramsay Taylor.

tag:blogger.com,1999:blog-9757377.post-7295609420169562477
Extensions
Wet Sidewalks and Odd Numbers
LogicProgramming Languages
Show full content


Phil Crissman explains Propositions as Types with a dialogue between Achilles and the Tortoise, in the style of Douglas Hofstadter (who in turn was inspired by Lewis Carrol). Lambda Man makes an appearance.

tag:blogger.com,1999:blog-9757377.post-3700094658306171494
Extensions
Maybe Don’t Talk to the New York Times About Zohran Mamdani
Politics
Show full content

Peter Coviello explains how the New York Times enables right-wing billionaires to push their agenda.

Like so many other bits of Times coverage, the whole of the piece is structured as an orchestrated encounter. Some people say this; however, others say this. It’s so offhand you can think you’re gazing through a pane of glass. Only when you stand a little closer, or when circumstances make you a little less blinkered, do you notice the fact which then becomes blinding and finally crazymaking, which is just that there is zero, less than zero, stress put on the relation between those two “sides,” or their histories, or their sponsors, or their relative evidentiary authority, or any of it. Instead, what you get is a piece making the various more or less bovine noises of studious grey-lady impartiality, with the labor of anything resembling “appraisal” surgically excised.

... [W]hat this sort of reporting ultimately means is that if you have enough money to get somebody, anybody, to produce a white paper for you, which you can then put on some think-tank stationery? Then, my friend, you are ready to enter into the rushing current of elite reportage. For no matter how unhinged the position you’ve taken, or paid someone marginally credentialed to sketch out on your behalf—“Can Woman Think?: We Investigate,” “Is the Negro a Man: A Reconsideration”—that opinion will, by virtue of such provenance, possess all needed evidentiary gravity for the Times. And then some. (Only yesterday the Times ran this actual story, which is not parody.)

 George Monbiot points out that the same forces are in action at the BBC.

This also describes the BBC’s understanding of “impartiality”. While it no longer provides a platform for outright climate denial, almost every day it breaks its own editorial guidelines by hosting Tufton Street junktanks (which often argue against environmental action) without revealing who funds them. Shouldn’t we be allowed to know whether or not they are sponsored by fossil fuel companies?


tag:blogger.com,1999:blog-9757377.post-943394446951278995
Extensions
Curious: Brave New Bullshit
AIComedyComputingEdinburgh
Show full content







tag:blogger.com,1999:blog-9757377.post-9036399925832939701
Extensions
Haskell equations, thirty-eight years later
Functional ProgrammingHaskellProgramming Languages
Show full content



One night, while drifting off to sleep (or failing to), I solved a conundrum that has puzzled me since 1987.

Before Haskell there was Orwell. In Orwell equations were checked to ensure order is unimportant (similar to Agda today). When an equation was to match only if no previous equation applied, it was to be preceded by ELSE. Thus, equality on lists would be defined as follows:

    (==) :: Eq a => [a] -> [a] -> Bool
    [] == []          =  True
    (x:xs) == (y:ys)  =  x == y && xs == ys
    ELSE
    _ == _            =  False

We pondered whether to include this restriction in Haskell. Further, we wondered whether Haskell should insist that order is unimportant in a sequence of conditionals, unless ELSE was included. Thus, equality on an abstract type Shape would be defined as follows:

    (==) :: Shape -> Shape -> Bool
    x == y | circle x && circle y  =  radius x == radius y
           | square x && square y  =  side x == side y
    ELSE
           | otherwise             =  False

In Orwell and early Haskell, guards were written at the end of an equation and preceded by the keyword if or the end of an equation could be labelled otherwise. (Miranda was similar, but lacked the keywords.) Here I use the guard notation, introduced later by Paul Hudak, where otherwise is a variable bound to True.

Sometime two equations or two guards not separated by ELSE might both be satisfied. In that case, we thought the semantics should ensure that both corresponding right-hand sides returned the same value, indicating an error otherwise. Thus, the following:

    plus :: Thing -> Thing -> Thing
    plus x y | zero x     =  y
             | zero y     =  x
    ELSE
             | otherwise  =  ...

would be equivalent to:

    plus :: Thing -> Thing -> Thing
    plus x y | zero x && zero y && x == y    =  x
             | zero x && zero y && x /= y    =  error "undefined"
             | zero x && not (zero y)        =  y
             | not (zero x) && zero y        =  x
             | not (zero x) && not (zero y)  =  ...

Here the code checks that if x and y are both zero then they are the same. (I will consider a refinement to the check for sameness later.) Of course, the compiler would issue code that performs the tests zero xzero y, and x == y at most once.

We didn’t pursue this design in Haskell for two reasons. First, because we thought it might be too unfamiliar. Second, because the ELSE on a line by itself was syntactically awkward. It would be especially annoying if one ever wanted the usual cascading behaviour:

    f :: Thing -> Thing
    f x | p x  =  ...
    ELSE
        | q x  =  ...
    ELSE
        | r x  =  ...

Here each guard is tested in turn, and we take the first that succeeds.

Today, the first problem is perhaps no longer quite so strong an issue. Many applications using Haskell would welcome the extra assurance from flagging any cases where order of the equations is significant. But the syntactic awkwardness of ELSE remains considerable. It was syntax about which I had an insight while tossing in bed.

Above otherwise is a variable bound to True in the standard prelude. But say we were to treat otherwise as a keyword, and to give it the meaning that the equation applies only if no previous equation applies, and to allow it to optionally be followed by a further guard. Then our first example becomes:

    (==) :: Eq a => [a] -> [a] -> Bool
    [] == []            =  True
    (x:xs) == (y:ys)    =  x == y && xs == ys
    _ == _ | otherwise  =  False

And our second example becomes:

    (==) :: Shape -> Shape -> Bool
    x == y | circle x && circle y  =  radius x == radius y
           | square x && square y  =  side x == side
           | otherwise             =  False

And our third example becomes:

    plus :: Thing -> Thing -> Thing
    plus x y | zero x     =  y
             | zero y     =  x
             | otherwise  =  ...

If one doesn’t want to invoke the equality test in the case that both zero x and zero y hold then one would instead write:

    plus :: Thing -> Thing -> Thing
    plus x y | zero x            =  y
             | otherwise zero y  =  x
             | otherwise         =  ...

Similarly, the cascading example becomes:

    f :: Thing -> Thing
    f x | p x            =  ...
        | otherwise q x  =  ...
        | otherwise r x  =  ...

That’s it! The syntactic awkwardness is greatly reduced.

The proposed notation depends upon Paul’s clever insight to move the guard from the end of the equation to the middle, so evaluation works strictly left to right. But we’ve had guards in that position for quite a while now. Goodness knows why none of us hit upon this proposal thirty-odd years ago.

Of course, the change is not backward compatible. Changes to guards could be made backward compatible (with added ugliness) by using a different symbol than ‘|’ to mark guards with the new semantics. But now the old definition of (==) should not be accepted without an otherwise, and I cannot think of how to introduce that new semantics with a backward compatible syntax.

The solution, as with so much of Haskell nowadays, is to activate the new semantics with a pragma. Manual porting of legacy code would not be hard in most cases, and it would also be easy to write a tool that adds otherwisewhenever the equations are not easily shown to be independent of order.

John Hughes suggests a further refinement to the above. Using equality to check that the value of two equations is the same may not be appropriate if the values are computed lazily. Instead, he suggests that the plus example should translates as follows:

    plus :: Thing -> Thing -> Thing
    plus x y | zero x && zero y              =  x `meet` y
             | zero x && not (zero y)        =  y
             | not (zero x) && zero y        =  x
             | not (zero x) && not (zero y)  =  ...

Here we presume a type class

    class Meet a where
      meet : a -> a -> a

which confirms that the two arguments are the same and returns a value that is the same as both the arguments. For strict data types, two arguments are the same if they are equal.

    instance Meet Integer where
      x `meet` y | x == y     =  x
                 | otherwise  =  error "undefined"

For lazy data types, we check that they are the meet lazily.

    instance Meet a => Meet [a] where
      [] `meet` []           =  []
      (x:xs) `meet` (y:ys)   =  (x `meet` y) :: (xs `meet` ys)
      meet _ _  | otherwise  =  error "undefined"

If the compiler could not verify that equations are disjoint, it would require that their right-hand sides have a type belonging to the class Meet.

In most cases, one would hope the compiler could verify that equations are disjoint, and hence would not have to resort to meet or additional checks. One might wish to allow a pragma to declare disjointness, permitting the compiler to assume, for instance, that x < y and x >= y are disjoint. An SMT solver could do much of the work of checking for disjointness.

In general, equations not separated with otherwise would be checked to ensure they are disjoint or all give equivalent results. For example,

    g :: Thing -> Thing
    g x | p x             =  a x
        | q x             =  b x
        | otherwise r x   =  c x
        | s x             =  d x
        | otherwise t x   =  e x

would be equivalent to

    g :: Thing -> Thing
    g x | p x && q x              =  a x `meet` b x
        | p x && not (q x)        =  a x
        | q x && not (p x)        =  b x
        | otherwise r x && s x    =  c x `meet` d x
        | r x && not (s x)        =  c x
        | s x && not (r x)        =  d x
        | otherwise t x           =  e x

On the other hand, if we declared that p x and q x are disjoint, and the same for s x and r x, then the first code would instead compile to something equivalent to Haskell’s current behaviour,

    g :: Thing -> Thing
    g x | p x             =  a x
        | otherwise q x   =  b x
        | otherwise r x   =  c x
        | otherwise s x   =  d x
        | otherwise t x   =  e x

One drawback of this proposal is that the source code doesn’t directly indicate when extra tests and the use of meet are required. An IDE might provide feedback to make explicit which tests are performed, or one might also add pragmas or additional syntax to reflect that information in the source.

I hope some reader might be keen to take this forward. What do you think?

tag:blogger.com,1999:blog-9757377.post-7477002193493090120
Extensions
Translation Table
AcademiaScience
Show full content


I remember seeing a version of the above in High School. My favourite entries, which I quote to this day, are

"... accidentally strained during mounting" --> "... dropped on the floor"

"... handled with extreme care throughout the experiments" --> "... not dropped on the floor"

and

"correct within an order of magnitude" --> "wrong"

From Futility Closet. Spotted via Boing Boing.

tag:blogger.com,1999:blog-9757377.post-2158445840541937970
Extensions
Why are we funding this?
Science
Show full content

 

In the face of swinging funding cuts in the US, David Samuel Shiffman defends the value of scientific curiosity in American Scientist. Spotted via Boing Boing.

tag:blogger.com,1999:blog-9757377.post-3587449498284603283
Extensions
The Provocateurs: Brave New Bullshit
AIComedyEdinburgh
Show full content

 

Update: My colleague Elizabeth Polgreen has kindly written a post for the ETAPS Blog describing my show.
Philip Wadler is a man who wears many different hats. Both literally: fedoras, trilbys, even the occasional straw hat, and metaphysically: recently retired Professor of theoretical computer science at the University of Edinburgh; Fellow of the Royal Society; senior researcher at the blockchain infrastructure company IOHK; Lambda Man; often-times favourite lecturer of the first year computer science students; and, occasionally, stand-up comedian. It is the latter role that leads me to ask Phil if he will participate in a Q&A.
[Previous post repeated below.]
Following two sell-out shows at the Fringe last year, I'm on at the Fringe again:
11.25 Monday 4 August, Stand 2 w/Lucy Remnant and Susan Morrison17.40 Sunday 17 August, Stand 4 w/Smita Kheria and Sarah-Jane Judge17.40 Tuesday 19 August, Stand 4 w/Cameron Wyatt and Susan Morrison
Shows are under the banner of The Provocateurs (formerly Cabaret of Dangerous Ideas). Tickets go on sale Wednesday 7 May, around noon. The official blurb is brief:
Professor Philip Wadler (The University of Edinburgh) separates the hopes and threats of AI from the chatbot bullshit.
Here is a longer blurb, from my upcoming appearance at Curious, run by the RSE, in September.
Brave New BullshitIn an AI era, who wins and who loses?
Your future workday might look like this: 
  • You write bullet points.
  • You ask a chatbot to expand them into a report.
  • You send it to your boss ...
  • Who asks a chatbot to summarise it to bullet points.
Will AI help you to do your job or take it from you? Is it fair for AI to be trained on copyrighted material? Will any productivity gains benefit everyone or only a select few? Join Professor Philip Wadler’s talk as he looks at the hopes and threats of AI, exploring who wins and who loses.

tag:blogger.com,1999:blog-9757377.post-6174887100362087744
Extensions
The Provocateurs: Brave New Bullshit
AIComedyEdinburgh
Show full content
[Reposting with update.]
Following two sell-out shows at the Fringe last year, I'm on at the Fringe again:
11.25 Monday 4 August, Stand 2 w/Lucy Remnant and Susan Morrison17.40 Sunday 17 August, Stand 4 w/Smita Kheria and Sarah-Jane Judge17.40 Tuesday 19 August, Stand 4 w/Cameron Wyatt and Susan Morrison
Shows are under the banner of The Provocateurs (formerly Cabaret of Dangerous Ideas). Tickets go on sale Wednesday 7 May, around noon. The official blurb is brief:
Professor Philip Wadler (The University of Edinburgh) separates the hopes and threats of AI from the chatbot bullshit.
Here is a longer blurb, from my upcoming appearance at Curious, run by the RSE, in September.
Brave New BullshitIn an AI era, who wins and who loses?
Your future workday might look like this: 
  • You write bullet points.
  • You ask a chatbot to expand them into a report.
  • You send it to your boss ...
  • Who asks a chatbot to summarise it to bullet points.
Will AI help you to do your job or take it from you? Is it fair for AI to be trained on copyrighted material? Will any productivity gains benefit everyone or only a select few? Join Professor Philip Wadler’s talk as he looks at the hopes and threats of AI, exploring who wins and who loses.

tag:blogger.com,1999:blog-9757377.post-1606865975461141066
Extensions
What is happening in Gaza is an injury to our collective conscience. We must be allowed to speak out
IsraelPalestinePolitics
Show full content

gaza-mate.JPG 

A powerful op-ed by Gabor Maté in the Toronto Star.

Just as nothing justifies the atrocities of October 7, nothing about October 7 justifies Israeli atrocities against the Palestinians, either before or since October 7. Recently, I listened to orthopedic surgeon Dr. Deirdre Nunan, like me a graduate of UBC’s Faculty of Medicine, recount her harrowing experiences serving in a Gaza hospital under the siege that followed Israel’s breaking of the ceasefire in March. Her depictions of unspeakable horror, enacted as policy by one of the world’s most sophisticated militaries, were soul shattering. Many other physicians — Canadian, American, Jewish, Muslim, Christian — who have worked in Gaza speak in similar terms. British doctors describe witnessing “a slaughterhouse.” All their testimonies are widely accessible. The leading medical journal Lancet editorialized that in its assault on health care facilities and personnel in Gaza, “the Israeli Government has acted with impunity … Many medical academies and health professional organizations that claim a commitment to social justice have failed to speak out.” ...

It may be true that antisemitic animus can lurk behind critiques of Zionism. But in my decades of advocacy for Palestinian rights including medical visits to Gaza and the West Bank, I have rarely witnessed it. When present, it has a certain tone that one can feel is directed at Jewishness itself, rather than at the theory and practice of Zionism or at Israel’s actions. What is far more common and genuinely confusing for many is that Israel and its supporters, Jews and non-Jews, habitually confound opposition to Israeli policy with antisemitism. This is akin to Vietnam War protesters being accused of anti-Americanism. How is opposing the napalming of human beings anti-American or, say, deploring Israel’s use of mass starvation as a weapon of war in any sense anti-Jewish? ...

People deserve the right to experience as much liberty to publicly mourn, question, oppose, deplore, denounce what they perceive as the perpetration of injustice and inhumanity as they are, in this country, to advocate for the aims and actions of the Israeli government and its Canadian abettors amongst our political leadership, academia, and media.

Even if we feel powerless to stop the first genocide we have ever watched on our screens in real time, allow at least our hearts to be broken openly, as mine is. And more, let us be free to take democratic, non-hateful action without fear of incurring the calumny of racism.

Thanks to a colleague in the Scottish Universities Jewish Staff Network for bringing it to my attention.

tag:blogger.com,1999:blog-9757377.post-2825732103851052798
Extensions
How to market Haskell to a mainstream programmer
DevelopersFunctional ProgrammingHaskell
Show full content

An intriguing talk by Gabriella Gonzalez, delivered at Haskell Love 2020. Based largely on the famous marketing book, Crossing the Chasm. Gonzalez argues that marketing is not about hype, it is about setting priorities: what features and markets are you going to ignore? The key to adoption is to be able to solve a problem that people need solved today and where existing mainstream tools are inadequate. Joe Armstrong will tell you that the key to getting Erlang used was to approach failing projects and ask "Would you like us to build you a prototype?" Gonzalez makes a strong case that Haskell should first aim to capture the interpreters market. He points out that the finance/blockchain market may be another possibility. Recommended to me at Lambda Days by Pedro Abreu, host of the Type Theory Forall podcast.



tag:blogger.com,1999:blog-9757377.post-1251662781163104218
Extensions
The Provocateurs: Brave New Bullshit
AIComedyEdinburgh
Show full content
Following two sell-out shows at the Fringe last year, I'm on at the Fringe again:
11.25 Monday 4 August, Stand 2 w/Lucy Remnant and Susan Morrison17.40 Sunday 17 August, Stand 4 w/Smita Kheria and Sarah-Jane Judge17.40 Tuesday 19 August, Stand 4 w/Cameron Wyatt and Susan Morrison
Shows are under the banner of The Provocateurs (formerly Cabaret of Dangerous Ideas). Tickets go on sale Wednesday 7 May, around noon. The official blurb is brief:
Professor Philip Wadler (The University of Edinburgh) separates the hopes and threats of AI from the chatbot bullshit.
tag:blogger.com,1999:blog-9757377.post-3071642511926949974
Extensions
I've been nominated for a teaching award
Show full content


I've been fortunate to be nominated for a few teaching awards over my career, and even to win a couple. The nomination I just received may be the best.

As a new student at the uni, Philip Wadler was the first introductory lecture I had, and his clear passion for the subject made me feel excited to begin my journey in computer science. In particular he emphasised the importance of asking questions, which made the idea of tutorials and lectures a lot less intimidating, and went on to give really valuable advice for starting university. I enjoyed this session so much, and so was looking forward to the guest lectures he was going to do for Inf1A at the end of semester 1. They certainly did not disappoint, the content he covered was engaging, interesting, and above all very entertaining to listen to, especially when he dressed up as a superhero to cement his point. Because I found these talks so rewarding, I also attended the STMU that he spoke at about AI and ChatGPT, and everyone I talked to after the event said they had a really good time whilst also having a completely new insightful perspective on the topic. In summary, Philip Wadler has delivered the best lectures I have attended since starting university, and I have gotten a lot out of them.

Thank you, anonymous first-year student! 

tag:blogger.com,1999:blog-9757377.post-2893800971620566258
Extensions
Telnaes quits The Washington Post
PoliticsUS
Show full content


Cartoonist Ann Telnaes has quit the Washington Post, after they refused to publish one of her cartoons, depicting Mark Zuckerberg (Meta), Sam Altman (Open AI), Patrick Soon-Shiong (LA Times), the Walt Disney Company (ABC News), and Jeff Bezos (Amazon & Washington Post). All that exists is her preliminary sketch, above. Why is this important? See her primer below. (Spotted via Boing Boing.)




 

tag:blogger.com,1999:blog-9757377.post-8734823947938720556
Extensions
Please submit to Lambda Days
DevelopersFunctional ProgrammingProgramming Languages
Show full content

 


I'm part of the programme committee for Lambda Days, and I’m personally inviting you to submit your talk!

Lambda Days is all about celebrating the world of functional programming, and we’re eager to hear about your latest ideas, projects, and discoveries. Whether it’s functional languages, type theory, reactive programming, or something completely unexpected—we want to see it!

🎯 Submission Deadline: 9 February 2025
🎙️ Never spoken before? No worries! We’re committed to supporting speakers from all backgrounds, especially those from underrepresented groups in tech.

Submit your talk and share your wisdom with the FP community.

👉 https://www.lambdadays.org/lambdadays2025#call-for-talks

tag:blogger.com,1999:blog-9757377.post-5644199666706787317
Extensions
John Longley's Informatics Lecturer Song
ComputingEdinburghProgramming LanguagesTheatreUniversity
Show full content

From my colleague, John Longley, a treat. 

‘Informatics Lecturer Song’ 

(Based on Gilbert and Sullivan’s ‘Major General song’) 

John Longley 

I am the very model of an Informatics lecturer,
For educating students you will never find a betterer.
I teach them asymptotics with a rigour that’s impeccable,
I’ll show them how to make their proofs mechanically checkable.
On parsing algorithms I can hold it with the best of them,
With LL(1) and CYK and Earley and the rest of them.
I’ll teach them all the levels of the Chomsky hierarchy…
With a nod towards that Natural Language Processing malarkey.

I’ll summarize the history of the concept of a function,
And I’ll tell them why their Haskell code is ‘really an adjunction’.
In matters mathematical and logical, etcetera,
I am the very model of an Informatics lecturer.

For matters of foundations I’m a genuine fanaticker:
I know by heart the axioms of Principia Mathematica,
I’m quite au fait with Carnap and with Wittgenstein’s Tractatus,
And I’ll dazzle you with Curry, Church and Turing combinators.
I’ll present a proof by Gödel with an algebraic seasoning,
I’ll instantly detect a step of non-constructive reasoning.
I’ll tell if you’re a formalist or logicist or Platonist…
For I’ll classify your topos by the kinds of objects that exist.

I’ll scale the heights of cardinals from Mahlo to extendible,
I’ll find your favourite ordinals and stick them in an n-tuple.
In matters philosophical, conceptual, etcetera,
I am the very essence of an Informatics lecturer.

And right now I’m getting started on my personal computer,
I’ve discovered how to get it talking to the Wifi router.
In Internet and World Wide Web I’ve sometimes had my finger dipped,
And once I wrote a line of code in HTML/Javascript.
[Sigh.] I know I have a way to go to catch up with my students,
But I try to face each lecture with a dash of common prudence.
When it comes to modern tech: if there’s a way to get it wrong, I do!
But that seems to be forgiven if I ply them with a song or two.

So… although my present IT skills are rather rudimentary,
And my knowledge of computing stops around the nineteenth century,
Still, with help from all my colleagues and my audience, etcetera…
I’ll be the very model of an Informatics lecturer.


tag:blogger.com,1999:blog-9757377.post-5297154440861986199
Extensions
You can help Cards Against Humanity pay "blue leaning" nonvoters $100 to vote
PoliticsUS
Show full content

How is this not illegal??? Cards Against Humanity is PAYING people who didn't vote in 2020 to apologize, make a voting plan, and post #DonaldTrumpIsAHumanToilet—up to $100 for blue-leaning people in swing states. I helped by getting a 2024 Election Pack: checkout.giveashit.lol. Spotted via BoingBoing. More info at The Register. (Only American citizens and residents can participate. If, like me, you are an American citizen but non-resident, you will need a VPN.)
tag:blogger.com,1999:blog-9757377.post-534848908161938118
Extensions
Remember to vote, tactically (a message for the progressive among you)
PoliticsScotlandUK
Show full content

 


Happy Election Day!

The above shows an average of five recent polls for my constituency, Edinburgh North and Leith, and comes courtesy of Stop the Tories. Clearly, the Tories have no chance, but I will still be voting tactically. I am a member of the Greens. But if everyone who intends to vote Green instead votes SNP, the SNP will beat Labour (rather than the other way around). While the SNP has made some awful missteps of late, they are the best hope to push Labour toward the more progressive policies from which Starmer has dragged them away. My tactical vote goes to the SNP.



tag:blogger.com,1999:blog-9757377.post-5411110204109926005
Extensions
INESC-ID Distinguished Lecture, Lisbon
AgdaProgramming Languages
Show full content

I'm looking forward to speaking in Lisbon. 

On June 4, Professor Philip Wadler will give an INESC-ID Distinguished Lecture organized in the scope of the BIG ERA Chair Project, titled “(Programming Languages) in Agda = Programming (Languages in Agda)”.

Registration: here (free but mandatory)
Date: June 4, 2024
Time: 15h00-16h15
Where: Anfiteatro Abreu Faro – Complexo Interdisciplinar, Instituto Superior Técnico (Alameda) 

Abstract: The most profound connection between logic and computation is a pun. The doctrine of Propositions as Types asserts that propositions correspond to types, proofs to programs, and simplification of proofs to evaluation of programs. Proof by induction is just programming by recursion.  Finding a proof becomes as fun as hacking a program. Dependently-typed programming languages, such as Agda, exploit this pun. This talk introduces *Programming Language Foundations in Agda*, a textbook that doubles as an executable Agda script—and also explains the role Agda plays in IOG’s Cardano cryptocurrency.

tag:blogger.com,1999:blog-9757377.post-493135523951656316
Extensions
I am a Highly Ranked Scholar
Programming Languages
Show full content


I am delighted to have made this list. Lesley Lamport and John Reynolds also appear on it, but at positions lower than mine, and Tony Hoare and Robin Milner don't appear at all---so perhaps their methodology needs work.


Congratulations on being named an inaugural Highly Ranked Scholar by ScholarGPS


Dear Dr. Wadler,

ScholarGPS celebrates Highly Ranked Scholars™ for their exceptional performance in various Fields, Disciplines, and Specialties. Your prolific publication record, the high impact of your work, and the outstanding quality of your scholarly contributions have placed you in the top 0.05% of all scholars worldwide.

View your scholar profile and rankings
Listed below is a summary of the areas (and your ranking in those areas) in which you have been awarded Highly Ranked Scholar status based on your accomplishments over the totality of your career (lifetime) and over the prior five years:
Highly Ranked Scholar - Lifetime#9,339Overall (All Fields)#1,299Engineering and Computer Science#265Computer Science#2Programming language

Please consider sharing your recognition as an inaugural ScholarGPS Highly Ranked Scholar with your employer, colleagues, and friends.

ScholarGPS also includes quantitative rankings for research institutions, universities, and academic programs across all areas of scholarly endeavor. ScholarGPS provides rankings overall (in all Fields), in 14 broad Fields (such as Medicine, Engineering, or Humanities), in 177 Disciplines (such as Surgery, Computer Science, or History), and in over 350,000 Specialties (such as Cancer, Artificial Intelligence, or Ethics).

We are pleased to currently offer you free access to each of the following:
  • All Scholar Profiles and Scholar Rankings based on either lifetime achievements or on accomplishments over the past five years.
  • Lists of Highly Ranked Scholars categorized by Field, Discipline, and Specialty. Highly Ranked Scholars™ are the most productive (number of publications) authors whose works are of profound impact (citations) and of utmost quality (h-index). Their scholarly contributions position them within the top 0.05% of all scholars worldwide.
  • Institutional Rankings and program rankings that are based on the achievements of institutional scholars over their lifetime and over the past five years.
  • Profiles for FieldsDisciplines and Specialities, including a summary of activities, associated ranked institutions, Highly Ranked Scholars, and highly cited publications.
  • Top Scholars by Institution or Top Scholars by Expertise or Top Scholars by Country by ranking order across All Fields, Field, Discipline, or Specialty. Top scholars are those authors whose scholarly contributions position them within the top 0.5% of all scholars worldwide.
  • Institutional profiles including a summary of activities, associated program rankings, Highly Ranked Scholars, Top Scholars, and highly cited papers as well as publication and citation histories. View both Highly Ranked Scholars and Top Scholars within each institution categorized by Field, Discipline, and Specialty.
  • A user-friendly publication search capability and corresponding citation index.
Sincerely,
The ScholarGPS Team
tag:blogger.com,1999:blog-9757377.post-1423258598724034805
Extensions
Cabaret of Dangerous Ideas
Show full content

I'll be appearing at the Fringe in the Cabaret of Dangerous Ideas, 12.20-13.20 Monday 5 August and 12.20-13.20 Saturday 17 August, at Stand 5. The 5 August show is joint with Matthew Knight of the National Museums of Scotland, the 17 August show is all mine. Both shows are hosted by comedian Susan Morrison.

You can book either via the Fringe or via the Stand. If one is sold out, try the other.

Here's the brief summary:

Chatbots like ChatGPT and Google's Gemini dominate the news. But the answers they give are, literally, bullshit. Historically, artificial intelligence has two strands. One is machine learning, which powers ChatGPT and art-bots like Midjourney, and which threatens to steal the work of writers and artists and put some of us out of work. The other is the 2,000-year-old discipline of logic. Professor Philip Wadler (The University of Edinburgh) takes you on a tour of the risks and promises of these two strands, and explores how they may work better together.
I'm looking forward to the audience interaction. Everyone should laugh and learn something. Do come!

tag:blogger.com,1999:blog-9757377.post-6311600641230318931
Extensions
I'm speaking at Lambda Days 2024.
Functional Programming
Show full content
I'm looking forward to Lambda Days 2024 and catching up with friends in Krakow.
tag:blogger.com,1999:blog-9757377.post-1336950043007769559
Extensions
Orwell was right
ComicsCommunicationPoliticsWriting
Show full content

 


A short comic by Mike Dawson. Stick to the end for a valid point.

tag:blogger.com,1999:blog-9757377.post-3485833936805909881
Extensions
The Problem with Counterfeit People
Show full content

 


A sensible proposal in The Atlantic from philosopher Daniel Dennett. Is anyone campaigning for a law or regulation to this effect?

Creating counterfeit digital people risks destroying our civilization. Democracy depends on the informed (not misinformed) consent of the governed. By allowing the most economically and politically powerful people, corporations, and governments to control our attention, these systems will control us. Counterfeit people, by distracting and confusing us and by exploiting our most irresistible fears and anxieties, will lead us into temptation and, from there, into acquiescing to our own subjugation.

There may be a way of at least postponing and possibly even extinguishing this ominous development, borrowing from the success—limited but impressive—in keeping counterfeit money merely in the nuisance category for most of us (or do you carefully examine every $20 bill you receive?).

As [historian Yuval Noah] Harari says, we must “make it mandatory for AI to disclose that it is an AI.” How could we do that? By adopting a high-tech “watermark” system like the EURion Constellation, which now protects most of the world’s currencies. The system, though not foolproof, is exceedingly difficult and costly to overpower—not worth the effort, for almost all agents, even governments. Computer scientists similarly have the capacity to create almost indelible patterns that will scream FAKE! under almost all conditions—so long as the manufacturers of cellphones, computers, digital TVs, and other devices cooperate by installing the software that will interrupt any fake messages with a warning.

tag:blogger.com,1999:blog-9757377.post-1010147695731554774
Extensions