There are a lot of Befunge-93 Ruby implementations in the wild but I don't see any Befunge-98.
So let it be the first one.
- Befunge-93 ("Befunge-93 Documentation")
- memory size and code format edits
- Befunge-98 ("Funge-98 Final Specification")
- operations
-
q
-- quit -
a
-f
-- push 10..15 onto stack -
n
-- clear all stacks -
'
,s
-- fetch and store a char -
;
-- comments -
]
,[
,w
,r
,x
-- change delta -
j
-- jump forward -
k
-- iterate -
{
,}
,u
-- push cells between TOSS and SOSS -
(
,)
-- we don't implement semantics -
y
-- what do 13th and 14th slots mean? -
z
-- can we just skip it?
-
-
y
specification allows us to skip these- (execute)
=
- (filesystem)
i
,o
- (concurrent)
t
- (3D)
h
,l
,m
- (execute)
- operations
- tests
- bin
- Hello, World!
- failures, ^C, hanging, etc.
- operations
- Befunge-93
-
@
-
"
-
0
..9
-
$
,:
,\
-
#
-
>
,<
,^
,v
,?
-
+
,-
,*
,/
,%
-
|
,_
-
~
,&
,,
,.
-
!
,`
-
p
,g
-
- Befunge-98
-
~
,&
-
q
-
a
-f
-
n
-
'
,s
-
;
-
w
-
]
,[
,w
,r
,x
-
j
-
k
-
{
,}
,u
-
(
,)
-
y
- ...
-
- Befunge-93
- bin
- Github Actions test
- gemify
- announce
This implementation in another language somewhat helped me: https://bitbucket.org/lifthrasiir/pyfunge/src/default/funge/languages/funge98.py