On Sun, 2011-05-08 at 13:13 +0000, Ralf Mattes wrote: > On Sun, 08 May 2011 11:39:47 +0200, R. Mattes wrote: > > > > I guess my general concern is that there is no distinction whatsoever > > between the C side of denemo and the guile side. > > > And to elaborate a bit more: denemo should deal with two types of data (both > as parameters and return values): SCM values for all functionality exposed to > the scripting layer or C data types for internal code. Nowhere should there be > string representations of scheme code. It almost always is a sign of bad > design > if string->scheme or scheme->string shows up in code. But i fear that in > denemo > this is the result of big missunderstandings. Just one example: why > > (eval-string (string-append "(d-SetEnharmonicPosition " (number->string > thestep) ")")) > > instead of a simple > > (d-SetEnharmonicPosition (number->string thestep))
Actually this is not some big misunderstanding, just idiocy. But it was undoubtedly triggered by the way I have been doing the interaction with C - viz. via strings and eval-string. > > > (define Pitchbend::commandUp "(d-CursorRight)") > > Make it > > (define Pitchbend::commandUp d-CursorRight) > > and then later on > > (if Pitchbend::commandUp (Pichtbend::commandUp)) > > etc. I hope it's clear what I'm trying to get at. Yes - I think I understand the general picture you have painted. There would be quite a bit of code to re-work in the C (all the stuff getting scripted commands at runtime, error handling), but we would then be in good shape then to move on to byte-compiled scheme. As, usual, we lack the developer-time :( Thanks a lot for the insights Richard > > Cheers, RalfD > > > > > > > > > _______________________________________________ > Denemo-devel mailing list > [email protected] > https://lists.gnu.org/mailman/listinfo/denemo-devel _______________________________________________ Denemo-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/denemo-devel
