IndiGolog: A high-level programming language for embedded reasoning agents. IndiGolog isaprogramming languagefor autonomousagentsthat sense their environment anddo planning astheyoperate. Insteadof classical planning, it supports high-level program execution. The programmer provides a high-level nondeterministicprograminvolving domain-speci? c actions andteststo perform the agent’s tasks. The IndiGolog interpreterthenreasons aboutthepreconditions andeffectsofthe actionsintheprogramtonda legalterminatingexecution.To support this, the programmer provides a declarative specication of the domain (i.e.,primitive actions,preconditions andeffects, whatis known aboutthe initial state)inthe situation calculus. Theprogrammer can controlthe amountof non-determinism in the program and how muchof it is searched over. The language isrichand supports concurrentprogramming.Programsareexecuted onlinetogether withsensingthe environment and monitoringforevents,thus supporting thedevelopmentofreactiveagents.We discussthe language, itsimplementation, and applicationsthathave beenrealized withit.