It is not clear what do you mean by narrow parallel lines. But It is possible to fill a polygon with a set of lines drawn at a certain angle, with a specific separation between the lines. A density argument controls the separation between the lines (in terms of lines per inch) and an angle argument controls the angle of the line. Her an example where I hash the region defined by the intersection of 2 polygons:
plot(NA,xlim=c(0,1),ylim=c(0,1), xaxs="i",yaxs="i") # Empty plot
a <- curve(x^2-0.25, add = TRUE) # First curve
b <- curve(0.5-x^4, add = TRUE) # Second curve
names(a) <- c('xA','yA')
names(b) <- c('xB','yB')
with(as.list(c(b,a)),{
id <- yB<=yA
# b<a area
polygon(x = c(xB[id], rev(xA[id])),
y = c(yB[id], rev(yA[id])),
density=10, angle=60, border=NULL)
# a>b area
polygon(x = c(xB[!id], rev(xA[!id])),
y = c(yB[!id], rev(yA[!id])),
density=10, angle=30, border=NULL)
})
![enter image description here](https://i.stack.imgur.com/vBTSy.png)