World: r3wp
[Core] Discuss core issues
older newer | first last |
Anton 22-Jun-2006 [4924] | Note also this bug! http://www.rebol.net/cgi-bin/rambo.r?id=3189& |
Rebolek 22-Jun-2006 [4925x2] | well, that's really strange. see this >> >> load mold to file! "[s-:-a]" ** Syntax Error: Invalid email -- %[s-:-a] ** Near: (line 1) %[s-:-a] >> load mold to file! "[aas-:-df]" == ª[s-:-df] |
everything in range from "aa@.." to "ff@.." produces the second result | |
Anton 22-Jun-2006 [4927] | Add this information with the link to #3189 to your report. They should insert it into the original bug report. |
Ladislav 23-Jun-2006 [4928] | these ways can be used to circumvent the filename character problems if needed: load {%"aaa%aa"} load "%aaa%25aa" |
Pekr 25-Jun-2006 [4929x3] | how to catch following error? error? try [to-date 29-Feb_2006] |
ok, putting date in a string helps ...trying to catch leap year ... | |
I don't like it - why rebol parser interrupts me so fast? | |
Gabriele 25-Jun-2006 [4932x2] | petr, in the above case (without the quotes), the error happens before rebol gets to evaluate the TRY. |
you need to put the LOAD or DO that are loading that code in a try block. | |
Pekr 26-Jun-2006 [4934x3] | it does not seem to work: error? try [load 29-Feb-2006] |
I would prefer 29-Feb-2006 error, as well as e.g. error? try [load 380.250.250] being a bit more relaxed in interpreter ... | |
how can I catch such syntax errors? | |
Graham 26-Jun-2006 [4937] | what is your problem? |
Ladislav 26-Jun-2006 [4938] | error? try [load "29-Feb-2006"] ; == true |
Pekr 26-Jun-2006 [4939x4] | the problems is uncatchable error |
I am not talking about string .... | |
I am not sure I can meet with such situation in real-life :-) I just got asked by Bobik. The thing was, that in sqlite date field there can be invalid date. Now I am not sure how is the conversion done, if via string, but if you simply type such invalid date in console, it can't be recovered, and that is my objection in general ... | |
shouldn't we be always able to recover from whatever error happens? | |
DideC 26-Jun-2006 [4943] | To be executed, a script is loaded in a whole. So each values is loaded/binded and your error appears at this time, not while the expression is evaluated. |
Pekr 26-Jun-2006 [4944] | do you mean that I can catch the error during load? but why loading value itself fails? |
Graham 26-Jun-2006 [4945] | what uncatchable error? |
Pekr 26-Jun-2006 [4946x2] | try to type in console 29-feb-2006 .... |
although it is invalid, I thought that by error? try [29-Feb-2006] I will be able to recover eventually, which is not the case ... | |
Graham 26-Jun-2006 [4948x4] | >> if error? try [ load form 29-feb-2006 ][print "date format error" ] ** Syntax Error: Invalid date -- 29-feb-2006 ** Near: (line 1) if error? try [ load form 29-feb-2006 ][print "date format error" ] >> |
>> if error? try [ load "29-feb-2006" ][print "date format error" ] date format error >> | |
Doesn't like the 29-Feb-2006 as a date string | |
date type! | |
Henrik 26-Jun-2006 [4952] | looks like a bug? |
Graham 26-Jun-2006 [4953] | Looks like it. |
Volker 26-Jun-2006 [4954x2] | Does not like 32-may-2006 too. Isn't this more a feature than a bug? |
error? try [29-Feb-2006] is "word! word! [what-is-this?]". Reol has no idea what to do with "error?" at that time. | |
Pekr 26-Jun-2006 [4956x2] | well, but Volker, anyway, we got to state, where we have non-recoverable interpreter state, don't we? |
I know the date is invalid, but .... the same goes for tupple, e.g. 380.250.250 | |
Volker 26-Jun-2006 [4958x2] | >> 380.250.250 ** Syntax Error: Invalid tuple -- 380.250.250 ** Near: (line 1) 380.250.250 |
you are not at interpreter state at that time. think of 'load finding an error at compile-time. | |
Pekr 26-Jun-2006 [4960] | I know, I just don't like the fact, console is not safe from such errors .. |
Volker 26-Jun-2006 [4961x2] | Thats why ladislav puts the date in a string. compiled later. |
how should it work instead? | |
Pekr 26-Jun-2006 [4963x3] | ok, can we meet with state, where your app returns directly such invalid date? e.g. mentioned link to sqlite date field? |
how would it work? dunno? a bit more relaxed evaluation? interpreter finding string 29-Feb-2006 - it is valid format, not just valid value. Under some condition it could be even valid date (leap year). I would expect even such error to be catchable ... | |
ok, so I will have to trust gurus the fact, that technically it can't be fixed :-) | |
Henrik 26-Jun-2006 [4966] | how does Rebol not know how to handle 29-feb-2006 as a date! ? I'm not sure I understand this, because how then is the unrecoverable error generated? from what I see, you'll always need to wrap some precautionary measures around handling dates to avoid this. that's not good design. |
Volker 26-Jun-2006 [4967] | internal its not a string, but a number. you would get 29-feb-2006 as 1-mar-2006. would that be ok? |
Pekr 26-Jun-2006 [4968] | anyway ... I don't like current state, that is all. I even don't know consequences, just a feeling :-) Maybe Carl could give us his opinion, if it is bug or not, and if not, if this is desirable behavior ... |
Volker 26-Jun-2006 [4969] | maybe a hook in 'load, whcih can do some spellchecking? |
Pekr 26-Jun-2006 [4970] | hmm, help me to imagine, how does interpreter internally works? So let's simplify it - it reaches 280.250.250 tuple. It tries to parse it. It eventually recognises it as a tupple, otherwise it would not return "Invalid tuple", no? But then it finds invalid values ... why just doesn't it recognise, it is part of 'try block and does not throw error, which would be catchable? |
Volker 26-Jun-2006 [4971x3] | because it does not try to parse it. it has already. |
'load does the parsing. after load has finished, all datatypes are in an optimized form. | |
if load cant handle something, it is helpless. it does not know something is inside a try-block. it only knows it has loaded a lot of words already and the followingtext is not right. | |
older newer | first last |