3 ms·
Thank you! This is a really nice comment that gives plenty to think about. It's delightful that, two days later, you actually have expanded in compelling detail
by cannam 8y ago
Thank you! This is a really nice comment that gives plenty to think about. It's delightful that, two days later, you actually have expanded in compelling detail on what initially looked to be something of a throwaway remark.
I think that Idris tries to make the evaluation/execution distinction a bit more apparent. In particular, when you enter something effectful at the REPL, only the evaluation happens automatically and the result is printed in an internal form. This is confusing at first, but you can see that there's something tantalisingly interesting going on.
- kqr 8y agoNo problem whatsoever! I only wish I could have done it better. I do like the way the Idris REPL does that, from your description. Didn't know that. How do you run it for effects?
- cannam 8y agoUsing the :exec REPL command. Idris> putStrLn "Hello, world!" io_bind (prim_write "Hello, world!\n") (\__bindx => io_pure ()) : IO () Idris> :exec putStrLn "Hello, world!" Hello, world!