> Where can I look up citemize anyway? I have no idea how to find it from the NuVoc page.
It is part of the addon, with source all in the same directory. Browse the source on the web starting at http://jsoftware.com/websvn/wsvn/public/trunk/graphics/pdfdraw/source/base , or what I do is to checkout the repo to my machine and use the Jqt project manager to browse the files. You will see that most of the definitions are explicit. There are some tacit definitions in util.ijs, which include citemize, each of which is more naturally expressed as tacit. > If the arguments to a function are to be a scalar x, a list y, and a rank 2 table z, each has to be boxed before passing them to function, right? Well, they have to be linked, e.g. foo x;y;z but this is a trivial operation. On Sun, Nov 19, 2017 at 1:01 PM, Andrew Dabrowski <[email protected]> wrote: > Thank /you/ for /your/ comments. > > I'll look through the repos, thanks for the link. > > Could one say J's intention is the following? Be a great array processing > language, and since utility functions for arrays are naturally binary or > ternary at worst therefore the built-in verbs provide a great basis for > array hacking while the programmer can focus on higher level tasks by > defining higher arity functions explicitly. > > I still think J puts unnecessary hurdles in the way of defining higher > arity functions. In the link you sent me I see > > pdfcircle=: 3 : 0 > 'v e c p'=. y > p=. citemize p > > where I presume citemize is a utility function for extracting lists from > some container. Suppose p had rank 2 or higher, would citemize have to be > called again? Where can I look up citemize anyway? I have no idea how to > find it from the NuVoc page. > > If the arguments to a function are to be a scalar x, a list y, and a rank > 2 table z, each has to be boxed before passing them to function, right? > Coming from languages like Mathematica and Clojure that support > destructuring, this is a turn-off, but I can see that once you get used to > it it's not that big a deal. > > > On 11/19/2017 02:45 PM, chris burke wrote: > >> >> This issue of tacit vs explicit comes up from time to time, and I'll >> repeat >> an earlier comment that tacit is over-emphasized in the J forums. In >> production systems, most programs are explicit, while tacit is used where >> appropriate, rather than used because of a desire to look cool. >> Essentially, J gives you the choice and programmers just pick what suits >> the problem. >> >> Browse through the J repos to see this. For example, in the recent addon >> script, >> http://jsoftware.com/websvn/wsvn/public/trunk/graphics/pdfdr >> aw/source/base/draw.ijs >> , all definitions are explicit. Note that the first takes a right argument >> with 4 values, so "arity" hardly matters. >> >> >> >> > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
