Skip to content

Keylang v3.0.0

Latest

Choose a tag to compare

@bald55 bald55 released this 26 Feb 04:00
a4210da

v3.0.0!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

PHILOSOPHY IS NOW... GAMES!!! Keylang wasn’t exactly supposed to be a general purpose programming language, and I love games so yeah Keylang is game oriented now (which means performance must be TOP NOTCH!!!!!!!!!! and stuff)

Changes

  • Bundles Python :D
    • Uses PyPy instead of CPython
  • Variants added. Variants of a function accessed with a tilde (~)
    • “wait” function has variant “wait~async”. The async version of wait.
      • Also has the variant “wait~until”. Waits until a condition is met.
      • Also has the variant “wait~thread”. Waits to run the code in the block without blocking
    • Default wait uses time.sleep()
  • Lua embed changed to use LuaJIT
    • Scripts can be moved around now without Lua embedding breaking
  • Libraries that are already imported are now in autocomplete, highlighted cyan
  • Loop added to new scripts by default to keep program alive

Additions

  • “do” and “end” alias for { and }, respectively
  • Python can now be used instead of Keylang, via python { “the python code” }
  • “when” keyword. Listens for WHEN an event occurs. Allows you to state how frequent it checks inside the parentheses
    • Also a “when~once” variant. Checks UNTIL the thing happens, then stops checking
  • Keyboard input detectors. Use “if key(the_key) {}” to check if the key was pressed, if True, executes the code in the block
  • “keyword” keyword. Makes a custom keyword that compiles into the EXACT code it was assigned, not preprocessing (ex. keyword yay = cube[x] += 1)
  • “print_python” keyword. Prints the unpreprocessed Python for when you’re confused or when I was confused and there’s a weird Keylang bug that you need to report
  • Updated website… again! Somewhat extreme style revamp