bgribble / mfp

Music For Programmers, a graphical patching language
GNU General Public License v2.0
56 stars 2 forks source link

Recursion in user patches causes earth-shattering kaboom #185

Open bgribble opened 10 years ago

bgribble commented 10 years ago

Recursion should be detected at load or edit time and cause an error. It can't be meaningfully supported in mfp. Currently it's not all that hard to make a patch that will blow up the Python stack on creation by including itself.

C-s boom.mfp RET
p boom RET
C-s boom.mfp RET
C-f 
p boom RET

Any solution to this needs to also detect mutual recursion at depth, i.e. a -> b -> c -> a

What does this say about the metaphor of processors as function/method handlers? I think it's more like the problems of module inclusion in Python source...

bgribble commented 10 years ago

Saving this for later. Still needs to be fixed though.