Thursday, December 13, 2018

Defaut!

The new language. I have while loops working. No testing of the shunt expression parser yet. Lines are being removed as I figure stuff out. Another day.

Also, I was playing around with Hardly, my language, for stacks.  I am targeting that for a general purpose stack machine for no understandable reason.   Changes from Forth:
  • All symbols limited to eight chars
  • Extremely fast look up using Text8 symbol table, all 64 bit
  • Invent a built in  STACK operation, it creates a new stack which has a variable name
  • All stack operations need a stack identifier.
  • Includes SHUNT key word, unfolds an imperative syntax to rpn.
I will limit built ins to arithmetic and the usual 10 most important Forth operations. Hardly any design to it. Hardly with the effort,  but it might come in useful for the bots because of extreme speed.  Execution unit simple, use the Default set. The current shunt code easily converted to Hardly. I can Hardly wait to Default.

Hardly is about sandbox in that one cannot get faster than a sequence of 64 bit look up, jumps, and register swapping.  Nothing in the language that moves the compiler far off of register by register operations, and we keep the symbol table short and local.

It means a lot to know this boundary, it makes a priori provability work, we know the relative trades if a trader get a short version of Hardly onto the bot locales.  Ultimately the Spectre spec is about shortest path to completion, in general we want to know when the trading bots get faster. New technology bots are like a creeping countefeit,traders and trusted miners need to know.

Like an interpretable byte code, Hardly. With shunt built in, Hardly can be the kernel for higher level syntax. On the bus, if folks know they have a Hardly kernel, they just load up their own table, and run the standard rpn execution unit.

Gcc is great, by the way. The more I use it, the more I like it; and keep adding all the flags you want, that is grist fr the syntax machines. Make a bus standard shared interface.

No comments: