frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: AutoLISP interpreter in Rust/WASM – a CAD workflow invented 33 yrs ago

https://acadlisp.de/noscript.html
34•holg•2h ago

Comments

holg•2h ago
In the early 90s I wrote AutoLISP code for AutoCAD 9/10 that enabled a CSV → template → parametric drawing workflow. You could define components in spreadsheets, feed them through templates, and generate complete technical drawings automatically.

I've never seen anyone else use this approach. Now I've built an interpreter in Rust/WASM so it can run in the browser - partly nostalgia, partly preservation before this knowledge disappears entirely.

The lisp/ folder contains some LSP files from that era, others i recreated from memory.

Repo: https://github.com/holg/acadlisp/

What kind of drawings were you generating? Electrical schematics, mechanical parts, architecture? We also have some playground, to toy around with LISP and some function generator, to demonstrate Lisp usage for math...

lambda•2h ago
I get a 404 for that repo; is it private?

Also, the page you link to in the original post is in German; it might be nice to have an English page for the mostly English speaking audience here on HN

holg•2h ago
fixed it, thx for the notice
stocksinsmocks•1h ago
I have a lot of interest in this space for infrastructure design. Thanks for sharing.
51Cards•46m ago
We were on the same page. I also built something similar for a Conveyor company here in Canada in the early 90's. We parameterized all their tech drawings (or at least the initial versions) from their component libraries. Was a great project. Not sure how long they used it, they eventually acquired the resources to support it internally (I was an independent AutoLISP contractor). Good times back then. I haven't done AutoLISP in years now but great to see it's still around.
holg•13m ago
Ha, so I wasn't alone! Conveyors are a perfect fit - standardized components, parametric variations. The pattern was obvious once you saw it. Good to know it worked for you too.
pjmlp•1h ago
AutoCad nowadays uses .NET as well, and thus any CLR enabled language, with a MSIL backend.

https://help.autodesk.com/view/OARX/2024/ENU/?guid=GUID-390A...

holg•1h ago
sure it does, but Lisp is special, and for those times it was very special. I did not want to show how it is done nowadays, but how we had done it 33 yrs ago... And now there is the emulator as the web-page, this is what i wanted to share (everything works as wasm in the browser)...
ofrzeta•1h ago
related: "In Version 2.5, AutoLISP allowed access to the DWG database. AutoLISP was based on XLISP, a public domain version of LISP written by David Betz. Betz later complained that Autodesk had failed to acknowledge the source, which the company later did." (https://www.shapr3d.com/history-of-cad/autodesk-and-autocad)

https://github.com/dbetz/xlisp

holg•1h ago
Thanks for the link! I didn't know about the XLISP controversy.

My interpreter doesn't aim for full compatibility - just enough to run the schematic generation workflow from 1991. The core is: defun, setq, car/cdr, recursion, and the (command ...) interface to draw entities.

The interesting part was how templates could trigger other templates - inserting a contactor (Schütz) would automatically generate its coil in the control circuit. Code writing code, classic LISP.

cmrdporcupine•58m ago
I remember using Betz's stuff on my Atari ST in the 80s (and then other stuff he did decades later on the Parallax Propeller chip, where he is an active community member). XLISP, advsys, and his scheme dialect, too.

I always wondered if he got compensated for the stuff he did that then got used in AutoCAD.

Sounds like no

buildsjets•59m ago
I had to accomplish pretty much the same exact task circa 1999, but in Aldus Pagemaker using Postscript.

My first job out of college was a 6 month contact at a fairly small industrial control manufacturer that had been purchased by a larger conglomerate. All of their engineering documentation needed to be converted to the new company’s format.

The old company had devised a scheme whereby a wire harness could be completely described by the part number, which encoded the wire size, color, length, and termination. The new company wanted a detail drawing for each wire, with thousands in the database.

I made a library of reusable glyphs that could be stored in Pagemaker layers, and connected with postscript generated lines, and a script to iterate through the part number database and generate drawings.

kayo_20211030•47m ago
Super interesting. Thanks. AutoLisp was both a pain and underrated. But, it was perfect for this sort of stuff. Much easier than generating the dxf files directly, say using postscript ;-). I love the modern recreations and UI.
holg•38m ago
Thanks! You nailed it - AutoLISP was the right abstraction. Direct DXF/PostScript meant entity tables and coordinate gymnastics. (command "LINE" p1 p2) just did the thing. What's running here: real WASM interpreter executing AutoLISP, not a slideshow. SVG native, DXF export (AC1009), all text editable, JSON data feed instead of CSV. My brother could open this page and start working the same workflow we did in '91 - better feed, better output. And Rust is a surprisingly natural fit - Lisp's explicit stack discipline maps cleanly onto ownership. What Rust enforces, Lisp already wants.

Package managers keep using Git as a database, it never works out

https://nesbitt.io/2025/12/24/package-managers-keep-using-git-as-a-database.html
371•birdculture•5h ago•207 comments

C/C++ Embedded Files (2013)

https://www.4rknova.com//blog/2013/01/27/cpp-embedded-files
21•ibobev•1h ago•15 comments

LearnixOS

https://www.learnix-os.com
116•gtirloni•5h ago•36 comments

Show HN: AutoLISP interpreter in Rust/WASM – a CAD workflow invented 33 yrs ago

https://acadlisp.de/noscript.html
35•holg•2h ago•16 comments

ICE's interest in high-tech gear raises new questions: 'What is it for?'

https://www.politico.com/news/2025/12/26/ice-high-tech-surveillance-lower-privacy-guardrails-0070...
52•standardUser•45m ago•40 comments

A Proclamation Regarding the Restoration of the Em-Dash

https://blog.nawaz.org/posts/2025/Dec/a-proclamation-regarding-the-restoration-of-the-dash/
5•BeetleB•53m ago•3 comments

Unix "find" expressions compiled to bytecode

https://nullprogram.com/blog/2025/12/23/
57•rcarmo•5h ago•3 comments

Maybe the default settings are too high

https://www.raptitude.com/2025/12/maybe-the-default-settings-are-too-high/
820•htk•19h ago•268 comments

High School Student Discovers 1.5M Potential New Astronomical Objects

https://www.smithsonianmag.com/smart-news/high-school-student-discovers-1-5-million-potential-new...
73•mhb•3h ago•66 comments

Joan Didion and Kurt Vonnegut had something to say. We have it on tape

https://www.nytimes.com/2025/12/19/books/james-baldwin-joan-didion-92ny-recordings.html
68•tintinnabula•4d ago•9 comments

The Algebra of Loans in Rust

https://nadrieril.github.io/blog/2025/12/21/the-algebra-of-loans-in-rust.html
135•g0xA52A2A•3d ago•71 comments

Show HN: Xcc700: Self-hosting mini C compiler for ESP32 (Xtensa) in 700 lines

https://github.com/valdanylchuk/xcc700
28•isitcontent•3h ago•3 comments

Bedlam Cube Solved (ALL 19,186 solutions)

http://scottkurowski.com/BedlamCube/
16•kristianp•4d ago•2 comments

ZJIT is now available in Ruby 4.0

https://railsatscale.com/2025-12-24-launch-zjit/
11•ibobev•1h ago•0 comments

Overlooked No More: Inge Lehmann, Who Discovered the Earth's Inner Core

https://www.nytimes.com/2025/12/20/obituaries/inge-lehmann-overlooked.html
44•Hooke•3d ago•10 comments

Rob Pike Goes Nuclear over GenAI

https://skyview.social/?url=https%3A%2F%2Fbsky.app%2Fprofile%2Frobpike.io%2Fpost%2F3matwg6w3ic2s&...
682•christoph-heiss•4h ago•647 comments

TurboDiffusion: 100–200× Acceleration for Video Diffusion Models

https://github.com/thu-ml/TurboDiffusion
186•meander_water•15h ago•33 comments

Sandbox: Run untrusted AI code safely, fast

https://github.com/PwnFunction/sandbox
4•vortex_ape•1w ago•0 comments

An 11-qubit atom processor in silicon with all fidelities from 99.10% to 99.99%

https://www.nature.com/articles/s41586-025-09827-w
55•giuliomagnifico•5d ago•34 comments

ChatGPT conversations still lack timestamps after years of requests

https://community.openai.com/t/timestamps-for-chats-in-chatgpt/440107?page=3
174•Valid3840•5h ago•95 comments

Show HN: Gaming Couch – a local multiplayer party game platform for 8 players

https://gamingcouch.com
344•ChaosOp•5d ago•104 comments

I'm a laptop weirdo and that's why I like my new Framework 13

https://blog.matthewbrunelle.com/im-a-laptop-weirdo-and-thats-why-i-like-my-new-framework-13/
212•todsacerdoti•5h ago•194 comments

Geometric Algorithms for Translucency Sorting in Minecraft [pdf]

https://douira.dev/assets/document/douira-master-thesis.pdf
49•HeliumHydride•8h ago•18 comments

Building an AI agent inside a 7-year-old Rails monolith

https://catalinionescu.dev/ai-agent/building-ai-agent-part-1/
85•cionescu1•10h ago•39 comments

How to Reproduce This Book with LaTeX

https://github.com/BenjaminGor/Latex_Notes_Tutorial
69•nill0•1w ago•8 comments

Targeting by Reference in the Shadow DOM

https://meyerweb.com/eric/thoughts/2025/12/19/targeting-by-reference-in-the-shadow-dom/
10•surprisetalk•6d ago•0 comments

MiniMax M2.1: Built for Real-World Complex Tasks, Multi-Language Programming

https://www.minimaxi.com/news/minimax-m21
193•110•17h ago•69 comments

The First Web Server

https://dfarq.homeip.net/the-first-web-server/
28•giuliomagnifico•7h ago•6 comments

Python 3.15’s interpreter for Windows x86-64 should hopefully be 15% faster

https://fidget-spinner.github.io/posts/no-longer-sorry.html
389•lumpa•1d ago•132 comments

Fahrplan – 39C3

https://fahrplan.events.ccc.de/congress/2025/fahrplan/
353•rurban•23h ago•169 comments