World: r3wp
[All] except covered in other channels
older newer | first last |
Graham 6-Jan-2009 [3120] | And if they're malacious users ... use string parsing |
PeterWood 6-Jan-2009 [3121] | If they are users ... use string parse ... even genuine users make mistakes |
[unknown: 5] 6-Jan-2009 [3122] | >> type? load "$10'000'000'00" == money! |
btiffin 6-Jan-2009 [3123] | I want Joe the Plumber to be a home rebol. REBOL is one step away from allowing normal people access. This hit me when I was showing how easy REBOL was to a construction boss. How they could be masters of their own domain. They lit up like a christmas tree. A few days later a $10,000.00 entry caused one of their little scripts to fail. The lights went out, and instead of embracing becoming a home business script writer, they felt stupid, and when I tried to reexplain the use of tick versus comma, they just got pissed off and will never be budding REBOL home users. All of us here could handle 001101010110110110110110010101 and eventually get the machine to do what we want. I'm aiming to open our favourite little engine so grandma could use it to write grocery lists and then little VID charts etc, etc. If we keep that to ourselves, well, IMHO, REBOL will wallow in the usage numbers counted in hundreds not millions as I believe it could. I could be wrong, but REBOL is too close to being usable by non-programmers to let this slip by without at least griping once every 2 months or so. :) In my little warped world, the REBOL console could be the home users "application framework". Every inch closer to common text usage could add an untold number of people by making them feel enabled. Less geek, more people. Again, I'll admit, I could be wrong; maybe the art of scripting will always be for nerds. |
[unknown: 5] 6-Jan-2009 [3124x3] | I assume that money can't use the comma because of incompatibility with parse. |
I mean money usesit but load can't because of parse. | |
'Load can rip you off when it comes to parse: >> a: load [$10,000] == [$10.00] | |
Pekr 6-Jan-2009 [3127] | Brian: I am not sure, but what Gabriele might mean is, that such change is possible, but could have some consequences .... |
[unknown: 5] 6-Jan-2009 [3128x2] | The search function is changing a bit. I'm simplifying the look so that it is only two blocks: db/search [logic][action] There will no longer be a database block. Instead a database and field will be inputed together such as: db/search [my-base.field-name > 1][my-base.field-name] In that example it would check the database called "my-base" and check its fieldname which is called simply "field-name" in the example above to see if it is greater than the value of 1. If it is then it returns the field-name value. |
doh wrong group | |
btiffin 6-Jan-2009 [3130] | Well, technically the design does allow for more international usage; and that IS a good thing, but North Americans use commas. I'll quiet down after this post and then repost to the issue in a few months. I don't know really, but I feel a few small incremental changes could open up the field to more people not inclined to be programmers. On a grander scale, for linguistics work ala Icon's power, being able to LOAD %somerandompoem.txt and not worry about syntax errors could open up a whole new domain for REBOL. That would require a junk! datatype, and sure there will be issues with correctness, but let the english majors worry about those. Today they won't even bother to start, so there are no issues of correctness as there are no scripts. But imagine some English professor or a theologist; LOAD %kingjames.txt and then using REBOL to do statistical analysis, right at the console. A report could count how much non-REBOL data was in the books along with counting the times 'Moses was mentioned in 2 or 3 simple lines of code. I'll stop dreaming now (for a awhile) and get back to the task of being a nerd. S'alright. ;) |
BrianH 6-Jan-2009 [3131x3] | Money can't use the comma because of incompatibility with Europe, not parse. |
Brian, load in Icon is more like READ, and Icon's analysis code is very much like REBOL's string parsing. | |
There is no equivalent to REBOL's block parsing in Icon, because code is not data in Icon. | |
Sunanda 6-Jan-2009 [3134] | Gabriele: <it needs to be a parser designed for your specific application - it's a user interface thing, not a language thing.> Well said! Turning raw, external, untested, characters into application-compatible data types is not trivial. It's something a language can help with, but the language cannot do it all.....especially when you add in another important stage: that of giving the user meaningful, context sensitive, error mesages if the characters need correcting in specific ways. |
BrianH 6-Jan-2009 [3135] | We don't need LOAD to be relaxed (what a nightmare that would be!), we need commonly available library functions for parsing localised, sloppy user data. With those library fnctions we can stop the people from asking us to break LOAD. |
Graham 6-Jan-2009 [3136] | Sounds like a good way to improve usability. |
Gregg 6-Jan-2009 [3137] | I've asked before, but don't think I ever got an answer from Carl, if the money! lexicon couldn't be fixed to allow commas and dots to be used in either order, as group and decimal separators. Does anyone see a problem with that? |
Graham 6-Jan-2009 [3138] | Probably the answer is to have decent widgets that filter the user input. My bank just cheats and prevents any commas being entered into money fields. |
[unknown: 5] 6-Jan-2009 [3139] | The comma is a sure fire way to get past some parsing systems right now and possibly cause a crash. Because of the following: >> type? $10,000 == money! >> $10,000 + 1 == $11.00 |
Graham 6-Jan-2009 [3140] | that's expected behaviour |
[unknown: 5] 6-Jan-2009 [3141] | what is? |
Graham 6-Jan-2009 [3142x2] | >> $11'000 + 1 == $11001.00 >> |
$10,000 = $10.00 | |
[unknown: 5] 6-Jan-2009 [3144] | yes but I don't think anyone new to REBOL is going to expect 10,000 dollar plus 1 to equal 11 dollars. |
Graham 6-Jan-2009 [3145] | Carl was never concerned about money! |
[unknown: 5] 6-Jan-2009 [3146] | lol |
Graham 6-Jan-2009 [3147x2] | this is the failure of the REBOL development cycle. |
if we have regular iterative release/development ... these issues could have been discussed and dealt with long ago. Instead we have 100s of issues, which are looked at every now and then, and it's just too much to handle at one time. | |
Chris 6-Jan-2009 [3149] | I wrote an 'as (possibly short for coerce) function for QM with the heady goal of recognising types from strings. It isn't nearly as extensive as I'd like (if I were to do that myself, it wouldn't be nearly as efficient as I'd like), but the community could use an 'as like function (with possible /next refinement): >> as integer! "1,000" == 1000 >> as/next integer! "1,000 and 1" == [1000 "and 1"] >> as money! "$1,000" == $1000 ; note, this is not how 'as works in QM And it should be independent and open source. It's perhaps something the core language should not be burdened with... |
Rebolek 7-Jan-2009 [3150] | Paul: 10,000 + 1 is 11, that's 100% OK, as comma is decimal delimiter here in Europe. And getting 10001 instead would be a terrible bug. |
Gabriele 7-Jan-2009 [3151x2] | REBOL is one step away from allowing normal people access - Brian... is that step called AI? |
So, let's do it this way. Please implement what you want LOAD to do using PARSE and LOAD/NEXT. Then we can discuss it. | |
btiffin 7-Jan-2009 [3153x4] | Ok; I get the omens ;) REBOL3 went offline just as I had posted this ... Ok, I wasn't going to speak to the issue for another 60 days, but ;) My main point is not making the life of rebols any easier. The point is attracting mom, pop and non technically inclined academic types. For instance; imagine a CPU that refused to load a binary into a code segment if the image included non executable hexcodes. I don't mean only loaded bits of it, it just halted. Said chip would not garner a mass following. Sure NASA and Boeing my buy them for their engineers, but normals would balk at such a thing. Not even going as far as loading it and giving a chance for a debugger to examine the nasty bits would make it a non-starter for mass market. I akin current REBOL from that angle (again, thinking about mom, pop, history professors and linguists) |
rebol [] ; load any garbage ... NOT recursive, JUST A QUICK EXAMPLE ; leaves nones littered about, misses spaces yadayda loadall: func [data /local gs gb err ero val gn] [ gs: copy data gb: copy [] until [ either error? err: try [set [val gn] load/next gs] [ ero: disarm err print ["is err: " ero/arg2] append gb ero/arg2 append gb join " - " ero/arg1 gn: gs: find/tail gs ero/arg2 ][ append gb val gs: gn ] any [none? gn empty? gn] ] gb ] org: "12.3.2.2.2.2.3.32.2.2.22.3.2.32.2.23.23.23.2312212323. this is a test of $10,000,000.00 loadall sequence" probe loadall org | |
gives >> do %loadall.r Script: "Untitled" (none) is err: 12.3.2.2.2.2.3.32.2.2.22.3.2.32.2.23.23.23.2312212323. is err: $10,000,000.00 [{12.3.2.2.2.2.3.32.2.2.22.3.2.32.2.23.23.23.2312212323.} " - tuple" this is a test of "$10,000,000.00" " - money" loadall sequence] | |
Note how the error objects have a great clue in arg1? This is just an example, the code sucks. Don't think about that. Think about a history professor sitting at a desk and typing >> mybook: load %mybook.txt and then fiddling with >> unique or sort or ... while trying to determine how many times he invoked Godwins Law I think this would open up reams of new REBOL communities. Let us pros worry about correctness and DSL and user friendly power apps. But open REBOL to general mishmash for the world at large. No? | |
Graham 7-Jan-2009 [3157] | Except Carl has already posted to say Rebol is not for those people. |
btiffin 7-Jan-2009 [3158] | Ahh, good point. Let's keep the knowledge to the illuminati. ;) But more seriously, he also mentioned I think it's time to change our message. REBOL is not for everyone. REBOL is advanced. It promotes the concepts of symbolics, context, and environment as powerful tools, going far beyond the traditional ideas of functions, objects, loops, and if statements. Why not let cunning linguists (if not mom and pop) in on the party too? It would still open up reams of communities. Entice them with "any kind of junky code that works" and then let them sit back and "consider each detail of their design, and sculpt it perfectly as a lasting work of thought." a few minutes after getting hooked? |
Graham 7-Jan-2009 [3159] | I think the answer is to write a more relaxed form of load perhaps as a dialect in this situation. |
Carl 7-Jan-2009 [3160x3] | Stopped by. It must have taken 30 minutes to sync up with this world. You guys talk too much. ;) |
Ah, the "comma topic" -- how many hours I've meditated on that one. | |
It's almost easier to invent a time machine, go back in time, and standardize the world's decimal point. And, maybe if there's a little extra time, standardize the date format too. | |
Steeve 7-Jan-2009 [3163x2] | Carl, are you the "real" one ? |
seems... | |
Carl 7-Jan-2009 [3165] | Let me pinch myself.... yes, it's me. |
Steeve 7-Jan-2009 [3166] | it's been a while... :) |
Carl 7-Jan-2009 [3167x2] | Long time. I've never wanted to wait for this world to load (on this computer, which is in a loft). |
How many messages are there in this world? More than 100'000? | |
Pekr 7-Jan-2009 [3169] | I would not expect you here :-) But, cool you stopped by here, as we've got some new users here in last two months ... |
older newer | first last |