Neko-Life / ELIZA

A Simulation in C++ of Joseph Weizenbaum’s 1966 ELIZA

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Joseph Weizenbaum’s 1966 ELIZA recreated in C++

I’ve made in C++ what I think is an accurate simulation of the original ELIZA. It is a console application that takes as input the original format script file, which looks like a series of S-expressions, and then waits for the user to type a line of text before responding with a line of text of its own.

I made this before the ELIZA source code had been found, and wrote about it in part 1.

Part 2 describes changes I made after the ELIZA source code was found.

Part 3 is about the HASH function, now that too has been found.

In a footnote I document trying to recreate the PARRY/DOCTOR conversation from RFC439.

My son Max Hay and I recreated ELIZA in JavaScript here. Try it here.

I added serial I/O to run ELIZA on an ASR 33 teletype.


To build and run ELIZA

Note that the whole of ELIZA is in the one file eliza.cpp (unless you wish to also use the serial I/O code mentioned above).

POSIX (e.g. macOS) (I used Apple clang version 15.0.0 that came with Xcode):

clang++ -std=c++20 -pedantic -o eliza eliza.cpp
./eliza

Windows (I used Microsoft Visual Studio 2019 Community Edition Command Prompt):

cl /EHsc /W4 /std:c++20 eliza.cpp
eliza

About

A Simulation in C++ of Joseph Weizenbaum’s 1966 ELIZA

License:Creative Commons Zero v1.0 Universal


Languages

Language:C++ 76.8%Language:HTML 23.2%