implemented named let syntax and improved define syntax for recursive functions