Rocksolid Light

Welcome to RetroBBS

mail  files  register  newsreader  groups  login

Message-ID:  

Air is water with holes in it.


devel / comp.lang.misc / Experimental 100% async language: Kopi

SubjectAuthor
o Experimental 100% async language: KopiMike Austin

1
Experimental 100% async language: Kopi

<01bb4c85-19ea-45d6-b221-13d0f69547f9n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=847&group=comp.lang.misc#847

  copy link   Newsgroups: comp.lang.misc
X-Received: by 2002:a05:6214:706:: with SMTP id b6mr27518214qvz.29.1632174647098;
Mon, 20 Sep 2021 14:50:47 -0700 (PDT)
X-Received: by 2002:a37:f610:: with SMTP id y16mr25729117qkj.518.1632174646875;
Mon, 20 Sep 2021 14:50:46 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.misc
Date: Mon, 20 Sep 2021 14:50:46 -0700 (PDT)
Injection-Info: google-groups.googlegroups.com; posting-host=2601:646:c500:b12:2465:35a9:591b:2400;
posting-account=v2LNPgoAAACPnMz50pN62fMz2w5qIyNi
NNTP-Posting-Host: 2601:646:c500:b12:2465:35a9:591b:2400
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <01bb4c85-19ea-45d6-b221-13d0f69547f9n@googlegroups.com>
Subject: Experimental 100% async language: Kopi
From: mike.austin.1024@gmail.com (Mike Austin)
Injection-Date: Mon, 20 Sep 2021 21:50:47 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 10
 by: Mike Austin - Mon, 20 Sep 2021 21:50 UTC

Hi all! Yes, I keep popping in and out of this group, but the names look familiar and looks like still a good amount of discussion going on here which is great.

In the back of my mind I always thought, what if a language was mostly async? That doesn't mean code would run rampant, but would be coordinated by promises and "await"s (available in many languages). Async, but not necessarily concurrent, you could say.

And the language was born. Still a lot to work on, but basic syntax works, as well as coroutines:

https://github.com/mikeaustin/kopi

Coroutines in an async environment are actually just functions that resolve() early but keep running. Simple. The rest of the language is also simple, as an experiment as to how far I could get with only some functions and literals (no keywords).

Happy coding!

1
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor