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?
-
-
yspecification 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
You may download a packaged version for the Mac (Big Sur x64 and earlier) from here (if it fails to install, follow the packaging instructions below for your specific environment)
To run GUI from cloned project, browse into gui/glimmer-dsl-swt/befunge98_gui_glimmer_dsl_swt
Run:
bundle
Afterwards, run:
glimmer run
To package into a native executable (learn more here), run:
glimmer package
To run GUI from cloned project, browse into gui/glimmer-dsl-libui/befunge98_gui_glimmer_dsl_libui
Run:
bundle
Afterwards, run:
bin/befunge98_gui_glimmer_dsl_libui