World: r3wp
[rebcode] Rebcode discussion
older newer | first last |
DideC 25-Oct-2005 [866x2] | About previous Alert (rebcode), and to filter noise, please vote in the "Opcode naming survey" checklist. Add 2 to your prefer naming convention Add 1 to your second choice |
Thanks | |
BrianH 25-Oct-2005 [868] | Has choice 4 been added? |
shadwolf 25-Oct-2005 [869] | hum noise is for me ? |
DideC 25-Oct-2005 [870] | No. |
BrianH 25-Oct-2005 [871] | vote cast. |
Volker 25-Oct-2005 [872] | was late. had to wait, everytime i wanted to vote the vote-list jumped.. :) |
Geomol 25-Oct-2005 [873] | I don't like democracy, when my opinion is not choosen. ;-P |
BrianH 25-Oct-2005 [874] | Well I am in Chicago, but I'll still vote only once :) |
Henrik 25-Oct-2005 [875] | rebcode is like politics for me. I don't really care :-) |
Volker 25-Oct-2005 [876] | I do like it if your opinion is not choosen, as long as mine is! Have to look if i like democracy now. :) |
Henrik 25-Oct-2005 [877] | as in the voting part |
BrianH 25-Oct-2005 [878] | Something non-vote-related, would it be possible to have to-dec just assign the source to the destination when the source value is already a decimal? And the same for to-int, types adjusted? |
Volker 25-Oct-2005 [879] | then you cant convert in-place, as in your example. to-dec a a |
BrianH 25-Oct-2005 [880x2] | Right now to-dec sets the destination word to none if the source word refers to a decimal already. |
And to-int works the equivalent way. | |
Volker 25-Oct-2005 [882x2] | oops. misreaded just for only. |
I agree then. | |
BrianH 25-Oct-2005 [884x6] | This is a place where I'd be willing to add a couple cycles just to prevent extremely obscure bugs. |
By the way, I would prefer that randz and the trigonometric opcodes not be renamed unless you are planning to make versions of them for each type. They are already documented as being type-specific and there's only one of each, so it shouldn't be a problem. | |
Sorry, to-dec assigns 0.0 when the source is a decimal, not none. At least you can count on the dest being a decimal afterwards... | |
See what I mean by obscure bugs? | |
And to-int assigns 1 when the source is an integer. They're not even consistent with each other. | |
Submitted to RAMBO. | |
Benjamin 26-Oct-2005 [890] | hoo third option seems fineto me |
BrianH 26-Oct-2005 [891] | Does anyone still need to vote? |
Ladislav 26-Oct-2005 [892] | looking at the checklist I see, that there was somebody not adhering to the rules :-) |
Henrik 26-Oct-2005 [893] | never send a checklist to do a voting applications' job :-) |
BrianH 26-Oct-2005 [894x2] | Yeah, I noticed that the votes didn't add up to a multiple of three. |
Whoops, I guess they do now. | |
Ladislav 26-Oct-2005 [896] | :-) |
Alan 26-Oct-2005 [897] | 1 |
DideC 26-Oct-2005 [898x2] | The survey helped (even with those who didn't play the game ;) Thans to all |
thanks | |
BrianH 26-Oct-2005 [900] | I've written a patch to the assembler that implements a working OFFSET directive and label value fixups. I will submit it to RAMBO as an enhancement request. |
[unknown: 5] 26-Oct-2005 [901] | I don't know enough about rebcode to do any voting - there any docs yet? |
BrianH 26-Oct-2005 [902x5] | ; You use it like this label x ;... offset y 5 sub y x braw y |
Note that label, offset and the branches all calculate relative to the end of their statements. | |
Just after the end, rather. | |
If anyone wants to test the patch, here it is. | |
REBOL [] use [fixup-rule label-rule label-fixup-rule label-error-rule here] [ ; Initialize the intermediate rules label-rule: make block! 0 label-fixup-rule: make block! 0 label-error-rule: make block! 0 ; Build the fixup-rule based on the opcode-rule fixup-rule: copy/deep rebcode*/opcode-rule parse fixup-rule [ some [ here: lit-word! block! '| ( unless find ['bra 'brat 'braf] here/1 [insert here/2 [label-error-rule |]] ) | lit-word! 'word! '| ( unless 'label = here/1 [here/2: [label-error-rule | word!]] ) | lit-word! | '| | 'block! | 'series! | 'word! (here/1: [label-error-rule | word!]) | 'any-type! (here/1: [label-fixup-rule | any-type!]) | into ['integer! '| 'word! | 'word! '| 'integer!] ( insert here/1 [label-fixup-rule |] ) | block! (insert here/1 [label-error-rule |]) ] ] ; Replace the fix-bl function rebcode*/fix-bl: func [block /local labels here there label rule] bind [ labels: make block! 16 block-action: :fix-bl if debug? [print "=== Fixing binding and labels... ==="] parse block [ some [ here: subblock-rule (here/1: bind here/1 words) | 'label word! (here/1: bind here/1 words insert insert tail labels here/2 index? here) | 'offset word! integer! ( here/1: bind 'set words here/3: 3 + here/3 + index? here if (here/3 < 1) or (here/3 > 1 + length? block) [ error/with here "Offset out of bounds:" ] ) | opcode-rule (here/1: bind here/1 words) | skip (error here) ] ] either 0 < length? labels [ label-rule: make block! length? labels foreach [key val] labels [insert insert tail label-rule to-lit-word key '|] clear back tail label-rule label-fixup-rule: [there: label-rule (there/1: 2 + select labels there/1)] label-error-rule: [label-rule (error/with here "Cannot use label here:")] rule: fixup-rule ] [ rule: opcode-rule ] parse block [ some [ here: ['bra word! | 'brat word! | 'braf word!] ( if not label: select labels here/2 [error/with here "Missing label:"] here/2: label - index? here ) | rule | skip (error here) ] ] ] rebcode* ] | |
Rebolek 27-Oct-2005 [907] | somebody must really like the add.i/add.d version. It's got priority 20 now :) |
Volker 27-Oct-2005 [908x2] | can i have preincrement/postdecrement then? |
if we go 68k. ;) | |
Rebolek 27-Oct-2005 [910] | I don't like, it doesn't look like REBOL with the dot. Is it tuple or url? No, it isn't. So why the dot? |
Volker 27-Oct-2005 [911x2] | because its assembler and 68k did it that way. dont like it too. |
have you voted already? :) | |
Rebolek 27-Oct-2005 [913] | Yes, for the addi/addd version. |
Pekr 27-Oct-2005 [914] | but it is not an assembly ;-) It is rebol dialect .... I agree with Kru .... |
Volker 27-Oct-2005 [915] | Have you voted? shall we vote again? :) |
older newer | first last |