sizesentence is failing while sizing the display of the sentence at the top of the screen. This has nothing to do with $: problems. I will look into it after exams. @. is not supported, so the entire ]`($:@<:)@.* is going to be treated as a unit.

$: will add a result to its result stack every time it recurs, and that will cause an error because there will be more results than expected. I plan to handle this eventually, when I have code for $: rather than treating it as a generic verb.

Named recursive code will recur unseen by ds, showing only the final result.

I think I have to draw the line at trying to display explicit definitions. I can't imagine what the display would look like.

I am thinking of defining a new 'primitive' for ds, adverb f: which would perform f. on its u operand if u is a tacit verb. An alternative would be a syntax like name:: to mean expand name if it is tacit. Does either of those seem good?

Henry Rich

On 6/3/2013 12:59 PM, Raul Miller wrote:
My thoughts on this include:

All verbs are tacit verbs, even explicit verbs in a sort of empty
sense.  And, 5!:5 <'name' could be a good thing to run ds on.

I think ds has a problem with $: and this is related to some issues
that might come up when dealing with named code (or at least, when
thinking about code naming issues it occurred to me that I should test
how ds deals with $:):
    (0 >. ]`($:@<:)@.*) 3
0
    ds '(0 >. ]`($:@<:)@.*) 3'
|assertion failure: sizesentence

ds would be a good companion to a ui for trace. Where trace shows you
the parsing of a sentence, ds will show you the data flow which occurs
afterwards. But there are clear limitations on this approach, for
example if the sentence uses ? ds should show different data each time
it's used.

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to