Hi Chris, hi folks,
On Tue, Dec 18, 2012 at 01:27:47PM -0500, Christopher Olah wrote:
> > i would take another road and regretfully you haven't replied on it yet Chris,
> > but here i'll try to express myself more clearly.
>
> Sorry, there were a bunch of things in the other thread and this must
> have slipped by.
Pity, it was a lot more elaborate :-/
> >> (Direct vs Monad approach)
> > As you state, there are advantages and disadvantages to both, therefore my
> > argument to create a new specification language inspired on math but tailored
> > to operations that are logical for the domain.
>
> This isn't really an issue of language, though. It's an issue of
> semantics. Any language we create will essentially do one of these two
> approaches.
To be honest i still don't get Monads that good :-S I'll try to read in on it.
> > Does anyone know what are/were the considerations for OpenSCAD to not use a
> > subset of the PovRay language? At times it looks like its `pythonized' some
> > PovRay language and at other times it completely different.
>
> I don't. However, PovRay is optimized for rather different purposes
> (describing detailed optical properties, textures, etc, of objects)
> than OpenSCAD.
If you look at the syntax and expression of PovRay its quite interesting too
since it has both CSG and implicit functionality including rounding unions
etc.
> > in stead of having a UnionR etc; this saves heaps of argument soup since
> > internally this can be converted into primitives with complete arguments.
>
> Yep, rounded is one example of how we might break things into smaller
> combinators.
If we express the underlaying datastructure as having slots for say colour or
material or other properties then a union of a coloured object is possible
too. Say express `colour (r,g,b) obj' as an operation on a tuple `obj'
creating something analog to (first(obj), Colour (rgb):second(obj)) and like
`union [..]' creating a tuple ([..], []).
Is this effectively what a Monad does? Thoughts?
Reinoud