1#![cfg_attr(not(feature = "std"), no_std)]
2#![cfg_attr(all(not(feature = "std"), feature = "alloc"), feature(alloc))]
3
4#[cfg(all(not(feature = "std"), feature = "alloc"))]
5extern crate alloc;
6
7#[cfg(any(feature = "std", feature = "alloc"))]
8pub mod classes;
9#[cfg(any(feature = "std", feature = "alloc"))]
10pub mod except_t;
11#[cfg(any(feature = "std", feature = "alloc"))]
12pub mod reader_t;
13#[cfg(any(feature = "std", feature = "alloc"))]
14pub mod state_t;
15pub mod trans;
16#[cfg(any(feature = "std", feature = "alloc"))]
17pub mod writer_t;
18
19pub use trans::MonadTrans;
20
21#[cfg(any(feature = "std", feature = "alloc"))]
22pub use classes::{ApplicativeSt, ChainSt, FunctorSt};
23#[cfg(any(feature = "std", feature = "alloc"))]
24pub use except_t::ExceptTF;
25#[cfg(any(feature = "std", feature = "alloc"))]
26pub use reader_t::ReaderTF;
27#[cfg(any(feature = "std", feature = "alloc"))]
28pub use state_t::StateTF;
29#[cfg(any(feature = "std", feature = "alloc"))]
30pub use writer_t::WriterTF;