feature-random #1

Merged
bombinans merged 6 commits from feature-random into main 2025-12-24 03:23:53 +00:00
5 changed files with 464 additions and 1 deletions
Showing only changes of commit 9fa103dca7 - Show all commits

View File

@ -6,7 +6,58 @@ Days of Christmas.
This is the most stupidly Haskell way I could think of: it makes a product of
all the combinations of "$NUMBER $WORD $WORD" and then filters them. Filtering
on word length alone wasn't enough, so the signature for each gift also includes
the offset into the following lists:
the offset into the lists of alternatives at the end of this page.
ADDENDUM: I added a flag which makes the script pick randomly from the list of
alternatives, which gives Oulipian variants on the original which have the quality
that the lines (and the spacing of the words) are the same length, for example:
```
On the twelfth day of Christmas my true love gave to me
Eleven drummers drumming
Eleven French piping
Ten lords a-leaping
Nine French dancing
Seven geese a-leaping
Eight geese a-swimming
Ten swans a-laying
Nine gold doves
Four calling rings
Eight French hens
Six French birds
And a partridge in a pear tree
On the twelfth day of Christmas my true love gave to me
Eleven drummers drumming
Eleven turtle piping
Ten geese a-milking
Nine French dancing
Eight maids a-leaping
Eight swans a-swimming
Ten lords drumming
Five gold rings
Nine calling rings
Three ladies hens
Six French doves
And a partridge in a pear tree
On the twelfth day of Christmas my true love gave to me
Eleven drummers drumming
Eleven turtle piping
Six maids a-milking
Five ladies dancing
Three lords a-milking
Seven maids a-swimming
Six maids drumming
Nine gold birds
Four calling rings
Seven ladies hens
Ten French rings
And a partridge in a pear tree
```
[Original](original.txt) | [Random 1](random1.txt) | [Random 2](random2.txt) | [Random 3](random3.txt)
```
two turtle doves

103
original.txt Normal file
View File

@ -0,0 +1,103 @@
On the first day of Christmas my true love gave to me
A partridge in a pear tree
On the second day of Christmas my true love gave to me
Two turtle doves
And a partridge in a pear tree
On the third day of Christmas my true love gave to me
Three French hens
Two turtle doves
And a partridge in a pear tree
On the fourth day of Christmas my true love gave to me
Four calling birds
Three French hens
Two turtle doves
And a partridge in a pear tree
On the fifth day of Christmas my true love gave to me
Five gold rings
Four calling birds
Three French hens
Two turtle doves
And a partridge in a pear tree
On the sixth day of Christmas my true love gave to me
Six geese a-laying
Five gold rings
Four calling birds
Three French hens
Two turtle doves
And a partridge in a pear tree
On the seventh day of Christmas my true love gave to me
Seven swans a-swimming
Six geese a-laying
Five gold rings
Four calling birds
Three French hens
Two turtle doves
And a partridge in a pear tree
On the eighth day of Christmas my true love gave to me
Eight maids a-milking
Seven swans a-swimming
Six geese a-laying
Five gold rings
Four calling birds
Three French hens
Two turtle doves
And a partridge in a pear tree
On the ninth day of Christmas my true love gave to me
Nine ladies dancing
Eight maids a-milking
Seven swans a-swimming
Six geese a-laying
Five gold rings
Four calling birds
Three French hens
Two turtle doves
And a partridge in a pear tree
On the tenth day of Christmas my true love gave to me
Ten lords a-leaping
Nine ladies dancing
Eight maids a-milking
Seven swans a-swimming
Six geese a-laying
Five gold rings
Four calling birds
Three French hens
Two turtle doves
And a partridge in a pear tree
On the eleventh day of Christmas my true love gave to me
Eleven pipers piping
Ten lords a-leaping
Nine ladies dancing
Eight maids a-milking
Seven swans a-swimming
Six geese a-laying
Five gold rings
Four calling birds
Three French hens
Two turtle doves
And a partridge in a pear tree
On the twelfth day of Christmas my true love gave to me
Twelve drummers drumming
Eleven pipers piping
Ten lords a-leaping
Nine ladies dancing
Eight maids a-milking
Seven swans a-swimming
Six geese a-laying
Five gold rings
Four calling birds
Three French hens
Two turtle doves
And a partridge in a pear tree

103
random1.txt Normal file
View File

@ -0,0 +1,103 @@
On the first day of Christmas my true love gave to me
A partridge in a pear tree
On the second day of Christmas my true love gave to me
Six French birds
And a partridge in a pear tree
On the third day of Christmas my true love gave to me
Eight French hens
Six French birds
And a partridge in a pear tree
On the fourth day of Christmas my true love gave to me
Four calling rings
Eight French hens
Six French birds
And a partridge in a pear tree
On the fifth day of Christmas my true love gave to me
Nine gold doves
Four calling rings
Eight French hens
Six French birds
And a partridge in a pear tree
On the sixth day of Christmas my true love gave to me
Ten swans a-laying
Nine gold doves
Four calling rings
Eight French hens
Six French birds
And a partridge in a pear tree
On the seventh day of Christmas my true love gave to me
Eight geese a-swimming
Ten swans a-laying
Nine gold doves
Four calling rings
Eight French hens
Six French birds
And a partridge in a pear tree
On the eighth day of Christmas my true love gave to me
Seven geese a-leaping
Eight geese a-swimming
Ten swans a-laying
Nine gold doves
Four calling rings
Eight French hens
Six French birds
And a partridge in a pear tree
On the ninth day of Christmas my true love gave to me
Nine French dancing
Seven geese a-leaping
Eight geese a-swimming
Ten swans a-laying
Nine gold doves
Four calling rings
Eight French hens
Six French birds
And a partridge in a pear tree
On the tenth day of Christmas my true love gave to me
Ten lords a-leaping
Nine French dancing
Seven geese a-leaping
Eight geese a-swimming
Ten swans a-laying
Nine gold doves
Four calling rings
Eight French hens
Six French birds
And a partridge in a pear tree
On the eleventh day of Christmas my true love gave to me
Eleven French piping
Ten lords a-leaping
Nine French dancing
Seven geese a-leaping
Eight geese a-swimming
Ten swans a-laying
Nine gold doves
Four calling rings
Eight French hens
Six French birds
And a partridge in a pear tree
On the twelfth day of Christmas my true love gave to me
Eleven drummers drumming
Eleven French piping
Ten lords a-leaping
Nine French dancing
Seven geese a-leaping
Eight geese a-swimming
Ten swans a-laying
Nine gold doves
Four calling rings
Eight French hens
Six French birds
And a partridge in a pear tree

103
random2.txt Normal file
View File

@ -0,0 +1,103 @@
On the first day of Christmas my true love gave to me
A partridge in a pear tree
On the second day of Christmas my true love gave to me
Six French doves
And a partridge in a pear tree
On the third day of Christmas my true love gave to me
Three ladies hens
Six French doves
And a partridge in a pear tree
On the fourth day of Christmas my true love gave to me
Nine calling rings
Three ladies hens
Six French doves
And a partridge in a pear tree
On the fifth day of Christmas my true love gave to me
Five gold rings
Nine calling rings
Three ladies hens
Six French doves
And a partridge in a pear tree
On the sixth day of Christmas my true love gave to me
Ten lords drumming
Five gold rings
Nine calling rings
Three ladies hens
Six French doves
And a partridge in a pear tree
On the seventh day of Christmas my true love gave to me
Eight swans a-swimming
Ten lords drumming
Five gold rings
Nine calling rings
Three ladies hens
Six French doves
And a partridge in a pear tree
On the eighth day of Christmas my true love gave to me
Eight maids a-leaping
Eight swans a-swimming
Ten lords drumming
Five gold rings
Nine calling rings
Three ladies hens
Six French doves
And a partridge in a pear tree
On the ninth day of Christmas my true love gave to me
Nine French dancing
Eight maids a-leaping
Eight swans a-swimming
Ten lords drumming
Five gold rings
Nine calling rings
Three ladies hens
Six French doves
And a partridge in a pear tree
On the tenth day of Christmas my true love gave to me
Ten geese a-milking
Nine French dancing
Eight maids a-leaping
Eight swans a-swimming
Ten lords drumming
Five gold rings
Nine calling rings
Three ladies hens
Six French doves
And a partridge in a pear tree
On the eleventh day of Christmas my true love gave to me
Eleven turtle piping
Ten geese a-milking
Nine French dancing
Eight maids a-leaping
Eight swans a-swimming
Ten lords drumming
Five gold rings
Nine calling rings
Three ladies hens
Six French doves
And a partridge in a pear tree
On the twelfth day of Christmas my true love gave to me
Eleven drummers drumming
Eleven turtle piping
Ten geese a-milking
Nine French dancing
Eight maids a-leaping
Eight swans a-swimming
Ten lords drumming
Five gold rings
Nine calling rings
Three ladies hens
Six French doves
And a partridge in a pear tree

103
random3.txt Normal file
View File

@ -0,0 +1,103 @@
On the first day of Christmas my true love gave to me
A partridge in a pear tree
On the second day of Christmas my true love gave to me
Ten French rings
And a partridge in a pear tree
On the third day of Christmas my true love gave to me
Seven ladies hens
Ten French rings
And a partridge in a pear tree
On the fourth day of Christmas my true love gave to me
Four calling rings
Seven ladies hens
Ten French rings
And a partridge in a pear tree
On the fifth day of Christmas my true love gave to me
Nine gold birds
Four calling rings
Seven ladies hens
Ten French rings
And a partridge in a pear tree
On the sixth day of Christmas my true love gave to me
Six maids drumming
Nine gold birds
Four calling rings
Seven ladies hens
Ten French rings
And a partridge in a pear tree
On the seventh day of Christmas my true love gave to me
Seven maids a-swimming
Six maids drumming
Nine gold birds
Four calling rings
Seven ladies hens
Ten French rings
And a partridge in a pear tree
On the eighth day of Christmas my true love gave to me
Three lords a-milking
Seven maids a-swimming
Six maids drumming
Nine gold birds
Four calling rings
Seven ladies hens
Ten French rings
And a partridge in a pear tree
On the ninth day of Christmas my true love gave to me
Five ladies dancing
Three lords a-milking
Seven maids a-swimming
Six maids drumming
Nine gold birds
Four calling rings
Seven ladies hens
Ten French rings
And a partridge in a pear tree
On the tenth day of Christmas my true love gave to me
Six maids a-milking
Five ladies dancing
Three lords a-milking
Seven maids a-swimming
Six maids drumming
Nine gold birds
Four calling rings
Seven ladies hens
Ten French rings
And a partridge in a pear tree
On the eleventh day of Christmas my true love gave to me
Eleven turtle piping
Six maids a-milking
Five ladies dancing
Three lords a-milking
Seven maids a-swimming
Six maids drumming
Nine gold birds
Four calling rings
Seven ladies hens
Ten French rings
And a partridge in a pear tree
On the twelfth day of Christmas my true love gave to me
Eleven drummers drumming
Eleven turtle piping
Six maids a-milking
Five ladies dancing
Three lords a-milking
Seven maids a-swimming
Six maids drumming
Nine gold birds
Four calling rings
Seven ladies hens
Ten French rings
And a partridge in a pear tree