Reexport.jl

Julia macro for re-exporting one module from another
Popularity
76 Stars
Updated Last
2 Years Ago
Started In
April 2014

Reexport

Build Status

Introduction

Maybe you have a module X that depends on module Y and you want using X to pull in all of the symbols from Y. Maybe you have an outer module A with an inner module B, and you want to export all of the symbols in B from A. It would be nice to have this functionality built into Julia, but we have yet to reach an agreement on what it should look like (see JuliaLang/julia#1986). This short macro is a stopgap we have a better solution.

Usage

@reexport using <modules> calls using <modules> and also re-exports their symbols:

module Y
    ...
end

module Z
    ...
end

module X
    using Reexport
    @reexport using Y
    # all of Y's exported symbols available here
    @reexport using Z: x, y
    # Z's x and y symbols available here
end

using X
# all of Y's exported symbols and Z's x and y also available here

@reexport module <modulename> ... end defines module <modulename> and also re-exports its symbols:

module A
    using Reexport
    @reexport module B
    	...
    end
    # all of B's exported symbols available here
end

using A
# all of B's exported symbols available here

Required Packages

No packages found.