Execute SNUSP/F Sharp: Difference between revisions

Content deleted Content added
m apply a little magic
m A little more work
Line 4: Line 4:
Bloated version below this modular version. Somehow this page has been set up so I can't seem to change the original comments to note this fact. Probably I'm just too dumb to know now.
Bloated version below this modular version. Somehow this page has been set up so I can't seem to change the original comments to note this fact. Probably I'm just too dumb to know now.
<br clear=all>
<br clear=all>
==Program==
==Modular SNUSP==
<lang fsharp>open System
<lang fsharp>open System
open System.Collections.Generic
open System.Collections.Generic
Line 131: Line 131:
interpretCmd() |> ignore
interpretCmd() |> ignore
(!input).[!ptr]</lang>
(!input).[!ptr]</lang>
==Bloated SNUSP==
Okay, I did the bloated version and made a few other changes. Using * rather than ~ for inputting a number because it's easy for ~ to get lost in the visual sea of characters that makes up the typical program. Also made separate classes for the engine and the IP. I allow for infinite data space in both directions and threads not waiting for input run while other threads are blocked on input. I tried this on all the programs I could find. There don't appear to be any which really utilize the 2D data space, but I tested it with some simple test programs and it seems okay.
Okay, I did the bloated version and made a few other changes. Using * rather than ~ for inputting a number because it's easy for ~ to get lost in the visual sea of characters that makes up the typical program. Also made separate classes for the engine and the IP. I allow for infinite data space in both directions and threads not waiting for input run while other threads are blocked on input. I tried this on all the programs I could find. There don't appear to be any which really utilize the 2D data space, but I tested it with some simple test programs and it seems okay.
<lang fsharp>// Bloated RCSNUSP
<lang fsharp>// Bloated RCSNUSP