fn parse_syntax_rules(ctx: &Environment, exprs: &[Sexp]) -> LispResult<Vec<SyntaxRule>> {
    let mut rules = vec![];
    for expr in exprs {
        let (pattern, template) = check_syntax_rules_clause(ctx, expr)?;
        rules.push(SyntaxRule { pattern, template });
    }
    Ok(rules)
}
// Parse (pattern template) clause
Parse (pattern template) clause
Parse ( pattern template ) clause
fn parse_syntax_rules(ctx: &Environment, exprs: &[Sexp]) -> LispResult<Vec<SyntaxRule>> {
    let mut rules = vec![];
    for expr in exprs {
        let (pattern, template) = check_syntax_rules_clause(ctx, expr)?;
        rules.push(SyntaxRule { pattern, template });
    }
    Ok(rules)
}
fn parse_syntax_rules ( ctx : & Environment , exprs : & [ Sexp ] ) -> LispResult < Vec < SyntaxRule > > { let mut rules = vec ! [ ] ; for expr in exprs { let ( pattern , template ) = check_syntax_rules_clause ( ctx , expr ) ? ; rules . push ( SyntaxRule { pattern , template } ) ; } Ok ( rules ) }
Parse (pattern template) clause
Parse ( pattern template ) clause
ctx
&Environment
exprs
&[Sexp]
ctx
&Environment
exprs
&[Sexp]