←back to thread

56 points boris_m | 1 comments | | HN request time: 0.001s | source
Show context
BoiledCabbage ◴[] No.42066515[source]
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.

replies(3): >>42066655 #>>42066678 #>>42067446 #
llm_trw ◴[] No.42066678[source]
It'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.

replies(1): >>42067199 #
entaloneralie ◴[] No.42067199[source]
Here'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

replies(1): >>42069293 #
BoiledCabbage ◴[] No.42069293[source]
I'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.

replies(5): >>42069569 #>>42069855 #>>42070879 #>>42071115 #>>42072164 #
alxmng ◴[] No.42071115{4}[source]
I think the issue is performance. A true term rewriting system has to essentially operate on text, right?
replies(2): >>42071220 #>>42071290 #
1. Jtsummers ◴[] No.42071220{5}[source]
No, 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.