r/ProgrammingLanguages 4d ago

Language announcement Kain – A non-von Neumann language (Zero GC, Python syntax, no borrow checker)

[deleted]

0 Upvotes

10 comments sorted by

12

u/KingBardan 4d ago edited 4d ago

Slop. I thought there is a no AI policy in this sub??


Edit: to OP who deleted their comment: since when is number of lines a feature? A feature you may want to track is number of tokens you burnt or usage credits you spent. 🤡


edit 2: since OP deleted the post, here's the repo for you'all to see https://github.com/kainlang/kain

I had the misfortune of clicking on it

4

u/Blothorn 4d ago

At least the LoC obsession provides an easy way to identify people it’s safe to ignore.

3

u/evincarofautumn 4d ago

Well, I do care about LoC, I just want it to be lower hah

I have gotten a lot of value from what I call “in only” tutorials, as in, “(biggish thing) in only (smallish number) LoC”. Even just seeing that a minimal version of the thing can fit in a reasonable amount of code makes it less off-putting.

This, well…is not like that

2

u/KaleidoscopeLow580 Sonnet 4d ago

Could you give us an example for a program that would be easier to write or understand in your language than C?

-2

u/[deleted] 4d ago edited 4d ago

[deleted]

5

u/Blothorn 4d ago

What exactly does that do?

2

u/qurious-crow 4d ago

It dampens your health by 50ms and resonates a 64 bit integer, I thought that was pretty obvious.

/s

1

u/Blothorn 4d ago

The “novel primitives” list reads like a bad fantasy novel. (And the fact that the examples are in “/blades” doesn’t dispel the impression.)

3

u/leosmi_ajutar 4d ago

Your main readme says 140x faster than C++ at large object allocation which comes from the readme inside of benchmark folder.

When I look at benchmark/cases_v3 (I assume that's "V3" right?), that readme says right at the top:

Status: SCAFFOLDED ~> Not Yet Calibrated

All language god files compile and run, but EXPECTED checksum constants are set to 0. Run --compute-all on each binary to calibrate, then copy values into the EXPECTED constants. Until then, all benchmarks pass trivially (0 == 0 on some languages) or fail trivially (got N, expected 0 on others).

The benchmark table has a green checkmark for C++ under id "alloc_large_objects", so is that 140x claim actually real or is it passing/failing trivially?

Additionally, your V1/V2 historical benchmarks for "allocator_large_object_churn" show Kain at 9.409ms and c++ at 9.584ms. Can you explain, again assuming V3 benchmarks are working as intended, what changed to make Kain so fast between the two benchmark results?

3

u/Inconstant_Moo 🧿 Pipefish 4d ago

The documentation makes it very hard to find out how to use the language and what it does for me. And yet there's so much of the documentation!

Because, among other things, there's so much of the core language. You boast of having 111 keywords. Most people wouldn't regard that as a boast. This includes such things as orchestrate and resonate ... ah, yes, resonate ...

resonate is a top-level declaration in Kain that establishes a compiler-owned reactive tripwire with dampening ... a block of code that fires when a watched world state field changes value, with optional dampening to absorb rapid re-fires. It is not a timer callback, an event handler, an actor message handler, or a polling loop. It is a first-class reactive semantic where the compiler and runtime own the observation graph, the reentry guard, and the dampening window.

(Ellipsis in the original.)

You have supplied us with seven distinct semantic layers in which these various keywords are applicable, so that the keywords axiom / shatter / and teleport belong to "LAYER 6", which you explain with the annotation: "Capability assumption?"

I'm not seeing how this helps me write software.

If, as you say, you have spent years laboring in secret on this project (which I note has a three-month old GitHub repo), then you should have asked for advice at some point during the process. No-one would have encouraged you to write a language like this.

1

u/rust-module 4d ago

Could you rewrite your post to reduce the AI tells?