World: r3wp
[All] except covered in other channels
older newer | first last |
BrianH 31-Mar-2009 [3436x2] | No Brian, you won't because Carl already made the change in alpha 39, and is currently writing DECODE. |
Even my compromise from the last time you brought this up was rejected. TRANSCODE/error and codecs is what we got. Live with it. | |
btiffin 31-Mar-2009 [3438] | I'm doing it with well meaning intent. I really do struggle trying to get young up and coming university students to give REBOL the chance I know it deserves. And sorry Brian, I've haven't tried A39 yet. I'm still running the A33 for Linux. |
BrianH 31-Mar-2009 [3439x3] | Well, I already rewrote LOAD to take advantage of the TRANSCODE changes. It should go in the next build. |
This includes LOAD/next, btw. | |
Like LOAD/header, it is better than R2 :) | |
btiffin 1-Apr-2009 [3442] | This is very cool news ... I'll crank up wine again on an a40.exe to see ... time to catch up with recent developments again. |
BrianH 1-Apr-2009 [3443x2] | I think upgrade works with the Linux version now, and there are Linux builds on the releases page. |
Even cooler news from the upcoming LOAD: >> load ["print 'hello" "print 'there"] == [[print 'hello] [print 'there]] Works with files and urls too - Carl's idea :) | |
Steeve 1-Apr-2009 [3445] | uh ? |
btiffin 1-Apr-2009 [3446x2] | I've been trying upgrade ... just did a minute ago ... it stashed an r3-a40.exe so I wouldn't have bothered to look ... but am now as you made me all keen and curious. And yes, the releases page has updates I didn't notice. |
Thanks Brian | |
BrianH 1-Apr-2009 [3448x3] | LOAD of a block will treat the block as a collection of things to load, so it will load all of them The code is this: map x source [apply :load [:x header next all unbound]] |
Yeah, the upgrade returns anLinux binary with a Windows name :) | |
an -> a | |
Steeve 1-Apr-2009 [3451x2] | ahah i was about to said it was a shortcot for map str ["print 'here" "print 'here"][load str] |
to slow | |
BrianH 1-Apr-2009 [3453x2] | Yup, except with APPLY so the refinements can be propagated. |
MAP and APPLY are native in R3, as fast as FOREACH and function calls, respectively. | |
Steeve 1-Apr-2009 [3455] | map is currently underated, it's a really cool function |
BrianH 1-Apr-2009 [3456x3] | Even as mezzanines they would be useful, so MAP and APPLY are part of R2-Forward as well. |
I use them in R2 every day :) | |
Well, APPLY more often than MAP, but still. | |
Gabriele 1-Apr-2009 [3459x2] | I still don't see the performance hit of a lexical scanner that defaulted to make foreign!"" - One word, backtracking. It needs MAGIC to do what you want. MAGIC is expensive. |
Furthermore, I don't believe that this would attract even one more user to REBOL. | |
BrianH 1-Apr-2009 [3461] | Well put :) |
Steeve 1-Apr-2009 [3462x2] | To be honest, i can see his point. If instead of failing on the first error encountered, we could have a load-foreign which accept a user call back function, each time an error occurs. Then, we could do some handy conversions meanwhile the loading process. Don't say it would be a useless thing guys. |
it's easy to simulate with transcode and parse but we need speed here | |
BrianH 1-Apr-2009 [3464] | Failure is your friend. If it doesn't fail on errors, you can't trust the output and yo have to do the error checking in your code. |
Steeve 1-Apr-2009 [3465] | i'm not talking about the standard behavior of LOAD here |
BrianH 1-Apr-2009 [3466] | But he was. |
Chris 1-Apr-2009 [3467] | I'd say there is a case for adapting Rebol's vocabulary, eg: measure! - proposed a long time ago - 2cm 3.4cl 5o (degrees) 1em - found elsewhere, eg CSS date! - recognize some common alternate constructs - 12-Mar-2009T04:00 money! - the suggested: $1,000.00 I'd love to see Rebol mature along these lines. The literal types are the essense of Rebol's being, they make for expressive problem solving and efficient data exchange with some resemblence to terms we would use on paper - all with 'load as its core arbiter. It'd be great to be able to extract meaning from any stream of data, and I think if any language can, it's Rebol - however, it just seems beyond the scope of 'load which has this specifically and valuably defined purpose. Whereas 'parse can be used to describe anything! - even if you load junk!, you're still going to need 'parse to make sense of it... |
Gabriele 2-Apr-2009 [3468x2] | callback on error - how is that different from using PARSE and LOAD/NEXT ?? |
Chris: that is a whole different issue. , in numbers does not work because REBOL allows 1000.00 and 1000,00 to be the same thing, though with some euristics we might be able to make that work. euristics are bad for a language's lexicon though. instead, like to date! does (wrt load) I'd rather have to decimal! (etc.) to be smarter. | |
Steeve 2-Apr-2009 [3470x3] | Has someone done some test with a JIT library ? For example to be used with a little VM to replace rebcode ? |
As I see the problem, it would be: 1/ create a compile function in Rebol using parse to translate a dialect into some bytecodes. 2/ call an external (dll or so) tiny virtual machine. 3/ The VM uses a JIT libray (ie. AsmJIT) to convert the bytecodes into ASM instructions. 4/ the VM execute the code | |
could be faster than rebcode (especially the loops) | |
[unknown: 5] 2-Apr-2009 [3473] | Well if your going to go that route why not just use REBOL to create a MACRO language that outputs assembly code? That would be rather easy to implement. |
Steeve 2-Apr-2009 [3474x2] | want to be done in real-time, with a jit library. Not with intermediate files and slow compile time |
need to inject code | |
[unknown: 5] 2-Apr-2009 [3476] | SLOW compile time? Assemblers are using macro's already and compiling extremely fast. |
Steeve 2-Apr-2009 [3477] | but how do you inject code in your running application without a good framework to do that. You can't just throw a bynary stream in the heaven |
[unknown: 5] 2-Apr-2009 [3478x3] | I wasn't objecting to your comment about injection. |
I'm not agreeing with it either. | |
But if that is what you desire go for it. | |
Steeve 2-Apr-2009 [3481x2] | give me a dll wich accept a binary stream and run it as a function and i'm ok to generate assembler with rebol |
*which | |
[unknown: 5] 2-Apr-2009 [3483] | Go for it Steeve. |
BrianH 2-Apr-2009 [3484] | Gabriele: "callback on error" - how is that different from using PARSE and LOAD/NEXT ?? It's *much* slower (according to Carl). That is why he decided to handle this with TRANSCODE/error (which returns the data so far, an error object, and the next position), rather than TRANSCODE/else on-error (which would have called the provided on-error function when there was a parse error). |
btiffin 3-Apr-2009 [3485] | Gabriele; Ahh ... lights are coming on. MAGIC lights. ;) Ok, I can see how the success backtracking could lead to more grief than I originally imagined. So now I'll shutup on this ... until we see what comes of user types (if we get 'em) mixed with transcode/error. Could be cool. |
older newer | first last |