diff --git a/kalk/src/parser.rs b/kalk/src/parser.rs index ed1df5d..c86c3f5 100644 --- a/kalk/src/parser.rs +++ b/kalk/src/parser.rs @@ -504,7 +504,11 @@ fn parse_identifier(context: &mut Context) -> Result { { // If there is a function with this name, parse it as a function, with the next token as the argument. if context.symbol_table.contains_fn(&identifier.pure_name) { - let parameter = parse_factor(context)?; + let parameter = if identifier.full_name == "√" { + parse_exponent(context)? + } else { + parse_factor(context)? + }; return Ok(Expr::FnCall(identifier, vec![parameter])); } }