sdegutis

Langlanglanglanglanglanglang lang

Today I am announcing Langlanglanglanglanglanglang lang. It is a low level garbage collected reference counted async future-aware concurrent thread-safe immutable-first high-level simd-first pascal-like lisp with move semantics, embedded first with a Lua-like API, full wasm-first runtime, implemented in JavaScript compiled to Rust.

Here’s a hello world:

func do
  print "hello world"; ();
}

Here’s the fibbonaci sequence:

func fibb [a, b] (a, b) = (int, int, /* trailign comma is necessary */) {
  return a, b + a
  ; // trailing semicolon is necessary //
end

You will notice that it is type safe. This is because of the lend checker. The lend checker is very new and innovative. Every time you use a type or lend a pen, it makes sure that the pen you lent to someone isn’t being chewed on by them. This way you can ensure via mathematical proof that your pen wasn’t in someone else’s mouth.

Here’s a full React web server:

run_full_websierver(3);

A few notes on subtleties:

Besides this very convenient syntax, there are a few semantics to be aware of:

mut 3 = 4

You can redefine numbers. This will have an effect only on APIs that start with “s”. So for example the pos passed to “substr” will be affected, as long as it is >= 3 (it will be incremented). But note that String is not effected because it’s capitalized.

Notice the mut. That’s what makes it mutable. Without that, the number 3 cannot be mutated. You also need “volatile” to use it in a math expr. And finally, to use a float, you must cast it like this:

volatile mut 3 = 3.4

Note that this is a destructive operation. All instances of 3 hereon out will be mutated. But it’s a small price to pay for efficiency.

simd notes

NOTE: simd cannot be disabled, and it operates on all types at all times.

function send_email(subject, body) {
  email_host_on_amazon /* this isa builtin; aws is hardcoded as a primitive in the language */
  ::send(subject, body).
;

Now I know what you’re thinking. The above code clearly and obviously and intuitively converts the body to HTML, minifies and inliens CSS, and sanitizes the subject for JS and XSS injection. You’re correct! But there is a very subtle difference, and this is related to how this code is run.

See, the code runs within the GPU, and all operations are simd’d. This means that the subject is actually sent in four separate emails, while the body is actually concatenated four times to itself in each email. This seems unexpected and unintuitive, until you think about it. Then it becomes obvious enough to insult people over when they ask about it.

Also, you must include the period at the end of the statement, but only because it uses the aws-primitive. This is considered good practice.

Primitive types

license

The Back Pocket License

You may only use this code
if you have left a kitkat
in your pants back pocket
within the past 360 days.
If you have not, then first
you must purchase one today
and put it there for a day
and then you may use this.
If this doesn't apply to you,
are you really even *living*?

This license is used for the sake of applying practical marxism to software.

Note that this license requirement is not required if your name starts with W because you clearly already have it hard enough.

Calling convention

All functions are mangled using rot13. If there are two “r” characters in a row, they will each become “”. Note the word each so that “rr” becomes “__”. This feature is to throw them off my scent.

Control flow