Hi Dario.
I do actually want to build a GUI for Curv, it's just lower priority than making the language and GPU compiler more powerful. Which is what I'm working on right now.
Sweep is an important problem. In retrospect, what I would like better than sweep is a primitive that takes a roughly cylindrical shape (centered on the Z axis) and warps this cylinder to follow the path of a parametric curve. I'll call this "conform_to_path" until I think of a better name. To sweep a 2D shape along a path, you use 'extrude' to extrude the shape along the Z axis, then pass the result into "conform_to_path".
The libigl sweep algorithm is to iteratively render the shape into a voxel grid at multiple points along the parametric path. One of my ideas is to add a voxel grid data type, and provide an operation for rendering an SDF shape into a voxel grid. The voxel grid can then be used as a shape. This will be roughly analogous to OpenSCAD's "render" operation. You could use it to implement the libigl sweep algorithm.
I've also considered how to implement sweep of a 2D shape along a 3D path (or conform-to-path) purely in the domain of signed distance functions (without using voxel grids).
Here's a paper that discusses the problem (sweeping a 2D template along a 3D path):
I haven't read this in years, but here's my mental model. You have a parametric curve F through 3D space, parameterized by a 't' parameter. You need a function G that maps a 3D point to: the nearest point on the parametric curve, and to the value of 't' at this nearest point. That can be done using iterative root finding. G also needs to compute an angle theta. Then the 2D sweep or the conform_to_path distance function uses the distance to the nearest point, the t value, and theta, puts that into the distance function of the pseudo-cylinder that is the argument to conform_to_path, and computes a distance to the warped cylinder.
The good news is that it should be possible to implement this all in the Curv language (no C++). The bad news is, since the function G is using iterative root finding, it may be slow compared to the usual distance functions found in the Curv shape library. The frame rate in the preview window may be prohibitively low, in which case you would have to render it to a triangle mesh in order to view it (eg, export as an OBJ file).
Once Curv has a "render" function that converts a shape to a voxel grid, we'll be able to preview shapes with slow distance functions.
I'm not sure how that would work, but if you can make it work, great! There may be more than one way to do the job, and I've given you my idea. I will say that repetition is maybe not as powerful, or works differently, than you are currently imagining, so I don't see it as being useful. Repetition partitions space into disjoint regions, and copies part of a distance field into each of these regions. If one of these regions is smaller than the shape you are copying into it, then only a slice of the object will appear in the region. This, I believe, is not what you want for sweeping a 3D shape through 3D space (based on a prior experiment that I ran). See also my comment about making a 2D slice of a 3D object and then extruding it, which is something you can easily try and experiment with.