• OEP5: Simplicity and Expressive Power
  • Phase 1: Unified Naming
  • Phase 2: Functions are Values
  • Technical requirements for treating functions as values
  • Social implications of treating functions as values
  • Phase 3: Shapes are Values
  • Phase 4: Generalized List Notation
  • Phase 5: Functors
  • Phase 6: Packages are Values
  • Previous Drafts, Soon to be Deleted
  • Phase 1: Unified Naming
  • Entities and Definitions
  • Values
  • Functions
  • Shapes
  • Groups
  • Modules
  • Scripts
  • Implementation
  • Appendix: OpenSCAD2--Everything Is A Value
  • Functions as Values
  • Programming with Modules and Groups
  • Functions that take Shape as Arguments
  • Functions that return Shapes as Results
  • Unifying Lists and Groups
  • What To Do about Modules
  • Functors are Generalized Modules
  • Generalized List Syntax
  • Other Changes
  • Phased Implementation
  • Conclusions