Does product()
from Iterators.jl do what you need?
julia> expandgrid([[1,2,3], [4,5,6]])
2-element Array{Any,1}:
[1, 2, 3, 1, 2, 3, 1, 2, 3]
[4, 4, 4, 5, 5, 5, 6, 6, 6]
julia> using Iterators
julia> collect(product([1,2,3], [4,5,6]))
9-element Array{Tuple{Int64,Int64},1}:
(1, 4)
(2, 4)
(3, 4)
(1, 5)
(2, 5)
(3, 5)
(1, 6)
(2, 6)
(3, 6)