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