r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[!REBOL3-OLD1]

Henrik
17-Sep-2009
[17690]
If you call your hobby your work, you never work a day in your life. 
:-)
Maxim
17-Sep-2009
[17691x2]
it usually takes about 2 weeks of full time and then its part time... 
but Carl really likes meddling on Rebol stuff... so I'm sure he's 
thinking about many R3 issues while he's doing the wine...  


meaning, when he goes back to the code... a lot of stuff will be 
resolved and just need implementing...


many new questions will most probably surface based on all of that 
meditation.
Carl has a multicore brain like quite a few of us here.  He doesn't 
have to be in fron of the screen to be programming....  the typing 
is the most trivial aspect of programming !  ;-)
Reichart
17-Sep-2009
[17693]
WuJian, I love that you thought that was something like a metaphor.



No, he really has a vineyard on his sprawling estate overlooking 
the city below him...  he does this as his pleasure, and way to stay 
sane.
Henrik
17-Sep-2009
[17694]
As long as those pesky fires stay away.
Reichart
17-Sep-2009
[17695]
Indeed, I just lost about 50K hectacres only 10km from my LA Ranch. 
 It was pretty bad.
Anton
17-Sep-2009
[17696x3]
Wow, that's a lot of property to burn. Sorry to hear that. It would 
be an enormous job just to redo the fences. Hope you didn't lose 
any good buildings or trees.
(Actually, I do hope that trees were there, because they would have 
been doing a good job - at least before the fire came.)
(off topic sorry - move to ~Chat).
Reichart
17-Sep-2009
[17699]
We lost ALL the trees....there were no fences...


Of note....................Carl "tends" to be 10x more productive 
after a break.... all and all, always assume this is a good thing 
that he tends the vines...
btiffin
17-Sep-2009
[17700x4]
Maxim; Forther brain.  One word at a time.  Write a word, test a 
word.  Write second word, test both.  Write third, test three. Write 
fourth.  Too confused now.  Give up and start over.  :)


The REBOL console is so close to allowing this type of tighly wound 
interative development that I have to whinge and whine for the good 
old days of the polyFORTH block editor every few months.  But, typing 
and evaluation are not the same head space (yet).   Chuck needs to 
sit down with Carl someday, so they can arm wrestle on a few issues.
tighly wound = tightly wound
Ashley;  RebDOC feature request.  How hard would it be to add a Keywords 
tab to this uber handy app?  (Second part of the request being a 
please please if it won't take too much of your time)
oops
Pekr
18-Sep-2009
[17704]
Carl calls for prioritising parse enhancements, I posted wiki parse 
REP link for him. BrianH - time to step in? :-)

http://www.rebol.net/wiki/Parse_Project
shadwolf
18-Sep-2009
[17705]
Pekr good idea that  documentation
BrianH
18-Sep-2009
[17706]
Putting in some priorities now...
Pekr
18-Sep-2009
[17707x2]
Maybe you can ping Carl on Chat on that, because otherwise he might 
get scared to read the doc :-) Curious about what you choose for 
the priority ...
I am a parse beginner. I always proposed to/thru [a | b], but then 
I took Gabriele's suggestion to my mind and started to construct 
parse rules different way. What caused biggest problem for me as 
for beginner, was nested/recursive calls, and not separated local 
contexts ....
BrianH
18-Sep-2009
[17709]
Priorities section updated - take a look.
Maxim
18-Sep-2009
[17710]
btw, this parse doc is FABULOUS  :-)
BrianH
18-Sep-2009
[17711]
Peta did a great job on the theoretical stuff, though the discussions 
got a little heated at times. Once thee proposals phase is done we 
should raid these for the official DocBase PARSE in-depth docs.
Maxim
18-Sep-2009
[17712]
yes, definitively.  and use the same style for in-depth tutorials 
too  :-)
Chris
18-Sep-2009
[17713]
R2's parse was killer, R3 parse will be, em, killerier (parse that!). 
 It's a shame we can't retrofit this into an R2 build to allow for 
testing while only modifying parse syntax...
Maxim
18-Sep-2009
[17714]
killerier ... mass murder?   ;-)
BrianH
18-Sep-2009
[17715x2]
Some of the new rules could be backported to R2 with a rule compiler, 
that translates from the R3 rules to R2 workarounds.
I believe Gabriele already did something similar.
Maxim
19-Sep-2009
[17717]
here goes parse on steroids!!!  

http://www.rebol.net/r3blogs/0243.html
Henrik
19-Sep-2009
[17718x2]
Anyone remember a long time ago, when I talked about counters? That 
would be a kind of a tuple that you can count with. I still think 
there is something pretty fundamental missing in regards to creating 
and using counters.
I was just looking at the makedoc source, and when you count up section 
numbers, Carl spends about 15 lines of code doing that. You have 
to manually build the mechanics for counting section numbers. Now, 
this wasn't like the counter I was originally suggesting, because 
it was based on providing elaborate specs for the counter. Having 
to do that, might be why the proposition didn't live, as it's too 
complex to do natively.


But, still, what if you could count section numbers in a single line 
of code?
Maxim
19-Sep-2009
[17720x2]
He is my advanced and totally robust tuple incrementor.


you can set base for tuple fields and can even increment larger than 
the base safely.

it auto-detects the size of the tuple for you, or you can set the 
increment precision, if you need.


;-----------------
;-    tuple++()
;-----------------
tuple++: func [

 {Increments tuple fields from their Least Significant Field, carrying 
 over when any Field hits base.

Note that you can use tuples as BIGNUMs if you want, using this function 
to add them together.

in Base 256, this means you can store a number up to 1.2E+24 safely.}
	value [tuple!]

 /at precision [integer!] "LSF (Least significant field) the increment 
 occurs on."
	/step amount "Add this amount to LSF at each increment"

 /base n "Each field carries over when this value is met.  Overflow 
 error raised, if MSF field tries to go beyond base(range 1-255, default 
 255) "
	/local carry
][
	precision: any [precision length? value]

 if none? value/(precision) [value: value + make tuple! head insert/dup 
 copy [] 0 precision]
	
	carry: 0
	n: any [
		max 2 min 256 any [n 256]
	]
	amount: any [amount 1]
	
	until [
		if carry >= n [
			amount: 0
			; we looped due to carry-over
			value/(precision): to-integer (remainder carry n) 
			carry: to-integer (carry / n)
			precision: precision - 1
			if precision = 0 [
				to-error "tupple increment overflow"
			]
		]
		
		value/(precision): value/(precision) + carry + amount
		carry: value/(precision); + amount
		any [
			carry < n
		]
	]
	value
]
ex: 

>> addr: 0.0.0.5
== 0.0.0.5

>> loop 10 [ probe addr: tuple++/base/step addr 10 12  ]
0.0.1.7
0.0.2.9
0.0.4.1
0.0.5.3
0.0.6.5
0.0.7.7
0.0.8.9
0.1.0.1
0.1.1.3
0.1.2.5
Steeve
19-Sep-2009
[17722]
Hmm... what the purpose Max ?
xavier
19-Sep-2009
[17723]
changing color on a background ..... i go to check if it possible 
to use it to create psychedelic effects
Sunanda
19-Sep-2009
[17724]
Tuples,experimentally, have been given a Spinal Tap makeover in R3, 
so Max's code gives us a bignum up to 2.9e26
http://www.curecode.org/rebol3/ticket.rsp?id=1110
Pekr
19-Sep-2009
[17725]
xavier - as for psychedelic effect, aren't some mushrooms better? 
:-)
Maxim
20-Sep-2009
[17726x3]
steve, if you want to manage versions in an application, you want 
to increment versions, but there is no way to so in rebol... this 
allows you to increment a tuple so that version after v0.0.9 automatically 
becomes v0.1.0.
if you want to cycle through IP addreses, etc.
make a color cycle from black to white...  there really is many uses. 
  with another function using this one, you can add tuples together.
Henrik
20-Sep-2009
[17729]
My original idea was having something like a tuple where you could 
set a different base per number.
Maxim
20-Sep-2009
[17730]
just being able to set tuples to any base as a whole (up to 64 unsigned 
bits) would be a great feature... something I will always miss for 
graphics, since many professional apps go up to 64 bits per channel
Pekr
20-Sep-2009
[17731]
Submit a proposal to CureCode, or it does not get implemented :-)
Steeve
20-Sep-2009
[17732x2]
About parse enhancement.

What would be the cost to be able to stop a parsing process (ie. 
with a STOP command) and to continue it where it was stopped ?
Huge i guess...
Your attention plz...

I noticed that between r3-a65 and r3-a76 (sorry i didn't test the 
interval).
we lost an hidden feature very useful (to my mind).

>>bin: #{000000}
>>bin/1: 513
>>bin
==#{010200}

Do you see what i mean ?

we could store integers into a binary stream in reversal order (little 
endian) without the need  to use a to-binary conversion (which consumes 
memory by reconstructing a binary and convert into big endian format 
instead).

But in the last alphas, we lost that.hidden feature:
** Script error: value out of range: 513

Any reason for that ?
Henrik
20-Sep-2009
[17734x2]
This was changed in A68, it seems.
http://curecode.org/rebol3/ticket.rsp?id=1057
Steeve
20-Sep-2009
[17736]
Harg... it was marked as a bug by Carl.
Am I the only one seeing that liek a feature not a bug ?
shadwolf
20-Sep-2009
[17737]
one good good point with rebol not being multithreaded able is that 
on the new core i5 750  your rebol VM can be set to work exclusively 
in Turbo boost more ( automatique overclocking)
Pekr
21-Sep-2009
[17738]
Maybe just a stupid idea - but would it be helpful to be able to 
execute some code in context of a module? I mean ... we have in, 
in-dir, in-context ... what about in-module?
Geomol
21-Sep-2009
[17739]
Don't you wanna use BIND for that?