• Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

AltME groups: search

Help · search scripts · search articles · search mailing list

results summary

worldhits
r4wp369
r3wp3748
total:4117

results window for this page: [start: 1 end: 100]

world-name: r4wp

Group: #Red ... Red language group [web-public]
Kaj:
9-Mar-2012
import can't find libltdl.so.7
Bas:
3-Apr-2012
In this DocumentFreedomDay-2012-playlist you can also find the film 
of Kaj's presentation about Red bindings with WebODF, LibreOffice 
and PDF last week in the Royal Library in The Hague, the Netherlands.
MaxV:
11-Apr-2012
Where I can find the window and linux RED executable?
DocKimbel:
11-Apr-2012
MaxV: there's no standalone executable yet, you need to run the compiler 
using REBOL. An encapped version could be added in the future (when 
I'll find the time to automate the cross-platform building process).
Pekr:
11-Apr-2012
james - there is no Red yet, just Red/System. And yes, you can kind-of 
create Android apps. But - those are bare-bones linux ARM apps, which 
can run on an Android phone. I tried that on my HTC Sensation. Right 
now, there is no app-store support, nor the ability to link to Android 
API, which would require the JAVA bridge. You can find some info 
here - http://www.red-lang.org/2011/12/arm-support-released.html
Arnold:
4-Jun-2012
I don't know what you mean by that. A library or library-binding 
that is interesting to me? Okay let's say I find it important to 
use Red as I do with REBOL on my Apache driven website (no option 
to choose the server with my webhostingservice) to process rebol 
scripts and rsp scripts. I think there is a world of Red users to 
be won if Red could do this, at least we would be able to run Red/Redsp 
scripts on the apacheservers potential customers will have their 
websites hosted on, if you still can follow, they may not be too 
enthousiast changing websitehosting services only because we have 
some fun Rebol/Red scripting to offer. So where would I start?
Kaj:
4-Jun-2012
I think the FastCGI server is doable now. Instead of writing a complete 
one, you could probably also find a library written in C and bind 
to it
Jerry:
11-Jun-2012
I made a donation to Red Project via PayPal, and 10% (50 Euro) of 
my payment was missing (excluding any fees). I made a phone call 
to PayPal to find out why they "swallowed" my money, They checked 
the records and told me indeed 10% was gone, and they were not sure 
why. They gonna investigate it and give the the answer. Well, How 
luck I am that I check with Doc, or the money is just gone. Shame 
on PayPal.
DocKimbel:
14-Jun-2012
I remember that Andreas should have made an entry in the bugtracker 
to describe a semantic issue with callbacks that could lead to crashes 
if the programmer was not very careful, but I can't find it. I guess 
I should dig out my IRC logs.
DocKimbel:
15-Jun-2012
Flattr: yes, and I have received at least one donation on it, but 
can't retrieve it unless I accept to pay a monthly fee. I understand 
the logic behind it, but don't find it very handy.
GiuseppeC:
5-Jul-2012
Hi Doc,

   I have found the time to view the documentation of RED/System on 
   your site.

   Red/system brings the expressiveness of REBOL in a low level language.

   I see there is no object orientation capabilities into this language. 
   Is it planned ? Otherwise, as a programmer, why you dont find it 
   usefull ?
DocKimbel:
5-Jul-2012
No object! nor series! support planned for Red/System, remember that's 
supposed to be just a low-level dialect callable from Red meant for 
system programming. However, as Peter mentioned, it will be possible 
to access Red values and actions (mainly series and I/O actions) 
from Red/System when deeper interfacing with Red is needed.


OOP is just not necessary to Red/System, only code and data encapsulation 
is IMO worth adding in the form of a module system. I'm not a big 
fan of intensive use of OOP, as done in C++ or Java (or I'm probably 
just repelled by class-based OOP). I find prototype-based OOP (REBOL, 
Javascript,...) much more appealing and will support it in Red.
GiuseppeC:
5-Jul-2012
Hi Doc,
   I have started the topic just to read your opinion.

   I also have a question. Rebol has manual delegation. Some find useful 
   to have automatic delegation. Which is your opinion about this for 
   RED  ?
BrianH:
5-Jul-2012
Giuseppe, those are called properties. The getter/setter functions 
you often find in GUIs are basically the same thing, but properties 
hide that in regular assignment syntax. We don't need getter properties 
in REBOL-like languages because we don't use parentheses to call 
functions, but setter functions appearing to be assignment statements 
might appeal to some.


I've had a lot of experience with properties in languages like Delphi; 
most of the popular languages that currently have property support, 
either in syntax or as a convention, are derived from Delphi. It 
makes code a little easier to write, and a lot harder to debug. The 
main advantage to implementing them in Red or R3 would be to make 
it easier to interoperate with .NET or COM objects.


Automatic delegation is something else. With automatic delegation, 
you automatically forward a method call from one object to another, 
just by declaring it as such. That doesn't really work in REBOL-style 
direct-bound functions because we don't have an implicit self parameter 
(we have self, but it's not a parameter). Red would need to have 
a completely different function binding model for that kind of thing 
to work; which it would likely have anyways, due to it being compiled 
rather than interpreted.
Rebolek:
28-Jul-2012
It's unfortunately integer! only, I need float! version, so maybe 
for next release I find something :) i'm most happy with float-to-int 
and int-to-float, I was really missing it from Red/System.
DocKimbel:
5-Aug-2012
Red: I'm still working on both the compiler and the minimal runtime 
required to run simple Red programs. I have only the very basic datatypes 
working for now, no objects (so no ports) yet. I not yet at the point 
where I can give an accurate ETA for the first alpha, but I hope 
to be able to provide that ETA in a week.


Red string! datatype will support Unicode (UTF-8 and UTF-16 encoding 
internally). I haven't implemented Unicode yet, so if some of you 
are willing to provide efficient code for supporting Unicode, that 
would greatly speedup Red progress. 

The following functions would be needed (coded in Red/System):

- UTF-8 <=> UTF-16 LE conversion routines

- (by order of importance) length?, compare (two strings), compare-case, 
pick, poke, at, find, find-case
- optinally: uppercase, lowercase, sort


All the above functions should be coded both for UTF-8 and UTF-16 
LE.
Kaj:
11-Aug-2012
In Syllable, I repackage Red and Cheyenne in a package with a Unix-like 
structure, such as a separate subdirectory for the executable, but 
it gets cluttered because they find all their other files related 
to that executable. Actually, that's the way we want it to work for 
Syllable Desktop GUI applications, but for a console program that 
needs to be in the system path, you need the Unix structure with 
separate search paths for separate subdirectories
Steeve:
11-Aug-2012
is: func [
		[catch]
		{Current face inherits from a block!}
		spec [block!]
		/local locals old when init
	][
		either all [
			find spec set-word!	; locals founds
			not empty? exclude  ; new ones (not found in the current face)

    first locals: construct copy spec ; copy: because [construct] modifies 
    the block (R2 bug ?)
				first face
		][

   ; Would be simpler, faster and safer using R3 (objects can be expanded)
			; rebuild face with new locals 

   ; (make face spec : can't be used here because of the special bounding 
   rules)

   when: face/when					; prevent copy/deep of when and init blocks
			init: face/init
			face/when: face/init: none
			set locals none

   resolve* locals face			; initialize locals with current face (if 
   intersect)

   face: make old: face locals		; rebuild current face with new locals
			face/when: when
			face/init: init
			do-safe bind bind spec face self; run style constructor 

   bind bind init face self		; rebound current face constructor (which 
   is currently running)

   error? set old :bound-err		; prevent old object from being used anymore
			old: none
		][
			; no new locals

   do-safe bind bind spec face self		; just run style's constructor 
		]
		if error throw-exit
	]
DocKimbel:
16-Aug-2012
Milestone 0.2.3: can't find how to close it...github's UI keeps changing 
all the time, always feel lost when I have to do rare actions...
Kaj:
20-Aug-2012
I can start rsc.r from any directory, but then it fails to find the 
source file in that directory
Oldes:
21-Aug-2012
There are some issues with context which I found..
1.
WITH is not able to find enums defined in CONTEXT

c: context [
	#enum SomeEnum! [FooFalse FooTrue]
	test: does [
		print FooTrue
	]
]
with c [
	test ;prints 1

 ;; print FooTrue ;<-- *** Compilation Error: undefined symbol: FooTrue
]
DocKimbel:
22-Aug-2012
I think I should find a web page that compares multiline comment 
syntax for main languages to see if there's any good  alternative 
to the C way.
DocKimbel:
23-Aug-2012
BTW, we can also decide that C-like hex format is more important 
than pair! syntax and find another literal form for pairs, but that 
would push us further away from REBOL (and clones) compatibility.
DocKimbel:
23-Aug-2012
REBOL does not return an accurate error msg when failing to find 
a DLL file:

>> lib: load/library %xyz.dll
** Access Error: Cannot open xyz.dll as library
** Near: lib: load/library %xyz.dll


This can be misleading thinking that %xyz.dll exists but is invalid, 
while it doesn't exists at all. So for the people having issue with 
%temp.dll, check if the DLL is present in the working folder and 
that you have correctly CD to that folder in your REBOL session.
Henrik:
4-Sep-2012
I was looking for it... but now I can't find it.
Janko:
10-Sep-2012
Doc, Services like Plimus or Fastspring probably have option to get 
you wire transfer or at least check (or some send you prepayed visa). 
Not eactly meant for your case, but if you don't find anything else. 
You could (I hope) make a "products" with them and then. I used them 
for similar transactions when nothing else could come into play. 
Paypal wasn' working here either and even now it's very clunky to 
retrieve the $$ from it.
Pekr:
17-Sep-2012
Hmm, now I might see, what others mean - the Github link is not apparent 
anywhere on the site. Maybe once you find some free time (hardly 
nowadays), here's what I suggest:

- add Downloads link to the top menu

- add just one sentence - you can download .zip archives of particular 
branches from link-to-github ...

That's might help some users ....
DocKimbel:
17-Sep-2012
I should be able to find a solution for that need tonight.
DocKimbel:
19-Sep-2012
I've been very busy since yesterday on a new tool for Red: I've built 
a proper REBOL code profiler! (I wonder why I haven't done that since 
a long time...). I went through the profiler scripts on rebol.org 
and couldn't one suitable for my needs or that works with complex 
code, so I wrote one. It is able to deal with complex code, all datatypes, 
recursive calls and it's very simple to use.


Here's a demo profiling Red compiler (output is properly aligned 
when monospace font is used):

-= Red Compiler =-
Compiling red/tests/test.red ...

...compilation time:     40 ms

Compiling to native code...

...compilation time:     10189 ms
...linking time:         60 ms
...output file size:     37888 bytes
>> profiler/report/time


Function                       Count      Elapsed Time         % 
of ET

------------------------------------------------------------------------

compile                        1          0:00:10.249          100.0

comp-dialect                   205        0:00:09.659          94.24

fetch-expression               7505       0:00:09.628          93.94

comp-word                      5668       0:00:08.209          80.09

fetch-into                     427        0:00:07.519          73.36

comp-assignment                597        0:00:07.049          68.77

run                            3          0:00:06.492          63.34

comp-context                   21         0:00:06.398          62.42

comp-with                      1          0:00:05.565          54.29

comp-expression                3172       0:00:04.479          43.70

ns-find-with                   24277      0:00:03.962          38.65

finalize                       1          0:00:03.327          32.46

comp-natives                   1          0:00:03.274          31.94

comp-func-body                 180        0:00:03.271          31.91

comp-call                      2775       0:00:02.732          26.65

comp-func-args                 2861       0:00:01.862          18.16

find-aliased                   9650       0:00:01.86           18.14

resolve-type                   8032       0:00:01.799          17.55

get-type                       10758      0:00:01.546          15.08

ns-prefix                      21765      0:00:01.518          14.81

check-enum-symbol              7509       0:00:01.241          12.10

comp-block                     283        0:00:01.05           10.24

comp-variable-assign           417        0:00:01.034          10.08
Arnold:
22-Sep-2012
About error, maybe some indication of the line number. Not prominent 
but as a hint at least, however using find most of the time finds 
the right place where the error is, sometimes it is not so clear.
Henrik:
22-Sep-2012
Arnold, in R3 there is a stack trace shown at the error message, 
which lets you find errors much quicker than in R2. Line numbers 
aren't really practical with REBOL.
DocKimbel:
22-Sep-2012
Alternatively, you can try to find a good existing open-source SSH/SSL 
lib that is BSD-compatible, so far, I haven't found  any. All the 
robust open source ones that I could found are under GPL.
DocKimbel:
25-Sep-2012
Janko: it can be a good or bad motivation for newcomers. Some might 
find it great to have the choice, other might be afraid by the fragmentation.
Pekr:
26-Sep-2012
where can I find codepage for our chars, so that I can give you escaped 
value to try? some chars of czech extended alphabet are OK, some 
are not ...
DocKimbel:
26-Sep-2012
You can find the codepoints you need here: http://en.wikipedia.org/wiki/List_of_Unicode_characters
Pekr:
26-Sep-2012
OK, but the other reported things helped to find some bugs? All was 
it all just a font issue?
Pekr:
30-Sep-2012
big change in their paradigm. And the one, which fits imo REBOL. 
IIRC Carl always wanted some stronger storage option to load/save 
blocks. IIRC Rebin was needed? He once was considering adding SQLite, 
but found it too big. IMO it would be good if we used SQLite for 
Red, to standardise. I doubt we can find more efficient, powerfull, 
and cross-platform tool with the right licence? Of course more efficient 
solution might be done by pure Red facitilities, but unless we need 
really extra efficient solution, why to reinvent the wheel?
Oldes:
1-Oct-2012
I'm repeating myself, but it looks I'm not alone who find it confusing 
to work with 2 repos. As we are really working with just a few kB, 
it would be really better to have it in one place = GitHub and not 
to merge libs with Fosill. But anyway, I appricaiate your contributions 
Kaj, so use whatever you like.
kensingleton:
1-Oct-2012
But in the c-libraray.reds file that is in the zip file with the 
examples I downloaded from Fosil there is this: #include %../common/common.reds 
- but there is no common folder or common.reds folder in that download 
from Fosil - so where does it find this common.reds file that it 
is trying to access if it is not the one that is part of Red/System?
Group: Announce ... Announcements only - use Ann-reply to chat [web-public]
Oldes:
14-Apr-2012
Maybe someone with Windows may find useful this function https://github.com/Oldes/rs/blob/master/projects-dll/libPowrProf/latest/libPowrProf.r
MaxV:
10-Sep-2012
Carl, 9-Sep-2012 15:46:54: "I need to apologize all of you for the 
lack of response to your comments. This was due to a funny incident 
that happened on my ranch.


Last week, a few heffalumps burst into my basement and turned over 
the last barrel of 1999 Châtemateloo. Unfortunately, the precious 
liquid flooded telecommunication cables and I lost network connection.

You know me, this is not a reason to give up.


Using a microwave oven, amateur radio, and 4 lines of code in REBOL 
I was able to construct a modem and here I am.


Well, I read very carefully your comments (the first two lines of 
each comment) and I noticed that most of them contain the phrase 
"Hi Carl". I was hoping that I'll find out from them what further 
steps should be taken to save the future of REBOL, but it seems that 
as usual I have to come up with a solution myself.

So, here it is.

I decided to open source REBOL.


Choice of license is very difficult because there are many kinds 
of them. I examined the majority of them, and none meets my needs. 
They are overloaded and too complicated. The only thing I can do 
in this situation is to write my own license. I name it ... Rebolense.

Creating a license is not an easy task, but is necessary.

I'll be working on it soon, so stay tuned. "
ddharing:
10-Sep-2012
Did you find anything new on GitHub?
Group: Ann-Reply ... Reply to Announce group [web-public]
GrahamC:
10-Mar-2012
I find white text labels hard to read myself ....
GrahamC:
24-Mar-2012
Just a reminder to people since I couldn't find a link on your homepage
GrahamC:
25-Mar-2012
Couldn't find these: " ... r3encap.exe and r3ogl.exe"
Arnold:
7-May-2012
Sorry DocKimbel that I did contribute yet, but I fear I do not understand 
GitHub, I try to find a button to accept changes that were committed 
since I forked Red but I only find the pull request that I suspect 
to be for changes I made to be pulled by others. That could be a 
bad idea ;-)
Arnold:
7-May-2012
I try to find a nice tutorial for Git(hub)
Arnold:
1-Jul-2012
That crossed my mind too, using copy of something but I couldn't 
find it, probably because I don't have a suitable font object or 
two to copy yet :-)
Arnold:
5-Jul-2012
That prediction was correct. Now diving in to find what was already 
loaded when building this, just like last time. Hang in there!
Arnold:
11-Jul-2012
I was surprised to find my little project back on this new blog at 
rebol2.blogspot.com I hope this will help to show that there still 
is a bright future for REBOL ahead.
Gregg:
18-Jul-2012
Max, yes, docs for VID (beyond the basics) have always been lacking. 
It took me a long time to find OF for grouping as well. Part of the 
issue is the design of VID itself, where you need to know internals, 
and there isn't a documented public interface for styles.
MaxV:
26-Jul-2012
Probably there are so much nameless widget that RebGui loose control 
and mistake the blocks. If you find a solution, let me know.
Group: Rebol School ... REBOL School [web-public]
Gregg:
24-Apr-2012
set 'parse-phone-num func [
        num [string!]
        /local  digit digits sep _ext_  ch nums pin ext
    ] [
        digit:  charset "0123456798"
        digits: [some digit]
        sep:    charset "()-._"
        _ext_:  ["ext" opt "." | "x"]

        nums: copy ""
        rules: [
            any [
                some [sep | copy ch digit (append nums ch)]
                | _ext_ copy ext digits
                | "pin" copy pin digits
            ]
            end
        ]
        either parse trim num rules 
            [reduce ['num nums 'ext ext 'pin pin]]
            [none]
    ]

    set 'well-formed-phone-number? func [num /local data] [
        either none? data: parse-phone-num num [false] [
            any [
                found? find [7 10] length? data/num
                all [11 = length? data/num  data/num/1 = #"1"]
            ]
        ]
    ]
Sujoy:
3-May-2012
thanks Peter...

i can find the length? of each line, but how do i calculate the length 
of the newline?
Maxim:
3-May-2012
basically... just find crlf in the file.
Maxim:
3-May-2012
if you find one, you can assume its using crlf format for newlines.
Sujoy:
3-May-2012
if i do this:

>> length? find ln+nl newline
== 2


...but how do i detect that the newline in this case has length 1?
james_nak:
7-May-2012
Giuseppe, if it is textviewers that you are looking for, you may 
want to see Henrik's Vid Extention Kit.  http://www.hmkdesign.dk/project.rsp?id=vid-ext-kit&page=info
because if you are going to do anything slightly more complex than 
VID "text-list"  you will find data-list much more powerful. BTW, 
what are you supplying as data in your text-list?
BrianH:
10-May-2012
Let us know whether you find that it's safe to unset 'path and reuse 
it for other stuff. There's no reason to think that the action! mechanism 
would call the function through its name (that's more of an R3 intrinsics 
thing), but any unpredictable behavior you find would be good to 
know.
Arnold:
19-May-2012
Yet another task I think REBOL could help me with. Say I could not 
find the subtitles for an ancient tv-series i stumbled upon on the 
net. But I found subtitles in English. I can translate but some words 
will reoccur often, so I imagine a rebol script showing an original 
line or words to be translated. I type some translations and when 
I translate a word, all equal words in the rest of the document will 
change, saving me quite some time.
Evgeniy Philippov:
10-Jun-2012
A question: where can I find View syntax reference?
Sunanda:
10-Jun-2012
There are some scripts that do that in the script library:
   www.rebol.org/search.r?find=tree
Endo:
11-Jun-2012
A question: where can I find View syntax reference?
 : http://www.rebol.com/docs/docs.html
See the "Graphical Programming" section.
Ladislav:
21-Jun-2012
'Could it be written as:

parse/all s1 [any [to "http://"copy link TO any [</br> break | </div> 
break | skip] (print link)]]' - no, since:

- TO ANY is not supported

- if it were supported it would not do what you want (you want to 
find the first terminator whatever it is, while TO ANY would find 
the </div> if it were in the input text even when a "closer" </br> 
would be "closer"
Ladislav:
21-Jun-2012
Finally, which is the purpose of the SKIP keywork in this context 
?
 - that is the easiest question. The expression

    any [end: </div> break | </br> break | skip]


simply checks whether it "sees" the </div> terminator. If it does 
then the search for the terminator is over. If it does not then we 
check immediately whether we do not "see" the second possible terminator. 
However, if we are not at the terminator, both alternatives fail 
and the third alternative has to advance to the next position to 
be able to finally find the terminator.
Ladislav:
21-Jun-2012
(if you do not advance you cannot expect to find the terminator)
Ladislav:
21-Jun-2012
This may be a simpler/more understandable description of the idea:

    terminator: [</div> | </br>]

    find-terminator: [start: any [end: terminator break | skip] (contents: 
    copy/part start end)]
Ladislav:
21-Jun-2012
The simplest way how to write the FIND-TERMINATOR would be recursive:

find-terminator: [terminator | skip find-terminator]


However, this version is recursive, which means that it fails when 
the search is "long" exceeding the available stack size.
Ladislav:
21-Jun-2012
By "it fails" I mean that the recursive expression would not be able 
to find the terminator even if it were present when the length of 
the search would exceed the available stack size.
Steeve:
27-Jun-2012
(Search for fast-tally in Altme groups)
using the unique trick:
fast-tally: func [b [block!] /local u i] [
	b: sort b
	u: unique b
	i: 1
	until [
		b: any [find b u/2 tail b]
		u/1: as-pair u/1 negate i - i: index? b
		tail? u: next u
	]
	head u
]

And also, the radix algo is pretty good (if the max value is not 
too large)
radix: func [b [block!] /local u maxv] [
	maxv: 0
	foreach v b [maxv: max maxv v]
	u: head insert/dup make block! maxv 0 maxv
	foreach v b [
		u/:v: u/:v + 1
	]
	u
]
Arnold:
5-Jul-2012
It is hard to beat in its simplicity. But also hard to improve in 
its current state. More a modular way would have been nicer. So it 
would have been clear where to start if you want to improve (or first 
find out) the behaviour of radio buttons for example.
Endo:
23-Jul-2012
How can I get the error text when I use TRY, I want to show the original 
error text to the user: 
if error? set/any 'err try [1 / 0] [probe disarm err]


I think I saw something similar in UniServe sources but couldn't 
find it.
Arnold:
30-Jul-2012
Hi looking for a better REBOL way to do the next thing: a: [ 1 2 
3 4 5 6 ] I have 1 of the values in this series and  want to do a 
foreach/forall on the series left of this value from right to left 
and also a foreach on the series on the right of this value but now 
from left to right. So say I chose 3 for the value then I need [ 
2 1 ] and [ 4 5 6 7 ]. This is my solution b: reverse copy/part a 
find a 3 and c: reverse copy/part a find reverse a 3 but now >> a
== [6 5 4 3 2 1]

And I don't want that and I don't like undoing the reverse each time. 
Do I need a temp for reverse a because c: reverse copy/part a find/last 
reverse copy a 3
** Script Error: Invalid /part count: 3 2 1
?
MaxV:
31-Jul-2012
a: [ 1 2 3 4 5 6]
b: copy  find/tail a 3 ; you get [4 5 6]
c: reverse copy/part a ((index? find a 3 ) - 1)
Steeve:
31-Jul-2012
Arnold, actually you can save one copy and the index? computation.
One liner solution:
>> c: reverse copy/part a skip b: find/tail a 3 -2
Steeve:
31-Jul-2012
Oups no need for the skip -2, so it's even a little faster just using 
back
>> c: reverse copy/part a back b: find/tail a 3
BrianH:
31-Jul-2012
Here's an interactive example that you can adapt to your script:
>> a: [1 2 3 4 5 6 7]
== [1 2 3 4 5 6 7]
>> i: find a 3
== [3 4 5 6 7]
>> b: back i
== [2 3 4 5 6 7]
>> f: next i
== [4 5 6 7]
>> forskip b -1 [print first b]
2
1
>> forskip f 1 [print first f]
4
5
6
7
BrianH:
31-Jul-2012
The only mezz loop in R3 is FIND-ALL. It could be ported to R2 as 
well, where it would be slightly slower; actually, I was surprised 
it wasn't there already.
Ladislav:
27-Aug-2012
this is not subject to GC?

 - Such a function looks like a subject to GC, but you need to find 
 out *when*.


- in R2 it is a subject to GC right after the button is pressed and 
released

- in R3 the function *may* persist after the button is pressed for 
the first time and *before* it is pressed for the second time
MarcS:
3-Oct-2012
so, if i haven't overlooked anything else: think anyone would find 
this useful?
Ladislav:
3-Oct-2012
OK, this is the long version:

tail-func: func [
    {

  Define a recursive user function with the supplied SPEC and BODY.
     	The function can use a special TAIL-CALL local function
     	to perform a tail-recursive function call.
    }
    [catch]


 spec [block!] {Help string (opt) followed by arg words (and opt type 
 and string)}
    body [block!] {The body block of the function}
    /local the-function tail-call context-word
] [
	; define a new 'tail-call local variable
	tail-call: use [tail-call] ['tail-call]
	
	; bind the given BODY to "know" the 'tail-call variable
	body: bind/copy body tail-call
	
	; find a local word in SPEC
	context-word: find spec word!
	if context-word [context-word: first context-word]
	
	; define the TAIL-CALL function
	set tail-call func spec compose [
		(
			either context-word [
				; set parameters to the new arguments
				compose [set parameters values? (context-word)]
			] [[]]
		)
		throw/name none 'tail-call
	]
	
	; define the function
	the-function: throw-on-error [
		func spec compose/deep [
			(either context-word [context-word] [[]])
			while [true] [
				catch/name [
					return do [(body)]
				] 'tail-call
			]
		]
	]
	
	if context-word [
		; get the function context
		context-word: bind? first second :the-function
		
		; replace the context word in the function body by NONE
		change second :the-function none

		; adjust the TAIL-CALL body
		; replace the 'parameters word

  change/only at second get tail-call 2 bind first context-word context-word
	]

    :the-function
]

values?: func ['word] [second bind? word]
Steeve:
3-Oct-2012
I think I included all your modifications Ladislav but shortly :-)

rfunc: [spec body /local args][
	args: to-block form first (

  do second func spec compose [bind? (to-lit-word first find spec word!)]
	)
	funct spec compose/deep [
		recur: func spec [
				throw/name reduce [(args)] 'recur
		]
		forever [
		   set [(args)] catch/name [
			  return do [(body)]
		   ] 'recur
		]
	]
]
Steeve:
3-Oct-2012
Should do the trick:

rfunc: [spec body /local args][
	args: to-block form first do second 
		func spec compose [bind? (to-lit-word first find spec word!)]
	funct spec compose/deep [

  recur: quote (func spec compose/deep [throw/name reduce [(args)] 
  'recur])
		forever [
		   set [(args)] catch/name [return do [(body)]] 'recur
		]
	]
]
Steeve:
4-Oct-2012
Last version.

- Any spec accepted but needs at least one parameter (can be just 
a local)

rfunc: func [
    [catch]
    spec [block!] body [block!] /local arg obj recur
][
    throw-on-error [

        if error? try [arg: to-lit-word first find spec any-word!][
            make error! "rfunc needs at least one parameter."
        ]
        recur: func spec compose [throw/name bind? (:arg) 'recur]
        obj: catch/name [do second :recur] 'recur
        funct spec compose/deep [
            recur: quote (:recur)
            forever [

                set/any [(to-block form first obj)] second catch/name [
                    return do [(body)]
                ] 'recur
            ]
        ]
    ]
]
Group: Databases ... group to discuss various database issues and drivers [web-public]
GrahamC:
18-Mar-2012
it sets up a tcp listener but I can't find the documentation of their 
line protocol
ChristianE:
22-Mar-2012
I may find some time to tweak the R3 ODBC-API a bit if you could 
supply a prioritized list of things that need work. Regarding problems 
with certain SQL types one easy workaround could be to just allow 
all types without direct support by rebol to read them as strings, 
you then could do anything you like withthem. Regarding "R3's documentation 
for its port model is a bit lacking" - I surely won't have any time 
to find out why the port model I used feels alien to R3 without the 
better R3 beeing documented anywhere.
Sujoy:
18-Apr-2012
I'm interested in creating a rebol associative db. Terry, I know, 
was talking about one such back in May last year (i think he called 
it rocketdb) - but apart from the altme logs and something on a redis 
google group, i cannot find anything. Does anyone know whether he 
released something or how i could contact him?
Sujoy:
19-Apr-2012
Thanks Sunanda - have seen those... have not been able to find the 
video of Ron Everett's talk though. Would be good to see it - would 
you happen to have a link?
Gregg:
19-Apr-2012
http://www.rebol.org/ml-display-message.r?m=rmlZLDJ

Couldn't find an official script for it in rebol.org though.
Endo:
26-Apr-2012
% means "accept connection from any IP". It is not related to softinnov's 
mysql driver. If you use phpmyadmin or similar tool to configure 
your mysql, you should see it on GRANT options. You can find more 
info on Mysql Administration documents.
james_nak:
26-Apr-2012
Arnold, I just know enough to get myself connected so these instructions 
might not be too good. As Endo and I are suggesting, perhaps you 
can only accept connections from 127.0.0.1 (localhost). So, you have 
to Grant privileges to the user from your IP. 

Go to http://whatismyipaddress.comand then click on "IP details." 
You will find "Hostname." It is that hostname that you will grant 
privileges to along with the user such as  [user'-:-'hostname]. I imagine 
right now it only accepts [user'-:-'localhost]
GiuseppeC:
17-May-2012
I whish to use ODBC to manipulate ACCESS 2007 databases.

Where I could find some documentation about REBOL and ODBC and ODBC 
itself ?
Janko:
9-Sep-2012
I am looking at this page http://softinnov.org/rebol/mysql.shtml
(google doesn't find me any ohter, I think)
afsanehsamim:
11-Nov-2012
but in those links ,i can not find database example! i read that 
link before ,i created html form and cgi as well, it is working properly 
... the point is when user enter input and click submit it goes to 
cgi page. i need save that input in database ...plz guid me or show 
me one example how can i save value from the form into db?
Arnold:
11-Nov-2012
I am not doing your code for you. If you want to find someone to 
do it for you post your job in the ~Opportunity section.
Group: !Syllable ... Syllable free operating system family [web-public]
Pekr:
28-Jun-2012
Kaj - I do remember View 1.0 alpha with CID (predecessor to VID) 
on a Pentium 75, 130 - ran "acceptable". Cell phones have limited 
UI needs imo, I doubt AGG will be slow. Of course some heavy operations 
might drag some juice from the battery, as it is not accelerated. 
We now need to find the ways of how to get Cyphre's idea becoming 
a reality ...
AdrianS:
22-Sep-2012
if it was a SATA issue with the boot, would that not make it impossible 
to find it with the auto find option?
AdrianS:
22-Sep-2012
because it does find it, like that
Kaj:
22-Sep-2012
Maybe, but the auto-find option is there for when the static configuration 
doesn't work. So you're lucky that the next option does work :-)
AdrianS:
22-Sep-2012
I guess the logic in grub should be able to find it even on the second 
controller, no? In any case, it works now with the first menu option
1 / 4117[1] 2345...3839404142