ook 0.1.2

encode and decode Brainfuck or Ook
Documentation
#[allow(warnings)]
pub mod utils {
    use std::collections::HashMap;

    pub fn bf_brackets_balance(bf: &str) -> i32 {
        let mut histogram = HashMap::new();
        for c in bf.chars() {
            *histogram.entry(c).or_insert(0) += 1;
        }
        let open_brackets = *histogram.get(&'[').unwrap_or(&0);
        let close_brackets = *histogram.get(&']').unwrap_or(&0);
        (open_brackets as i32) - (close_brackets as i32)
    }

    pub fn bf_count_chars(bf: &str) -> i32 {
        bf.split(|c: char| !"[.+-><,]".contains(c))
            .filter(|s| !s.is_empty())
            .count() as i32
    }

    pub fn bf_reduce(bf: &str) -> String {
        bf.chars().filter(|c| "[.+-><,]".contains(*c)).collect()
    }
}