extern crate perl_sys;

pub mod context;
pub mod pushable;
pub mod handle;
pub mod scalar;

#[macro_use]
mod macros;

pub mod raw {
    pub use perl_sys::types::*;
    pub use perl_sys::funcs::*;
    pub use perl_sys::consts::*;
}

pub use context::Context;
pub use raw::{ IV, UV, NV };
pub use handle::{ SV, AV, HV };
pub use handle::{ BareSV, BareAV, BareHV };
pub use scalar::{ Scalar };

extern crate perl_sys;

mod context;
mod pushable;
mod handle;
mod scalar;

#[macro_use]
mod macros;

pub mod raw {
    pub use perl_sys::types::*;
    pub use perl_sys::funcs::*;
    pub use perl_sys::consts::*;
}

pub use context::Context;
pub use raw::{ IV, UV, NV };
pub use handle::{ SV, AV, HV };
pub use handle::{ BareSV, BareAV, BareHV };
pub use scalar::{ Scalar };

--- 
+++ 
@@ -1,9 +1,9 @@
 extern crate perl_sys;
 
-mod context;
-mod pushable;
-mod handle;
-mod scalar;
+pub mod context;
+pub mod pushable;
+pub mod handle;
+pub mod scalar;
 
 #[macro_use]
 mod macros;
Make modules with public stuff public too.
