World: r4wp
[#Red] Red language group
older newer | first last |
PeterWood 29-Jun-2013 [9067] | Impressive !!! |
Bo 29-Jun-2013 [9068x2] | Thanks! |
My bug mentioned above may not actually be a bug, but a misunderstanding by me in how to pull values from pointers. It's listed at https://github.com/dockimbel/Red/issues/496 | |
PeterWood 29-Jun-2013 [9070] | In Red/System: p: declare int-ptr! ;; pointer i: 1 ;; integer p: :i ;; set p to address of i print as integer! p ;; prints the address of p ;; the cast (as integer!) is to allow print to treat the value as ;; an intteger print p/value ;; prints the value of i ;; no cast needed as i is already an integer! print p/1 ;; equivalent to print p/value Hope this helps. |
Bo 29-Jun-2013 [9071] | I should have that as a quick reference card on my wall. :-) |
Kaj 29-Jun-2013 [9072] | Congrats, Bo |
Maxim 29-Jun-2013 [9073x3] | kaj, can you help me get R3 sources compiling? |
or anyone else... in fact. | |
oh... sorry... wrong group! what heresy! | |
Arnold 30-Jun-2013 [9076x4] | Well done Bo! Yes those pointers and memory retrieving can be tricky, you can actually retrieve values from outside your boundaries, negative or too big, no problem. |
In the meantime, appreciating all thee help really, I cannot still make choclats from the routine and #system* examples given. Kaj's from friday and Docs example from 11 may and explanation from Sat 5:11/13. I now understand that the way I did things the process includes my Red/System source into my Red code and than compiling starts on the whole thing leading to the error I get. What my intention is, is not done, namely leaving Red/System code to be Red/System code and place this within the Red/System code generated from the Red compilation. What I think I also understand is that in order for the Red compilation to know a function is not found in the Red source because it is not know at that time, because it is defined in the Red/System source there should be some action as to make it known. That the blancs will be filled in at a later stage. | |
So first I include a reds source in my Red program. #system-global [#include random-taocp.reds ;-- and now this? #export [random-taocp/ran_start random-taocp/ran_arr_next] ;-- + all my functions needed ] ;-- and close the block of system-global In this Red/System code i use a context and functions within that context. I want to use a function from the Red/System code so I make a ROUTINE in my red source and from this routine I call my Red/System function get-random: routine [n [integer!] return: [integer!]][ random-taocp/ran_arr_next ] ;-- don't need the input here strictly speeking Is this in the right direction now? Thanks. | |
Not so easy. I'll have to resort to building a really simple example and try making that work. | |
DocKimbel 30-Jun-2013 [9080] | Arnold, #export is not related to Red with Red/System interfacing, it's simpler than that: http://pastebin.com/Dddf57eH |
Arnold 30-Jun-2013 [9081x3] | Thank you Doc! Now it is a lot clearer how to use it! |
Works fine now, except for overload on printed messages and some minor other issues introduced in the debugging process! | |
uploaded new Red version of the random script in folder Red random. | |
DocKimbel 30-Jun-2013 [9084] | Damn, Github once again changed their layout...What was wrong with the old one?? It really looks like they change it for just the sake of change... |
Kaj 30-Jun-2013 [9085] | They admitted the old site was slow :-) |
Andreas 30-Jun-2013 [9086x4] | The new design makes much better use of the available space. |
I got used to it quickly. | |
They have an announcement somewhere, giving a few reasons for the change. Slowness was part of that :) | |
https://github.com/blog/1529-repository-next | |
DocKimbel 30-Jun-2013 [9090] | Thanks. The right position for the menu is a bit annoying, but I guess we'll get used to it...Still I prefer the previous layout. |
Arnold 1-Jul-2013 [9091] | Not every change is an improvement |
Bo 1-Jul-2013 [9092x4] | OK. I have this snippet of Red/System code that is giving me an access violation. I can't seem to find why: dirs-file: as-c-string 64 dirs-file: "to-process/dirs.txt" dirs: as-c-string 1024 dirs: read-file dirs-file ;'dirs now contains the contents of %to-process/dirs.txt eol: as-c-string 1024 eol: find-char dirs #"^/" ;Finds the first end-of-line character line-len: as-integer eol - dirs print-line line-len ;In my example, this returns 24, which is correct first-line: as-c-string (line-len + 1) ;An extra byte for #"^(00)" to be safe copy-string-part first-line dirs as-integer eol - dirs ;Access violation. Why? |
In the above example, dirs.txt is a text file of size 524 bytes. | |
Just in case it had a problem with me not picking up the return c-string from copy-string-part, I added a line and changed the last line, so the end should look like this: return-string: as-c-string 1024 return-string: copy-string-part first-line dirs as-integer eol - dirs ;Access violation. Why? | |
Same results. | |
Kaj 1-Jul-2013 [9096x4] | Same thing as before with binary pointers |
as-c-string 64 | |
gives you a pointer to memory address 64, which is invalid | |
I see I have the argument order inconsistent between copy-part and copy-string-part. I've corrected that in the binding, so you now have to swap the arguments | |
Bo 1-Jul-2013 [9100x2] | Thanks, Kaj. Sometimes it feels like it will be forever before I'm comfortable with Red/System. |
Is there really a [size!] datatype in Red/System? Is that the same as [integer!]? | |
Kaj 1-Jul-2013 [9102x2] | It's just a #define I use, mirroring the practice in C. Yes, it's an integer |
I'm defining many extra types in the bindings | |
Pekr 2-Jul-2013 [9104] | I hope after returning from ReCon, Doc is back on IO, we really need it to make more usefull stuff. Reading/writing files via some libraries is nice, but I want my read/lines :-) |
DocKimbel 2-Jul-2013 [9105x4] | Watching your video Arnold, great work! http://www.youtube.com/watch?v=qx-4K8F3VMM&list=PLr1rbtkaZDGDKtExuz8Q0nFDtDtUyyOHz |
Pekr: you might want to FB-it? ;-) | |
Ah, was expecting to see also the first compilation description...have to wait for the next episode! :-) | |
Maybe Pekr could do an Android Red app compilation + execution on the online emulator short video too? If it includes one of your nice models from the photo studio, that would be even better. ;-) | |
Pekr 2-Jul-2013 [9109] | No SW to record screen, so maybe later :-) |
Arnold 2-Jul-2013 [9110x2] | Pekr, I used Quicktime on OS X from 5.6, For windows there should be a pretty good freeware alternative |
Doc, thanks. Compilation description? Next step is to make a Red/System script and compile and test this. Then a Red script same storybook. Then calling R/S from Red example. | |
Arie 2-Jul-2013 [9112] | @Arnold nice ;-) Might be useful to add sequence numbers to video titles |
Endo 2-Jul-2013 [9113] | Nice work Arnold! |
Bo 2-Jul-2013 [9114x3] | I like your video, Arnold! |
Cross-posting on SO Chat. | |
Ah, second video already online: https://www.youtube.com/watch?v=7YPbEtG8mf0&list=PLr1rbtkaZDGDKtExuz8Q0nFDtDtUyyOHz | |
older newer | first last |