Home Applications AoC2021-rcc


This application is not supported by InterSystems Corporation. Please be notified that you use it at your own risk.
1 reviews
IPM installs
Pull requests
An Embedded Python based view of Advent of Code

What's new in this version

pokish docker + repo


This is inherited from template for Advent of Code contest.

After >40 years writing in-countable lines of code in M*/COS/ISOS (and a bunch of archaic languages)
I decided for myself to set a strong signal for the future. We have Embedded Python available
(still pre-release)! I just felt it as a sacrilege to ignore this excellent NEW opportunity and
stay with the old sermon that I had used for decades.
Advent means time of waiting and preparing for something important to come.
So to me, it meant Advent of Embedded Python Code that finally showed up in time.
ALL class methods of 25 exercises + utility are exclusively written using Embedded Python.
And I’m proud that it ranked as #3 completed by registered members of the Developer Community.

For later use I have added also

  • all full descriptions of the exercises as Day*.md,
  • a snapshot of the private leaderboard at the time of completion of the exercise,
  • all test data, exercises input data and alternate exercises input data,
  • result summaries for all Test examples, all Exercises, and all alternate Exercises.
  • full compatible to ZPM and therfore also avialable without Docker image
    So you are able to follow in all details.


Make sure you have git and Docker desktop installed.
ATTENTION: The Community License of the IRIS preview image expires 12/1/2022


Clone/git pull the repo into any local directory

 git clone https://github.com/isc-at/AoC2021-rcc.git

Open the terminal in this directory and build and run the IRIS container with your project:

 docker-compose up -d --build

iris.script will import everything you place under /src into IRIS.

How to Test it

Open IRIS terminal:

$ docker-compose exec iris iris session iris
USER>do ##class(dc.aoc2021.Day1).Run()
  • Extended Run parameters: do ##class(dc.aoc2021.Day3).Run(part,test) with
    part = 1,2 ; run only first or second part of example, anything else = both
    test = 0 ; use alternate input set
    test = 1..n ; run other tests as provided by example
; to run all exercises use
for day=0:1:25 do $classmethod("dc.aoc2021.Day"_day,"Run")
; to run all alteratete exercises use  test=0
for day=0:1:25 do $classmethod("dc.aoc2021.Day"_day,"Run",,0)
; to run all first test examples use
for day=0:1:25 do $classmethod("dc.aoc2021.Day"_day,"Run",,1)
; to run ALL this with just one line
for day=0:1:25 for test=-1:1:1 do $classmethod("dc.aoc2021.Day"_day,"Run",,test)

Some exercises have more then 1 example:
Day8:2, Day12:3, Day16:15, Day18:10, Day22:3, Day24:none

; to run all test examlpes of day 16
for example=1:1:15 do ##class(dc.aoc2021.Day16).Run(,example)

Files /data/ALL*.txt hold all available results

Article in DC

Made with
zpm install aoc2021-rcc download archive
0.0.305 Nov, 2023
ObjectScript quality test
Technology Example
Works with
InterSystems IRIS
First published
27 Dec, 2021
Last checked by moderator
27 Jun, 2023Works