World: r3wp
[!REBOL3-OLD1]
older newer | first last |
Janko 29-May-2009 [14599] | My vote: I don't want it to be called MAP because of reasons you named.. anything reasonable else is ok... I can't decide if I like map-each remove-each *-each ... naming convention... just thinking outloud.. 1) you named fold/reduce accumulate ... if you name map/filter in similar vein they could be something like map -> transform translate alter apply ? remove-each -> filter purge ... 2) common to these functions is that they take a block of code (and a series) ... each hints about the serries but maybe more specific about them is first part - block of code (function in classic functional).... one idea for the common word that hints about do something with block of code as a rule IMHO is with map -> map-with , transform-with , ... ; remove-with filter-with purge-with ; fold-with ?? |
Pekr 29-May-2009 [14600] | I am OK with renaming too. OTOH I too dislike map-each, remove-each names, but not a big deal here ... |
Janko 29-May-2009 [14601] | (agh ... altme ate my post 2 times!!) I use the similar with naming for other types of combinators ( functions taht take blocks of code) for example with-sqlite %a.db [ SQL "select * from t;" ] ( opens db ; runs block of code (could bind to words but not needed here) ; closes db ; returns result ) |
Henrik 29-May-2009 [14602] | I'm fine with changing it. |
Vladimir 29-May-2009 [14603] | Two questions: 1. is there a way to load-gui from local file ? 2. How is unicode in rebol3 working ? (is it working ? ) :) |
BrianH 29-May-2009 [14604x2] | Well, one advantage for calling them something other than map and filter is that you could put functional map and filter functions in a module somewhere and not have naming conflicts. They'll be less efficient and less flexible, but at least the functional programming fans would be happy :) |
The only reason the *EACH makes sense is the word parameter that comes first: foreach x data [code] -> For each x in data do code remove-each x data [code] -> Remove each x in data if code map-each x data [code] > Map each x in data to code | |
Steeve 29-May-2009 [14606] | i don't like verbose naming conventions. |
Maxim 29-May-2009 [14607x2] | vote for change. funny that I sometimes add the 'in word when typing code ... then rebol pops an error... ehhehe that 'in doen't work on blocks. ;-) |
I prefer consistency over anything else. things that are consistent don't have to be remembered. | |
BrianH 29-May-2009 [14609] | That's a good point Maxim - we better make sure that IN series block is never added as a feature :) |
Maxim 29-May-2009 [14610] | how many times have I gone to the dictionnary to remember the functions names of the various grouping functs... UNION COMPLEMENT EXCLUDE, etc. |
Steeve 29-May-2009 [14611] | me never |
Maxim 29-May-2009 [14612] | there are just to many functions to remember. at some point the brain has to let go of some stuff, and the things which can't be computed, are forgotten first. |
Steeve 29-May-2009 [14613] | creating super long names resolve nothing |
BrianH 29-May-2009 [14614] | Or in my case archived and taken out of the index, Maxim :( |
Steeve 29-May-2009 [14615] | or do you want our programms looks like C or Java ones |
Maxim 29-May-2009 [14616x3] | map-each isn't long. the 'each part is classification, and adds intent and meaning to what the function does. |
steeve, this isn't a noun prefix. | |
that is a big difference. | |
Steeve 29-May-2009 [14619] | they-like-long-names |
Maxim 29-May-2009 [14620] | map in this context is a verb. |
Steeve 29-May-2009 [14621] | REMOVE*, MAP* Is that not enough ? |
Maxim 29-May-2009 [14622] | personnaly I'd prefer the use of 'EVERY instead of 'EACH |
Steeve 29-May-2009 [14623] | i vote for '* |
Maxim 29-May-2009 [14624x2] | more explicit that it traverses the WHOLE series to its end. |
much better to include a totaly obcure character... sure steeve. assembly style code is much better than C. | |
BrianH 29-May-2009 [14626] | Steeve, if you want short wording then the question is whether the MAP-EACH block builder or the MAP map! constructor would be called more often. In mezzanine code creating map! values if more frequent than the use of the current MAP function. |
Janko 29-May-2009 [14627] | aha, I didn't see the reason for *-EACH ... that makes good sense.. I like it! |
Steeve 29-May-2009 [14628] | '* is not obscur as convention, it's used by other languages too |
Maxim 29-May-2009 [14629x2] | rebol IS NOT another language... that was my point. thanks for pushing it ;-) |
but in any case, REBOL style usually uses the '* as a notation for "pointer" or "reference to", | |
Steeve 29-May-2009 [14631] | uh ? in your dream i guess |
BrianH 29-May-2009 [14632x3] | (more lost messages and dropouts) |
Steeve, REBOL gets its speed of programming by preferring unshifted characters to speed typing of code, and English-like naming to speed reading. The syntax and naming conventions of REBOL were carefully chosen for good reason. | |
Steeve, other languages that use the * convention use it differently from each other. C-like languages use it for pointers. REBOL uses it for keeping the original definition of redefined words, like COPY* (not for pointers or references, Maxim, because those are implicit). The only language in major use that uses * to mean do-many-or-all is Regular Expressions. | |
Maxim 29-May-2009 [14635x3] | brianH to me, a reference in rebol is not the same as a reference in C. semantically they are equivalent, even if technically they are implemented differently. |
note the use of equivalent... over... "the same" | |
meaning, keeping a reference to some data. which is why we never use a-word* to store scalar values for example, but we will sometimes use them for copies of series, and words. | |
BrianH 29-May-2009 [14638x2] | All assigned non-immediate values are references in REBOL, implicitly :) |
bbl | |
Maxim 29-May-2009 [14640x2] | I know ;-) |
why is why reference, in REBOL, has a different meaning to me. if all words are references in C terms, then that concept has its own meaning in REBOL terms... IMHO. | |
Steeve 29-May-2009 [14642] | Brian, don't lecture me, I know those obvious things too (Bad habit) I just think '* is as good as -EACH and shorter. So '* is the winner. |
Maxim 29-May-2009 [14643x2] | '* doesn't mean anything. so its pointles... so you'd rather have acronyms for cunction names... just make it totally cryptic? ' * ' isn't english for any thing. rebol doesn't name things in CS terms, it uses readable english. |
cunction = function | |
Steeve 29-May-2009 [14645] | English doesn't mean anything to me :) |
Pekr 29-May-2009 [14646x2] | guys, chill out :-) How often will you use map-each so that it will irritate you? Well, I do care for naming conventions too, but I have my reservations for where imo architecture goes wrong, like using read-text, load-plugin and similar stuff .... |
Steeve :-) | |
Maxim 29-May-2009 [14648] | quoi? ;-) |
older newer | first last |