World: r4wp
[!REBOL3] General discussion about REBOL 3
older newer | first last |
Bo 5-Jun-2013 [2596x2] | avconv (formerly ffmpeg) is open source, so I imagine some or all of that could be used as a starting point (if the licenses are compatible). |
I think gstreamer is also open source, and might be less complex than avconv. | |
Geomol 5-Jun-2013 [2598] | Maybe if you could find libraries, that can do this, and call them. World can call routines in libs, and REBOL can too (afaik). |
Bo 5-Jun-2013 [2599] | Yes, but I think Carl was talking about making it more of an integrated component so it can be easily accessed Rebol-style. It's like the difference between loading a jpg in Rebol (it just works) or trying to link Imagemagick (or comparable) to load a jpg into a binary image format that can be modified by Rebol. |
Geomol 5-Jun-2013 [2600] | yes, and it would be lovely to be able to do that in REBOL and World. But (I can only talk for World) the language needs to have legs first, before we can think about flying. |
Arnold 5-Jun-2013 [2601] | wings to fly, legs to run. |
Geomol 5-Jun-2013 [2602] | and World can barely crawl now. |
Ladislav 5-Jun-2013 [2603x2] | Maybe return could have a /back refinement which you could use when exiting a variadic function. - not a good idea. Variadic functions don't differ from "normal" functions in this respect. If consuming an "undesired" argument, it actually is an error. That is a good enough solution as far as I am concerned. In case of SUMN this behaviour can be also implemented by requiring the argument to always have a specific type. e.g. [number! none! unset!], where number! would be a "normal" argument while none! and unset! would be stopping. Any other argument causes an error, which should suffice for you to note that something went wrong. |
A question for AdrianS or other lurkers: I already mentioned that SUMN actually used unevaluated argument passing style (APS). Do you find that style appropriate or would you prefer SUMN to use a different APS? (Consult https://github.com/saphirion/documentation/blob/master/argpass.mdp if you don't know what I am talking about). Advantages of using evaluated APS for SUMN: - argument can be a result of an expression, i.e., the function would be referentially transparent in the sense that it would accept expression results, e.g. sumn 1 2 * 3 Disadvantages of evaluated APS for SUMN: - (sumn 1 2) would not work since the function would miss a stopping argument Advantages of using literal APS for SUMN: - partiall referential transparency, the function can accept result of an expression, if the expression is in parentheses, i.e. sumn 1 (2 * 3) would work - partial referential transparency, sumn 1 :x * 3 would work - (sumn 1 2) would work, since the literal APS obtains the stopping #[unset!] Disadvantages: - sumn 1 2 * 3 would not work - sumn 1 x would not work either Advantages of using unevaluated APS for SUMN: - (sumn 1 2) would work, since the literal APS obtains the stopping #[unset!] at the end of the paren - sumn 1 (2 * 3) can be made to work if desired - sumn 1 x can be made to work if desired Disadvantages: - sumn 1 2 * 3 would not work - sumn 1 :x * 3 would not work | |
AdrianS 6-Jun-2013 [2605] | I will have to think about this. I'm curious, though, what your opinion is of return/redo given that BrianH said in the SO chat that it had been decided to remove this and yet you documented it and showed its usefulness. Later, Brian also said: Ladislav proved that RETURN/redo needed to be removed, by writing example code that was safe to run, but used methods that were provably unsafe if used mistakenly or maliciously. It would actually take a programmer of Ladislav's calibre to use the feature safely. But DO function is provably OK. So, is the intent to remove the feature? |
Ladislav 6-Jun-2013 [2606] | BrianH said in the SO chat that it had been decided to remove this - I do not know about such a decision yet |
AdrianS 6-Jun-2013 [2607x2] | Read the SO chat from around 22:55, yesterday. Curious about your take on that discussion. |
The link, for those here that don't visit SO regularly: http://chat.stackoverflow.com/transcript/message/9837385#9837385 | |
Ladislav 6-Jun-2013 [2609x2] | Well, I was originally against /REDO, taking a more moderate point now, but, as I said, I am not sure there was an agreement to remove it. |
In /REDO case it looks that I am something like "permanent opposition". When there was a "hurray /REDO" atmosphere I was trying to chill it down pointing at the disadvantages, now, when there is the "phew /REDO" atmosphere, I seem to be an opposition as well... | |
AdrianS 6-Jun-2013 [2611x3] | The word is contrarian :-) |
I'd like to hear more about the security implications it has vs existing ways of affecting interpreted behaviour by self-modifying code. | |
Is it significantly worse? | |
GrahamC 6-Jun-2013 [2614] | Or fickle |
Gregg 11-Jun-2013 [2615] | Is READ %/ supposed to work as in R2, or is the current R3 behavior (reads root of current drive, rather than enumerating volumes) the new normal? |
Andreas 11-Jun-2013 [2616] | Gregg, BrianH reported this issue as a bug today: http://issue.cc/r3/2031 |
Gregg 11-Jun-2013 [2617] | Funny timing. :-) |
Maxim 14-Jun-2013 [2618] | cant' we press escape to halt a script or when at an 'ASK prompt? |
Endo 14-Jun-2013 [2619] | escape doesn't work, but ctrl-c works (on Windows), it returns "** Access error: read failed: [scheme: 'console] reason: 87" but remains in the console. |
Maxim 14-Jun-2013 [2620] | when its launched from windows it closes the whole intepreter :-( |
Endo 17-Jun-2013 [2621] | Interesting, I tested with the old R3 version and the latest Saphirion version, it doesn't close the console. |
Maxim 17-Jun-2013 [2622] | (I'm on win8) |
Rebolek 17-Jun-2013 [2623] | Is it possible to acess UNIX sockets? |
Andreas 17-Jun-2013 [2624] | Currently, there is no support for Unix domain sockets implemented (neither high- nor low-level). |
Rebolek 17-Jun-2013 [2625] | I thought so... |
Robert 22-Jun-2013 [2626x2] | Did anyone started a R3 code-review and already took notes that are published? |
I think it makes a lot of sense to publish all notes in a structred way, so it's easier to work on the R3 code base. | |
Bo 23-Jun-2013 [2628x2] | I think that 'subtract should allow for binary values: >> help subtract USAGE: SUBTRACT value1 value2 DESCRIPTION: Returns the second value subtracted from the first. SUBTRACT is an action value. ARGUMENTS: value1 (scalar! date!) value2 (scalar! date!) >> subtract img1b img2b ** Script error: subtract does not allow binary! for its value1 argument |
Rebol 2.101.0.4.20: >> difference #{FFFFFF} #{EEEEEE} == #{FFEE} I would expect it to return #{111111} | |
Gregg 23-Jun-2013 [2630] | Why not use XOR? |
Geomol 24-Jun-2013 [2631x2] | >> to binary! (to integer! #{ffffff}) - to integer! #{eeeeee} == #{0000000000111111} I think that 'subtract should allow for binary values Hm, what if they're not of the same length, the two binary sequences? |
What if they're longer than 8 bytes? | |
Ladislav 24-Jun-2013 [2633] | #[[Bo Rebol 2.101.0.4.20: >> difference #{FFFFFF} #{EEEEEE} == #{FFEE} I would expect it to return #{111111} ]]Bo That is not a well informed expectation, Bo.: * in Rebol, binary values are series of octets (small integers, 0 to 255) * in Rebol, set functions handle series as sets of values * DIFFERENCE is a set function yielding set difference * in the above case the first st contains #{FF} (=255), which is not contained in the second series * the second series contains #{EE} (=238), which is not contained in the first series * thus, the set difference is #{FFEE} |
PeterWood 24-Jun-2013 [2634] | Does this help: >> to binary! difference to bitset! #{FFFFFF} to bitset! #{EEEEEE} == #{111111} |
Maxim 24-Jun-2013 [2635] | hum, wow. there always seems to be a conversion path to get the numbers do what we want... I'm sure accountants would love rebol ;-) want a deficit... just turn it into a binary, want a profit, just turn it into a bitset first ;-) |
Andreas 24-Jun-2013 [2636] | Gregg already mentioned XOR, I'll repeat: why not XOR? >> #{FFFFFF} xor #{EEEEEE} == #{111111} |
Bo 24-Jun-2013 [2637x4] | Ladislav: I was expecting 'difference to treat binaries the same as the 'difference in the 'draw dialect in R2. I seem to have been mistaken. |
Geomol: If subtracting two binary numbers of different lengths, it would be like subtracting two decimal numbers of different lengths. | |
Gregg and Andreas: 'xor seems to work, for the most part. I have to do some more testing to know for sure. | |
Thanks for your help, everyone! | |
Geomol 24-Jun-2013 [2641x4] | Bo, I'm not sure, if that makes sense. What you're suggesting is, that this should be possible: (read/binary %file1) - (read/binary %file2) So it's like looking at a long sequence of binary data as a number? And if the series are of different length, they should be right aligned. Is that really useful? :) |
Arithmetic on series ... like arithmetic on strings!? Funny language, that do things like that. | |
R2 can use strings in AND, OR and XOR, like binary!, but they're not right aligned. | |
R2 and R3 works the same in this: >> (to integer! #{1111}) or (to integer! #{22}) == 4403 >> to integer! #{1111} or #{22} == 13073 I guess, that's expected behaviour? | |
Bo 24-Jun-2013 [2645] | I would say so. The great thing about datatypes is that they can save us a lot of work doing manipulations. |
older newer | first last |