The Logo Programming Language, a dialect of Lisp, was designed as a tool for learning. Its features - interactivity, modularity, extensibility, flexibility of data types - follow from this goal.
Interactivity
Although there are some versions of Logo that compile, it is generally implemented as an interpreted language. The interactivity of this approach provides the user with immediate feedback on individual instructions, thus aiding in the debugging and learning process. Error messages are descriptive. For example
fowad
I don't know how to fowad
(The word fowad is not a primitive - one of Logo's built in words - nor a procedure that you've defined.)
forward
Not enough inputs to forward
(Now that you've spelled it correctly, Logo knows the word forward , but can't run your instruction because forward requires additional information.
forward 100
(Logo is happy. There's no error message.…