2017-01-13 6 views
0

Когда я начать SML REPL и положить вSML в орг-режиме блок возвращает его = "STDIN": строка

print("floor is : "^(Int.toString (floor 3.1823))^"\n"); 

Я получаю

floor is : 3 
val it =() : unit 

т.е. ожидаемое поведение. Но когда я делаю то же самое в исходном орг-режиме блока Emacs:

#+name: sml_test 
#+begin_src sml :exports both 
print("floor is : "^(Int.toString (floor 3.1823))^"\n"); 
#+end_src 

Я получаю загадочные (для меня)

#+RESULTS: sml_test 
: val it = "stdIn" : string 

ли кто-нибудь из мира ML знает, что это может означать?

ответ

3

Возможно, это ошибка в ob-sml. Если вы посещаете * SML * буфер, и делать С-С С-С на исходном блоке, ЗРЦБ РЕПЛ получает этот вход:

print("floor is : "^(Int.toString (floor 3.1823))^"\n"); 
; "stdIn"; 

Обратите внимание на дополнительные «STDIN» там. Также, если вы установите :results output на блок, вы должны получить стандартный вывод блока, но я получаю то же самое, что и с настройкой по умолчанию :results value (и то же самое, что вы получаете: загадочная вещь, которая, как я думаю, является результатом этого ложный «stdIn» - я должен сказать, что я ничего не знаю о ML, поэтому возьмите все это с соответствующим размером зерна). Я бы открыл проблему в проекте ob-sml github.

+0

Я сделал это. Благодарю. – 147pm

+0

Я не хочу бросать ваши надежды, но я только заметил, что ob-sml, кажется, застаивается три года. Если вы не получите ответа, возможно, вы можете разветвить проект и сделать некоторые исправления? – Nick