Have you heard of OpenSCAD? It’s an open source software project that can be used to produce 3D models without a visual interface. How’s that work again? You write a kind of computer program whose instructions gradually generate all the pieces of your model. It’s a grand idea that we’ll delve deeper into in the future.
But what’s this about ImplicitCAD? It’s a significant advance in the OpenSCAD concept. Like OpenSCAD, it can produce 3D models from a software program. The difference is that the computer language used to do the generation is Haskell, a very powerful and popular functional programming language. In other words, where OpenSCAD is limited to use of its not-so-powerful programming language, ImplicitCAD can leverage the full power of a modern programming environment. Very complex mathematics can be used to generate unbelievably complex and flexible models for art and industry.
As powerful as ImplicitCAD is, you still need to know Haskell. Where’s the Haskell book?
Via Ponoko and ImplicitCAD
> Will you be giving another demonstration of this at the RepRap meetup on Monday?
Yep!
Bam! I'm glad your code is getting some recognition.
Will you be giving another demonstration of this at the RepRap meetup on Monday?
>As powerful as ImplicitCAD is, you still need to know Haskell. Where's the Haskell book?
Well, that's not quite true.
ImplicitCAD is written in Haskell and provides an API so that one can design object in Haskell.
It also provides an interpreter for an extended version of OpenSCAD. So you don't necessarily need to know Haskell.
Things are further complicated by the fact that the Haskell API lets you import objects from OpenSCAD code. And Haskell objects can easily be exposed as objects for OpenSCAD (I'm hoping to soon allow OpenSCAD users to include haskell files).
That said, I strongly encourage users to learn Haskell. Not only is it a beatifull language, It's a compiled language with compilers written by very brilliant people. This is in contrast to (ext)OpenSCAD which is a language that, well, I would have designed very differently had I been working from scratch and… I can't comment on behalf of the OpenSCAD project, but I haven't really invested energy in optimizing my interpreter.