"cutie ahps"
qtOps is a Racket package providing procedures for performing operations on things with qualities. Things are essentially fieldless object with a mutable set of methods, while qualities are collections of procedures which generate those methods.
(That sort of object-oriented language is not used frequently in the documentation; don't worry if it was meaningless here.)
qtOps was created by and for emsenn, who originally wanted to make a MUD and eventually decided e wanted to do more than that.
As a personal project created by someone with no relevant experience that was not self-guided, qtOps is likely to have what others would consider "fatal" flaws. That is to say:
It is incredibly unlikely that qtOps is an appropriate software for your needs.
The current goal of this project is to continue to provide emsenn with a means of manipulating digital information that e is comfortable with, not providing a useful resource for others.
To use qtOps, assuming you've understood the statements above, you'll need to install the Racket programming language, and the qtops
package:
raco pkg install qtops
To play with qtOps, start the Racket REPL (with the racket
command, no arguments) and then require the package:
(require qtops)
(define pebble
(create-thing
"pebble"
(list make-mass-procedures)))
Try (pebble 'procedures)
to see what all your new bean can do: maybe turn it into a stone by making it heavier (pebble 'set-mass! 2700)
and changing its name (pebble 'set-name! "stone")
For further documentation on things and the available qualities, check the full documentation. You can also join the #qtops channel on Freenode.
While this project is definitely a personal one, I welcome any contributions. You can report issues through Github or email, and submit your own code through Github or email.
Since this is a personal project, there are no firm rules for contribution and any cooperation will be handled on a case-by-case basis.