
A Taste of Linear Logic (1993) [pdf] - andrewflnr
https://homepages.inf.ed.ac.uk/wadler/papers/lineartaste/lineartaste-revised.pdf
======
tpush
Here's a great talk by Simon Peyton Jones on integrating linear types into
Haskell:
[https://www.youtube.com/watch?v=t0mhvd3-60Y](https://www.youtube.com/watch?v=t0mhvd3-60Y)

------
fmap
One of the most amazing things about linear logic is that "classical" linear
logic has a direct constructive reading.

This has some interesting applications in constructive mathematics
([https://arxiv.org/abs/1805.07518](https://arxiv.org/abs/1805.07518)) and
programming
([http://homepages.inf.ed.ac.uk/wadler/papers/multiparty/multi...](http://homepages.inf.ed.ac.uk/wadler/papers/multiparty/multiparty.pdf)).

~~~
carterschonwald
The Shulman paper was the first instance I’ve seen of someone properly using
Par in their logical modelling

I’ve been slowly working on some applied linear logic stuff for my day job the
past two years. I definitely think a lot of work has missed out on what
happens if you have both implication and par native to your system. You get a
really nice kernel for a concurrent functional programming language. With nice
resource safety.

~~~
fmap
I couldn't agree more, classical linear logic leads to surprisingly concise
definitions.

Your day job sounds fascinating, would you mind expanding on it a bit?

------
adamnemecek
Linear logic is the shit. I've been reading up a lot on linear logic and
certain things I have a hunch it closely corresponds to and I'm convinced it's
the formalism for 21st century.

Basically, it's like classical logic but with two players. From player 1's
point of view, player 2's AND has different semantics than his own AND.

It's the logic of state developing over time. In classical logic a statement
can only be true since negative eternity and it will be true until eternity.

On the other hand, linear logic deals with statements like "I have a dollar"
which can be spent on an ice cream. Therefore, at some point, "I have a
dollar" was false, then it became true, and then it became false again.

It's also the logic that captures the difference between a reference and a
value which is weirdly important. Unix's "everything is a file" should
actually be recast as "everything is a reference".

The Rust borrow checker is based on a subset of linear logic and it's the
secret sauce of said compiler. It can reason statically about dynamic systems.

I'll make some claims that I can support with papers if need to be so ask if
you want proof. Currently, probability is based on measure theory however
linear logic can also be used (Vovk bases probability on game theory which is
essentially linear logic).

Generative adversarial networks (which are based on minimax) are based on
linear logic as minimax is very linear logical.

I would go as far as to say that mathematics, in addition to axiom of choice
also needs an axiom of adversarial choice. Axiom of choice assumes that you
can always pick the best possible option, however you need to be able to
account for your worst possible options as well. All mathematical optimization
falls outside of classical logic.

The funniest thing is that this idea, the duality of things is very old.
Dialectics is very firmly rooted in Western philosophy (Aristotle, Kant,
Hegel, you know the usual suspects) however no one ever extended it to a
formal logic.

Karl Marx (I hate Marx but realize that his ideas might have influenced people
so knowing why he was wrong is worth something) also talked about a similar
idea
([https://en.wikipedia.org/wiki/Dialectical_materialism](https://en.wikipedia.org/wiki/Dialectical_materialism)).
In particular Engel's summary is work exploring
[https://en.wikipedia.org/wiki/Dialectical_materialism#Engels...](https://en.wikipedia.org/wiki/Dialectical_materialism#Engels's_dialectics)

They are essentially talking about linear logic, however the third rule is
very much wrong, negation of negation is not a part of a logic of two
opposites.

It can also be used as the foundation of probability instead of the more
traditional measure theory.

I can talk about this for hours.

~~~
mikorym
Be careful in mixing popular culture and mathematics.

~~~
adamnemecek
I've heard this before however I disagree. In fact I would argue that most of
the people I really admire don't put mathematics on a pedestal but instead
treat is as just another human endeavor and as such can be compared with other
human endeavors.

~~~
theoh
If it's Marx's thought that's being referred to as "popular culture", that's a
pretty inaccurate characterisation. It's bona fide political philosophy and/or
political economy.

Even a soft, humanities subject like political philosophy, can, unexpectedly,
be a topic for mathematical study, e.g. Arrow's theorem.

You're right not to believe in policing disciplinary boundaries.

I think the problem here is more that you haven't demonstrated just how Marx's
thought resembles linear logic, so the idea might seem a little crazy, maybe a
product of an idée fixe. If it's not something mathematicians would be
impressed by (in terms of rigour or depth), and not something Marxists care
about (in terms of philosophical implications) it's not going to lead
anywhere.

~~~
s-shellfish
It's pain to learn one must take care to avoid confusing math with everything
else. Unexpectedly, sure. Safe languages...sentimentality. Thought
processes... everything it can be compared against. Here be dragons, tedious
caution required.

~~~
adamnemecek
> It's pain to learn one must take care to avoid confusing math with
> everything else.

Why not?

~~~
s-shellfish
It's easy to get them flipped around. Inside of mind versus the outside.

Axiom of choice, choosing the right thoughts to have versus to speak.

If you don't understand, you don't want to. It's a perpetual type of terror
that often has nothing to do with reality, but you can never be sure.

~~~
adamnemecek
I have no clue what you are talking about I'm sorry.

~~~
s-shellfish
Yup. That's why.

