hi! I was invited to replace a speaker at a confer...
# thinking-together
m
hi! I was invited to replace a speaker at a conference next week because his visa was rejected 😕 and I proposed a talk called "Programming by any other name": An overview of alternative ways to express computation, from the formal definitions, going through alternative paradigms and reviewing some interesting existing programming languages. Just now I got a confirmation that I will present it and I need to fill the slides 😛 in the thread I add an outline of what I have planned, but they asked me to make it more "tangible", so I need your help providing examples of existing tools and programming languages that use non mainstream programming paradigms
👍 3
Formal Systems of Computation • Turing Machine (Alan Turing, 1930s) • Lambda Calculus (Alonzo Church, 1930s) • Recursive Functions (Kurt Gödel, 1930s) • Combinatory Logic (Moses Schönfinkel, Haskell Curry, 1950s)
Unconventional Programming Paradigms • Chemical Computing • Amorphous Computing • Bio-insired Computing • Autonomic Computing • Generative Computing • Robust-first Computing • Programming by Example/Demonstration
Interesting Programming Languages • NetLogo • Unison • More..
Btw, by tangible they mean that it's a conference for practitioners looking at interesting new ideas but that they can be applied, so mentioning just a paper is not enough
t
I’d be happy to provide details about GT, if you are interested
m
yes!
what resource do you consider the best to get a good high level overview? (I've been following for a while, but I prefer your summaries than mine 😄)
d
GT?
m
that seems to be a good resource to start, if you have a 1/2 minute video that shows the gist of it, it would be cool so I can show it instead of recreating it with words :)
I may just show the gifs from twitter one after the other, I think they are a good summary
@Tudor Girba are you going to bobkonf by chance?
t
We are preparing a live demo
it’s a set of live slides you just flip through in the environment
I was not planning to attend, although I will be in Berlin the following week
w
@Mariano Guerra looks like you're on your way to covering the ground. Something about Machine Learning / Deep Learning / Gradient Descent would belong in the talk, I think.
m
yes, I was going to tie it with tensors and tensors with APL/J
w
Ah! Nice!
k
I don't know if you consider term rewriting mainstream or not. It is widely used in computer algebra systems (Reduce, Maxima, Maple, Mathematica, ...), in a few general-purpose programming languages (e.g. Pure, https://agraef.github.io/pure-lang/), and a handful of specification languages (e.g. Maude, http://maude.cs.illinois.edu/w/index.php/The_Maude_System). A similar approach, graph rewriting, is used for modelling chemical reaction networks and signalling pathways in cells (e.g. Kappa, https://kappalanguage.org/).
👍🏼 3
d
My own Onex is based on rewriting. 👍🏼
Onex doesn't fit any accepted programming paradigm. It's not just term/local rewriting, but rewriting of a dynamic, global, shared graph.
t
Exciting
j
I gave a talk at strangeloop on a clojure library called meander which is pretty heavily inspired by term rewriting. At the end of my talk I talk about some things this sort of approach could enable in the future. https://github.com/noprompt/meander/
👍🏽 1
s
Behavioral programming is kind of unconventional.
Will this talk be recorded and shared publicly?
m
the ones from last year were recorded and shared, so I guess they will
@Jimmy Miller I loved your talk, will try to include meander. Can you name some other tools that inspired you and/or meander? I'm a newbie in the term rewriting space 🙂
It's official, I adapted the content to match the conference audience: https://bobkonf.de/2020/guerra.html
@Tudor Girba you are bound by a link there :P
👍 1
j
Glad you liked the talk! @Mariano Guerra. @Konrad Hinsen already mentioned some, Pure, Mathematica and Maude. I'd add to that list Stratego, and Txl for influences on meander. But the biggest influence on me is actually "PILOT: A Step Toward Man-Computer Symbiosis" by Warren Teitelman. I first encountered it in this essay by Minsky https://web.media.mit.edu/~minsky/papers/Why%20programming%20is--.html
👍🏽 1
t
@Mariano Guerra great. I will provide the demo :).
d
LabView for sure :)