frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: Feather – a fresh Tcl reimplementation (WASM, Go)

https://www.feather-lang.dev
18•dhamidi•5d ago
Hey HN!

First time showing something here, but I've been furiously working over the holidays on Feather, a from scratch reimplementation of TCL designed for embedding in modern applications.

It's starting out as a faithful reimplementation of TCL without I/O, OOP features, or coroutines.

TCL has a special place in my heart because the syntax is so elegant for interactive use, and defining domain specific languages.

My motiviation is twofold: faster feedback loops for AI, and moldable software for users.

It turns out giving AI agents access to the runtime state of your program makes for really fast feedback loops, but embedding existing options in a world where shipping binaries for each platform is commonplace is tricky.

Embedding the real TCL is tricky because it comes with its own event loop (in 2025 you alreay have one), a GUI framework (you have a web framework already, or develop on mobile), and has access to the filesystem (don't forget to delete all commands with file system access!).

Feather just doesn't ship with those - expose only what you need from your application.

A WASM build comes out of the box and clocks in at ~120kb plus 70kb for connecting it to the browser or node.js.

And if embedding becomes easy, you can put a REPL everywhere: in mobile apps, in desktop software, as a control plane into web servers.

I want to imagine a world where all software is scriptable just like Emacs and nvim, with agents doing the actual work.

Comments

smj-edison•2d ago
What, that's super cool! I've also been working on a from scratch implementation of TCL for firstclass multithreading, and it's been really fun learning all the edgecases that show up. I've gotten a lot of the core components working, but man is reference counting a pain in the neck or what. Are you doing a mostly one-to-one port, or something more novel? I've been working on my design to dramatically lower double indirections for lists. It's a little sad that a list contains a list of pointers pointing to another list. So much indirection! So I'm trying an experiment where all non-list/non-dict objects are contained directly after the head dict object in memory. It took a crash course in buddy allocators to finally figure out how to store objects, but it's really cool how I can allocate 8 contigious objects, set the first to the dict metadata, and all other items are the dict's objects. One cooler thing is if one of the dict's items is still borrowed somehere (ref_count > 1), the dictionary will dissolve into individual allocations, and all non-shared items are freed. Then, the new dict will reference them, as they're now normal objects.
cmacleod4•2d ago
Very interesting!

Note that the name might be confused with an old project: https://wiki.tcl-lang.org/page/Feather .

trebligdivad•52m ago
Ooh, it's got to be about 30 years since the Tcl plugin for Netscape; so perhaps we can have it back in the browser via WASM.

Happy Public Domain Day 2026

https://publicdomainreview.org/blog/2026/01/public-domain-day-2026/
88•apetresc•1h ago•8 comments

A website to destroy all websites

https://henry.codes/writing/a-website-to-destroy-all-websites/
386•g0xA52A2A•6h ago•221 comments

Finland detains ship and its crew after critical undersea cable damaged

https://www.cnn.com/2025/12/31/europe/finland-estonia-undersea-cable-ship-detained-intl
335•wslh•8h ago•283 comments

Why users cannot create Issues directly (Ghostty)

https://github.com/ghostty-org/ghostty/issues/3558
44•xpe•2h ago•8 comments

Can Bundler be as fast as uv?

https://tenderlovemaking.com/2025/12/29/can-bundler-be-as-fast-as-uv/
178•ibobev•5h ago•59 comments

Extensibility: The "100% Lisp" Fallacy

https://kyo.iroiro.party/en/posts/100-percent-lisp/
14•todsacerdoti•1h ago•2 comments

Cameras and Lenses (2020)

https://ciechanow.ski/cameras-and-lenses/
369•sebg•10h ago•45 comments

Marmot – A distributed SQLite server with MySQL wire compatible interface

https://github.com/maxpert/marmot
12•zX41ZdbW•1h ago•0 comments

Show HN: Enroll, a tool to reverse-engineer servers into Ansible config mgmt

https://enroll.sh
83•_mig5•1d ago•19 comments

Linux is good now

https://www.pcgamer.com/software/linux/im-brave-enough-to-say-it-linux-is-good-now-and-if-you-wan...
535•Vinnl•6h ago•462 comments

WebAssembly as a Python Extension Platform

https://nullprogram.com/blog/2026/01/01/
45•ArmageddonIt•5h ago•0 comments

Show HN: OpenWorkers – Self-hosted Cloudflare workers in Rust

https://openworkers.com/introducing-openworkers
381•max_lt•12h ago•115 comments

BYD Sells 4.6M Vehicles in 2025, Meets Revised Sales Goal

https://www.bloomberg.com/news/articles/2026-01-01/byd-sells-4-6-million-vehicles-in-2025-meets-r...
191•toomuchtodo•11h ago•292 comments

Dell's version of the DGX Spark fixes pain points

https://www.jeffgeerling.com/blog/2025/dells-version-dgx-spark-fixes-pain-points
109•thomasjb•8h ago•50 comments

2025 Letter

https://danwang.co/2025-letter/
268•Amorymeltzer•13h ago•176 comments

Python numbers every programmer should know

https://mkennedy.codes/posts/python-numbers-every-programmer-should-know/
297•WoodenChair•12h ago•135 comments

AI Futures Model: Dec 2025 Update

https://blog.ai-futures.org/p/ai-futures-model-dec-2025-update
8•amstam•1h ago•1 comments

Gaming on a Receipt Printer [video]

https://www.youtube.com/watch?v=oEqvYXYI56s
4•zdw•5d ago•0 comments

DENT: A network operating system (NOS) for everyone else

https://dent.dev/
4•teleforce•49m ago•0 comments

Bluetooth Headphone Jacking: A Key to Your Phone [video]

https://media.ccc.de/v/39c3-bluetooth-headphone-jacking-a-key-to-your-phone
441•AndrewDucker•16h ago•158 comments

California Delete Request and Opt-out Platform (DROP)

https://privacy.ca.gov/DROP/
9•8organicbits•2h ago•1 comments

50% of U.S. vinyl buyers don't own a record player

https://lightcapai.medium.com/the-great-return-from-digital-abundance-to-analog-meaning-cfda9e428752
139•ResisBey•11h ago•157 comments

China's BYD set to overtake Tesla as top EV seller

https://www.bbc.com/news/articles/cj9rjwpvmpzo
15•decimalenough•42m ago•1 comments

Straussian Memes

https://www.lesswrong.com/posts/CAwnnKoFdcQucq4hG/straussian-memes-a-lens-on-techniques-for-mass-...
26•kp1197•6h ago•33 comments

Moving Images Related to the Apollo Missions, 1967–1969

https://catalog.archives.gov/id/133360601
38•handfuloflight•1w ago•3 comments

Quickemu: Quickly create and run optimised Windows, macOS and Linux VMs

https://github.com/quickemu-project/quickemu
119•teekert•2d ago•23 comments

I rebooted my social life

https://takes.jamesomalley.co.uk/p/this-might-be-oversharing
354•edent•16h ago•285 comments

I was wrong about TypeScript part 1

https://chefama.blog/blog/posts/i-was-wrong-about-typescript-1
13•todsacerdoti•4d ago•1 comments

Why Prefer Textfiles? (2010)

http://textfiles.com/uploads/textfiles.txt
19•kmstout•4h ago•16 comments

C-events, yet another event loop, simpler, smaller, faster, safer

https://zelang-dev.github.io/c-events/
62•thetechstech•6d ago•11 comments