HackerTrans
TopNewTrendsCommentsPastAskShowJobs

beefburger

661 karmajoined 17 jaar geleden

Submissions

Unicode's transliteration rules are Turing-complete

seriot.ch
131 points·by beefburger·4 dagen geleden·32 comments

Jira IS Turing-Complete

seriot.ch
3 points·by beefburger·2 maanden geleden·0 comments

Show HN: RFC Esolang – RFCs as executable programs

seriot.ch
2 points·by beefburger·3 maanden geleden·0 comments

RFC Esolang – RFCs as executable programs

esolangs.org
11 points·by beefburger·3 maanden geleden·1 comments

An audio modem in 5 lines of Awk

pagedout.institute
2 points·by beefburger·4 maanden geleden·0 comments

An AWKward Modem

seriot.ch
4 points·by beefburger·5 maanden geleden·0 comments

Games in PostScript [pdf]

seriot.ch
2 points·by beefburger·6 maanden geleden·0 comments

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

seriot.ch
1 points·by beefburger·9 maanden geleden·1 comments

Edge Matching Puzzles

seriot.ch
1 points·by beefburger·9 maanden geleden·1 comments

comments

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