World: r4wp
[#Red] Red language group
older newer | first last |
Kaj 19-Jul-2013 [9510] | As in Ozzy? |
Pekr 19-Jul-2013 [9511] | not, wikipedia term :-) Ozzy is metal singer :-) |
Kaj 19-Jul-2013 [9512] | Not familiar with any other kinds of Osbourne syndrome |
Pekr 19-Jul-2013 [9513] | Osbourne syndrome is, when company announces some product, its features, not releasing it for some time, and customers stop buying their product, as they wait for new and better stuff to appear ... |
Kaj 19-Jul-2013 [9514x3] | Oh, that Osbourne |
That was REBOL. Red is released all the time, so you should start yesterday | |
With a new Red release, you don't have to throw away your previous Red. It's still in there. And you don't even have to pay for the new | |
Geomol 19-Jul-2013 [9517] | What's the easiest way to try Red/System? I see do/system and #system [ ... ] suggestions in the docs: http://static.red-lang.org/red-system-specs.html#section-17 , but I don't seem to get it to work. |
Kaj 19-Jul-2013 [9518x3] | do/system is unimplemented, #system and #system-global are |
But for just using Red/System, giving your program a Red/System header is easiest | |
It's easiest to start from the included examples/tests | |
Geomol 19-Jul-2013 [9521] | Ok, I'll look at those. |
Bo 19-Jul-2013 [9522] | I agree. I haven't done much with Red yet, but Red/System is great. I wish it was easier to work with strings, but I guess that's when I'd want to be using Red. |
Kaj 19-Jul-2013 [9523x5] | In our project, I have arrived naturally at an interesting technique combining the two |
Normally, you would bind low level interfaces or code using Red/System, or the DLL interface in R3, or an extension in R3. You would then marshall all the arguments of the low level functions back and forth to Red or REBOL all the time | |
In the R2 DLL interface, there's no other way to do it. But in Red, I'm keeping all data that Red doesn't need to know about in the Red/System level. Many low level arguments don't have to be marshalled to Red at all | |
The bridges are through the ROUTINE functions in Red. I don't give them all the arguments of the functions that were bound in #import; I only add an argument when it becomes needed in the Red application logic | |
So you're usually handling strings comfortably at the Red level, and you can keep simple low level data such as integers and #import arguments that only need default values at the Red/System level, where they're native datatypes that are handled efficiently | |
Bo 19-Jul-2013 [9528] | Thanks for the insights, Kaj! |
Pekr 19-Jul-2013 [9529x3] | kaj, that is most probably the correct way of how to use it anyway, thanks for the hints |
i can still imagine an example, when one would like to have more expressive R/S. Red does not compile only down to R/S, it also adds some Red related framework, which might mean larger executable, loss of speed, etc. Not sure what Doc thinks, as he always tells me - hey, use Red for such purposes, but maybe, who knows, there is a place for more advanced barebones R/S 2.0 after all :-) | |
I know list of enhancements for R/S 2.0 exists, yet I don't expect it having more advanced series handling ... | |
Kaj 19-Jul-2013 [9532x2] | It's hard to draw the line. If you want to use Red/System on its own, you need things like that, so I made some in my bindings. But if you use it together with Red, most such things aren't needed |
Sometimes the decision is made easier. It would be hard to use Red in a kernel driver, for example, so you need everything for Red/System that you need to write drivers | |
Pekr 19-Jul-2013 [9534] | The future and more usage patterns will show what is needed ... |
Kaj 19-Jul-2013 [9535] | Yes, it often turns out to be surprising :-) |
Pekr 19-Jul-2013 [9536] | I canunderstand, but where exactly would you drive the line? We start with series, next we ask for IO, then we request parse :-) |
Kaj 19-Jul-2013 [9537] | I/O is already here, and my C library binding has parsing functions :-) |
Pekr 19-Jul-2013 [9538] | drive = draw |
Kaj 19-Jul-2013 [9539] | You'll need them to write Red/System programs, but a lot of it has no place in Red. Perhaps that will make it easier to understand why most of my stuff is separate from Red |
Pekr 19-Jul-2013 [9540x2] | I hop Doc is not going to be demotivated after ReCode. Fork said, that Carl said, that if he would be about to rewrite Rebol, he would took R3 aproach .. |
I expressed my need for R2 like dll interface for R3, as I find it easier to use R/S than R3 extensions, and guys said, it will come ... | |
Kaj 19-Jul-2013 [9542] | Don't expect that to throw Doc off balance :-) |
Pekr 19-Jul-2013 [9543x2] | I am still with Red though, even if Carl stated, he will resume some R3 developments. I will follow both projects, hopefully good times ahead ... |
you know, for our Led screen, I wrapped the dll using r2, red/system and world. In fact, it was rather easy to switch. If there is at least some level of compatibility, I like the options ... | |
Kaj 19-Jul-2013 [9545] | Red follows the REBOL model, with batteries included, where you need a strict standard. Red/System follows the C model, with a small languages that needs to be exttended with libraries, and where many C libraries are available that can be bound to Red/System |
Pekr 19-Jul-2013 [9546x2] | I thonk I would do it even with r3 extensions, but I am just old lazy dog :-) |
ah, sorry for typos, typing on my htc using teamviewer connected to my notebook. So who said alme is not available on your cell phone? :-) | |
Kaj 19-Jul-2013 [9548] | You could turn your Red/System binding into an R3 extension |
Pekr 19-Jul-2013 [9549] | Ah, correct, forgot about that, thsnks for the reminder ... |
DocKimbel 19-Jul-2013 [9550x2] | Fork said, that Carl said, that if he would be about to rewrite Rebol, he would took R3 aproach .. Fortunately I was there so I can give some contextual information: Fork was saying to Carl his famous quote: "Rebol4 is Red". What do you expect Carl to reply to that? ;-) I hop Doc is not going to be (de)motivated after ReCode. No, it's the opposite in fact. ;-) |
Red/System is a dialect of Red meant to address specific needs. You should see it as a feature of Red, even if it can be used alone (which is kind of side-effect of starting Red project by building R/S first). | |
kensingleton 20-Jul-2013 [9552] | Doc and/or Kaj, at what point will we be able to use Red and R/S to start things off by programming the MBR and jumping to a Red OS. What I am interested in is learning to use Red and R/S to build a native O/S from the ground up as this is the best way to truly understand computers. Also a PC that is Red and R/S from the ground up is a very exciting prospect. |
DocKimbel 20-Jul-2013 [9553] | Pekr: "alpha" means "feature-incomplete". See: http://en.wikipedia.org/wiki/Software_release_life_cycle#Alpha The alpha phase usually ends with a feature freeze, indicating that no more features will be added to the software. At this time, the software is said to be feature complete. |
Bas 20-Jul-2013 [9554] | Why does Carl think you are going to be (de)motivated? |
DocKimbel 20-Jul-2013 [9555x2] | Kensingleton: for writing your own OS, you will need to write a custom file emitter for Red/System unless ELF could also be used for that? |
Bas: it's just second-hand interpretation of Carl saying that if he would be about to rewrite Rebol, he would took R3 approach again. | |
Bas 20-Jul-2013 [9557] | OK. |
Kaj 20-Jul-2013 [9558] | Ken, several people seem to want to do that, so it is likely to happen |
Andreas 20-Jul-2013 [9559] | With EFI you should be able to boot PE executables. |
older newer | first last |