From 9bf19f4c6a20652b73fb9c56032e8e6e5a99d0ba Mon Sep 17 00:00:00 2001 From: aspizu Date: Thu, 8 Oct 2026 12:03:06 +0530 Subject: [PATCH] Rewrite README prose --- README.md | 113 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 58 insertions(+), 55 deletions(-) diff --git a/README.md b/README.md index d80605b..d5a7e0a 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,16 @@

- + goboscript

- Launch IDE  •  + IDE  •  Documentation  •  + Decompiler  •  Standard Library  •  - Package Manager  •  - Decompiler

+ Package Manager +

+ @@ -18,31 +20,37 @@ ![Matrix](https://img.shields.io/matrix/goboscript%3Amatrix.org?logo=matrix&label=goboscript%3Amatrix.org) [![Discord](https://img.shields.io/discord/1462182798210109505?style=flat&logo=discord&label=Discord)](https://discord.gg/mKQqsJ6UtK) ![GitHub License](https://img.shields.io/github/license/aspizu/goboscript) goboscript is a text-based programming language that compiles to Scratch. Write -Scratch projects in text, and compile it into a `.sb3` file -- which can be opened -in the Scratch editor, TurboWarp or be uploaded to the Scratch website. - -goboscript makes developing advanced Scratch projects FAST. goboscript syntax is -concise and easy to read. Use a version-control system such as git. Use VS Code -or your favourite text-editor. Share code by copy-pasting. Use the standard library. -Refactor code using search and replace. Write scripts in other programming languages -to generate goboscript code. goboscript allows you to integrate external tooling and -workflows, such as using a script to generate costumes for a text rendering engine, -or loading in images into lists. goboscript has a powerful macro system similar to C. -The standard library includes many macros for frequently used patterns, such as -converting R, G, B values into a single integer. goboscript performs optimization, -removes unused code, and detects problems & mistakes. - -goboscript is more than just an 1:1 mapping of Scratch blocks to text, it has -abstractions such as: - -- Custom data-types using Structs and Enums. -- Functions that return values -- Default parameters for Functions & Procedures -- Operators such as: `!=`, `>=`, `<=`, `//` (Floor division), `not in` -- Local variables (Function-scoped) -- and more... - -All these abstractions are compiled down to regular Scratch code. +your project as plain text and compile it into a `.sb3` file that opens in the +Scratch editor, TurboWarp, or on the Scratch website. + +goboscript makes developing advanced Scratch projects fast. The syntax is concise +and easy to read, and because projects are plain text, you get the full power of +modern tooling: + +- Version control with git. +- Any editor you like -- VS Code, or your favourite text editor. +- Sharing code by copy-pasting. +- Refactoring with search and replace. +- Code generation -- write scripts in other languages that emit goboscript. +- External tools and workflows, such as generating costumes for a text rendering + engine or loading images into lists. + +A powerful macro system (similar to C's) eliminates repetition, and the +[standard library](https://github.com/goboscript/std) ships macros for frequently +used patterns, like converting R, G, B values into a single integer. The compiler +optimizes your project, removes unused code, and detects problems and mistakes. + +goboscript goes beyond a 1:1 mapping of Scratch blocks to text with abstractions +such as: + +- Custom data types using Structs and Enums. +- Functions that return values. +- Default parameters for functions and procedures. +- Operators such as `!=`, `>=`, `<=`, `//` (floor division) and `not in`. +- Local variables (function-scoped). +- ...and more. + +All of these abstractions compile down to regular Scratch code. @@ -50,47 +58,42 @@ All these abstractions are compiled down to regular Scratch code. goboscript overview & reference -[**Scratch Forum topic**](https://scratch.mit.edu/discuss/topic/747370/)  •  [**Made With goboscript Studio**](https://scratch.mit.edu/studios/51262907/)  •  [**Hacker News Discussion (Reached Frontpage)**](https://news.ycombinator.com/item?id=44026799) - -## Sister Projects - -- [std](https://github.com/goboscript/std): The goboscript standard library. -- [backpack](https://github.com/aspizu/backpack): Package manager for goboscript. -- [sb2gs](https://github.com/aspizu/sb2gs): Decompile Scratch projects (.sb3) into goboscript projects (.gs) -- [IDE](https://github.com/aspizu/goboscript-ide): Online IDE for goboscript, runs projects instantly in the browser. -- [MCP Server](https://github.com/aspizu/goboscript-mcp): Connects AI coding agents to the compiler and Turbowarp Desktop. +[**Scratch Forum Topic**](https://scratch.mit.edu/discuss/topic/747370/)  •  [**Made With Goboscript Studio**](https://scratch.mit.edu/studios/51262907/)  •  [**Hacker News Discussion (Reached Frontpage)**](https://news.ycombinator.com/item?id=44026799) ## Prior Art -For a complete list of all text-based scratch projects, see +For a complete list of text-based Scratch languages, see +. -**@retr0id** first presented the demoscene discord with his -[**boiga**](https://github.com/DavidBuchanan314/boiga) project. boiga works by -exporting Python data structures which nicely represent Scratch code in the form of -Python code. Soon after, I created my own re-implementation of boiga called Gobomatic. +[@retr0id](https://scratch.mit.edu/users/retr0id/) first presented his +[boiga](https://github.com/DavidBuchanan314/boiga) project to the demoscene +Discord. boiga exports Python data structures that neatly represent Scratch code +as Python source. Soon after, I created my own re-implementation of boiga called +Gobomatic. ## Contributing -See the [**Contributing Guide**](https://aspiz.uk/goboscript/docs/contributing.html) for -instructions on setting up the development environment and submitting Pull Requests. +See the [**Contributing Guide**](https://aspiz.uk/goboscript/docs/contributing.html) +for instructions on setting up a development environment and submitting pull +requests. See [**CHANGELOG**](./CHANGELOG.md) for a list of changes. ## FOSS HACK 25 goboscript was one of the -[first-place winners](https://forum.fossunited.org/t/foss-hack-2025-results/5541) of -FOSS HACK 25, and was awarded a ₹50,000 prize. FOSS HACK 25 was a open-source -hackathon conducted on 22nd - 23rd February 2025 by the FOSS United Foundation. -During the 48-hour hackathon, I had worked on several goboscript issues and feature -implementation. Thank you FOSS United for the platform and opportunity. +[first-place winners](https://forum.fossunited.org/t/foss-hack-2025-results/5541) +of FOSS HACK 25 and was awarded a ₹50,000 prize. FOSS HACK 25 was a 48-hour +open-source hackathon conducted on 22nd – 23rd February 2025 by the FOSS United +Foundation. Over the weekend, I worked on several goboscript issues and features. +Thank you FOSS United. ## Star History - - - - Star History Chart - + + + + Star History Chart +