World: r3wp
[!REBOL3-OLD1]
older newer | first last |
BrianH 23-Jul-2009 [16358x2] | I think your assessment is accurate though. |
There are some occasions where the behavior of an op! or action! is different depending on what datatype its first argument is. Actions dispatch based on the type of their first argument only, so making the behavior work with the types reversed might require double-dispatch to work. This is a similar situation to that of Smalltalk classes. | |
Pekr 24-Jul-2009 [16360] | hmm, it seems Carl did not succeed to resolve Plug-in interface, so we are getting some "simple method" .... |
BrianH 24-Jul-2009 [16361] | It's also possible that excessive complexity was the problem that needed resolving, and the "simple method" is the solution :) |
Pekr 25-Jul-2009 [16362] | yes. It is now at least clear, we will see soon :-) |
Pekr 30-Jul-2009 [16363] | A quick update on plugins - http://www.rebol.net/r3blogs/0226.html |
Henrik 30-Jul-2009 [16364] | nice |
Robert 30-Jul-2009 [16365] | What's bad about a simple plug-in solution? |
Graham 30-Jul-2009 [16366] | Only bad if simple = limited |
sqlab 30-Jul-2009 [16367] | maybe it's time for a beta version, as most features are in its place then? |
Henrik 30-Jul-2009 [16368x2] | still need modules and more bug fixes |
I think that when we hit beta, people might expect to start writing production scripts with it. So we have to be sure that the important areas won't change too much between beta and final. | |
Sunanda 30-Jul-2009 [16370] | Two questions about calling other programs /scripts: * when is CALL going to get some refinements -- like /wait and /output ? * what is the point of: launch none ? |
BrianH 30-Jul-2009 [16371] | AFAIK: * CALL might or might not get refinements - it may be a better strategy to just fix CALL so it doesn't need them. In any case, changes to CALL are likely to happen after the host code is released, since that is where CALL is implemented. * What is the point of <anything about how LAUNCH behaves>: It's due for a complete redo - none of its current behavior is intended. |
Pekr 31-Jul-2009 [16372x3] | First docs appeared - http://rebol.com/cgi-bin/docs.r?do=sumlog |
BrianH: I miss call/output, call/wait refinements at least .... | |
I also don't understand, why the regressioin of 'call happened. | |
Sunanda 31-Jul-2009 [16375] | Thanks for the explanation, Brian. |
Pekr 31-Jul-2009 [16376] | hmm, no IO, callbacks this time .... I look forward to REBOL gurus, bringing some usefull features to R3. However - it is more than clear that this type of interface is not for all. So - I still look forward for vastly improved DLL interfacing method, which allows even ppl like me to have some usefull things done ... |
PeterWood 31-Jul-2009 [16377] | Does anybody know the reason that money! is not included in the list of immediate datatypes for plug-ins? |
Sunanda 31-Jul-2009 [16378] | Following on from asking about CALL and LAUNCH.....Is TASK meant to be any thing other than a placeholder in the current alphas? All it does for me is crash the console. |
Ladislav 31-Jul-2009 [16379] | Does anybody know the reason that money! is not included in the list of immediate datatypes for plug-ins? - money! is not 64-bit datatype |
Robert 31-Jul-2009 [16380] | Money: Well, but it should be possible to exchange it as a struct or whatever is needed. And we can provide some C-level code to handle the internal format. |
Pekr 31-Jul-2009 [16381] | I somehow can't understand, what is the difference between a plug-in funciton, and for e.g. C level function wrapped into DLL call (R2 way)? The example provided in doc shows rather complicated aproach of how such function has to be constructed. You simply can't write it your way? There has to be some reason for it :-) |
BrianH 31-Jul-2009 [16382x2] | Pekr, there is no regression: CALL in R3 is an entirely new function, which uses an entirely different, lower-level method to call stuff. I don't know whether the /output and /wait methods are possible with the new method, or whether they will be necessary once CALL is fixed. Right now CALL is a placeholder - the implementation is going to be in the host code (read: open-source), so development has been put on hold on CALL until the host code is released (which is intended to be soon). |
Tasks are pretty much placeholders for now, but are intended to be included in the final R3. The model isn't settled. | |
Geomol 31-Jul-2009 [16384x2] | Is there a problem with getting operators? >> get to word! "=" ** Script error: = word is not bound to a context |
Using get-word syntax works: >> := == op! | |
Sunanda 31-Jul-2009 [16386] | Ditto: >> get to-word '= == op! |
Geomol 31-Jul-2009 [16387x3] | The get-word syntax has a problem with the <> operator: >> a: :<> ** Syntax error: invalid "word-get" -- ":" |
Sunanda, so making string to words and making lit-words to words isn't quite the same, it seems!? >> (to word! '=) = (to word! "=") == true >> (to word! '=) == (to word! "=") == false | |
Strange! >> type? to word! '= == word! >> type? to word! "=" == word! | |
Sunanda 31-Jul-2009 [16390] | Yes -- not sure why. Brian knows the internals. Re broken syntax. QUOTE can help, eg: >> get to-word '<> ** Syntax error: invalid "word-lit" -- "'" But: >> get to-word quote <> == op! |
Geomol 31-Jul-2009 [16391] | :-) QUOTE (never heard of that one before) |
Sunanda 31-Jul-2009 [16392] | It's R3 only |
BrianH 31-Jul-2009 [16393] | You can't do QUOTE for words in R2, but it works for other types (including other word types). |
Geomol 31-Jul-2009 [16394] | What's the need for QUOTE, when we have the get-word syntax? |
BrianH 31-Jul-2009 [16395x5] | QUOTE is mezzanine, and in mostly for qoting function references and other active values in generated code. |
Geomol, the reason that >> 'a == to-word "a" == false is because == now takes into account the binding of the word. TO-WORD string generates unbound words. LOAD string generates words that are bound to the user context - console commands are loaded just like scripts. | |
>> 'a = use [a] ['a] == true >> 'a == use [a] ['a] == false | |
If you want to take into account the binding of a word but not its type (equivalency within the word types), use EQUIV? (no operator for it). | |
>> equiv? 'a use [a] [/a] == false >> equiv? 'a /a == true | |
Geomol 31-Jul-2009 [16400] | I see. Being a tad complex, I think. |
BrianH 31-Jul-2009 [16401] | We completely revamped equivalence. There are 4 levels now. There was a big blog discussion about it. |
Geomol 31-Jul-2009 [16402] | 4 levels of equivalence, wow! Is that a record in computer languages? ;-) |
BrianH 31-Jul-2009 [16403x2] | Not even slightly - many languages have it much worse :) |
Btw, if you want to get the value of the <> word, remember that the same value is also assigned to the != word: >> same? get quote <> :!= == true | |
Geomol 31-Jul-2009 [16405] | Yeah, I found !=. I guess, the :<> is a lexical bug? (I'm still working on a deep test on the lexical analyzer and hope to send the result to Carl and the rest of the R3 developers in the near future.) |
BrianH 31-Jul-2009 [16406] | Please add the bug (perhaps aas a wish) to CureCode. There are other unresolved lexical bugs there already (like #537). |
Geomol 31-Jul-2009 [16407] | I'll handle it in my lex report. There are many problems with < and > in different combinations. I guess, it's because they clash with the tag! datatype. For example: >> '< ** Syntax error: invalid "word-lit" -- "'" |
older newer | first last |