News for hackers. Stuff that matters.
Re:Gorgonia: a library like Theano or TensorFlow, mainly wri... by zik on Monday September 19, 2016 @03:42AM (#12529639)
> Go doesn't have a nice REPL like IPython, and it never will.

https://github.com/motemen/gore

There are a few others too.

Re:Gorgonia: a library like Theano or TensorFlow, mainly wri... by IshKebab on Monday September 19, 2016 @05:19AM (#12529999)
It's not a real repl. It just records everything you've typed, puts it in a file, and compiles and runs it. It does that every time you add a new line. It's a huge hack and doesn't behave like you'd expect at all.
Re:Gorgonia: a library like Theano or TensorFlow, mainly wri... by d0vs on Monday September 19, 2016 @07:37AM (#12530517)
Re:Gorgonia: a library like Theano or TensorFlow, mainly wri... by jerf on Monday September 19, 2016 @07:56AM (#12530625)
Yes, but that's not exactly a REPL, is it? It's just an incomplete tool that may someday be used to create a REPL.

Go is not set up to have a REPL; even if someone develops one someday it's always going to be limited compared to a language that was designed to do it. REPLs are actually pretty hard; even some languages designed with them from day one (or at least very early) like Haskell still come with an interesting list of caveats about the REPL.

Re:Gorgonia: a library like Theano or TensorFlow, mainly wri... by sbinet on Monday September 19, 2016 @02:47PM (#12533716)
I beg to differ. See: https://github.com/sbinet/igo

It is a true REPL (not like "gore", mentioned somewhere in that thread). It doesn't implement the whole Go specs, but there's AFAICT nothing in the Go specs that prevent `igo` to implement the whole Go specs. It's "just" work. Moreover, with the introduction of the "buildmode=plugin" in the yet-to-be-released Go-1.8, import-ing packages on the fly should be easy implementable.

("my" new vehicle to provide a true REPL for Go is at https://github.com/go-interpreter)

Re:Gorgonia: a library like Theano or TensorFlow, mainly wri... by jerf on Monday September 19, 2016 @08:02PM (#12535794)
If you have to link to a different project, then the link I was saying is not a REPL is not a REPL, no?

Further, I'd suggest waiting for one of these projects to complete before you confidently declare that the REPL will be great. I didn't say it's impossible, I said "it's always going to be limited compared to a language that was designed to do it". I looked into what it would take to make a REPL around the Go 1.2 timeframe. There are many issues, such as the inability to query a package for what symbols it has, or the way the obvious workarounds have their own problems, brought on for instance by the fact that you can't re-export symbols in another package so the whole "just keep compiling a module incrementally" has its own issues. At this point I'm pretty confident that the best reasonably-possible Go REPL (i.e., not one that basically reimplements Go again) is going to come with a list of caveats a mile long. And if you do reimplement Go for the REPL, which a SSA interpreter basically is, you don't really have a Go REPL... you have a Go-like REPL at best.

Re:Gorgonia: a library like Theano or TensorFlow, mainly wri... by sbinet on Tuesday September 20, 2016 @03:50AM (#12537868)
I was challenging your "Go is not set up to have a REPL" assertion. we are in violent agreement about the (non) "REPL-ness" of _gore_ and the fact that "just keep compiling a module incrementally" is a dead end.

I don't see how reimplementing Go in Go but with a REPL (on top of, let's say, a SSA interpreter) is a Go-like REPL at best and not just a Go REPL. Could you expand a bit?

AFAICT, once one has a Go interpreter (the x/go/ssa is basically just that), implementing a REPL is "just" providing a program counter to the interactive interpreter layer, together with the ability to modify that PC... (many details have been dropped on the floor, of course)

Re:Gorgonia: a library like Theano or TensorFlow, mainly wri... by weberc2 on Monday September 19, 2016 @01:10PM (#12532939)