World: r3wp
[!REBOL3-OLD1]
older newer | first last |
Ladislav 13-Jun-2009 [15478] | well, that may depend on granularity. If the original module contains even the kitchen sink, then it is absolutely necessary ;-) |
Maxim 13-Jun-2009 [15479x2] | in R3, modules can enforce the invisibility, where as in R2 it can only be obfuscated. |
hehehe | |
Ladislav 13-Jun-2009 [15481] | (but even that does not protect you against bloat, since you don't import the words, but the code still takes space) |
Maxim 13-Jun-2009 [15482x4] | slim also allows you to rename the words AS you are importing them, solving the name clashing cleanly and obviously. This is very usefull when you are using frequently updated libs. and is even more usefull when those libs aren't readily editable. (encrypted, compressed, etc) |
yes... bloat is something that accords bragging rights. when you build a graphic packages... a single window takes up 3-4 times more space than ALL of loaded code. so in any serious app, growing to 30-100MB of data... 20 kb of code is meaningless. | |
hum... there are two words missing in the above... yes... BUT bloat is ONLY something ... | |
in an app I tried to build using R2 a single picture took 40MB. I need to edit 10000 of them and output them in a picture that take about 1GB of space. saving 10kb... really I could care less. | |
Ladislav 13-Jun-2009 [15486] | right you are |
Maxim 13-Jun-2009 [15487] | now I'm not downsizing the philosophy of less is more, just that in many PITL apps, the data becomes the beast. |
Ladislav 13-Jun-2009 [15488] | that's usually the case, especially with REBOL |
Maxim 13-Jun-2009 [15489x3] | liquid is a 40kb library when comments are removed.... I've seen similar packages for other platforms take up 1MB for download. |
well , so much for R3fying liquid. just stumbled upon a bug in make object that prevents liquid from working in R3. I am not using the 'self attribute but its the same bug. http://curecode.org/rebol3/ticket.rsp?id=802&cursor=35 | |
I was finally able to work around the bug. :-) so convertion can continue for now but the workaround will become impossible to apply at some point. its too low-level a problem to be properly addressed in every single opportunity... and its an ugly fix. | |
Ladislav 13-Jun-2009 [15492x2] | hmm, since it is about the deep copy, you can always replace it by doing it on your own |
(but it may be "expensive", i.e. time-consuming) | |
Maxim 13-Jun-2009 [15494x2] | Why is it deep copying an object within an object? it shouldn't. |
it should only deep copy series... no? | |
Ladislav 13-Jun-2009 [15496] | that is a change in R3: copy/deep now copies objects too. I am not sure, what was the reason for it, though, maybe we should ask in R3 chat? |
Maxim 13-Jun-2009 [15497x2] | WHAT THE FUCK! |
If that doesn't change, unfortunately, I'll never use R3. | |
Ladislav 13-Jun-2009 [15499x2] | ...or, you could raise that question in CureCode |
...or in both places (Carthaginem esse delendam) | |
Maxim 13-Jun-2009 [15501x3] | I definitely will, I didn't realize the /deep until you posted your first comment above. |
I'll restate the above... if make object doesn't switch or allow copy not being deep , I'll never be able to use R3. I already hated (but understood the reason behind) the series copy, but this is ridiculous. | |
objects aren't payload, they are contexts. | |
Ladislav 13-Jun-2009 [15504] | can you show a simple example of the behaviour you dislike? - just to make sure it cannot be circumvented easily |
Maxim 13-Jun-2009 [15505x2] | ladislav, I have object which contain 150 interconnected objects. |
and multiple depths | |
Ladislav 13-Jun-2009 [15507] | aha, so, a kind of "general graph" |
Maxim 13-Jun-2009 [15508x4] | copying making a new instance of the master class cannot imply duplicating all of the internals which have to be unique... it makes no sense. |
graphs of graphs. | |
just the series copying makes countless duplication of data already... at least if there was an option but there isn't... that is my problem. | |
right now I depend on inner objects being shared in every single serious application I write. | |
Ladislav 13-Jun-2009 [15512] | so, is this a simle example of the behaviour you dislike? >> o: make object! [] == make object! [ ] >> p: make object! [x: o] == make object! [ x: make object! [ ] ] >> q: make p [] == make object! [ x: make object! [ ] ] >> same? q/x p/x == false |
Maxim 13-Jun-2009 [15513x3] | yep. |
I don't even understand why you'd want to do so... its exactly like forcing a reduce everytime you copied a block. | |
I mean.. it being the default in make.... I can see where copy/deep on objects can be usefull, but not as the only way to create new instances of objects. | |
Ladislav 13-Jun-2009 [15516] | yes, I preferred the R2 behaviour too |
Maxim 13-Jun-2009 [15517] | I prefered the R1 even more. |
Ladislav 13-Jun-2009 [15518] | I don't remember how R1 handled objects |
Maxim 13-Jun-2009 [15519x4] | it didn't copy anything. |
they where identical clones, within only binding switched to new context. | |
all series data was shared... but its easy to copy on demand... its impossible to "uncopy" the reason for the change was essentially that it made VID easier to use. | |
people didn't understand why changing one string would affect many faces. to some degree, that side-effect is still there though... fonts, para, edge, are now still shared accross all face of the same style, which makes a lot of sense. | |
Gregg 13-Jun-2009 [15523] | I also vote for the module system to support the ability to restrict what you import, and SLiM's ability to rename words on import (and prefix them) is very nice. |
BrianH 14-Jun-2009 [15524] | Maxim, when I suggested isolate: true I didn't understand what you were asking for. Based on your bug ticket it doesn't apply. |
Maxim 14-Jun-2009 [15525] | it should be documented though. |
BrianH 14-Jun-2009 [15526] | It is documented - it just does the opposite of what you thought it does., |
Maxim 14-Jun-2009 [15527] | where ... its not here: http://rebol.com/r3/docs/concepts/modules-defining.html |
older newer | first last |