I've made some more "improvements" to calc2.ijs. Includes "-" button. Adding additional operations should be trival. Renamed the verb "clear" to "clr" so that clear_z_ is still easily useable.
I use the TortoiseMerge app to do diffs between similar versions of a script. I'm sure you have your own favourite. Ric > From: Of Ian Clark > Sent: Tuesday, 2 November 2010 17:12 > > Thanks for calc2, Ric. > > I'll have to study it closely because it's much like my own extension, > but not exactly so. > > I also feel that buttons for the remaining ops are needed now, and > that this needn't complicate the demo too much. In fact with the use > of 'bind' (and I was confusing 'bind' and Bond but you didn't say > anything) my demo has become if anything too simple to illustrate what > I originally wanted to. > > Ian > > > On Tue, Nov 2, 2010 at 2:15 AM, Sherlock, Ric > <[email protected]> wrote: > >> From: Ian Clark > >> Sent: Tuesday, 2 November 2010 09:33 > >> > >> > I agreed with Brian that I missed the "equals" button in the > original > >> calc.ijs. Now I miss the "plus" button. It seems unintuitive to > press > >> "=" when you want to add. > >> > >> Hahaha! (Can't please everybody.) Can I interest you in a more > >> advanced calculator? It's called J ... :-) > >> > >> I'm just glad I wasn't on the design team of the original pocket > >> calculator. It's subtler than it looks. > >> > >> Providing both '+' and '=' buttons means adding a whole row or > column > >> of buttons or it looks untidy. I've a calc with the conventional > >> look'n'feel -- but IMO it's too complex to serve as a good demo. > >> > > > > I've attached an alternative layout to the JinaDay wiki page (named > calc2.ijs) that includes separate '=' and '+' buttons. There are also > some minor changes to some of the verbs to make it work more like my > calculator and make it easier for users to add other operation buttons. > See if you think that works/looks OK. > > > >> > The current phrasing of your "blasphemous comment" has more impact > >> but I get the feeling that your actual message is more like: "There > is > >> no need to get your head around tacit definition". The fact is that > >> many of the button handlers in the calc script use tacit code! I > >> suppose it comes down to whether you think that being provocative > >> rather than reassuring will help get your message across best. > >> > >> "Here Be Dragons..." > >> > >> I meant to be reassuring by being provocative. Reassuring (to > APLers) > >> by being (or, rather, risking being) provocative to J-ers. > >> > >> De-mystifying a topic is never free from the insinuation that the > >> mystery is intentional: or at the very least, serving someone's > >> purpose. People are quite smart, you know. If a mystery serves no > >> purpose -- or no one's purpose -- it soon gets cleared up. It > follows > >> that de-mystification is apt be viewed as de-bunking. > >> > >> It wasn't my intention to debunk. Simply to cast some light. Maybe > to > >> let in some fresh air. > >> > >> On first encountering APL my initial response was to feel > inadequate. > >> I should have felt humble, but instead I felt humiliated. Because at > >> the time I was masquerading as a "computer scientist", ie an expert. > >> This was back in 1973, when the industry was less fragmented. It was > >> "IBM and the Seven Dwarfs" -- and I was IBM. > >> > >> So I looked for holes. For excuses to label APL as mad, not > brilliant. > >> Then I'd be exposed as sane, not stupid. It reassured me to swap sly > >> remarks about the language, especially as others felt the same as I. > >> > >> On first encountering J, I experienced the selfsame feeling I had on > >> first meeting APL. It largely revolved around "tacit programming". > >> Attempts by those who'd Seen The Light to motivate me by saying > "it's > >> really quite easy" -- or -- "it's far better than APL doing it this > >> way" simply provoked hostility. And not just in me, I observed. > >> > >> So there was a barrier to surmount, before I could contemplate J > >> equably, let alone consider using it myself for a serious task. > >> > >> Tacit programming _isn't_ "really quite easy". In principle, > maybe... > >> But in practice it's as much a strain as coding in 68000 ASM. (Yes, > >> done that -- and sold the result). > >> > >> And that, I think, is the way to look at it. Those who can do it can > >> justly be proud of their skill. But nobody is ashamed of not being > >> able to compose 68000 machine code in their heads without computer > >> assistance, so why should they be when it's tacit J? > >> > >> There is this difference. Machine-code is best kept beneath the > >> covers. But tacit J beneficially seeps out. As you observe, there's > >> tacit code in calc.ijs. > >> > >> IMO the issue over tacit J is not whether we should banish (digit&1) > >> from calc.ijs, but whether we should aim to make novices ashamed of > >> writing: > >> quo=: 3 : 'Q,(":>y),Q' NB. place datum in quotes > >> instead of: > >> quo=: Q , Q ,~ [: ": > > >> because that, I think, has been counter-productive. > >> > >> They'll do so in the end... and like as not they won't know they're > >> doing it. > > > > I agree that it is counterproductive to denigrate the use of explicit > definition. I don't think that happens really, although I know that a > lot of code on the forums is tacit. As I said recently on comp.lang.apl > I think this is really just a side effect of more experienced users > thinking and working more in tacit mode. > > > > I remember when I started learning J that I pretty much "ignored" > trying to create tacit verbs - I was content to stick with explicit. I > found the tacit code on the forum hard to read/understand. I think my > biggest hurdle in coming to terms with tacit was being able to reliably > identify the parts of speech for J's various primitives (verb vs adverb > vs conjunction). Without that knowledge it is hard to identify the > composed verbs and correctly separate the hooks from the forks. As I > learnt the J primitives and their parts of speech, suddently tacit > didn't seem so hard after all, and now I find myself using it in > preference to explicit for many sentences. > > > > Having said that I'd be more inclined to promote the use this form > than the one liner string form above. Otherwise things can get messy > when dealing with strings. > > quo=: 3 : 0 > > Q,(":>y),Q > > ) > > > > Ric > > --------------------------------------------------------------------- > - > > For information about J forums see > http://www.jsoftware.com/forums.htm > > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
