惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

爱范儿
爱范儿
MyScale Blog
MyScale Blog
Recent Announcements
Recent Announcements
N
Netflix TechBlog - Medium
GbyAI
GbyAI
Vercel News
Vercel News
The GitHub Blog
The GitHub Blog
阮一峰的网络日志
阮一峰的网络日志
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V
Visual Studio Blog
Martin Fowler
Martin Fowler
腾讯CDC
大猫的无限游戏
大猫的无限游戏
aimingoo的专栏
aimingoo的专栏
云风的 BLOG
云风的 BLOG
J
Java Code Geeks
WordPress大学
WordPress大学
P
Proofpoint News Feed
雷峰网
雷峰网
酷 壳 – CoolShell
酷 壳 – CoolShell
有赞技术团队
有赞技术团队
人人都是产品经理
人人都是产品经理
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Y
Y Combinator Blog

Hacker News: Show HN

PurrrrrFocus: Pomodoro Timer App - App Store Workflow Engine — Multi-Step Orchestration for Bun RapidPhoto: Pro Photo Editor App - App Store GitHub - DheerG/swarms: Achieve extraordinary results with claude code across a variety of tasks SPICE simulation → oscilloscope → verification with Claude Code — Lucas Gerads Show HN: VCoding – A 5 MB native Windows IDE with no dynamic dependencies Show HN: LLMs don't hallucinate because they're bad at math, it's the format GitHub - Agent-FM/agentfm-core: AgentFM is a peer-to-peer network that turns everyday computers into a decentralized AI supercomputer. AgentFM lets you run massive AI workloads directly across a global mesh of idle CPUs and GPUs. Show HN: Tracking Top US Science Olympiad Alumni over Last 25 Years GitHub - Potarix/agent-hub: One place to talk to all your agents Show HN: Runtime security for AI agents(injection,tool abuse, data exfiltration) GitHub - dubeyKartikay/lazyspotify: Terminal Spotify client for macOS and Linux GitHub - the-banana-tool/king-louie: Easy to use GUI Personal AI Assistant. Win/Linux/Mac. Show HN I made my vacation rental bookable by AI agents–no Airbnb, 0% commission GitHub - basteez/jsf-autoreload: maven plugin to enable hot reload on jsf projects uvm32/hosts/host-gdbstub at main · ringtailsoftware/uvm32 GitHub - labsai/EDDI: Config-driven engine that turns JSON into production-grade AI agents. Multi-agent orchestration, 12+ LLM providers, MCP/A2A protocols, RAG, persistent memory, and enterprise compliance (EU AI Act, GDPR, HIPAA). Built on Quarkus. GitHub - glitchnsec/fortyone-oss: AI Executive Assistant Platform Quickstart | Alien GitHub - muxshed/shed: One stream in, or many. Every destination, simultaneously. No cloud middleman, no per-channel fees, no limits. GitHub - ocrbase-hq/ocrbase: 📄 PDF/IMG ->.MD/JSON Document OCR API for PaddleOCR and GLMOCR. Self-hostable. GitHub - impactjo/home-memory: MCP server that lets your AI assistant remember everything about your home. GitHub - Sets88/dbcls: DbCls is a powerful terminal database client that supports various databases GitHub - neptun2000/heor-agent-mcp GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh RollQuation: Math Puzzles - Apps on Google Play GitHub - dropbox/witchcraft Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis GitHub - opentalon/opentalon: OpenTalon is an open-source platform built from the ground up in Go as a robust alternative to OpenClaw LinkedIn™ 职位抓取工具 - Chrome 应用商店
GitHub - Azer0s/tin: A freshly canned systems language 🥫
arisim · 2026-04-27 · via Hacker News: Show HN

Tin Language Documentation

Tin is a statically typed, compiled systems language with a clean, expression-oriented syntax. It compiles to native code via LLVM.

Table of Contents

Document Contents
01 - Basics Types, variables, echo, string interpolation, operators
02 - Control Flow if/else, for, match (struct + array patterns), where, defer, panic
03 - Functions Functions, closures, generics, pipe operator, overloading
04 - Collections Arrays, slices, ranges, destructuring
05 - Structs Structs, methods, fn init/fn deinit, generics, type aliases, tuples
06 - Traits Trait declaration, default methods, forward fields, vtable dispatch, generic traits
07 - Enums & Unions Integer enums, atom enums, tagged unions, native C unions
08 - C Interop extern, pointers, C struct interop, linker directives (//!)
09 - Packages use/export, package resolution, standard library overview
10 - Reflection Atoms, any type, typeof, traitof, fieldnames, getfield, setfield
11 - Testing test blocks, assert stdlib, tin test command
12 - Macros Simple macros (AST substitution), CTFE macros, backtick code-splice literals
13 - Control Tags #pure, #sideffect, #no_recurse, #no_thread, #allow_sideffect
14 - Fibers & Channels spawn, await, yield, await match, Channel[T], Future[T], async I/O, M:N scheduler

Contributing

Document Contents
Style Guide Code style for stdlib .tin files: spacing, comments, extern grouping, exports

Standard Library

Document Contents
Collections Generic collections: LinkedList[T], HashMap[K,V], List[T] and Map[K,V] traits
Encoding Encoding/decoding: base16, base64, url, json, yaml sub-packages
Errors Error type: Err alias, new, wrap, has, equals
Floats IEEE 754 special values: NaN, Inf, NegInf, is_nan, is_finite
Hash Hash functions: FNV-1a, MD5, SHA-1, xxHash3
Measure Monotonic clock: now_us, now_ms for benchmarking
Networking io, ioutil, tcp, udp, unix - async I/O and socket types
Regex PCRE regular expressions: compile, exec, find_all, replace, split
SIMD Portable SIMD: vector types, splat, loadu, cmpeq, movemask, arch directives
Strings String operations: replace, split, join, trim, contains, index_of, case conversion

Quick taste

Tin compiles to native code via LLVM. Run a file with tin run file.tin, build a binary with tin build file.tin, and run tests with tin test file.tin (or tin test dir/ for one directory, tin test dir/... to recurse).

// Hello world
echo "Hello, world!"

// Fibonacci with pattern matching
fn fib(n u32) u32 =
  where n <= 1: n
  where _: fib(n - 1) + fib(n - 2)

echo fib(10)

// Structs with methods
struct person =
  name string
  age  u8

  fn init(this person) =
    echo "new person: {this.name}"

  fn show(this person) string =
    return "{this.name} is {this.age} years old"

let pete = person{name: "Pete", age: 20}
echo pete.show()

// Traits
trait named =
  label string forward
  fn name(this named) string = return this.label

struct cat(named) =
  breed string

let c = cat{label: "Whiskers", breed: "tabby"}
echo c.name()

// Fibers and channels
use sync

fn{#async} worker(id i64, ch sync::Channel[string]) =
  ch.send("result from fiber {id}")

fn main() =
  let ch = sync::Channel[string].make(4)
  spawn worker(1, ch)
  spawn worker(2, ch)
  echo await ch.recv()   // "result from fiber 1" or "2", whichever finishes first
  echo await ch.recv()

Get started

Prerequisites: clang and LLVM 21 or newer on PATH.

go build .
./tin

That's it. ./tin run file.tin to compile and execute, ./tin test dir/ to run test blocks, or ./tin repl for the interactive REPL (optionally ./tin repl file.tin to preload a file's declarations).