summaryrefslogtreecommitdiff
path: root/tests/examplefiles/example.ptls
diff options
context:
space:
mode:
Diffstat (limited to 'tests/examplefiles/example.ptls')
-rw-r--r--tests/examplefiles/example.ptls30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/examplefiles/example.ptls b/tests/examplefiles/example.ptls
new file mode 100644
index 00000000..f3dc641a
--- /dev/null
+++ b/tests/examplefiles/example.ptls
@@ -0,0 +1,30 @@
+
+-----------------------------------------------------------
+-- Print the lyrics to the song '99 bottles of beer'
+
+output =
+ range(99, 1)
+ |> map(showBeer)
+ |> printLines
+
+beerFmt = """{} of beer on the wall!
+{} of beer!
+You take one down, pass it around
+{}"""
+
+showBeer(n) =
+ format(
+ beerFmt,
+ [showBottle(n), showBottle(n), nextBeer(n - 1)]
+ )
+
+nextBeer(n) =
+ if n == 0 then "No more bottles of beer on the wall!"
+ else format("{} of beer on the wall!\n", [showBottle(n)])
+
+-----------------------------------------------------------
+-- Get appropriate singular / plural form of 'n bottle(s)'
+
+showBottle(n) =
+ format("{} {}", [n, bottleStr])
+ where bottleStr = if n == 1 then "bottle" else "bottles"