News for hackers. Stuff that matters.
Re:Julia: A Fast Language for Numerical Computing by erikpukinskis on Sunday March 13, 2016 @12:46AM (#11276400)
What kind of API do you need that requires metaprogramming?
Re:Julia: A Fast Language for Numerical Computing by samuell on Sunday March 13, 2016 @02:06PM (#11278660)
For example I'd be happy if I could generate structs dynamically, based on string input.

This would mean that we could automatically create true struct-based components with channel fields from the shell like syntax used in the examples in the README (like "echo > {o:foo}" to write to an out-port named "foo"), so that connecting an out-port to an in-port would go like:

Process2.InFoo = Process1.OutFoo

This is not possible with Go's reflection though, so right now, based on these shell like patterns, we can only populate maps (InPorts and OutPorts) of the process, such that the above code example becomes:

Process2.InPorts["foo"] = Process1.OutPorts["foo"]

Re:Julia: A Fast Language for Numerical Computing by erikpukinskis on Monday March 14, 2016 @06:51PM (#11286139)
> For example I'd be happy if I could generate structs dynamically, based on string input.

I don't understand why you'd want to do that. That sounds like an architecture you are excited about, not a problem you are trying to solve. Can you give me some context?

Re:Julia: A Fast Language for Numerical Computing by samuell on Tuesday March 15, 2016 @05:51AM (#11288519)
The reason is a practical one: Struct fields will show up in auto-completion. This is in our experience surprisingly important when doing iterative workflow development, to lower the amount of silly typo errors, which can waste a lot of cluster compute hours etc.
Re:Julia: A Fast Language for Numerical Computing by sbinet on Monday March 14, 2016 @04:14PM (#11285238)
generating structs at runtime might land for go-1.7: https://go-review.googlesource.com/#/c/9251/4
Re:Julia: A Fast Language for Numerical Computing by samuell on Tuesday March 15, 2016 @07:16AM (#11288790)
That would be awesome.