summaryrefslogtreecommitdiff
path: root/openscad/README.md
blob: 2a72291e8d9986d56e99c33d70192ea8e7ec7555 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# What's Graphics.OpenSCAD

This is a library whose primary component is an algebraic data type
for describing [OpenSCAD](http://openscad.org) models, and a function
that converts that data type into a string. There are convenience
functions to make building the model easier.

## What's different

Given the primitive and quirky nature of the OpenSCAD language, the
idea of "using OpenSCAD" as an assembler is both obvious, and promoted
in lieu of adding major extensions to OpenSCAD. So there are a number
of such projects, for a variety of languages.

Any compiler that generated "assembler" that caused the assembler
program to generate errors would be considered buggy. However, none of
the alternative projects I looked at seemed to do anything about that
(my apologies if I missed one - I only looked at languages I was
interested in using). Graphics.OpenSCAD takes the attitude that errors
from OpenSCAD on the generated code are errors in
Graphics.OpenSCAD. If you manage to generate code that causes OpenSCAD
to issue an error message, please open an issue here.

## More info

Read the
[online docs](https://hackage.haskell.org/package/OpenSCAD-0.2.1.0/docs/Graphics-OpenSCAD.html)
at [hackage](http://hackage.haskell.org/).