World: r4wp
[#Red] Red language group
older newer | first last |
DocKimbel 18-Jul-2013 [9490x2] | I forgot that I also need to merge Red and Red/System compiler front-ends, so they will be some work for that future release with binary Red. I will probably bump the version number to 0.4.0 for that future release. |
Oldes: you're right, but the encapped Red is just a convenience to make it easier to try and use for anyone as we're getting closer to a Red beta. | |
NickA 18-Jul-2013 [9492] | Doc, I admire your consistent work and progress! |
Bo 18-Jul-2013 [9493] | Yes, me too. |
Pekr 18-Jul-2013 [9494] | Doc - Red beta? :-) Half of features are still missing, I would like us getting into alpha in few months :-) |
Bo 18-Jul-2013 [9495x2] | Pekr - Every day is a day closer to Red beta. |
I don't think he said he was close to a Red beta, but closer. | |
Kaj 19-Jul-2013 [9497] | Depends on what you compare with. Compared to most languages, Red has lots of extra features. If you want to compare with REBOL, then a lot is missing from Red, but also a lot of Red features are missing from REBOL |
Pekr 19-Jul-2013 [9498] | As for me, Alpha means - feature complete, just instable imo, while still tweaks here or there might appear. And beta means - 100% feature complete, freezed, just bugfixes ... |
Kaj 19-Jul-2013 [9499] | Red doesn't fit that. It's not feature complete, but it's stable |
Pekr 19-Jul-2013 [9500x2] | And Red is missing a lot - objects, IO, networking, parse, and no, having R/S libraries for such purpose available does not make it any more feature complete. R/S is a different language and should be treated as that ... |
No objections towards Red stability .... | |
Kaj 19-Jul-2013 [9502] | What, more features don't make it more feature complete? |
Pekr 19-Jul-2013 [9503] | No, because I am not interested to use R/S, unless necessary. |
Kaj 19-Jul-2013 [9504] | In almost all my programs, I have a mix of Red and Red/System, very tightly integrated. It's a mistake to regard them as separate languages |
Pekr 19-Jul-2013 [9505] | And Doc himself claims from very beginning, that R/S is mostly for integrators, as you are. Most ppl will look into Red, and find such features missing. I am really not interested into some Curl binding, I want Rebol level ports, etc. based networking. So our milleage might vary ... |
Kaj 19-Jul-2013 [9506] | Yes, this is something we found out along the way. Red/System is very powerful |
Pekr 19-Jul-2013 [9507] | I have nothing against R/S, in fact - I am liking the overall Red architecture. I somehow can't explain it, dunno. Simply put - I worry, that basing my programs upon some already existing bindings is risky, as Red will provide its own solution later, which will make it incompatible imo ... |
Kaj 19-Jul-2013 [9508] | You will keep making those thought mistakes as long as you don't start programming |
Pekr 19-Jul-2013 [9509] | It is kind of Osbourne syndrom with me - waiting for native Red implementation, instead of using what is available ... strange feeling ... |
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 |
older newer | first last |