World: r4wp
[!REBOL3] General discussion about REBOL 3
older newer | first last |
Bo 7-Mar-2013 [1452] | Pekr: I think what you are proposing is something that any user could put together and offer to the community, using what BrianH proposes as the foundation. |
BrianH 7-Mar-2013 [1453] | Just because it's modular doesn't mean it can't or won't be bundled, and in many cases imported by default. We can do one-exe builds with modules inside, that was the point from the start. |
Bo 7-Mar-2013 [1454] | Pekr: I seem to remember programming that webcam demo. I could be wrong, but I know I programmed *a* webcam demo pre-VID. |
BrianH 7-Mar-2013 [1455] | Those one-exe builds can keep improving forever, especially after 3.0 comes out. The only thing that *absolutely* needs to come before 3.0 is any significantly breaking core language semantic or syntactic changes. Everything above the core language can keep evolving indefinitely. |
Pekr 7-Mar-2013 [1456] | BrianH: re delay loading - I remember the various interpreter phases - was that implemented, or just defined by Carl? |
BrianH 7-Mar-2013 [1457x3] | Mandated by Carl, fully implemented by me in alpha 109. |
Actually, implemented earlier than that, but Carl had me redo the module system in 108 and that particular feature wasn't fully reimplemented properly until 109. | |
So we've had it for years, but it wasn't until Andreas fixed RESOLVE/extend in the first week after the open source release that people could use modules properly. | |
Gregg 7-Mar-2013 [1460x2] | The question of what to include by default is never easy, but can be guided to some extent by what is not just popular, but also has a well-defined standard that is useful. e.g. HTTP and FTP are standards, No-SQL is not. SQL92 is a standard, but is a strict SQL92 dialect useful? |
As far as compatibility between REBOL-like languages, it's a similar situation. Being able to load most values into compatible datatypes is the foundation, and being able to build mezz-level compatibility code will let us build things at the next level up that can work across languages. | |
BrianH 7-Mar-2013 [1462x6] | SQL is more than the language, it's a storage and execution model. As long as we support the storage and execution model we can let the SQL servers/libraries process their own scripts. Our own model can just translate the R3-style port model (if we decide to do this as a port) into SQL operations, with the ability to send SQL code directly as a fallback. |
Compatibility: Yes, that is why I am more concerned with syntax compatibility than semantic (unless it's so low-level and obvious that not being compatible would be stupid). Dialect compatibility can be done with dialect processors, in the Rebol way :) | |
For instance, there is no reason why a Rebol-like language couldn't have two separate DO dialects at the same time. They could even share some of the same functions. | |
Wait, I remember, delay-loading was one of the features Carl wanted for alpha 108. Private modules were the feature that existed since alpha 80. | |
The main problem with Unicode whitespace delimiters is that R3's syntax parser isn't actually a Unicode parser at all, it's a byte-oriented parser. | |
This means that the difference between an ASCII character and a higher Unicode codepoint is significant. ASCII characters can be detected with a single byte of lookahead. Higher codepoints require multiple bytes of lookahead. That means that for most parsing models any rules that require multi-byte stop sequences are quite a bit more complicated, slower, and for some parsing models impossible. So I'm hoping we can fix this. | |
GrahamC 8-Mar-2013 [1468] | Bo, did you ever work out why the smtp protocol has those issues on Arm? |
Bo 8-Mar-2013 [1469] | No, I haven't had a chance to work on it yet. Tomorrow's not looking very good for programming time, either. Maybe Sunday I'll have a chance to take a look at it. |
Maarten 9-Mar-2013 [1470] | Question (not sure if this is the right group): do R3 tasks work, and if so, hwo to use them? |
Gregg 9-Mar-2013 [1471] | >> t: task [] [wait 2 print "Done"] >> do t print "Go" Begin Task Go >> Done End Task |
BrianH 9-Mar-2013 [1472] | Tasks sort of work. They actually do start, but there are a lot of unresolved problems in the internals, and some of what is supposed to make them work properly hasn't been done yet, and some stuff like the synchronization and sharing models hasn't even been designed yet. So it's not really recommended that you use them yet. |
Sunanda 10-Mar-2013 [1473] | Is this the expected / required result of a JOIN on two TYPESET!s? >> join to-typeset [pair!] to-typeset [integer!] == "pair!integer!" |
Gregg 10-Mar-2013 [1474] | I think so. Word! values turn into strings as well. You can use UNION to join typesets though. |
Sunanda 10-Mar-2013 [1475] | Thanks....It seems odd though, given the different (and for me unexpected) results here: join to-typeset [integer!] [] join [] to-typeset [integer!] |
BrianH 10-Mar-2013 [1476x2] | Yeah, sorry, the fake typesets in R2 are actually blocks. The real typesets in R3 aren't series at all. |
I faked them well enough in R2 to use them in most cases in an R3 style, but not well enough to make them fail to do the stuff they are supposed to fail to do in R3. Same with closures. | |
Sunanda 10-Mar-2013 [1478] | As long as your are happy.....Without looking at the code, I assume typesets in R3 are specialised bitsets. Still, would be nice for the behavior to be a little more consistent. |
BrianH 10-Mar-2013 [1479x2] | They are specialized bitsets, so specialized that they fit within a value slot rather than being an external structure. But JOIN forms non-series, so they are consistent with bitsets in that JOIN does the same thing with them. |
However, you can't use bitsets to fake them in R2. | |
MarcS 10-Mar-2013 [1481x2] | Hi all. Is this an appropraite room for discussing an R3 patch? |
appropriate* | |
Andreas 10-Mar-2013 [1483] | Hi Marc! Yes, it certainly is. |
MarcS 10-Mar-2013 [1484] | Neat. Before I get to that: is task launching working on POSIX systems? |
Andreas 10-Mar-2013 [1485] | No. |
MarcS 10-Mar-2013 [1486x6] | Okay, good to know. |
Right, here it is: https://github.com/0branch/r3/commit/5493e97c1afaa3848bf448cb49ccf03a1632302d | |
Hopefully the commit message is gives a clear explanation (and explains the motivation). | |
s/ is // | |
Brief restatement: BROWSE isn't working on OSX -- the current implementation tries two system() calls: xdg-open and x-www-browser | |
This patch uses /usr/bin/open on OSX, maintains the previous handlers on other platforms. In addition, I replaced the system() calls with fork+exec to avoid firing up another shell; one byproduct of this is that exec errors no longer print to the console (though this could have been hackishly solved by adding some redirects to the system() call string in the existing codebase). | |
Andreas 10-Mar-2013 [1492] | Did you test this on Linux as well? |
MarcS 10-Mar-2013 [1493] | Not yet, can do so now. |
Andreas 10-Mar-2013 [1494] | Please do. |
MarcS 10-Mar-2013 [1495] | Firing up the VM, give me 5 mins. |
Andreas 10-Mar-2013 [1496] | No hurries :) |
BrianH 10-Mar-2013 [1497] | Look here http://issue.cc/r3/1921before you do this. Make sure the security constraints mentioned there are taken into account. |
MarcS 10-Mar-2013 [1498] | (Works on my Fedora instance.) |
Andreas 10-Mar-2013 [1499x2] | Thanks for testing that. |
Basically: looks fine, thanks a lot for working on this. | |
MarcS 10-Mar-2013 [1501] | BrianH: I don't think this change is an ideal solution, but it seems to be an improvement on prior behaviour. |
older newer | first last |