From a6fb26332fb23df24815ad20c6548b65384c2c8b Mon Sep 17 00:00:00 2001 From: kdx Date: Fri, 20 Jan 2023 06:23:03 +0100 Subject: readme kek --- README.md | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..2bdf851 --- /dev/null +++ b/README.md @@ -0,0 +1,76 @@ +# [GOLEM](https://golem.re) + +## Introduction + +Programming language. +Designed for losers, by a loser. + +Here's GOLEM's grandiose resume, please be nice: GOLEM is quite shy. + +* no typing, everything is a shitty unsigned integer +* no complexity, made to be super simple to parse +* no ambiguity, there's only one shitty way to do each shitty thing +* no safety, every unsigned integer is also a pointer +* no abstraction, there ain't no stdlib + +Here's some cute GOLEM code. + +```golem +fn alloc(size); +fn atoi(str); + +fn main(argc, argv) { + var i; + var ret; + var ptr; + var arr; + + i = 2; + powed = 1; + arr = alloc(argc); + while i < argc { + arr[i] = atoi(argv[i]); + powed *= arr[i]; + } + // bad heap management + heap -= argc; + + // GOLEM has no * deference + ptr = &i; + ret += ptr[0]; + + return ret; +} + +fn alloc(size) { + var ptr; + + ptr = heap; + heap += size; + return ptr; +} + +fn atoi(str) { + // <--- good code here + return 2038; +} +``` + +GOLEM is pretty much dumber +[C](https://en.wikipedia.org/wiki/B_(programming_language)), +think [B](https://en.wikipedia.org/wiki/B_(programming_language)) 2.0.69. + +## Why? + +GOLEM's goal is to be used on custom made virtual machines at a very low level +of abstraction. + +GOLEM code is easy and pleasantly simple to write. +It's sheer simplicity makes it easily expandable. + +I fucking wanted to make it. + +## When? + +I don't know, I progress on GOLEM to procrastinate on important work so +probably soon lol -- cgit v1.2.3