Kendalikan derek gudang dengan kode, susun ulang peti berwarna di bawah batas instruksi yang cukup ketat untuk menuntut rekursi.
Susun program dari instruksi derek (bergerak ke kiri dan ke kanan, ambil, lepas, dan kondisi warna) untuk mengatur ulang wadah-wadah peti menjadi tumpukan target. Batas instruksinya sengaja dibuat ketat, jadi Anda akan mengandalkan perintah Call, yang menjalankan ulang seluruh program dari atas; kondisi yang gagal menjadi kasus dasar yang menghentikan rekursi. Ada sepuluh level buatan tangan, dari satu peti merah hingga menara enam peti, dan delapan di antaranya tidak bisa diselesaikan tanpa Call.
Menara Tiga: tiga peti merah ada di wadah 1 dan harus berakhir di wadah 2, dan Anda hanya boleh memakai enam instruksi. Jika ditulis panjang, setiap peti butuh Grab, Right, Drop, dan Left, yaitu sebelas instruksi untuk tiga peti bahkan setelah Left terakhir dibuang. Enam tidak cukup.
Jadi tulis satu kali perjalanan dan biarkan ia berulang: Grab, If-held red, Right, Drop, Left, Call. Itu enam instruksi. Derek mengambil sebuah peti, memeriksa bahwa yang dipegangnya merah, membawanya, menaruhnya, kembali, lalu memanggil seluruh program lagi. Pada panggilan keempat wadah 1 kosong, Grab tidak mengambil apa pun, pemeriksaan If-held red gagal, dan program berhenti. Pemeriksaan yang gagal itulah kasus dasarnya.
Ganti If-held red dengan If-held blue dan enam instruksi yang sama juga menyelesaikan level empat peti dan menara enam peti, karena rutin itu tidak pernah menghitung peti; ia terus berjalan sampai tidak ada yang tersisa. Itulah inti rekursi: program menggambarkan satu langkah dan satu aturan berhenti, dan masukanlah yang menentukan berapa kali program itu berjalan.
Claw Compiler mengajarkan rekursi melalui derek penyusun peti dan anggaran langkah yang ketat, membuat gagasan yang sulit menjadi konkret.
Instruksi derek — bergerak ke kiri dan kanan, ambil, lepas, dan kondisi berdasarkan warna — adalah bahasa rakitan minimal yang dilengkapi tubuh fisik.
Mengajarkan pemrograman lewat robot kecil di dunia kecil berawal dari Karel the Robot, bahasa untuk pemula yang diperkenalkan Richard Pattis dalam sebuah buku tahun 1981 dan dipakainya dalam kuliah-kuliahnya di Stanford. Game kemudian mengambil gagasan itu: Lightbot mengajarkan loop dan prosedur dengan memprogram robot melewati labirin, dan leluhur terdekat Claw Compiler adalah Cargo-Bot, teka-teki iPad tahun 2012 tempat Anda mengajari robot memindahkan peti. Two Lives Left membuatnya bersama Rui Viana dari prototipe Viana di aplikasi pemrograman iPad milik mereka, Codea, dan mempromosikannya sebagai game pertama yang seluruhnya diprogram di iPad.
Tugasnya, menyusun ulang wadah-wadah berisi peti menjadi tumpukan target, adalah pengurutan yang dilakukan oleh mesin yang hanya dapat memegang tepat satu benda dalam satu waktu. Batas satu penjepit itu adalah pelajaran tersendiri. Itu batasan yang sama yang dikenakan oleh sebuah register, dan itulah sebabnya pengurutan yang nyata membutuhkan tempat untuk meletakkan barang — menemukan bahwa Anda butuh wadah cadangan berarti menemukan gagasan penyimpanan sementara.
Karena Call selalu menjadi instruksi terakhir, setiap program di sini bersifat rekursif ekor: pemanggilan diri adalah hal terakhir yang dilakukannya. Banyak implementasi bahasa mengubah panggilan ekor menjadi lompatan biasa kembali ke atas, itulah sebabnya program yang sama bisa dibaca sebagai rekursi maupun sebagai loop. Menyadari bahwa keduanya adalah satu gagasan merupakan bagian besar dari memahami rekursi.
Claw Compiler adalah game browser orisinal dan gratis yang dibuat untuk PlayPendium: bahasa derek dengan tujuh instruksi, sepuluh level yang batasnya membuat rekursi menjadi keharusan, bukan pilihan, satu level harian bersama, dan mode latihan yang menyajikan level-level lainnya.