World: r3wp
[!REBOL3]
older newer | first last |
Andreas 22-Sep-2010 [5082] | Nothing changes in this situation. Either tell people how they should run your script (same problem currently: /View or /Core?) or make sure your script runs with the plain, unmodified official downloads. |
BrianH 22-Sep-2010 [5083x2] | Sorry for not being here earlier to clear up the misconceptions about the module system and functionality split :( |
Gregg, you don't have to explicitly import modules into every module like you do in the Qtask system. Importing means something different in R3. | |
Andreas 22-Sep-2010 [5085] | (Maybe move the discussion to !REBOL3 Modules, while we are at it ...) |
BrianH 22-Sep-2010 [5086x3] | If they were reading !REBOL3 Modules we wouldn't need to have this discussion. The info is there already. |
But I have a new idea, based on what is possible with the new modules (that haven't been integrated yet), so let's move there :) | |
There is no reason that R3 can't have standard builds that include everything. In fact, the blog says as much: Most of the options are opt-out based on a command line option, not opt-in. But we definitely need some stuff to be opt-in, like graphics stuff on OSes like Linux that don't necessarily have the supporting libraries. | |
Anton 24-Sep-2010 [5089] | Yeah, I was thinking an opt-out command-line option would be the best. That way we can keep running with all the functions we've gotten used to. |
Andreas 28-Sep-2010 [5090] | Added bug#1664 "Rename the issue! datatype". I think the basic wish is rather uncontroversial, but naming is hard. If you have any good ideas for a name, please comment: http://www.curecode.org/rebol3/ticket.rsp?id=1664 |
Steeve 28-Sep-2010 [5091] | Perhaps we should shouting names here at first. btw, I propose the shout! type :-) |
Gregg 28-Sep-2010 [5092] | Refinements are also words, so I don't think we have to use the *-word convention. |
Steeve 28-Sep-2010 [5093x2] | yep, I prefer something short and shiny |
dry! | |
Andreas 28-Sep-2010 [5095x3] | ANY-WORD! is a typeset of value: make typeset! [word! set-word! get-word! lit-word! refinement! issue!] |
Could also use symbol!, but I think it would be a shame to waste that nice name on this mundane datatype :) | |
Or maybe key-word! ... | |
Maxim 28-Sep-2010 [5098] | keyword! or label! |
ChristianE 28-Sep-2010 [5099] | Hm, I was in favour of KEY-WORD! or KEYWORD!, but LABEL! is very nice and concise. |
Pekr 28-Sep-2010 [5100] | R3 boot-levels - http://www.rebol.net/r3blogs/0337.html |
Pekr 29-Sep-2010 [5101] | It seems Carl got over-voted in regards to using integers instead of words as boot options args. We will see, if he will change his mind :-) |
Maxim 29-Sep-2010 [5102x3] | Am I the only one that *REALLY* hates that 'EXPORTS is being renamed to 'LIB? |
it obfuscates the meaning of what that context is... I REALLY don't care to save 4 bytes if it makes the whole idea obscure. | |
it also makes 'LIB a reserved word in general, which is not really cool either. I would much prefer if carl at least used the full word 'LIBRARY and also 'SYSTEM.. . not 'SYS or 'LIB. I am sure another word is even better than 'LIB, but 'EXPORTS always was perfect already.... so why change that? | |
Pekr 29-Sep-2010 [5105x3] | Max - please read my comment in the blog article, the last one :-) |
I even don't like sys, I thought it is the rename of system, but that's not true, so we have got system, and sys. However, it seems to me, that Carl needs our eye. I mostly agreed to naming conventions, but 'lib and using integer for boot-level is imo an oversight ... | |
Max - here's the diagram - http://www.rebol.net/r3blogs/0334.html | |
Maxim 29-Sep-2010 [5108] | I am wrtiting a big blog post on Carl's REBOL blog since he posted an entire post on this specific rename.... |
Pekr 29-Sep-2010 [5109] | I also stopped to understand, why some R3 related posts appear in Carl's blog :-) |
Maxim 29-Sep-2010 [5110x3] | http://www.rebol.com/cgi-bin/blog.r?view=0489#comments |
its Carl's REBOL blog. | |
I did a little of research... and found (remembered) the exact word it should be called. 'RESIDENT | |
Pekr 29-Sep-2010 [5113x3] | RESIDENT Evil :-) |
'exports is self-descriptory .... it should not be changed, imo ... | |
The same goes for the 'sys boot level argument - it is also imo not accurate. Boot level arguments don't directly link its meaning to system contexts and hierarchy. They are more like packages of functionality to boot. 'sys should be imo definitely replaced by 'base, which we are used to for all those years ... | |
Maxim 29-Sep-2010 [5116] | RESIDENT actually means exactly what the Exports context is. data/ code which is external to your application but always accessible. |
Pekr 29-Sep-2010 [5117x3] | ok, maybe it is just that my english vocabulary is rather limited. In regards to module and oop systems, import/export work rather nicely ... |
ah, Carl reversed his decision - boot-level will use words :-) | |
Another naming contest :-) Should issue! datatype be renamed? 'key-word is one of candidate names - http://www.rebol.net/r3blogs/0338.html | |
Andreas 29-Sep-2010 [5120] | I am actually fine with LIB and SYS, but I'd prefer if they were not bound in LIB per default. I.e. I'd rather prefer that you only have system/contexts/lib and system/contexts/sys to refer to those contexts, per default. |
Pekr 29-Sep-2010 [5121x2] | uh, what's Carl doing? ;-) He changed the blog content, and now it does not make sense at all ... boot levels confusion to the max ..... |
ah, it changed once again, and now it seems OK :-) | |
BrianH 29-Sep-2010 [5123x2] | Having short words for the 'lib and 'sys contexts opens a lot of possibilities for system simplification. If they are renamed to something else, make sure that the replacement words are no longer than 4 characters each. And if you don't predefine them in the 'lib context, definitely make sute that they are predefined and protected in the 'sys context - that way the at least the system code won't be as disadvantaged as the user code will be by not including them in 'lib. |
These are words that will be referenced a *lot*, both of them, so we want them to be really short. | |
Andreas 29-Sep-2010 [5125x2] | Why would they be referenced a lot? |
IIUC the lib context is automatically imported into the user context. So you'll only have to reference LIB if you shadow some name in lib with your own definition and then need to refer to the original definition again. | |
Pekr 29-Sep-2010 [5127] | BrianH: that does not change the fact, that 'lib as a name sucks a lot. It says namely nothing, and in my eyes is a degradation from 'exports .... |
BrianH 30-Sep-2010 [5128x4] | You export into the common shared library, or lib for short. The word "lib" is a common abbreviation for "library" for english-speaking programmers, so if you use the word 'lib the first thing many people will think you mean is library. Carl is right that the name reflects how the system works in practice. The lib context is a shared common import library. |
The name exports is not necessarily any better for two reasons: - Only regular module exports are imported into the common import library; the exports of mixin modules are imported directly into their calling modules or to the user script context. - As of the coming system reorg, the core functions of the common import library won't be exported from anything, it will be added to the lib context manually. The shared import library won't just have exports in it, it will have the core functions that are built before the module system is even loaded. | |
Why would they be referenced a lot? - Because we are trying to make using your own versions of the built-in functions as easy as possible, especially through using local definitions of the words. No reserved words in the DO dialect (except the two in MAKE module!). In some cases *only* through using local redefinitions of the words because the built-in definitions may need to be protected from modification. This means that we want to make referencing the built-in definitions as easy and concise as possible. This especially the case with the 'sys word, since the context it refers to isn't imported by default because it is the context for system internals (no, we can't use 'int). When you need to access the publicly visible words of 'sys you won't be able to get them imported: sys is not a module. You can copy over the words manually (maybe with the EXTEND enhancements). Whether or not the 'lib and 'sys words are defined in the 'lib context, they definitely need to be defined where the mezzanines are being implemented (which is likely a combination of the lib and sys contexts, we shall see). Don't handicap the implementors of R3 just because you want to handicap yourself. | |
Maxim, you made a couple of wrong statements: it obfuscates the meaning of what that context is... (about changing 'exports to 'lib): Actually, if you read the boot levels blog post, you might notice that the R3 module system is now optional at the base boot level, and to a certain extent at the sys boot level too. The new role of the 'lib context is to be a runtime library - it is not dependent on the module system anymore, nor does it necessarily contain any exports from anything. it also makes 'LIB a reserved word in general Nope, you can override 'lib or 'sys locally in any module or script you need to. It might not be a good idea to do so, but that doesn't mean that it is not trivially possible. On the other hand, in top-level module code the words 'export and 'hidden *are* reserved keywords, so watch out. | |
older newer | first last |