TeXnicard is a program to make up card games (such as MagicTheGathering). Perhaps it can also be called a programming language, with many different syntaxes for different purposes.
Some of its remarkable features:
- There is a syntax for general programming (which highly resembles DeeCee), a syntax for picture operators, a syntax for typesetting, a syntax for word forms (such as plurals), a syntax for deck lists and randomized booster packs (they both use the same syntax), and a syntax for patterns to define your own syntax for entering cards.
- The only conditional operator in the dc-like syntax is ArithmeticIf (so it isn't exactly like dc).
- There is no support for color pictures internally; only 8-bit grayscale and 1-bit monochrome are supported, and all pictures in memory at once are required to be of the same size (even if they are not related in any ways) (although what this size is can be set). Importing/exporting will split and combine channels if the user specifies which slots to load/save multiples at once.
- There are registers with single-character names like dc, although there are also registers with long names, which use different commands, and any of the registers with long names also have an associated card list, deck list, keyword list, and so on.
- To create a text file, you have to make a register with the same name as the file.
- There is no floating-point; statistics such as averages and standard deviation and so on are done with fixed-point arithmetic.
- It includes a natural sorting algorithm for sorting roman numerals.
You do not understand what this means if you don't know this program (perhaps even if you understand
DeeCee, then you might understand slightly but still not very well):
BArD91-0 1di
Or this:
<[th]s0[st]s1[nd]s2[rd]s3dBr100%d10%r10/1-1 0 1i*d3-1d0i*`0+L+>
(Both of these examples are from the standard library. The first one figures out the type of a value, and the second one is used to make numbers such as 16 into "16th" and so on.)
CategoryProgrammingLanguage