From 1415b7fc9d134691448207df2b8d967a63e01e6b Mon Sep 17 00:00:00 2001 From: hanez Date: Thu, 23 Apr 2026 00:34:04 +0200 Subject: [PATCH] Added new blog post and a lot of content fixes. No code changes. (0.40.6) --- web/Makefile | 1 - web/_config.yml | 2 +- ...4-23-call-for-participants-and-sponsors.md | 56 +++++++++++++++++++ web/documentation/internals/internals.md | 12 ++-- web/documentation/website/website.md | 20 +++---- 5 files changed, 72 insertions(+), 19 deletions(-) create mode 100644 web/_posts/2026-04-23-call-for-participants-and-sponsors.md diff --git a/web/Makefile b/web/Makefile index c1c7dff..00aecff 100644 --- a/web/Makefile +++ b/web/Makefile @@ -2,7 +2,6 @@ all: make release build: - #wget -O ./handbook/handbook.md https://git.xw3.org/fun/fun/raw/branch/main/docs/handbook.md bundle exec jekyll b --incremental clean: diff --git a/web/_config.yml b/web/_config.yml index a4bbe02..95e9e53 100644 --- a/web/_config.yml +++ b/web/_config.yml @@ -11,7 +11,7 @@ keywords: - language - c - python - - scrpts + - scripts - repl - type - safety diff --git a/web/_posts/2026-04-23-call-for-participants-and-sponsors.md b/web/_posts/2026-04-23-call-for-participants-and-sponsors.md new file mode 100644 index 0000000..ebf6eda --- /dev/null +++ b/web/_posts/2026-04-23-call-for-participants-and-sponsors.md @@ -0,0 +1,56 @@ +--- +layout: post +published: true +author: hanez +author_email: you@hanez.org +author_url: https://hanez.org +noToc: false +title: Call for Participants and Sponsors +description: Join us in shaping the future of the Fun programming language +date: 2026-04-23 +categories: +- news +- project +- community +tags: +- fun +- open-source +- contribution +- sponsorship +--- + +The Fun project is growing, and we are looking for passionate individuals and organizations to join our journey. Whether you are a developer, a writer, a designer, or someone who believes in our mission, there are many ways to get involved. + +### Seeking Participants + +We are looking for contributors to help with: + +- Core Development: Enhancing the VM, refining the language specification, and expanding the standard library. +- Web Design: Improving the website's look and feel and enhancing user experience. +- Documentation: Improving the handbook, writing tutorials, and documenting internals. +- Testing & QA: Helping us find bugs and improve our CI/CD pipelines. +- Examples & Libraries: Building real-world applications and libraries using Fun. + +### Seeking Sponsors + +To keep the project sustainable and speed up development, we are also looking for sponsors. Sponsorship helps us cover: + +- Infrastructure and hosting costs. +- Development of key features and tools. +- Outreach and community building efforts. + +If you or your organization are interested in supporting Fun, please reach out to us. + +### How to Get Involved + +If you're interested in participating or sponsoring, please: + +- Visit our [Git Repository](https://git.xw3.org/fun/fun){:class="git"} and check out the open issues. +- Join our community discussions. +- Contact Johannes Findeisen (hanez) directly via [email](mailto:hanez@fun-lang.xyz){:class="mail"}. + +Every contribution, no matter how small, helps us move closer to our goal of making Fun a powerful and minimal tool for developers everywhere. + +Happy hacking! + +Johannes Findeisen (hanez) - [hanez@fun-lang.xyz](mailto:hanez@fun-lang.xyz){:class="mail"} diff --git a/web/documentation/internals/internals.md b/web/documentation/internals/internals.md index 75c8590..07c4e41 100644 --- a/web/documentation/internals/internals.md +++ b/web/documentation/internals/internals.md @@ -4,7 +4,7 @@ published: true noToc: false noComments: false noDate: false -title: Fun - Internals +title: Internals subtitle: Implementation details, bytecode format, VM architecture, stacks/frames, parser, and dispatch. description: Implementation details, bytecode format, VM architecture, stacks/frames, parser, and dispatch. permalink: /documentation/internals/ @@ -201,7 +201,6 @@ Fun supports a lightweight include mechanism at the source text level (handled b // __include_begin__: : …included lines… // __include_end__: : - - map_expanded_line_to_include(path, line, out_path, out_line) uses these markers to map a line in the expanded text back to the original file:line that contributed it. When the VM produces stderr output, fun_vm_vfprintf annotates messages with the mapped file and line if possible. @@ -227,7 +226,6 @@ Key components: - parse_block handles nested blocks, indentation tracking, and emits OP_LINE markers for accurate source positioning. - Control‑flow codegen: - - Conditional and loop constructs emit OP_JUMP/OP_JUMP_IF_FALSE with forward jump placeholders patched later via bytecode_set_operand. - try/catch/finally: emit OP_TRY_PUSH/OP_TRY_POP and arrange handler ips; OP_THROW for explicit throw. @@ -269,10 +267,10 @@ Feature flags (CMake): - Use OP_LINE markers (visible via bytecode_dump) to correlate bytecode with source lines. - vm_dump_globals helps inspect non‑nil globals at runtime. - When adding a new opcode: - 1) Extend enum OpCode and opcode_names[] - 2) Implement a handler (small C file) and include it from src/vm.c - 3) Teach the parser/emitter to generate the opcode - 4) Update documentation/spec and examples + 1. Extend enum OpCode and opcode_names[] + 2. Implement a handler (small C file) and include it from src/vm.c + 3. Teach the parser/emitter to generate the opcode + 4. Update documentation/spec and examples ## Data limits and sizes diff --git a/web/documentation/website/website.md b/web/documentation/website/website.md index 828e0b6..7e1e3ec 100644 --- a/web/documentation/website/website.md +++ b/web/documentation/website/website.md @@ -4,7 +4,7 @@ published: true noToc: false noComments: false noDate: false -title: Fun - Website Documentation (fun-lang.xyz) +title: Website Documentation (fun-lang.xyz) subtitle: Documentation for the fun-lang.xyz website in the `./web/` directory. description: Documentation for the fun-lang.xyz website in the `./web/` directory. permalink: /documentation/website/ @@ -24,9 +24,9 @@ This document describes the structure and maintenance of the website for the Fun The website is built using [Jekyll](https://jekyllrb.com/){:class="ext"}, a static site generator written in Ruby. -- **Markdown Engine:** kramdown (configured for GFM) -- **Syntax Highlighting:** Rouge -- **Plugins:** +- Markdown Engine: kramdown (configured for GFM) +- Syntax Highlighting: Rouge +- Plugins: - `jekyll-paginate` - `jekyll-sitemap` - `jekyll-toc` @@ -65,13 +65,13 @@ The `./web/` directory contains a `Makefile` to simplify common tasks: To run the website locally for development: -1. **Prerequisites:** Ensure you have Ruby, Bundler, and optionally the `minify` tool installed. -2. **Install dependencies:** +1. Prerequisites: Ensure you have Ruby, Bundler, and optionally the `minify` tool installed. +2. Install dependencies: ```bash cd web/ bundle install ``` -3. **Run the development server:** +3. Run the development server: Using the Makefile: ```bash make run @@ -84,9 +84,9 @@ To run the website locally for development: ## Content Management -- **Blog Posts:** Add new `.md` files to `_posts/` following the `YYYY-MM-DD-title.md` naming convention. -- **Pages:** Create new `.md` or `.html` files in the root of the `./web/` directory or in subdirectories. -- **Configuration:** Update `_config.yml` for site-wide settings, navigation, or social media links. +- Blog Posts: Add new `.md` files to `_posts/` following the `YYYY-MM-DD-title.md` naming convention. +- Pages: Create new `.md` or `.html` files in the root of the `./web/` directory or in subdirectories. +- Configuration: Update `_config.yml` for site-wide settings, navigation, or social media links. ## Deployment