Hey all... I just threw together a quick macro to save some typing when working with the fields of an object. Disclaimer: this should not be used in library code, or in anything that will stick around longer than a REPL session. Hopefully it's self explanatory with this example. Is there a good home for this? Does anyone want to use it?
julia> type T; a; b; end; t = T(0,0) T(0,0) julia> macroexpand(:( @with t::T begin a = 1 b = 2 c = a + b - 4 d = c - b a = d / c end )) quote # REPL[3], line 3: t.a = 1 # REPL[3], line 4: t.b = 2 # REPL[3], line 5: c = (t.a + t.b) - 4 # REPL[3], line 6: d = c - t.b # REPL[3], line 7: t.a = d / c end julia> @with t::T begin a = 1 b = 2 c = a + b - 4 d = c - b a = d / c end 3.0 julia> t T(3.0,2)