Skip to content

Latest commit

 

History

History
58 lines (49 loc) · 3.26 KB

README.md

File metadata and controls

58 lines (49 loc) · 3.26 KB

Better abstraction mechanisms for OpenSCAD

OpenSCAD2 is a backward compatible redesign of the OpenSCAD language. The goals are:

  1. to make OpenSCAD easier to use;
  2. to make OpenSCAD more expressive and powerful, not by adding complexity and piling on features, but by making the core language simpler and more uniform, and by removing restrictions on how language elements can be composed together to create larger components.

Summary: Everything is now a first class value. Functions, modules, shapes, groups and even OpenSCAD scripts are first class values.


2019 Update: The OpenSCAD2 proposal was not accepted by some members of the OpenSCAD community, and it had some problems with backward compatibility.

In early 2017, I wrote a new proposal, which was much simpler, and did a better job of preserving backward compatibility. Please read the OpenSCAD bis Proposal.

The early prototype implementation of OpenSCAD2 has since evolved into the Curv project.


Why Is This So Big? Making everything first class while retaining backward compatibility is a hard design problem: everything depends on everything else. It's important to map out all of the required changes in advance, before we start implementation.

Overview: >> READ ME FIRST <<

RFC documents

The design documentation is structured as a collection of RFCs. To comment on an RFC, click on Issues in the sidebar, and either create a new issue with the same name as the RFC, or find the existing issue.