Подтвердить что ты не робот

Как читать символ в пробельном языке

У меня трудное время понять, как работает чтение символов в Whitespace. Мне удалось запустить программу Hello World. Но теперь я пытаюсь читать только один символ от пользователя, а затем печатать его на стандартном выходе. Я не получаю ошибок, все компилируется отлично, но символ не появляется на выходе. Я попытался отладить его немного, но его действительно сложно в пробеле, и я считаю, что он ничего не печатает, потому что значение, которое я читаю от пользователя, равно 0 (или null).

Вот как я читаю персонажа (я считаю его правильным)

start          















end

И здесь SSCCE распечатки (это должно работать, потому что это почти то же самое, что и в проекте Hello World.

start           


















end

Я использую Whitespace 0.3 и Haskell Compiler версии 5.02

4b9b3361

Ответ 1

Вот пример кода, который получает символ, сохраняет его в куче, сразу же извлекает и печатает:

Command                 Description     Stack   Heap
=======================================================
space space space lf    push 0          0
space lf space          duplicate       0 0
tab lf tab space        get character   0       h[0]=c
tab tab tab             retrieve        c       h[0]=c
tab lf space space      put character           h[0]=c
lf lf lf                exit