World: r3wp
[!REBOL3-OLD1]
older newer | first last |
Steeve 7-Jan-2009 [9316] | >>a: 1 >> t loop 1000000 [case [block? a [] integer? a []]] tt 0:00:00.534 >> t loop 1000000 [switch type?/word a [block! [] integer! []]] tt 0:00:00.433 |
Chris 7-Jan-2009 [9317] | BT: It should at least be a separate function, but I suggest separate from the language too. a) it's too much baggage, and b) the scope for recognising string patterns could better be handled in a more open way. |
BrianH 7-Jan-2009 [9318] | I did say that errors should complain loudly, but I didn't mean complain to me personally :) |
Steeve 7-Jan-2009 [9319] | so what did you profile Brian ? |
btiffin 7-Jan-2009 [9320] | Too much baggage for the pros, yes. Just right for a Professor of Geography or home user, imho. Don't fear those that don't normally program, help them. No? |
Chris 7-Jan-2009 [9321] | Too much baggage for the language. Perhaps it could be incorporated into a beginner's binary? I understand the need, even for pros too... |
BrianH 7-Jan-2009 [9322] | I look forward to R3 modules - then we won't have to be as picky about what gets included because it won't all get loaded by default. |
btiffin 7-Jan-2009 [9323] | I still don't see how a lexical foreign! would be that expensive. Am I just not getting it? Again, you cant ADD email! url! but they are valid types. Make foreign! a valid type and then REBOL loads anything and series! operations can operate freely. |
BrianH 7-Jan-2009 [9324] | Adding a lexical foreign! means you add the overhead of checking for valid syntax to *all* REBOL code, not just LOAD. It removes your ability to trust that what comes out of LOAD is valid. That is a huge overhead to all REBOL code, and would be the source of most REBOL bugs in the future. It is a horrible thing to do to the community. |
btiffin 7-Jan-2009 [9325x2] | Well, what do you mean by valid? foreign! would be valid, no? |
It becomes a new datatype! with the semantics of junk. | |
BrianH 7-Jan-2009 [9327] | No, it wouldn't, it would be meaningless. It would be like #[unset!]. |
Maxim 7-Jan-2009 [9328] | I agree that allowing junk to linger, would mean that all code needs to handle junk... which can be sort of awkward |
BrianH 7-Jan-2009 [9329] | It can't throw an error, or you wouldn't be able to parse it to get anything ot of it. If it is another string type you'd have to check for it at every evaluation, because you aren't getting a nice error to escape out of yor code. It's either useless or a nightmare. |
btiffin 7-Jan-2009 [9330] | Yes, meaningless; but there would be less syntax errors. And once in a block, cleaning could be done, but wouldn't have to be. That would be up to the domain problem at hand. I may never be convinced that having rules for what can be added would be that much different if REBOL were allowed to make foreign! |
Steeve 7-Jan-2009 [9331] | it depends how rebol handles junked newline in code |
btiffin 7-Jan-2009 [9332] | Maxim; I don't think so, no more than what junk is handled now by forcing pros to use string! parsing to get round human input foibles. |
BrianH 7-Jan-2009 [9333] | You *want* syntax errors. It's the only way to trust your input. |
Steeve 7-Jan-2009 [9334] | IMHO, commas sh |
btiffin 7-Jan-2009 [9335] | No *you* want syntax errors. I want to load %kingjames.txt and call sort. ;) |
Steeve 7-Jan-2009 [9336] | ...should be hendled like newline in code |
BrianH 7-Jan-2009 [9337] | This is why I prefer the fallback method, so the errors can be handled right away before they corrupt your data. |
Steeve 7-Jan-2009 [9338] | ...appearing only when molded |
btiffin 7-Jan-2009 [9339] | What corruption? $10,000,000.00 handled as foreign! is not that much different than do [abcd] when abcd has no value, no? |
BrianH 7-Jan-2009 [9340] | Right, and that throws an error. |
btiffin 7-Jan-2009 [9341] | so do [$10,000,000.00] throws, but a: [$10,000,000.00] is accepted as foreign! |
BrianH 7-Jan-2009 [9342] | If it throws an error, you can't parse it. |
Steeve 7-Jan-2009 [9343] | (ok i'm in a big trouble now, my bottle of whisky is empty) |
btiffin 7-Jan-2009 [9344] | Yeah, but throw on do, not on make. No? |
BrianH 7-Jan-2009 [9345] | I have a variety of booze here, and thanks for reminding me Steeve :) |
btiffin 7-Jan-2009 [9346] | Can't you see how cool it would be to let a person load %textfile.txt and do analysis? With foreign! sitting there ready to trigger if evaluated? |
BrianH 7-Jan-2009 [9347x2] | Errors throw on eval. |
How about letting them do load/else %textfile.txt 'string | |
btiffin 7-Jan-2009 [9349] | Absolutely. And ship that with Core. I'll stop whining and whinging. ;) |
BrianH 7-Jan-2009 [9350] | That is what I mean by the fallback approach. We could even provide a transform function argument :) |
Steeve 7-Jan-2009 [9351] | just a question: IIRC, we will be able to build our own rebol distro to include our own mezzanines, right Brian ? |
btiffin 7-Jan-2009 [9352x2] | Some time ago we discussed this on a blog post. Carl had some valid concerns about "where to restart the lexical scan", but I trust him and you and Gabriele to get that right, in an explainable way. So yes. |
But ... come think. The fallback now leads to professionals wondering if the human data was entered in quotes as string! or a fallback coercion....so I'd still go for a psuedostring! type to differentiate. Maybe? | |
BrianH 7-Jan-2009 [9354x3] | I don't know the name of the option, and I wouldn't be able to start implementing it until TRANSCODE gets more work. |
Steeve, you will be able to build your own host. The core will still be the core. All of the platform-specific code is in the host. | |
You can also replace mezzanines by importing modules with your own functions. | |
Steeve 7-Jan-2009 [9357] | so the debate is over, i will include the mezzanines i want for my distros |
Maxim 7-Jan-2009 [9358] | I can't wait to plug the C version of liquid within R3 and be able to browse associations using paths! :-) |
BrianH 7-Jan-2009 [9359] | Forget "distros", you will be able to make programs :) |
Steeve 7-Jan-2009 [9360] | MAxim, don't talk about "liquid" i have not anymore |
Maxim 7-Jan-2009 [9361x3] | brian..... do you mean: deliver: make program! true |
? ;-) | |
steeve what do you mean? | |
Chris 7-Jan-2009 [9364] | He's out. |
BrianH 7-Jan-2009 [9365] | He's out of whiskey. |
older newer | first last |