The topic of functional logic programming is extraordinarily rich and is largely unexplored, due to limits of the original reasoning model (closed world SLD resolution) which hindered a view of the bigger picture.
David McAllester wrote all down in 1989 with Ontic, but it wasn’t recognized as being implementable nor was it even clearly understood what an implementation would comprise, nor were its connections to functional logic recognized.
Such a language so expressively mixes types and values that traditional type checking is inapplicable. The only tool adequate for compile-time reasoning is a static analysis of the program under the assumptions proffered by the domains of functions within it.
Because functional logic intermixes evaluation and potential failure, assumptions must be guarded by contingent term evaluations whose potential success determines the strength of the assumption, preserving order-independent confluence.
Which, modulo conventions and notations, is the inference rule part of an automated theorem prover. So we’ve come full circle from reasoning to programming and back, with a language model that is significantly more expressive than what we’re accustomed to.
I think this will be the hot topic for programming language research and implementation in the 2020’s by way of the 1980’s. The other fields have pushed to near the limits of their non-backtracking, non-orthogonal failure, separate-types-and-failures paradigms.
“But you can do full delimited functional logic evaluation in a Monad”, the Haskell programmers will say. Yes, but you can’t reason about its behavior that way.
“But we can’t unify (solve for the equality of) functions” is a leading argument against this model. But with some extensions to McAllester’s work, we can move that problem from unification to composing functions and checking the properties of the function.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Tim Sweeney

Tim Sweeney Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @TimSweeneyEpic

9 Sep 20
Presumably they're just posturing for the court, but if Apple truly believes the fight over the App Store's distribution and payment monopoly is a "basic disagreement over money," then they've lost all sight of the tech industry's founding principles.

engadget.com/apple-epic-gam…
Foremost among those principles: the device you own is yours. You're free to use it as you wish. Configure it as you like, install software you choose, create your own apps, share them with friends. Your device isn't lorded over by some all-powerful corporation.
This is EXACTLY what Apple's 1984 commercial was all about. Making computing personal, overcoming the awful precedent of IBM mainframes where computer owners were reduced to essentially just leasing devices controlled by an all-powerful company.
Read 6 tweets
17 Aug 20
Let’s try searching for Netflix on the App Store. Whoops, Netflix isn’t the top result, because Apple sold top result to TikTok. At least all the text is super readable - except the low contrast white-on-blue-white “Ad” label.
Ok, we scroll down and install Netflix. Now let’s sign up. Whoops! You can’t sign up in-app, and Apple won’t even allow Netflix to tell users how to sign up out-of-app!
Back to TikTok. Let’s try searching for that... Whoops, Apple punked TikTok with:
Read 4 tweets
14 Aug 20
At the most basic level, we’re fighting for the freedom of people who bought smartphones to install apps from sources of their choosing, the freedom for creators of apps to distribute them as they choose, and the freedom of both groups to do business directly.
The primary opposing argument is: "Smartphone markers can do whatever they want". This as an awful notion.

We all have rights, and we need to fight to defend our rights against whoever would deny them. Even if that means fighting a beloved company like Apple.
Another argument against supporting #FreeFortnite is "this is just a billion dollar company fighting a trillion dollar company about money". But the fight isn't over Epic wanting a special deal, it's about the basic freedoms of all consumers and developers.
Read 4 tweets
24 Jul 20
Here’s my first computer, the Apple ][+. It booted into a BASIC programming prompt so you could write code. Then you could save it on a floppy disk or a tape and share it with others. Where is the company that invented the personal computer now?
The good news is that they have a billion devices in circulation. The bad news: to get permission to program, you have to submit a form and a $100 fee. To release it, you submit another form and wait for Apple to decide whether they will allow you to do that. Often they don’t.
There is a weird dichotomy in this company. On one hand, it’s a trillion dollar monopoly that exercises absolute power over developers’ businesses and livelihood. On the other, Apple has become the App DMV, replete with forms, lines, byzantine policies, and bureaucracy.
Read 4 tweets
20 Jul 20
Ultimately, ownership of digital items should be a universal notion, independent of stores and platforms. So much of the digital world today is frustrated by powerful intermediaries whose toll booths obstruct open commerce to keep customers and their purchases locked in.
Epic’s committed to working with all willing ecosystems to connect our stores and recognize universal ownership. Early bits include purchase integration with Humble and others, and library visibility to GOG. A lot more will be coming over time.
Possible implementation strategies: federated (each store maintains its own ownership records, but can communicate with other stores and recognize theirs too); clearinghouse (stores agree on a common ownership database); decentralized (a blockchain type leger tracks ownership).
Read 4 tweets
4 Jul 20
George Washington referred to America as a great experiment, and today we might call this thing a mashup. We start the 4th of July with hamburgers and churros and kielbasa and end it with red, white, and blue fireworks launched to the tune of Tchaikovsky’s 1812 overture.
Our flag made from the colors of Britain, which we overthrew, with stars representing American states. Our system of law is an Enlightenment reformulation of British law, which was built on Roman law, plus 244 years of our own patches addressing inequities ancient and modern.
I’m very optimistic about the future of America. While the press has always profited from division which they themselves sow, there is a very long history of grievances and crises leading to lasting improvements.
Read 5 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!