Hello, just to mention that in erlang, to use a function from another file (exported function), you use the filename:function/n where n is the number of arguments this function takes. (because functions there are differentiated by name and by num of arguments) I always thought that if factor words had the argument number mentioned in their name, it would be easier to follow the dataflow, and less need to look up the documentation. (a beginner could easily understand which results the word is taking) for example: sum/2, etc. imo, ! should be kept only for the comments. there are many characters one can use for signifying leaving chars, what about word+ ? or word- to signify that no arguments are left on stack. but this is just a preference, there are many opinions.
good bye, kobi Zed A. Shaw wrote: > On Sun, 30 Dec 2007 22:44:45 +1300 > "Chris Double" <[EMAIL PROTECTED]> wrote: > > >> I've heard a newcomer or two mention difficulty in the past in >> understanding why some words leave their arguments on the stack and >> some don't. They seem to prefer a convention of one way or another to >> make it easier to remember. >> > > This is more or less what I've been thinking. It doesn't matter which > is chosen, or even if words do both, so long as there's a short rule > set that I can use to infer what the word does from it's name or > usage. As it stands now many words just seem to be written to fit > their first usage and oddly don't conform to any documented standard. > > My preference would be a set of rules like this (not exactly like > this of course): > > 1) Words that operate on the data or retain stack work as documented > (dup, dupd, swap, etc.) > 2) Words that operate on data types leave (especially as "transforms") > them on the stack or a transformed version. That's tuples, vectors, > hashes, etc. and words like push, >string, etc. Words like at also fit > this way by transforming their inputs to a single output. > 3) Alternative words for rule #2 that don't leave them on the stack end > in !. This would be used in the least common cases and would be a way > to say "watch out!". > 4) Conditions always remove from the stack on both true and false, > unless they have *. > 5) Other words that are meant for doing arbitrary operations will have > to be looked up, but if they emulate any of the above they should follow > that protocol. > > This is just off the top of my head, but if the rules were laid out > like this then I could at least not have to memorize or look up every > single word I have to use. I could infer it at any time. I could also > spot words that were "weird" and we could either update the rules or > change the word to fit the protocol. > > I guess it just seems stupid to me to constantly have to "keep" things > and use "over" when that's the 90% common case usage. > > ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Factor-talk mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/factor-talk
