3 ms·
Term re-writing systems are a really interesting way of looking at computation. It completely abstracts away the concept of a machine, and it's simply translat
by BoiledCabbage 2y ago
Term re-writing systems are a really interesting way of looking at computation.
It completely abstracts away the concept of a machine, and it's simply translation as computation - but equally as powerful.
- simplify 2y agoAgreed. This reminds me – and I wonder if it could be applied – to Computational Type Theory, which relies on a similar concept of "reducing" types to their primitive forms, actually taking computation into account (something type theories normally do not!) This lecture series goes into how it works: https://www.youtube.com/watch?v=LE0SSLizYUI https://www.youtube.com/watch?v=LE0SSLizYUI
- deterministic 2y agoI watched all 5 videos a few years ago. And if I understand it correctly "Computational Type Theory" basically defines a type as describing the behaviour of a computation. Which is really interesting but kinda hard for me to wrap my arms around compared with Martin Loff type theory. It looks as if type checking will have to be done manual, using N axiomatic rules for how you can prove A from B. Is that your understanding as well? Also, there doesn't seem to be much material on Computational Type theory online. Any good references? (Except for the nuPrl book of course).
- llm_trw 2y agoIt's a shame the standard texts are all 20 years old or more than way too heavy mathematically. A little book for term rewriting would be a great new addition.
- entaloneralie 2y agoHere's a little zine on multiset rewriting(unordered term rewriting), John Conway said(about Fractran in The Book of Numbers) that it is such a simple paradigm of computation that no book is needed to learn it, and it can be taught in 10 seconds. https://wiki.xxiivv.com/site/pocket_rewriting https://wiki.xxiivv.com/site/pocket_rewriting
- BoiledCabbage 2y agoI'm somewhat surprised there isn't a semi-mainstream language for it. It's incredibly simple, with very few core concepts yet very powerful. Similar to LISP in that sense.
- Jtsummers 2y agohttps://www.researchgate.net/publication/243768023_Mathematica_as_a_Rewrite_Language https://www.researchgate.net/publication/243768023_Mathemati... Mathematica is at least semi-mainstream. Not sure of any other examples though.
- entaloneralie 2y agoMaude is the most famous one that I know of I think. https://maude.lcc.uma.es/maude-manual/maude-manualch1.html#x4-40001.1 https://maude.lcc.uma.es/maude-manual/maude-manualch1.html#x...
- opminion 2y agoThe foundations of Wolfram Language (Mathematica) are about transformations on symbolic expressions, at least conceptually.
- lispm 2y agoI would think that's still the case.
- alxmng 2y agoI think the issue is performance. A true term rewriting system has to essentially operate on text, right?
- Jtsummers 2y agoNo, it can operate on a data structure as well. There's string rewriting which does operate on text (but this can be stored in a structure amenable to applying rewrite rules versus brute force copying it or something silly). For term rewriting, there are plenty of efficient ways to store and operate on the information besides just textually.
- lo_zamoyski 2y agoI would argue that it is more "primordial". After all, computation is first and foremost a human activity, generally performed using pen and paper, which involves a good deal of rewriting (computers were originally people). The machine only came later as a way to simulate this human activity. Its meaning is entirely contingent on the primordial notion. It have no meaning on its own.
- practal 2y agoOf course term rewriting has a meaning of its own, it is at the same time more meaningful and simpler as any other form of computation.