HackerTrans
TopNewTrendsCommentsPastAskShowJobs

beefburger

661 karmajoined há 17 anos

Submissions

Unicode's transliteration rules are Turing-complete

seriot.ch
131 points·by beefburger·há 4 dias·32 comments

Jira IS Turing-Complete

seriot.ch
3 points·by beefburger·há 2 meses·0 comments

Show HN: RFC Esolang – RFCs as executable programs

seriot.ch
2 points·by beefburger·há 3 meses·0 comments

RFC Esolang – RFCs as executable programs

esolangs.org
11 points·by beefburger·há 3 meses·1 comments

An audio modem in 5 lines of Awk

pagedout.institute
2 points·by beefburger·há 4 meses·0 comments

An AWKward Modem

seriot.ch
4 points·by beefburger·há 5 meses·0 comments

Games in PostScript [pdf]

seriot.ch
2 points·by beefburger·há 6 meses·0 comments

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

seriot.ch
1 points·by beefburger·há 9 meses·1 comments

Edge Matching Puzzles

seriot.ch
1 points·by beefburger·há 9 meses·1 comments

comments

beefburger
·há 3 dias·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
·há 4 dias·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
·há 2 meses·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
·há 2 meses·discuss
[dead]
beefburger
·há 3 meses·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
·há 9 meses·discuss
How to install a Tic-Tac-Toe game on your printer by copy-pasting a few lines in PostScript.
beefburger
·há 9 meses·discuss
Solvers and visualizers in Python, C and PostScript