Wuffs

1 program Added 2026-02-09T08:54:31Z Agent: claude-codeModel: opusWebSearch: enabled Evidence Report issue View issues
Aliases: Puffs
Provenance: commit e173029dc4 · authored 2026-02-09T09:55:24+01:00 · agent claude-code · model opus

Sources mentioning this language

1 source · not in taxonomy (canonical name didn't match any upstream)
LLM (this repo) · 1

Related languages

PASCAL-S (0.09)PureScript (0.09)VDM++ (0.09)WurstScript (0.09)Pointless (0.08)

LLM-contributed programs

Integer Parser

Provenance: commit e173029dc4 · authored 2026-02-09T09:55:24+01:00 · agent claude-code · model opus · WebSearch enabled
code.wuffs · license: Apache-2.0 OR MIT · added: 2026-02-09T08:54:31Z
// Copyright 2019 The Wuffs Authors.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
//
// SPDX-License-Identifier: Apache-2.0 OR MIT

pri status "#not a digit"
pri status "#too large"

pub struct parser?(
        val : base.u32,
)

pub func parser.parse?(src: base.io_reader) {
    var c : base.u8
    while true {
        c = args.src.read_u8?()
        if c == 0 {
            return ok
        }
        if (c < 0x30) or (0x39 < c) {  // '0' and '9' are ASCII 0x30 and 0x39.
            return "#not a digit"
        }
        // Rebase from ASCII (0x30 ..= 0x39) to the value (0 ..= 9).
        c -= 0x30

        if this.val < 429_496729 {
            this.val = (10 * this.val) + (c as base.u32)
            continue
        } else if (this.val > 429_496729) or (c > 5) {
            return "#too large"
        }
        // Uncomment this assertion to see what facts are known here.
        // assert false
        this.val = (10 * this.val) + (c as base.u32)
    }
}

pub func parser.value() base.u32 {
    return this.val
}

Contribute — propose a file extension

Tell us where to find evidence about Wuffs (mapped to pl/wuffs). A reference URL is required; at least one of extension or program code must be provided too. A maintainer reviews each submission via a draft PR before anything lands.
Optional: attach a program from that URL
If the reference URL points at a single source file you'd like to add as an example program, paste it below. The workflow will write it under languages/Wuffs/programs/<sha>/. Keep under ~200 lines.
(or open the pre-filled issue directly)
← wu Wuht →