Added new blog post and a lot of content fixes. No code changes. (0.40.6)
This commit is contained in:
parent
d17c89f552
commit
1415b7fc9d
5 changed files with 72 additions and 19 deletions
|
|
@ -2,7 +2,6 @@ all:
|
||||||
make release
|
make release
|
||||||
|
|
||||||
build:
|
build:
|
||||||
#wget -O ./handbook/handbook.md https://git.xw3.org/fun/fun/raw/branch/main/docs/handbook.md
|
|
||||||
bundle exec jekyll b --incremental
|
bundle exec jekyll b --incremental
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ keywords:
|
||||||
- language
|
- language
|
||||||
- c
|
- c
|
||||||
- python
|
- python
|
||||||
- scrpts
|
- scripts
|
||||||
- repl
|
- repl
|
||||||
- type
|
- type
|
||||||
- safety
|
- safety
|
||||||
|
|
|
||||||
56
web/_posts/2026-04-23-call-for-participants-and-sponsors.md
Normal file
56
web/_posts/2026-04-23-call-for-participants-and-sponsors.md
Normal file
|
|
@ -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"}
|
||||||
|
|
@ -4,7 +4,7 @@ published: true
|
||||||
noToc: false
|
noToc: false
|
||||||
noComments: false
|
noComments: false
|
||||||
noDate: false
|
noDate: false
|
||||||
title: Fun - Internals
|
title: Internals
|
||||||
subtitle: Implementation details, bytecode format, VM architecture, stacks/frames, parser, and dispatch.
|
subtitle: Implementation details, bytecode format, VM architecture, stacks/frames, parser, and dispatch.
|
||||||
description: 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/
|
permalink: /documentation/internals/
|
||||||
|
|
@ -201,7 +201,6 @@ Fun supports a lightweight include mechanism at the source text level (handled b
|
||||||
// __include_begin__: <path>:<line>
|
// __include_begin__: <path>:<line>
|
||||||
…included lines…
|
…included lines…
|
||||||
// __include_end__: <path>:<line>
|
// __include_end__: <path>:<line>
|
||||||
|
|
||||||
- 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.
|
- 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.
|
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.
|
- parse_block handles nested blocks, indentation tracking, and emits OP_LINE markers for accurate source positioning.
|
||||||
|
|
||||||
- Control‑flow codegen:
|
- Control‑flow codegen:
|
||||||
|
|
||||||
- Conditional and loop constructs emit OP_JUMP/OP_JUMP_IF_FALSE with forward jump placeholders patched later via bytecode_set_operand.
|
- 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.
|
- 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.
|
- Use OP_LINE markers (visible via bytecode_dump) to correlate bytecode with source lines.
|
||||||
- vm_dump_globals helps inspect non‑nil globals at runtime.
|
- vm_dump_globals helps inspect non‑nil globals at runtime.
|
||||||
- When adding a new opcode:
|
- When adding a new opcode:
|
||||||
1) Extend enum OpCode and opcode_names[]
|
1. Extend enum OpCode and opcode_names[]
|
||||||
2) Implement a handler (small C file) and include it from src/vm.c
|
2. Implement a handler (small C file) and include it from src/vm.c
|
||||||
3) Teach the parser/emitter to generate the opcode
|
3. Teach the parser/emitter to generate the opcode
|
||||||
4) Update documentation/spec and examples
|
4. Update documentation/spec and examples
|
||||||
|
|
||||||
## Data limits and sizes
|
## Data limits and sizes
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ published: true
|
||||||
noToc: false
|
noToc: false
|
||||||
noComments: false
|
noComments: false
|
||||||
noDate: 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.
|
subtitle: Documentation for the fun-lang.xyz website in the `./web/` directory.
|
||||||
description: 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/
|
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.
|
The website is built using [Jekyll](https://jekyllrb.com/){:class="ext"}, a static site generator written in Ruby.
|
||||||
|
|
||||||
- **Markdown Engine:** kramdown (configured for GFM)
|
- Markdown Engine: kramdown (configured for GFM)
|
||||||
- **Syntax Highlighting:** Rouge
|
- Syntax Highlighting: Rouge
|
||||||
- **Plugins:**
|
- Plugins:
|
||||||
- `jekyll-paginate`
|
- `jekyll-paginate`
|
||||||
- `jekyll-sitemap`
|
- `jekyll-sitemap`
|
||||||
- `jekyll-toc`
|
- `jekyll-toc`
|
||||||
|
|
@ -65,13 +65,13 @@ The `./web/` directory contains a `Makefile` to simplify common tasks:
|
||||||
|
|
||||||
To run the website locally for development:
|
To run the website locally for development:
|
||||||
|
|
||||||
1. **Prerequisites:** Ensure you have Ruby, Bundler, and optionally the `minify` tool installed.
|
1. Prerequisites: Ensure you have Ruby, Bundler, and optionally the `minify` tool installed.
|
||||||
2. **Install dependencies:**
|
2. Install dependencies:
|
||||||
```bash
|
```bash
|
||||||
cd web/
|
cd web/
|
||||||
bundle install
|
bundle install
|
||||||
```
|
```
|
||||||
3. **Run the development server:**
|
3. Run the development server:
|
||||||
Using the Makefile:
|
Using the Makefile:
|
||||||
```bash
|
```bash
|
||||||
make run
|
make run
|
||||||
|
|
@ -84,9 +84,9 @@ To run the website locally for development:
|
||||||
|
|
||||||
## Content Management
|
## Content Management
|
||||||
|
|
||||||
- **Blog Posts:** Add new `.md` files to `_posts/` following the `YYYY-MM-DD-title.md` naming convention.
|
- 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.
|
- 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.
|
- Configuration: Update `_config.yml` for site-wide settings, navigation, or social media links.
|
||||||
|
|
||||||
## Deployment
|
## Deployment
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue