descriptionThe first arithmantic programming language ever!
homepage URLhttps://github.com/jaseg/Graf-Zahl
repository URLhttps://github.com/jaseg/Graf-Zahl.git
owners@jaseg.de
last changeTue, 7 Aug 2012 13:16:24 +0000 (7 15:16 +0200)
last refreshFri, 26 Apr 2024 04:31:52 +0000 (26 06:31 +0200)
content tags
add:
readme

Graf Zahl, world's first arithmomantic programming language

Graf Zahl is a small piece of ruby code that, when require()d, injects ruby with arithmomantic character tracking. Arithmomancy is the old art of fortune telling using the magical properties of numbers. Names are converted into numbers, and the numbers in turn are processed by a highly involved algorithm (to be found in Character.doTehArithmancy(something)) and then looked up in a character table that survived form ancient times. The character of each thing is modified by everything you do with it (method calls, operators). This way it then can be checked that you do only process values and classes with a pure character. Values which are often used in certain contexts will slowly assume the character of these contexts. So if you often use your 1 in an evil environment, over time it might turn evil.

How to try stuff out

Check out and run test.rb. Please note this code is written against ruby 1.9.3 and will very likely not work against anything < 1.9. Also, please note it is horribly slow. This is a side effect of Graf Zahl practising a really ancient art as well as an implication of the way Graf Zahl does this (think of intercepting any method call) and I think is an acceptable price for an artithmomantically verifiable program.

Planned stuff

A planned feature is the on-the-fly modification of method calls when there is a character mismatch, details can be found in TODO, just to make it a little more esotheric and harder to use.

Why the fuck?

Just for fun, and because now I know a lot more about ruby's way of OO. You may find this code useful because it can be used for pretty deep debugging of ruby code. Just comment out the whole arithmomancy stuff and uncomment the one puts in process_call(...). Also, ponies.

Hate, Rage, certainly inappropriate accolade

The project's code, issue tracker and I can be found on github under https://github.com/jaseg/Graf-Zahl . Fork me!

shortlog
2012-08-07 jasegSmall bugfix in the README.master
2012-08-07 jasegRemoved the unnecessary ruby crash dump files.
2012-08-07 jasegAdded a README.md and a TODO with with some ideas for...
2012-08-07 jasegSmall bugfix in the character influence calculation...
2012-08-07 jasegFixed a bug concerning Character.cap!
2012-08-07 jasegNow even faster :D
2012-08-07 jasegmoar complete crashdump added
2012-08-07 jasegNow with ruby's crash info
2012-08-07 jasegNow it generates some kind of output that even ruby...
2012-08-07 jasegIt works except for the method execution modification...
2012-08-06 jasegNow it generates a SystemStackError
2012-08-06 jasegNow attr_reader exhibits unexpected behavior
2012-08-06 jasegNow it exhibits *REALLY* strange behavior concerning...
2012-08-06 jasegWorking now. The character table is completed."
2012-08-06 jasegCharacter table WIP
2012-08-06 jasegWorking. Now with name number calculation.
...
heads
11 years ago master