HackerTrans
TopNewTrendsCommentsPastAskShowJobs

beefburger

661 karmajoined 17 ปีที่แล้ว

Submissions

Unicode's transliteration rules are Turing-complete

seriot.ch
131 points·by beefburger·4 วันที่ผ่านมา·32 comments

Jira IS Turing-Complete

seriot.ch
3 points·by beefburger·2 เดือนที่ผ่านมา·0 comments

Show HN: RFC Esolang – RFCs as executable programs

seriot.ch
2 points·by beefburger·3 เดือนที่ผ่านมา·0 comments

RFC Esolang – RFCs as executable programs

esolangs.org
11 points·by beefburger·3 เดือนที่ผ่านมา·1 comments

An audio modem in 5 lines of Awk

pagedout.institute
2 points·by beefburger·4 เดือนที่ผ่านมา·0 comments

An AWKward Modem

seriot.ch
4 points·by beefburger·5 เดือนที่ผ่านมา·0 comments

Games in PostScript [pdf]

seriot.ch
2 points·by beefburger·6 เดือนที่ผ่านมา·0 comments

"Print to Play" article in Paged Out magazine [pdf]

seriot.ch
1 points·by beefburger·9 เดือนที่ผ่านมา·1 comments

Edge Matching Puzzles

seriot.ch
1 points·by beefburger·9 เดือนที่ผ่านมา·1 comments

comments

beefburger
·3 วันที่ผ่านมา·discuss
No, standard transliterators like Latin-Katakana are designed to always terminate. What the article demonstrates is that the underlying rule language is powerful enough that one could write custom rules that loop infinitely.

In practice, the ICU implementation does limit the number of rewrites, even though the specification doesn't.
beefburger
·4 วันที่ผ่านมา·discuss
I've been wondering for a while if anything in Unicode could accidentally compute. It turns out that UTS #35 transliteration rules are Turing-complete. I show how to compute Collatz with just 3 rewrite rules running on stock ICU.
beefburger
·2 เดือนที่ผ่านมา·discuss
Indeed. The Jira rules implement test-then-decrement correctly, but the notation was ambiguous. I’ve fixed the pseudocode so that the test explicitly precedes the decrement. Thanks for the careful read!
beefburger
·2 เดือนที่ผ่านมา·discuss
[dead]
beefburger
·3 เดือนที่ผ่านมา·discuss
RFC Esolang is a programming language in which the specification document is the source code.

Requirement levels like MUST, SHOULD, and MAY act as control flow. Section numbers define labels. Packet-diagram labels serve as registers.

Executing RFC 9379 outputs the powers of two. Pre-existing RFCs MAY parse as valid programs, forming a historically accidental standard library.
beefburger
·9 เดือนที่ผ่านมา·discuss
How to install a Tic-Tac-Toe game on your printer by copy-pasting a few lines in PostScript.
beefburger
·9 เดือนที่ผ่านมา·discuss
Solvers and visualizers in Python, C and PostScript