Get Started

Chat with A.L.I.C.E.

Chat with Fake Kirk

What is AIML?
Foundation Bot Directory
Bot Industry Survey
AIML Overview


Bot Hosting
AIML 1.1 Specification
AIML 2.0 Working Draft
Superbot - New!


Film and TV
Recent Press
Popular Culture
Web Ontologies
ALICE and A.I. History
Scholarly Research and Teaching


News Archive
AI Foundation Forum
Consulting and Training
ALICE Brain Picture Gallery

Chatbot Industry Survey

AIML Spinoffs
Non-AIML Bots
Chat Robot Patents
Chat Robot Communities

Contests and Communities

The Loebner Prize
The Chatterbox Challenge
Robitron Discussion

AIML Forums

AI Nexus Forum
AI Dreams Forum
Chatbot Hub Forums
Virtual Humans Forum

AIML Implementations

--- Lisp ---

Program Z by

Program Z - the last implementation anyone will need - is implemented in Common Lisp. is a software robot (also known as a bot) hosting service. From any browser, you may create and publish your own robots to anyone via the web. Pandorabots technology yields one of the fastest bots available on the Internet. The bots are based on AIML and spring entirely from the work of Dr. Richard Wallace and the A.L.I.C.E. and AIML free software community. This site offers perhaps the most convenient way to get started publishing a bot.

Jamie Durrant wrote an informaive tutorial explaining how to set up a Flash interface to your Pandorabot bot. You can view it at

--- Java ---


by Helio Perroni Filho

ChatterBean is an AIML interpreter (also known as "Alicebot") written in pure Java. Its ultimate objectives are:

ChatterBean is free software, licensed under the GPL. All the usual claims about help wanted and no guarantees apply.

Program D

Program D is a Java AIML interpreter. The status of Program D is uncertain at this time, however we have located a project using Program D on Google Code: Using ProgramD AIML bot as a personal assistant.


Program D lives on in a project called Charliebot by Josip Almasi. Charliebot is an artificial intelligence program written in the Java language. It is based on work from the ALICE, ANNA v7.0, and Program D v4.1.5 projects. It works on Mac OS X or any Java 1.3 VM. Charlie is a 58 year old computer enthusiast.

--- PHP ---

Program O

Program O is an AIML engine written in PHP with MySQL. Demand for a PHP/MySQL version of an AIML interpreter continues to be stroing. Program E became an orphan project and has known bugs. Program O is under active development by Liz Perreau and a group of dedicated open source developers.

Program E

Program E is a platform for running artificial intelligence robots. It is written in PHP and uses MySQL for its backend database. Program E runs bots that are written in Artificial Intelligence Markup Language or AIML.

Paul Rydell was the original author of Program E. It has since been worked on by Anne Kootstra and Icomsec. You can find Program E on Sourceforge

--- Ruby ---

ProgramR: AIML in Ruby

Mauro Cicio has been developing, with two other developers, an open source AIML parser implementation in ruby ( called programR.

ProgramR is usable but needs a lot of testing. The team are working on performance optimization. For more information please refer to: ProgramR

--- Perl ---

By Ernest Lergon updated by Noah Petherbridge

Program V is a Perl implementation of an AIML interpreter. It is AIML 1.0.1 compliant. V relies on the industry-standard use of mod_perl (for Apache) so that the web server can handle many of the non-AIML-related tasks that other interpreters (like Program D) handle themselves.

--- Pascal ---

Program P

by Kim Sullivan (alicebot at seznam dot cz)

Kim Sullivan gives us Program P, a.k.a. "PASCALice". P is written in Delphi, and is released under the GNU GPL. Kim's page also provides an AIML checking tool called ShadowChecker.

--- Python ---

Program Y (a.k.a. PyAIML)

by Cort Danger Stratton

PyAIML is an AIML interpreter implemented as a 100% pure Python package. The design mantra is "simplicity": the package weighs in at around 1000 lines of excessively-commented code, with no outside dependencies beyond the Python standard libraries. Adding support for advanced features found in most other interpreter packages (such as built-in web servers and fancy user interfaces) is left as an exercise to the Botmaster.

--- .NET ---


Nicholas H. Tollervey has announced the release of Program#, an AIML interpreter in .Net, under the GNU GPL. According to Nicholas, "It was developed using the 1.1 version of .NET but I see no reason why 1.0 shouldn't work. I'm also pleased to say that it works with Mono (tested with v1.0.5). I've had quite a bit of fun integrating it into Windows.Forms applications, Windows services and Web services. I've also implemented a couple of 'custom tags' (not included) that will do silly things like search Wikipedia and translate using Babelfish."

You can download Program# and read more about it at the web site:

--- C++ ---

Program Q AIML Engine Supports Arabic

Houssem Bdioui has contributed to the AIML community a new C++ Qt-based AIML engine supporting seamlessly Latin and Arabic character sets. QAIML is a C++ Qt-based library offering a simple API to parse AIML XML files and then interacting with a user input with Latin/Arabic support (Unicode). Program Q (formerly QAIML) is available at

Program Q is Qt based library/application using AIML standard. Thanks to Qt it supports seamlessly any unicode characters and thus two AIML sets are provided: the standard one (English) and a very basic Arabic set (that needs to be extended).

Houssem would appreciate any comments or feedback: houssem dot bdioui at gmail dot com

Program N

by gdubuqueat at scattercreek dot com Gary Dubuque

the Alice chatbot hosted in a notepad text editor with an additional script processing language for authoring dialogs to assist in creating new AIML which extends and develops the program's personality.


by Kino Coursey

Long-time Alicebot community member Kino Coursey brings common sense to ALICE through AIMLpad with his CyN project, a new experimental Cyc enabled AIML Interpreter. (CyN = CYc + program N).

Kino writes, "Project CyN is the merger of a AIML interpreter used to develop chat bots with the OpenCyc inference engine. This unique tool allows the product of one of the largest, continuous AI projects to be accessed by one of the largest chat bot development community. Basically Cyc + Program N = CyN.

One of the first questions that interested programmers want to know about OpenCyc is what kind of natural language interface is there and can they talk with it. And one of the things that interested programmers who learn AIML ask is how to make their chat bots appear smarter. CyN tries to address the desires of both communities."

You can get more information and documentation on CyN from:
Related link:


libaiml C++ AIML Interpreter is an AIML interpreter fully written in C++ from scratch. It is designed as a static library. It currently runs on Linux. It is still in development.

Available features:

libaiml: libaiml.tar.bz2 and std_utils-0.7.5.tar.bz2 .


by Jonathan Roewen and Taras Glek

J-Alice is an AIML engine written in C++. It comes with a builtin IRC client, with support for multiple channels and servers, and a small webserver. Each IRC setup (per irc network/server) supports configuration of an IRC Server, to allow the botmaster, for example, to connect and control the bot, and even pretend to be a bot with your favourite IRC client.

RebeccaAIML C++ AIML Interpreter

RebeccaAIML is a Windows/Linux Object Oriented C++ chatter bot api/interpreter for AIML (Artificial Intelligence Markup Language) from the ALICE project. It includes comprehensive documentation and samples as well as showcases/teaches popular and recent C++ practices.

Rebecca is open source and licensed under the LGPL license. The project resides on Sourceforge at

RebeccaAIML has been compiled and tested underneath Windows XP as well as Linux Fedora Core 3. However, it should be easily movable to other flavors of Linux or other Unixes easily.

--- SETL ---

Program M

by drwallace at alicebot dot org Dr. Rich Wallace

is implemented in SETL, and old language based on Set Theory and Mathematical Logic. More a formal specification for AIML than a practical working application, Prorgam M is one of the most compact implementations at just under 1000 lines of code. You can read a liitle more about AIML in SETL here.

If you really want to get into Program M, you will need to download and install SETL, which runs only on Linux machines. You will also need to set up the files in the config subdirectory. If you get into any AIML software as a developer, these files, along with Prorgam M, may prove a useful reference point for your work.

default.aiml A default AIML category if no other AIML exists.
files.txt A list of AIML files to load.
macrosubs.txt AIML macro substitutions.
delims.txt Sentence splitting delimeters.
abbrevs.txt Abbreviation substitutions.
formalsubs.txt Formal speech substitutions.
normsubs.txt Sentence normalization substitutions.
person2subs.txt 1st Person - 3rd Person pronoun swaps.
personsubs.txt 1st Person - 2nd Person pronoun swaps.
defaults.txt Predicate default values.
pronouns.txt Personal pronoun predicates.

The AIML "brain" files of the ALICE chat robot personality are interchangeable between all AIML implementations. We provide them here alongside the program M code for completeness. This is the latest most up to date version of the ALICE brain released by Dr. Wallace. See AIML sets below to download the ALICE brain as a single zip file.

_ 1 2 3 4 5 6 8 9 A B C D E F G H I
J K L M N O P Q R S T U V W X Y Z *

Copyright © A.L.I.C.E. AI Foundation, Inc.

Subscription Bots

A.L.I.C.E. Silver Edition
CLAUDIO Personality Test

Oddcast VHosts

More Bot

Open Directory
Chatterbot Collection
The Simon Laven Page

ALICE A. I. Foundation