Re: [stack] function "adjoinment"?
eas lab <[email protected]> Tue, 9 Feb 2010 13:13:31 +0200
| Newsgroups | gmane.comp.lang.concatenative |
|---|---|
| Message-ID | <[email protected]> |
Re. economics/employment, you've followed my 'wrong-question'. Like the cat-like-discussion being 'wrong' because it doesn't look to the higher, more appropriate question: how to make the programmer more productive; "reducing unemployment is an absurd concept", since the amount of leisure is the measure of progress. That US citizens work longer hours than their parents did, shows how thing have gone wrong. > Sooner or later he's going to pick up on an overstatement and make out that > it undercuts your entire position. Correct, except that I'm buying, not selling. I hope to pick up some usefull ideas, from amongst the name dropping: "that's called visual programming"; since I came here seeking: 1. methods of formal proof of algorithms [following Mc Carthy's notes] and find none yet; 2. more productive parogramming paradigm/s; this looks hopefull. The algol view of repeatedly: * collect the args, * call the procedure, * process the returned value/s; can [by moving away from the low level implementation view] be better understood [human cognition is more important the machine efficiency] by lisp-like: (proc3 (a, (proc2 (proc1 b c) d) )) which is a visual mess, as is algol's proc3( proc2( proc1 (b,c), d)) and is more managable if it can be written as eg. proc1? -> proc2? -> proc3? -> result. I've been [perhaps falsely] encouraged by this data-flow view point, from noting how unix-piping can conceptually simplify some tasks, by effective information-hiding. The point which I'm apparently failing to make is that although forth and other cat-like are too low-level, stack-shuffling to construct the individual functions, they could perhaps be profitably used at the higher level. <forgotten name> apparently told that joy-author [sorry I'm not a name-dropper] was merely showing some low-level implementation of factorial, and that evokeing XY gives a better hi-level implementation. Well I've got an even better unary-function, which is called "factorial". Is he really trying to dispute that a joy implementation of factorial is less cognitively clear than the lisp or algol direct translation of the pseudo code which the author directly GAVE? A related meta-programming idea: when I look at nightmare Oberon-code [C would be the same] with 3,4,5 nested IfThenElse, I'm reminded how a remarkable forth implemenation could perhaps solve it. I'm ad-libbing this, but think decision-table. Using 3 varables: Dog, Cat, Man; each with 1 of 3 conditions Fat,Red,New. [3 x 3 matrix to be viewed by constant width font] Dog x s e Cat k s t Man a r t The PROCedudres are: exchange, sell, error, kill, train, advise, rest; where the decision-table shows that a fat-dog gets exchange and a new-man gets train;..rather than factoring the pairs to eg: IF red THEN IF (dog OR cat) THEN sell; ...etc. The [need to be stated] productivety/maintenance benefits from such a notation are, amomgst others, information hiding and "all possible cases are layed out, in the 3 x 3 matrix for consideration, without the additional mental translation of nested IfThenElse". What blew my mind when the forth implementation was shown me, was that the column & row headers are easy syntactic-sugar, and since forth natively...[the details escape me now, as they should, if we free our mind from trivialities]. IIRC the rows are unwrapped, so that (Red,Cat) becomes the 5th element of the vector of jump-table-elements; and fat-man is the 7th - which jumps-to/calls PROC: 'advise'. IMO there's a wide acceptance that increased productivety comes from meta programming. The disasterous mental bond that we oldies have to stack-shuffling and assembly language direct mapping of the hardware, is apparently freed in those who start with scheme as their first language. IMO approaching computer science from mathematics, rather from engineering and hardware, has massive advantages. OTOH perhaps its because they didn't get to play with registers and shifting bits, that the modern-boys are unduly fascinated with stack-shuffling..etc. -- which I want to free my mind of? I've just realised that the decision-table-notation can't be easily implemented in algol-family languages, since they don't 'read and interpret' the source-code like forth does? == Chris Glur. On 2/7/10, pml060912 <[email protected]> wrote: > --- In [email protected], "William Tanksley, Jr" > <wtanksleyjr@...> wrote: >> >> chris glur <crglur@...> wrote: >> >> > There's no problem with people playing cross-word puzzles, but >> > when I queried cat-like's contribution to productivity, W. Tanksley >> > changed >> > the >> > subject and pointed out that 'greatest productivity increases are from >> > team-building, >> > hence the increased use of java'. I don't dispute this, nor the claim >> > that >> > any >> > productivity increase is bad, because it creates unemployment. >> > >> >> That's not even a vague approximation to what I said; it certainly doesn't >> belong in quotes. You picked up _nothing_ about what I meant, although you >> did spell all the words correctly (except "team-building", which I never >> said). The succeeding economic claim is entirely incorrect, and isn't >> related to anything I said. > > Don't let him get to you. You're getting angry enough that you're > overstating your rebuttals (for instance, that economic claim isn't ENTIRELY > incorrect, although it takes special circumstances like very low elasticity > of demand for it to happen - but those DO occur). Sooner or later he's going > to pick up on an overstatement and make out that it undercuts your entire > position. P.M.Lawrence. > >