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

World: r4wp

[#Red] Red language group

Bo
25-Jun-2013
[8691]
In Rebol, I can put a 'halt at the end of my script to be able to 
read output from my script.  Can I do a similar thing in Red/System?
Kaj
25-Jun-2013
[8692x5]
There is HALT, but I think it's the same as QUIT
If you have a console window in Windows that is closing, you could 
do
until [no]
Or if you're using my C library binding, to not use CPU:
input
Bo
25-Jun-2013
[8697x3]
OK.  Thanks!
I tried the until [no], but the console window just flashes up and 
disappears really quickly.  I'm assuming that's because it is erroring 
out.  Is there any document on how to debug this type of thing?
I'm trying to convert your file reading code to a general purpose 
function.
Kaj
25-Jun-2013
[8700x2]
There are general purpose functions for text files here in ANSI.reds:
http://red.esperconsultancy.nl/Red-C-library/dir?ci=tip
Bo
25-Jun-2013
[8702]
Can those be easily modified for binary files?
Kaj
25-Jun-2013
[8703x2]
I was still going to make binary versions with the 6502 code. Shouldn't 
be hard. Binary is easier than text
I could do it now if you want?
Bo
25-Jun-2013
[8705]
I would really appreciate that!
Kaj
25-Jun-2013
[8706x2]
OK, I have a suitable hole before my bedtime
ANSI.reds now has read-file-binary
Bo
25-Jun-2013
[8708]
Do I just synchronize that with Fossil?
Kaj
25-Jun-2013
[8709x5]
Yes, if you have that installed, just do
fossil update
Added write-file-binary for good measure
Oops, I'm not returning the binary file length. Have to fix that 
oversight
Added a parameter to make read-file-binary return the file size
Bo
25-Jun-2013
[8714]
OK.
Kaj
25-Jun-2013
[8715x2]
I updated the 6502 emulator to use it, so you can see an example 
there
Luis, the Red Java bridge will be able to call generic Java code, 
so it should be possible to use the App Inventor library
PeterWood
26-Jun-2013
[8717]
Looking at the current bridge.red, It seems that the return value 
of  a called a method of a Java object is treated as an integer by 
the bridge. Am I correct in thinking that is fine for integers and 
references to Java Objects? I presume logic! will be okay too (if 
caste back ) .


I guess that the bridge doesn't support string or float values yet.
DocKimbel
26-Jun-2013
[8718x2]
It does in the new bridge version I'm about to push online.
I just need to make some addition to the Red/System compiler before.
PeterWood
26-Jun-2013
[8720]
That's great news.
Bo
26-Jun-2013
[8721x5]
Are there any tutorials on how to write programs using Red?  (Not 
Red/System - I know where the documentation is for that.)
What I mean is something like Rebol in 10 steps, but maybe Red in 
10 steps (assuming you already know Rebol).
For instance, I try to compile and run the following simple script:

Red []

img1: load %img1.jpg
print img1
When I run it, I get the following error:

*** Error: word has no value!
unset
I know that Doc says Red isn't ready for general use yet, but I was 
wondering if maybe there were some resources so I could get started 
getting up to speed on it.  When I started learning Rebol, it was 
probably even less complete.
Kaj
26-Jun-2013
[8726]
Yeah, Larry Wall bashed it for that
Ladislav
26-Jun-2013
[8727]
Larry Wall used quite unrelated (and mostly invalid) arguments
Kaj
26-Jun-2013
[8728x5]
No tutorials, though, but there's a fair amount of example code. 
It currently relies on being able to use a lot of REBOL knowledge
The best thing is to program as basic as possible, and always be 
on the watch for missing stuff. For example, LOAD only works on strings, 
and there's no type checking, so it probably used the string value 
of %img1.jpg
With my I/O bindings you can READ a file and then LOAD it, but only 
UTF-8 text
Now that Red/System can read binary files, I could make a facility 
in Red, but it would have to do without a binary! type. I could return 
a handle to low level memory as an integer!
However, there would currently be no facilities to access the content 
at the Red level, so you would have to pass it to Red/System functions 
to do anything with it
Arnold
26-Jun-2013
[8733x2]
REBOL is almost completely made from C! Sometimes hard to follow 
where and how things come together. So happy Red comes to the Redscue.
Can a function be overloaded in Red? Example do-this: function [input 
[integer! c-string!]][either type? input [do-one][do-other] ]
Kaj
26-Jun-2013
[8735x4]
That's not overloading, that's just a conditional
Real overloading is possible in the compiler, but there's currently 
a bug in the interpreter that always makes it use the first function 
definition. This is fixed, but not yet in the master branch
do-this: :do-one
do-this: :do-other
Arnold
26-Jun-2013
[8739x2]
I ask this obviously because I want to replicate the REBOL behaviour 
of the random function that takes different arguments like random 
"abcdef" shuffeling the string; random 1.0 giving a random real between 
0 and 1; random 6 giving an integer from 1 up and to 6. 

So in a sense I need a return type that differs too. REBOL (R3) solves 
this as far as I understand it by returning the pointer to the value 
(and somehow the type of the variable).I ask this obviously because 
I want to replicate the REBOL behaviour of the random function that 
takes different arguments like random "abcdef" shuffeling the string; 
random 1.0 giving a random real between 0 and 1; random 6 giving 
an integer from 1 up and to 6. 

So in a sense I need a return type that differs too. REBOL (R3) solves 
this as far as I understand it by returning the pointer to the value 
(and somehow the type of the variable).
That is twice the same sorry for that! AltMe hung up on me and I 
pasted overenthousiasticly.