Practical

MeTTa Challenges

Hands-on MeTTa coding challenges — recursion, higher-order list operations, the Atomspace and Python integration. Submit each on GitHub.

You'll need to log in or sign up first.

Learn MeTTa by shipping code

The practical companion to Intro to MeTTa. Work through progressive coding challenges — from recursion and higher-order functions to Atomspace knowledge graphs and Python integration.

For each challenge you write a .metta solution, push it to GitHub, and register it in the IP Marketplace as verifiable labour you own. Finish the set to earn the MeTTa Challenges — Verified badge.

This is the challenge track the live SJIT and ESU KU cohorts are running now.

A · Recursion & numbers
Challenge 1 — sumIf (higher-order + predicate)CHALLENGEChallenge 2 — accumulate (generalised fold over a range)CHALLENGEChallenge 3 — count-digits (numeric recursion)CHALLENGE
B · Higher-order list operations
Challenge 7 — map with superpose / collapseCHALLENGEChallenge 8 — filter (decons / cons)CHALLENGEChallenge 9 — fold + maxCHALLENGEChallenge 10 — grand-pipeline (function composition)CHALLENGE
C · List algorithms
Challenge 11 — find-even (recursive filter)CHALLENGEChallenge 12 — reverse-list (accumulator)CHALLENGEChallenge 13 — reverse-until (partial reverse)CHALLENGEChallenge 14 — count-valid-pending (queue ops)CHALLENGE
D · Atomspace & knowledge graphs
Challenge 4 — Atomspace basics (match &self)CHALLENGEChallenge 15 — Knowledge-graph missions (match / add / remove)CHALLENGEChallenge 16 — family-nurses (recursive KG query by depth)CHALLENGE
E · Python integration
Challenge 6 — hyperon — run MeTTa from PythonCHALLENGE
F · Advanced extensions
Challenge 17 — Advanced extension (mentor-set)CHALLENGEChallenge 18 — Advanced extension (mentor-set)CHALLENGEChallenge 19 — Advanced extension (mentor-set)CHALLENGE