# Fractran interpreter # Helpers _while_ ← {𝔽⍟𝔾∘𝔽_𝕣_𝔾∘𝔽⍟𝔾𝕩} ToInt ← 10⊸×⊸+˜´·⌽-⟜'0' ToFrac ← { i ← ⊑/'/'=𝕩 ToInt¨i(↑⋈1⊸+⊸↓)𝕩 } Split ← ((¬-˜⊢×·+`»⊸>)∘≠⊔⊢) Fractran ← { 𝕊 n‿num‿den: ind ← ⊑/0=den|num×n ⟨(n×ind⊑num)÷ind⊑den ⋄ num ⋄ den⟩ } RunFractran ← { steps 𝕊 inp‿prg: num‿den ← <˘⍉>ToFrac¨' 'Split prg step ← 1 list ← ⟨inp⟩ { step +↩ 1 out ← Fractran 𝕩 list ∾↩ ⊑out out } _while_ {𝕊 n‿num‿den: (step