World: r4wp
[#Red] Red language group
older newer | first last |
Kaj 29-Apr-2013 [7452x2] | I'm very happy with that, Gregg, I follow the same strategy |
It can be compiled, anyway, so it's not that slow | |
Bo 29-Apr-2013 [7454] | I was looking to take cover just in case a battle of the wizards was going to happen! Glad to hear it has been avoided. |
DocKimbel 29-Apr-2013 [7455] | I used to be a Dragon-Wizard level 37 in CircleMUD back when Internet was mainly text-only, so this could have become nasty indeed. ;-) |
Paul 29-Apr-2013 [7456] | Is there comprehensive updated documentation for RED? |
PeterWood 29-Apr-2013 [7457] | Not yet Paul. Though there is for Red/System. |
Pekr 30-Apr-2013 [7458] | interesting new plans and strategies sounds good :-) |
DideC 30-Apr-2013 [7459] | Doc: what do you mean when you say Textpad doesn't support Unicode ? I use Textpad 5.4.2 and see options to set UTF-8 as default text encoding and others options for BOM and so on. |
DocKimbel 30-Apr-2013 [7460x4] | Didier: see http://stackoverflow.com/questions/8879277/textpad-and-unicode-full-support |
Huh, there are versions 6.x and 7.0 for Textpad, I've missed that, but the feature page is not mentioning Unicode at all: http://www.textpad.com/products/textpad/features.html | |
Sadly the recent (March 2013) TextPad v7 release doesn't fix this problem. | |
Got a reply from Avira, they have processed my report and the fix should be soon available: https://analysis.avira.com/en/status?uniqueid=KwPWqW429CmT1fNpbHWQgDxQ8ryDHO4T&incidentid=1412216 | |
Pekr 30-Apr-2013 [7464] | btw, just curious - what is it generally usefull for, to call Red from R/S? I can imagine it in reverse direction, but when you would need any such callback? |
DocKimbel 30-Apr-2013 [7465x3] | Mainly for external (from bindings) events propagation to Red level. |
It will be also used in the Java and obj-c bridges. | |
Added new #call compilation directive to enable calling Red functions from Red/System. Syntax: #call [<red-fun-name> <arg1> <arg2> ...] Notes: - it can be used only in routines body or #system body block. - only function! value can be invoked (refinements not supported). - arguments are either literal values or Red/System global/local variables. - type casting (to a Red internal datatype) is allowed in arguments (avoids wasting an extra variable). | |
PeterWood 30-Apr-2013 [7468] | I think it is worth stressing that this is a feature of the Red compiler and is not available to Red/System programs compiled with the Red/System compiler. |
Gregg 30-Apr-2013 [7469] | So you can call Red apps from Red/System, but you can't call Red/System apps from Red/System, correct? |
DocKimbel 30-Apr-2013 [7470x3] | Peter: right, I've forgot to mention it. |
Gregg: not sure what you mean by "Red/System app". | |
The #call directive invokes a Red function, it has nothing to do with Rebol's CALL native. | |
Gregg 30-Apr-2013 [7473] | R is a compiled Red app. RS and RS2 are compiled Red/System apps. From RS2, I can #call into R, but not RS, correct? |
DocKimbel 30-Apr-2013 [7474] | No, it's not Rebol's CALL native. |
Gregg 30-Apr-2013 [7475x2] | Because it invokes a Red function. |
Right, I understand that. I don't mean CALL, I mean #call. | |
DocKimbel 30-Apr-2013 [7477x2] | There's no way you can call any function from one process to another. |
#call is meant for calling Red code from Red/System in the same app. | |
Gregg 30-Apr-2013 [7479] | Ah, I see my confusion. I thought this was some tricky IPC thing, but it's just a callback def in Red, correct? |
DocKimbel 30-Apr-2013 [7480] | Yes. :) |
Gregg 30-Apr-2013 [7481] | Oh, I get it now. Thanks. |
Kaj 30-Apr-2013 [7482] | Petr, in the currently available code, the GTK binding can't function without a callback from Red/System into Red; as Doc says, to pass GTK events into the Red GUI dialect engine. So far I constructed the callback the ugly way, but there's official support now |
DocKimbel 30-Apr-2013 [7483] | BTW, I've hesitated to name it #callback instead of #call. |
Gregg 30-Apr-2013 [7484x2] | It sounded like deep voodoo required for your bridging needs. |
I guess it is still deep voodoo, just a different kind. :-) | |
DocKimbel 30-Apr-2013 [7486] | Actually, it's fairly simple, think about a GUI app that sends a click event to your Red/System binding, how do you pass the event to Red code if you can't call it from Red/System. ;-) |
Gregg 30-Apr-2013 [7487x2] | Right, easy for people like me to use, but voodoo under the hood. |
If you do voodoo, I can call you WitchDoc. ;-) | |
Kaj 30-Apr-2013 [7489x3] | It replaces this: |
; Call back into Red stack/mark-func ~on-action integer/push as-integer face integer/push action f_on-action stack/unwind stack/reset | |
For a callback with two arguments | |
DocKimbel 30-Apr-2013 [7492] | It just pushes the Red/System arguments on a new Red stack frame and invokes the Red function. No black magic required. ;) |
Gregg 30-Apr-2013 [7493] | Don't tell me that. I want to imagine that it's *reeeallly* hard and bad things will happen if I even try to understand it. :-) |
Kaj 30-Apr-2013 [7494] | I was convinced about that for Unicode, and it didn't work out well ;-) |
DocKimbel 30-Apr-2013 [7495x2] | Ah, one thing to not, the type casting shortcuts like: as-integer, as-byte, etc.. won't work within #call because the Red/System preprocessor is invoked too late. |
not => note | |
Gregg 30-Apr-2013 [7497] | That sounds important to document. |
Pekr 30-Apr-2013 [7498] | I would probably prefer it being called #callback, or some ppl might relate it to REBOL's CALL :-) |
DocKimbel 30-Apr-2013 [7499] | Actually, it is related a bit, because in both cases, you are making an "external" call. |
Kaj 30-Apr-2013 [7500] | #call is more generic; you're not necessarily calling back |
DocKimbel 30-Apr-2013 [7501] | That's why I've opted finally for just #call. |
older newer | first last |