World: r3wp
[!REBOL3-OLD1]
older newer | first last |
BrianH 14-Aug-2009 [16644] | Rebolek, the invalid integer error is the correct behavior. Anyone running Wine, so we can test there? |
Pekr 14-Aug-2009 [16645] | Windows Vista Ultimate, 32bit edition - the same results as Sunanda ... |
BrianH 14-Aug-2009 [16646] | Anyone running 7 32bit? I only have 7 64bit and XP 32bit here. |
Pekr 14-Aug-2009 [16647x2] | Sadly no Win7 here, testing system is deleted .... |
BrianH: are you going to incorporate your module changes now? :-) Or waiting for some answers, regarding extensions first? | |
BrianH 14-Aug-2009 [16649x3] | I am going to wait for answers to the questions in R3 chat #5126 to finalize my changes. I've already worked out the integration, but a few policy/informational matters need to be addressed. |
Just tested Sunanda's number on Win7 64bit - same error as Vista. Reasonable to assume that Vista 64bit is the same. | |
Some of my module changes involve shuffling code from one function to another. It's possible that Carl's added code in IMPORT should be moved to LOAD, for stability and flexibility. I also integrated extensions into the module checking and override model, but need to know whether there will be problems with doing LOAD-EXTENSION more than once with the same extension (necessary to see if it is already loaded). | |
Pekr 14-Aug-2009 [16652] | BrianH: what are options to get e.g. SQLite driver running? If I understand it correctly, you can 1) include C source code of SQLite into your extension 2) wrap SQLite DLL from your extension ... |
BrianH 14-Aug-2009 [16653x2] | You can also statically link SQLite into your extension DLL, and just export your extension wrapper code, or the whole of SQLite if you want to do the trick like tclsqlite or System.Data.SQLite. The real trick is making a proper database access model that fits into R3. This might be tricky with extensions v1 because we don't have device support yet. |
With extensions v1 it's much easier to make a compiler than it is to provide SSL or database access. | |
Pekr 14-Aug-2009 [16655x2] | Really? Why? |
If you look into R2 SQLite driver, then it is scheme around few calls to wrapped DLL functions. I am not looking for something more. Lack of DB drivers is what imo holds guys back from turning into R3. There is less and less reasons, to use R2. | |
BrianH 14-Aug-2009 [16657] | I thought I'd need user-defined function types to make a JIT compiler, and those are much further down the road than devices. It turns out tthat the command! type is sufficient, today. I could start adapting a JIT next week. |
Pekr 14-Aug-2009 [16658x2] | So I just thought, that as an excercise, someone could "port" the SQLite driver, even if architecture might not be ideal. Why Device should be needed here? I know it would be better to be async non blocking, but we did not have it with R2 either, no? |
what? Really? What kind of JIT would it be? What exactly would be "jitted"? I don't expect normal REBOL code here, but some kind of limited dialect? | |
BrianH 14-Aug-2009 [16660] | In R3, async non-blocking is essential - in R2 it was optional. |
Pekr 14-Aug-2009 [16661] | So you think that next logical step for RXI is to support device model? |
BrianH 14-Aug-2009 [16662] | Yes. |
Pekr 14-Aug-2009 [16663x3] | What needs to be done here? Carl making some low-leve exposure of Device commands to RXI interface? |
OK, then push Carl to go that way :-) | |
The problem is, that both Device and RXI models are not much practically tested, no? Or does R3 uses Devices internally already for IO? | |
BrianH 14-Aug-2009 [16666] | I'm not sure how devices will be integrated, but know they must be, and soon. R3 uses devices internally and they work great. The trick is integrating devices with plugins. |
Pekr 14-Aug-2009 [16667x2] | there is no spoon ... :-) there are no plugins, just extensions, RXI for short :-) |
Google tries to propose unified way for browser extensions. I wonder if R3 could become such an extension, if we would benefit from such situation? Probably different model than having browser plug-in ... | |
BrianH 14-Aug-2009 [16669x2] | I've traced through the RX code (there isn't much of it - extensions are *simple*). It's a great model. I have a few low-level questions and one or two requests, but the overall model is pretty solid. There are GC considerations that still need addressing though. |
Google browser extensions are written in Javascript - if you want to use REBOL, you'd either need to compile to Javascript or be a plugin (which is supported by Chrome). The closest thing in R3 to Google's browser extensions is the module!. | |
Pekr 14-Aug-2009 [16671x2] | Have you looked to the LUA model? I posted you a link privately - seems similar ... |
What? I read some topic called - Google native extensions ... | |
BrianH 14-Aug-2009 [16673x2] | As for the JIT, I could write the compiler in REBOL and generate the intermediate code of the JIT, then pass that intermediate code to the JIT with a command. The JIT would then generate a function, add it to its list, and return the list index as an integer. That integer can be used to create a new command!, which RX_Call can dispatch to the internal JITed function. |
Since extensions can't be statically linked with R3, I can wrap a LGPL JIT like libjit. It should work great. I'll be stuck with the RX data model, but that cold be plenty for the types of functions you wold write just for speed. | |
Pekr 14-Aug-2009 [16675] | So we've got Rebcode replacement? :-) |
BrianH 14-Aug-2009 [16676] | What, did you think Carl was going to be the one to replace rebcode? :) |
Henrik 14-Aug-2009 [16677] | Sunanda: I get invalid integer too under XP under VMWare. |
Pekr 14-Aug-2009 [16678] | no, it is just the damned thing is possible finally :-) |
BrianH 14-Aug-2009 [16679] | Henrik, yeah, XP seems to do the right thing, throwing an error - it's only Vista and 7 that fail and return the wrong number. |
Henrik 14-Aug-2009 [16680x3] | a 64-bit issue? |
OSX reports bad numbers too instead of invalid integer. | |
under a76, that is | |
BrianH 14-Aug-2009 [16683] | Not a 64bit issue, a Vista+ issue. |
Henrik 14-Aug-2009 [16684] | I wonder about Linux now too, unfortunately I can't test. |
Gabriele 14-Aug-2009 [16685x2] | Anton, did you miss the "I'd rather" part? Did I say "Robert should" or even "Robert must" anywhere? LOL. :) I even suggested syntax, #[{ ... }]# though I don't like the idea at all. |
Brian, how likely it is that you will find the three characters }]# in JSON text? | |
Anton 14-Aug-2009 [16687x2] | Gabriele, I probably worded my last comment a bit strongly. (I don't want to enflame the situation..) Of course I highly value your judgement, opinions and suggestions. I should say, though, that I read your previous comment as somewhat dismissive of RobertS concerns / problem. |
With your #[{ ... }]# suggestion, I think it looks pretty good, and could be extended with specification of an end delimiter. With so many computer languages of all different syntaxes, having a way to specify the delimiter allows it to flex to any situation. We could add a second string to the block, eg. The end delimiter is END: #[{END} {... END}]# or a simple newline char: #[{^/} {... ^/}]# or a secure hash: #[{92838929838} {...92838929838}]# | |
Henrik 14-Aug-2009 [16689] | The R3 docs for extensions display an example for reversing a string. I wonder if it's the same code as used internally for the built-in REVERSE function? |
RobertS 14-Aug-2009 [16690x4] | I see that the en wikipedia has an article on verbatim strings in PHP under "here document" which in PHP documents for print and echo is acalled the "here document" syntax (of course PHP calls print and echo constructs and not functions or procedures ... ) http://en.wikipedia.org/wiki/Here_document |
My PHP page has no escaped characters becuase I can use the so-called "here document syntax". That is critcal for my templating needs. If your templating will only be done by rebol developers, it is of course a moot point: Rebol developers do not need heredocs/ But are all users of rebol going to be rebol developers? That is the dialect issue. And in the case of PHP (jsut an example) many PHP users are not PHP developers. The wiki page has examples from python or ruby if the mention of PHP offends purists .. ;-) | |
not to vex, I hope, but I just saw that PHP 5.3.0 added so-called "now docs" which are what I call literal strings or verbaibm strings in that no substitiutions occur so no escaping is done. I believe this how at least comment {should behave in R3 if I use a { as in just print {this} { to get the effect you want } which comment is not the same which has to explain that you do whis without the escapes - which is fine if thosei are the only and very escapes in question ... | |
The PHP restriction on HEREDOC and NOWDOC is that the closing identifier ( a label, if you like) must appear after a nl and there must be ONLY a nl immediatly after its ; terminator - a restriction which seems not at all onerous in practice now that I am using them | |
older newer | first last |