diff --git a/docs/language/core.rst b/docs/language/core.rst index f5e31cb..f18eedf 100644 --- a/docs/language/core.rst +++ b/docs/language/core.rst @@ -915,12 +915,14 @@ Raises an `EOFError` if `from-file` ends before a complete expression can be parsed. .. code-block:: hy + => (read) (+ 2 2) ('+' 2 2) => (eval (read)) - (+ 2 2) + (+ 2 2) 4 + => (import io) => (def buffer (io.StringIO "(+ 2 2)\n(- 2 1)")) => (eval (apply read [] {"from_file" buffer})) @@ -928,6 +930,24 @@ parsed. => (eval (apply read [] {"from_file" buffer})) 1 + => ; assuming "example.hy" contains: + => ; (print "hello") + => ; (print "hyfriends!") + => (with [[f (open "example.hy")]] + ... (try + ... (while true + ... (let [[exp (read f)]] + ... (do + ... (print "OHY" exp) + ... (eval exp)))) + ... (catch [e EOFError] + ... (print "EOF!")))) + OHY ('print' 'hello') + hello + OHY ('print' 'hyfriends!') + hyfriends! + EOF! + .. _remove-fn: