That's not really a bubblesort. The following strings: /l (I doubt anyone will be hard put to determine how) def /m (this works but I thought it was kind of cute -- DD) def are parsed and the substrings "put" and "gt" taken out of them. These substrings are used to secretly redefine the /put and /gt operators.