Skip to content

Instantly share code, notes, and snippets.

@spdegabrielle
Last active April 6, 2023 16:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save spdegabrielle/c1f7317c13d20a76017389501354286c to your computer and use it in GitHub Desktop.
Save spdegabrielle/c1f7317c13d20a76017389501354286c to your computer and use it in GitHub Desktop.
Tracery bots
{
"origin": ["#code#"],
"code": ["'(I love you)",
"(quote (I love you))",
"(list 'I 'love 'you)",
"(list (quote I) (quote love) (quote you))",
"(cons 'I (cons 'love (cons 'you '())))",
"(cons 'I (cons 'love (list 'you)))",
"(cons 'I (list 'love 'you))",
"(cons 'I '(love you))",
"'(I love . (you))",
"'(I . (love . (you)))",
"'(I . (love . (you . ())))",
"'(I . (love you))",
"`(I love you)",
"`(I ,'love you)",
"(quasiquote (I ,'love you))",
"(quasiquote (I (unquote 'love) you))",
"`(I ,`love you)",
"(let (\\[verb 'love\\])\n `(I ,verb you))",
"`(I ,(string->symbol \"love\") you)",
"`(I ,(string->symbol (list->string '(\\#\\l \\#\\o \\#\\v \\#\\e))) you)",
"`(I love . (you))",
"`(I love . ,(list 'you))",
"`(I love ,@'(you))",
"`(I love (unquote-splicing '(you)))",
"`(I ,@(list 'love 'you))",
"`(,@(list 'I 'love) you)",
"`(,@'(I love you))",
"`,'(I love you)",
"`(I love you . ,'())",
"(car (list '(I love you)))",
"(cdr '(Hark! I love you))",
"(let (\\[words '(love you I)\\])\n (list (car (cdr (cdr words)))\n (car words)\n (car (cdr words))))",
"(let (\\[words '(love you I)\\])\n (list (caddr words)\n (car words)\n (cadr words)))",
"(let* (\\[c '(you)\\]\n \\[b (cons 'love c)\\]\n \\[a (cons 'I b)\\])\n a)",
"(let ()\n '(I love you not)\n '(I love you))",
"(vector->list (vector 'I 'love 'you))",
"(vector->list \\#(I love you))",
"(stream->list (stream 'I 'love 'you))",
"((lambda args args) 'I 'love 'you)",
"((lambda (one two . rest) rest) 'You 'believe 'I 'love 'you)",
"((lambda (a c b) (list a b c)) 'I 'you 'love)",
"(apply (lambda (a c b) (list a b c))\n (list 'I 'you 'love))",
"((lambda (a b \\[c 'you\\]) (list a b c)) 'I 'love)",
"((lambda (\\#:foo b \\#:bar c \\#:baz a)\n (list a b c))\n \\#:baz 'I \\#:bar 'you \\#:foo 'love)",
"((lambda (a b \\#:key \\[c 'me\\]) (list a b c)) \\#:key 'you 'I 'love)",
"(let (\\[f (λ (x)\n (λ (y)\n (λ (z)\n (list x y z))))\\])\n (((f 'I) 'love) 'you))",
"(let (\\[f (case-lambda \n \\[() 'I\\]\n \\[(x) 'love\\]\n \\[(x y) 'you\\])\\])\n (list (f) (f 1) (f 1 2)))\n\n ",
"(append '(I love) '(you))",
"(append '(I) '(love) '(you))",
"(flatten '((I) (love you)))",
"(flatten '((I) (love) (you) ()))",
"(reverse '(you love I))",
"(remove 'cannot '(I cannot love you))",
"(remove-duplicates '(I love love love you))",
"(take '(I love you not) 3)\n",
"(take-right '(I think I love you) 3)\n ",
"(drop '(She knows I love you) 2)",
"(drop-right '(I love you no more) 2)",
"(map (lambda (x) (if (eq? x 'hate) 'love x))\n '(I hate you))",
"(map (λ (i) (vector-ref \\#(love you I) i))\n '(2 0 1))",
"(map (λ (k) (hash-ref \\#hash((\"foo\" . I) \n (\"baz\" . you)\n (\"bar\" . love)) k))\n '(\"foo\" \"bar\" \"baz\"))\n ",
"(map string->symbol (sort (list \"love\" \"you\" \"I\") string<?))",
"(map string->symbol (string-split \"I-love-you\" \"-\"))",
"(flatten (map (λ (a b) (cons a b))\n '(I love you)\n '(() () ())))",
"(filter (lambda (x) (not (eq? x 'cannot))) \n '(I cannot love you))",
"(foldr cons '() '(I love you))",
"(foldl cons '() '(you love I))",
"(for/list (\\[word \\#(I love you)\\])\n word)",
"(cond\n \\[(even? 3) '(Not me)\\]\n \\[(odd? 3) '(I love you)\\])\n ",
"(cond\n \\[(even? 3) '(Not me)\\]\n \\[(odd? 2) '(Nor I)\\]\n \\[else '(I love you)\\])\n ",
"(case 1\n \\[(a b c) '(Not me)\\]\n \\[(3 2 1) '(I love you)\\])",
"(match \\#t\n \\[\\#f '(Not me)\\]\n \\[\\#t '(I love you)\\])",
"(match \\#t\n \\[\\#f '(Not me)\\]\n \\[_ '(I love you)\\])",
"(match 'you\n \\['me '(Not me)\\]\n \\[x `(I love ,x)\\])",
"(match '(foo bar)\n \\['(foo bar) '(I love you)\\])",
"(match '(I cannot lift you)\n \\[(list 'I 'cannot _ c) `(I love ,c)\\])",
"(match '(2 3 1)\n \\[(list-no-order 3 1 2)\n '(I love you)\\])",
"(match '(love you I)\n \\[(list-no-order 'I 'love foo)\n `(I love ,foo)\\])",
"(match '(3 . 4)\n \\[(cons 3 4)\n '(I love you)\\])",
"(match '(3 love 1)\n \\[(cons 3 (cons x (cons 1 '())))\n `(I ,x you)\\])",
"(match '(3 love 1)\n \\[(cons 3 (cons x (cons 1 '())))\n `(I (unquote x) you)\\])",
"(match 3\n \\[(? symbol?) '(Not me)\\]\n \\[(? string?) '(Me neither)\\]\n \\[(? number?) '(I love you)\\])",
"(match 3\n \\[(not 4) '(I love you)\\]\n \\[3 'unreachable\\])",
"(match '(you love I)\n \\[`(,c love ,a)\n `(,a love ,c)\\])",
"(match '(We love you)\n \\[`(,_ . ,rest)\n `(I . ,rest)\\])",
"(match '(We love you)\n \\[`(,_ ,rest ...)\n `(I ,@rest)\\])",
"(match '(We love you)\n \\[(list _ rest ...)\n `(I ,@rest)\\])",
"(match \\#(1 love 3)\n \\[(vector (? number?) b (? number?))\n `(I ,b you)\\])",
"(match \\#hash((1 . I) (3 . you) (5 . love))\n \\[(hash-table (1 a) (5 b) (3 c))\n (list a b c)\\])",
"(match 'you\n \\[(and x (? symbol?)) `(I love ,x)\\])",
"(match '100\n \\[(app (λ (n) (- n 1)) 99)\n '(I love you)\\])",
"(list 'I \n (call/cc (λ (cc)\n (error (cc 'love))))\n 'you)",
"(with-handlers (\\[symbol? (lambda (p)\n `(I ,p you))\\])\n (raise 'love))",
"(let (\\[problem (delay (car '()))\\])\n '(I love you))",
"`(I ,(force (delay 'love)) you)\n ",
"(letrec (\\[x (delay (list a b c))\\]\n \\[a 'I\\]\n \\[c 'you\\]\n \\[b 'love\\])\n (force x))\n ",
"(let (\\[word 'know\\])\n (set! word 'love)\n `(I ,word you))",
"(let (\\[word-box (box 'know)\\])\n (set-box! word-box 'love)\n `(I ,(unbox word-box) you))",
"(let-syntax (\\[un-yoda-list\n (syntax-rules ()\n \\[(_ c a b) (list 'a 'b 'c)\\])\\])\n (un-yoda-list you I love))",
"(let ((in (open-input-string \"I love you\")))\n (cons (read in)\n (cons (read in)\n (cons (read in) '()))))",
"(list (touch (future (λ () 'I))) 'love 'you)",
"(let (\\[a (make-parameter \"a\")\\] \n \\[b (make-parameter \"b\")\\]\n \\[c (make-parameter \"c\")\\])\n (parameterize (\\[a 'i\\] \\[b 'love\\] \\[c 'you\\])\n (list (a) \n ((parameterize (\\[b 'dislike\\])\n (λ () (b))))\n (c))))"]
}
{
"persontype":["tadpole","kitten","giraffe","pelican","penguin","badger","puffin","wombat","duck","gibbon","elephant","hedgehog","squirrel"],
"delaytype":["Severe","Short"],
"outcome":["all fine","pleased","ecstatic","tired but well"],
"health":["fine","tired","sleepy","dreaming"],
"absence":["absence","abundance","shortage","plague"],
"report":["Good service resumed on the line. The #persontype# was #health#.",
"#anystation# is closed due to an #absence# of #persontype#s.",
"No service #start# to #end# while we fix a signal failure at #end#.",
"Step free access to #anystation# station has now been restored.",
"#delaytype# delays: #stationb# - #stationa#. Minor delays:rest of the line due to #reasons#.",
"#anystation#: This station is closed while we help a #persontype# ill on a train.",
"#anystation#: station has now reopened. The #persontype#s are #outcome#."],
"reasons":["a shortage of #persontype#s","unexpected #persontype#s","a #persontype# on the line"],
"origin": ["#[start:#stationa#][end:#stationb#]report#"],
"anystation":["#stationa#","#stationb#"],
"stationa": ["UPTON SNODSBURY", "PUCKLECHURCH", "BARTON IN THE BEANS", "CURRY MALLET", "DROOP", "THROOP","WARNINGLID", "NOMANSLAND", "UPLODERS", "MATCHING TYE", "NETHER WALLOP", "POLING", "PATCHING", "CLIMPING", "DIDLING", "CRUDWELL", "PUDDLETOWN", "TOLPUDDLE", "AFFPUDDLE", "BRIANTSPUDDLE", "WESTWARD HO!", "UPPER BUCKLEBURY","HANWELL"],
"stationb": ["MUDFORD SOCK", "NEW INVENTION", "PICKLESCOTT", "MARSH GIBBON", "BLUBBERHOUSES", "MAMBLE", "TED STONE WAFRE","HOSE","HOBY","SHOBY","THRUMPTON","OVER PEOVER","WET WOOD","WETTING","PAPPLEWICK","BISHOP'S ICHINGTON","QUEEN CAMEL","GREAT SNORING"]
}
{
"origin": [
"For I will consider my Cat Jeoffry.",
"For he is the servant of the Living God, duly and daily serving him.",
"For at the first glance of the glory of God in the East he worships in his way.",
"For is this done by wreathing his body seven times round with elegant quickness.",
"For then he leaps up to catch the musk, which is the blessing of God upon his prayer.",
"For he rolls upon prank to work it in.",
"For having done duty and received blessing he begins to consider himself.",
"For this he performs in ten degrees.",
"For first he looks upon his forepaws to see if they are clean.",
"For secondly he kicks up behind to clear away there.",
"For thirdly he works it upon stretch with the forepaws extended.",
"For fourthly he sharpens his paws by wood.",
"For fifthly he washes himself.",
"For sixthly he rolls upon wash.",
"For seventhly he fleas himself, that he may not be interrupted upon the beat.",
"For eighthly he rubs himself against a post.",
"For ninthly he looks up for his instructions.",
"For tenthly he goes in quest of food.",
"For having considered God and himself he will consider his neighbor.",
"For if he meets another cat he will kiss her in kindness.",
"For when he takes his prey he plays with it to give it a chance.",
"For one mouse in seven escapes by his dallying.",
"For when his day’s work is done his business more properly begins.",
"For he keeps the Lord’s watch in the night against the adversary.",
"For he counteracts the powers of darkness by his electrical skin and glaring eyes.",
"For he counteracts the Devil, who is death, by brisking about the life.",
"For in his morning orisons he loves the sun and the sun loves him.",
"For he is of the tribe of Tiger.",
"For the Cherub Cat is a term of the Angel Tiger.",
"For he has the subtlety and hissing of a serpent, which in goodness he suppresses.",
"For he will not do destruction if he is well-fed, neither will he spit without provocation.",
"For he purrs in thankfulness when God tells him he’s a good Cat.",
"For he is an instrument for the children to learn benevolence upon.",
"For every house is incomplete without him, and a blessing is lacking in the spirit.",
"For the Lord commanded Moses concerning the cats at the departure of the Children of Israel from Egypt.",
"For every family had one cat at least in the bag.",
"For the English Cats are the best in Europe.",
"For he is the cleanest in the use of his forepaws of any quadruped.",
"For the dexterity of his defense is an instance of the love of God to him exceedingly.",
"For he is the quickest to his mark of any creature.",
"For he is tenacious of his point.",
"For he is a mixture of gravity and waggery.",
"For he knows that God is his Saviour.",
"For there is nothing sweeter than his peace when at rest.",
"For there is nothing brisker than his life when in motion.",
"For he is of the Lord’s poor, and so indeed is he called by benevolence perpetually–Poor Jeoffry! poor Jeoffry! the rat has bit thy throat.",
"For I bless the name of the Lord Jesus that Jeoffry is better.",
"For the divine spirit comes about his body to sustain it in complete cat.",
"For his tongue is exceeding pure so that it has in purity what it wants in music.",
"For he is docile and can learn certain things.",
"For he can sit up with gravity, which is patience upon approbation.",
"For he can fetch and carry, which is patience in employment.",
"For he can jump over a stick, which is patience upon proof positive.",
"For he can spraggle upon waggle at the word of command.",
"For he can jump from an eminence into his master’s bosom.",
"For he can catch the cork and toss it again.",
"For he is hated by the hypocrite and miser.\nFor the former is afraid of detection\nFor the latter refuses the charge.",
"For he camels his back to bear the first notion of business.",
"For he is good to think on, if a man would express himself neatly.",
"For he made a great figure in Egypt for his signal services.",
"For he killed the Icneumon rat, very pernicious by land.",
"For his ears are so acute that they sting again.",
"For from this proceeds the passing quickness of his attention.",
"For by stroking of him I have found out electricity.",
"For I perceived God’s light about him both wax and fire.",
"For the electrical fire is the spiritual substance which God sends from heaven to sustain the bodies both of man and beast.",
"For God has blessed him in the variety of his movements.",
"For, though he cannot fly, he is an excellent clamberer.",
"For his motions upon the face of the earth are more than any other quadruped.",
"For he can tread to all the measures upon the music.",
"For he can swim for life.",
"For he can creep."]}
{
"time":["21 min","23 min","25 min","27 min","29 min","31 min","35 min","37 min","39 min","41 min","43 min"],
"SHOUT":["CHANCE! ","SHOT! ","SAVES! ","YELLOW CARD!","","PENALTY! to #team#! "],
"sname":["Ota","Man","Agu","Wijna","To","Sil","Fir","Ma","Fernan"],
"ename":["mendi","ane","ro","ldum","ure","va","mino","tip","dinho"],
"name":["#sname##ename#"],
"lname":["Otamendi","Mane","Aguero","Wijnaldum","Toure","Silva","Firmino","Matip","Fernandinho"],
"move":["pounce","rebound"],
"team":["City","Liverpool"],
"action":["#name# used his pace to burst through on goal!",
"#name# felt that he was fouled by #name# when pulling the trigger for that previous chance.",
"#name# so very nearly caught on the ball by #name#, but missed when played it back to #name#.",
"#name# cuts inside and looks for the far corner",
"#name# does well to pick out #name# pretty much unmarked inside the area",
"#name# brings down #name#'s long ball over the top",
"#name# makes no mistake from the spot, sending #name# the wrong way and picking out the bottom corner to open the scoring."],
"comment":["Still plenty of time remaining for #team# to bag a couple of goals",
"Debate over whether that should have been a penalty, but the bottom line is #name# bundled into #name# - you cannot do that."
],
"outcome":[
"#team# work the ball forward to #name#, who cuts on to his right and curls one over the bar.",
"#name# was waiting to #move# behind #name# at the back post",
"#name# maybe could have gambled had he read the move.",
"#name# must have got a touch because the #team# winger failed to make contact",
"#name# picked out the side-netting when sliding in for the #move#."],
"origin":["#SHOUT# #action#","#SHOUT# #outcome#","#comment#"]
}
Thank you to v buckenham @v21 for https://cheapbotsdonequick.com/
Thank you to Dr Kate Compton @GalaxyKate for the Tracery little language http://www.tracery.io
https://twitter.com/mayfairline (suspended because it was too REAL)
https://cheapbotsdonequick.com/source/mayfairline
https://twitter.com/botracket
https://cheapbotsdonequick.com/source/BotRacket
https://twitter.com/real_time_goals
https://cheapbotsdonequick.com/source/real_time_goals
https://twitter.com/mycatjeoffrey
https://cheapbotsdonequick.com/source/mycatjeoffrey
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment