World: r3wp
[Red] Red language group
older newer | first last |
Dockimbel 22-Jun-2011 [2403] | I guess it emulates an Intel CPU |
Andreas 22-Jun-2011 [2404] | uname -m ? |
Dockimbel 22-Jun-2011 [2405x2] | i386 |
works | |
Andreas 22-Jun-2011 [2407] | should be just `pkg_add -r compat6x` then |
Dockimbel 22-Jun-2011 [2408] | thanks! |
Andreas 22-Jun-2011 [2409] | (or -i386 :) |
Dockimbel 22-Jun-2011 [2410x4] | nope, add to append -i386 :) |
add => had | |
solves REBOL issues | |
Let see now if the compiler is running | |
Andreas 22-Jun-2011 [2414] | hm, automatic creation of the builds/ folder bugs |
Dockimbel 22-Jun-2011 [2415] | Can you push a fix for that? (I'm cooking at the same time) |
Andreas 22-Jun-2011 [2416] | yep, will do |
Dockimbel 22-Jun-2011 [2417x2] | # builds/hello ELF binary type "0" not known. builds/hello: Exec format error. Binary file not executable. |
Have you pushed your BSD-specific ELF fixes or does it require a proper target config? | |
Kaj 22-Jun-2011 [2419] | I think FreeBSD's ID is somewhere around 5 |
Andreas 22-Jun-2011 [2420x2] | nope, i didn't push the freebsd emitter hack mainline |
that just hardcoded freebsd-specifics, so would have broke linux in that form. only a quick experiment to see what's really necessary | |
Dockimbel 22-Jun-2011 [2422x2] | Could you parametrized those BSD-specific changes with a compiler option? |
Kaj: SIZE? has been extended to work with datatypes and aliases. | |
Kaj 22-Jun-2011 [2424] | Thanks! That will make my struct allocations less haphazard |
Henrik 22-Jun-2011 [2425] | Andreas, thanks for info. |
Dockimbel 22-Jun-2011 [2426] | Kaj: Null allowed as a function! argument. The changes was very trivial, but I tested only if it compiled. |
Kaj 22-Jun-2011 [2427] | Thanks again! |
Dockimbel 22-Jun-2011 [2428] | Test it first before thanking me. ;-) |
Kaj 22-Jun-2011 [2429] | Will do, but I'm batching the updates :-) |
Dockimbel 22-Jun-2011 [2430] | Well, I guess that we should start to do the same with Red/System very soon. |
Kaj 22-Jun-2011 [2431] | You mean releases? |
Dockimbel 22-Jun-2011 [2432x2] | Yes, I mean, splitting into two branches: one for current version (fixes only) and one for the next version. |
And make versioned releases. | |
Kaj 22-Jun-2011 [2434x6] | That would be good for the public. Myself, I would probably keep updating from trunk. I'm running a Git download through my Syllable build system to install a new version |
Added a bunch of convenience wrappers to the 0MQ binding, to make functions more Red/REBOL like | |
SIZE? of this struct works, but it is given as 40: | |
message!: alias struct! [ content [handle!] flags [byte!] ; unsigned char vsm-size [byte!] ; unsigned char vsm-data1 [integer!] ; unsigned char [ZMQ_MAX_VSM_SIZE] (default 30) vsm-data2 [integer!] vsm-data3 [integer!] vsm-data4 [integer!] vsm-data5 [integer!] vsm-data6 [integer!] vsm-data7 [integer!] vsm-data8 [integer!] ] | |
Apparently, the two bytes are combined into one 32 bits word. Shouldn't they both be aligned? | |
The new size? struct! and null function features seem to work | |
Dockimbel 23-Jun-2011 [2440x2] | Bytes don't require alignment, 32-bit values do. In message!, vsm-data1 is aligned on a 32-bit boundary, leaving a 2-bytes hole after vsm-size. |
You could compensate for that by splitting vsm-data8 in 2 bytes values, so that the global size remains the same as the C struct. The cleaner solution should be to introduce an array! type, which we will do at some point. | |
Kaj 23-Jun-2011 [2442x8] | OK, thanks |
I like the enhanced type casting syntax | |
It solves the problem that you don't know how to write a cast because in for example | |
as [handle!] x | |
handle! is a #define | |
I'm getting this: | |
*** Compilation Error: more than one expression found in parentheses | |
That seriously limits the usefulness of ANY and ALL | |
Dockimbel 23-Jun-2011 [2450] | How does that limit ANY and ALL? |
Kaj 23-Jun-2011 [2451x2] | unless all [ ( message: receive socket 0 as-logic message )( prin "Received request: " print as-c-string message-data message end-message message )( ;wait 1 send socket as [byte-ptr!] reply 1 + length? text 0 ) ][ print zmq-form-error system-error ] |
That's how I always use them | |
older newer | first last |