Ανάπτυξε μια απλή γλώσσα ειδικού τομέα (DSL) για το ρίξιμο ζαριών. Οι παίκτες παιχνιδιών όπως το Dungeons & Dragons είναι εξοικειωμένοι με μια τέτοια DSL. Ένα παράδειγμα είναι η παρακάτω έκφραση: 2 D20 + 1 D6, που σημαίνει ότι πρέπει να ρίξουμε δύο ζάρια με 20 πλευρές και ένα ζάρι με 6 πλευρές.
Η έκφραση 2 d20 + 3 d10 μπορεί να υλοποιηθεί χρησιμοποιώντας σύνταξη της Pharo. Το + είναι μια μέθοδος όπως οποιαδήποτε άλλη και μπορεί να υλοποιηθεί σε κλάσεις άλλες εκτός από τους αριθμούς. Μέθοδοι όπως η d20 μπορούν να υλοποιηθούν στην υπάρχουσα κλάση Integer με επεκτάσεις κλάσης, δηλαδή μια μέθοδο σε άλλο πακέτο από αυτό στο οποίο βρίσκεται η κλάση.
Αυτή η άσκηση προέρχεται από το βιβλίο: Learning Object-Oriented Programming, Design and TDD with Pharo, διαθέσιμο στο http://books.pharo.org. Κεφάλαιο 12: Crafting a simple embedded DSL with Pharo.
Γράψου στο Exercism για να μάθεις και να κατακτήσεις Pharo με 50 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.