World: r4wp
[#Red] Red language group
older newer | first last |
Arnold 30-Jun-2013 [9077x3] | 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 | |
Kaj 2-Jul-2013 [9117] | Good initiative, Arnold |
Arnold 2-Jul-2013 [9118] | Thanks all. Numbering: I'll add a number at the end in square brackets like this [1] |
Kaj 2-Jul-2013 [9119] | Petr, you can implement read/lines right now on top of READ |
Arnold 2-Jul-2013 [9120] | Will the code be reusable in a pure Red solution if one would do that? To be able to do all kinds of possible things using Red bindings to C-libraries is great, beats not being able to do things by infinite factors. Still having the functionality coded in Red feels better. Open sourcing R3 has reminded everyone that it is made using C. HostileFork expresses the lack of development by the community as being caused by the difficulty and abstraction level of this C codebase. |
Kaj 2-Jul-2013 [9121x2] | There is no pure Red solution. When Doc will make an I/O framework, file I/O will still use a binding to the operating system underneath, which almost always means the standard C library |
In a framework with scheme handlers, code will have to be refactored, but pieces from the current code could still be used. They're already small pieces, anyway | |
Arnold 2-Jul-2013 [9123] | ok. The same solution was made for adding time or now you provided earlier. Somehow the timer has to be read using a standard C library. |
Kaj 2-Jul-2013 [9124] | Yes, if you don't want to write a lot of different code for different operating system kernels |
Arnold 2-Jul-2013 [9125] | One day I will understand and make the video ;-) |
Kaj 2-Jul-2013 [9126] | Koel :-) |
older newer | first last |