Coputer

Coputer Used AI

6 devlogs
70h 45m
•  Ship certified
Created by Heliodex

Coputer is a network for running programs written in Luau (luau.org). The network is decentralised and collaborative (that's the co- in coputer), and any uploaded program should be free to run and accessible 24/7 from anywhere across the network.

Right now it isn't 'decentralised' and there isn't really a 'network' – there's just one server and it's mine, but it does run Luau! The demo link shows the first program on the network, which makes this the most overengineered web server ever.

Timeline

Some optimisations have been made to the Coputer VM – I'm starting with low-level functions like vector mathematics and bit32 operations because they're the smallest and easiest to test. In some cases, like floating-point operations, my custom functions were actually a lot slower than standard library ones!

I'll keep benchmarking higher-level functions until we can actually make an impact on performance, as at the moment Coputer's main VM is around 10x slower than the Luau reference implementation for most operations. The main reason the system is still fast enough is because of aggressive caching and memoisation on function results and arguments wherever possible, though better VM performance is always nice.

Update attachment

The first Coputer webpage now features some information about how the network works, detailing the path taken when a program is requested to be run by the network.
Some program bundling bugs that were uncovered while updating the site have also been fixed, and the public gateway at https://coputer.heliodex.cf has been updated to list programs for each user correctly. I'm actually pretty surprised the system has been running for a few weeks now without crashing.

Update attachment

Alongside the system for working with the output of luau-ast, the ast branch now also contains a working Luau lexer, passing all test cases of the reference implementation, and a work-in-progress parser. The parser seems like it will be the more difficult side of the system to implement, though I'll be able to reuse the existing AST node structure I was testing previously.

Update attachment

The ast branch of the repository contains an experimental system for working with the syntax of the Luau language used to write Coputer programs, parsing the JSON output of the luau-ast tool into a typed and more easily workable hierarchy. A set of tests are also provided alongside the system with inputs and expected outputs.

Hopefully in future this means we'll be able to provide advanced tooling for Luau, specially tailored to use in Coputer, to improve development experience.

Update attachment

More tests have been added to the VM, which is the thing that actually runs Coputer programs. Test coverage has increased from 91.4% to 92.7% if that's a metric worth caring about, and bugs with string pattern matching and table sorting uncovered while testing have been fixed.

Update attachment

Ship 1

1 payout of shell 133.0 shells

Heliodex

26 days ago

Heliodex Covers 1 devlog and 36h 40m

Coputer serves its first ever program as a webpage!

Its URL is https://first-h2lk2orlh-cctfxch0x-5yd7n93mg-zxmn64hy4-wfe6s2l9z.coputer.heliodex.cf. The domain might initially look strange: the part before the first - is the program name, then the rest is my public key so you can tell I published the program.

The program is accessed through a 'gateway' hosted at coputer.heliodex.cf, which asks the network for a program and returns it as a web response. I will go into more detail on how this process works later.

Update attachment