The website was updated today. The update included our initial AIML 2.0 support. Our AIML 2.0 support is still under development, so this is just a preview of some of the support.
The update also included several new Self functions and syntax as part of our Self 2.0 development.
The update also included some fixes and minor enhancements.
AIML 2.0 support that has not been completed yet,
- new zero to many word wildcards ^ and # (use ^ instead of * to match zero to n words, # is the same but with _ precedence semantics)
- $ precedence operator (allows pattern to override _ or # precedence)
- request and response tags (similar to input and that tags, but allow multi-line phrases)
- topics now allowed to be defined inside category tag
- var attribute for get, set, and condition tags to set local variables
- loop tag to allow looping in conditional tags
- element support for name, var, index, value attributes
- explode, normalize, denormalize functions
- learn and eval tags
For more information on AIML 2.0 see the draft specification at,
- sets, maps
If you noticed any bugs, or issues with our semantics, please reply, or email email@example.com
Several new Self enhancements were also added. BOT libre translates AIML into Self, so any AIML feature will have some level of Self support.
- uppercase, lowercase (i.e. uppercase :star)
- format (allows several types of text formatting, i.e. format :star as #normalize)
- input (return previous input for the speaker, i.e. input 2 for :speaker part 2)
- learn (allows easy adding for new response, i.e. learn "why" that "why did the robot cross the road" template "to get to the other side"
- while (support while loops, i.e. while (less(:value, 10)) do (assign :value to (get #next from :value))