World: r4wp
[#Red] Red language group
older newer | first last |
BrianH 7-Mar-2013 [5957x2] | DO is basically the semantic block-parse equivalent to Fork's request to incorporate TRANSCODE into PARSE. People would use it for mixed DO-other dialect code, but there is probably a better way to do it. |
What can we do, Gabriele wanted it and it seemed like a good idea at the time. He convinced me. | |
Ladislav 7-Mar-2013 [5959] | What I see as a bad idea about DO is that it looks too specific to be of general use |
BrianH 7-Mar-2013 [5960x3] | It seems useful for dialects, and dialects are one of the main purposes of block parsing, and supposedly of Rebol. Beyond that it doesn't seem to be useful. It doesn't hurt to have it in there. Security was one of my initial concerns when Gabriele first proposed it, but R3's greater control of binding can be enough to deal with that issue so it's about as harmless as any method of implementing a dialect that allows code execution. |
It also isn't difficult to do (Do_Next is a core function) and isn't likely to cause a conflict as a keyword because why uses 'do as a rule name or temporary variable? END is a worse keyword than DO. | |
why -> who | |
AdrianS 7-Mar-2013 [5963] | I hope you guys are considering the longer (hopefully not so long) term series streaming (from ports?) wrt to what you consider worthwhile functions in parse. I would think that some the in-place changing functionality is desirable for that kind of situation. I guess, copying might not even be an option if there is not significant buffering available. Am I totally off with this kind of thinking? |
BrianH 7-Mar-2013 [5964x2] | That is something I have given some thought to. I don't know about Red's port model, but for R3's port model we should be able to use seeking to implement backtracking and position setting. This should be reasonably quich in buffered port models. |
Copying would be easier than modification, especially since modification wouldn't even apply for many port schemes, while copying just results in a value in memory. | |
AdrianS 7-Mar-2013 [5966] | You're right - I don't know what I was thinking. What I had in mind was one or more back-to-back parsing/transformation stages and it's, clear now that you pointed it out that each stage would just parse (if needed) data as it is copying from the port or a previous stage, to fill its respective buffer. |
Paul 7-Mar-2013 [5967] | Kaj, yes, I would say regarding the SDL wav XP bug that it is appearing as a timing bug. Hope to look at it more this weekend. |
Kaj 7-Mar-2013 [5968x12] | Great! |
Doc, how about merging dyn-lib-emitter into the upcoming release? I think it would make use and development a lot easier | |
I've tested that the remaining issues we had with the R3 bridge are due to bugs in R3, not dyn-lib-emitter | |
Would it be possible to implement { } multi-line strings in LOAD before the release? | |
Another crash: | |
red>> function [] [()] Segmentation fault | |
LOAD doesn't parse file! type: | |
red>> %/x *** Script error: action 42 not defined for type: 2 | |
If it would do that, the interpreter could execute the same scripts as the compiler unmodified, assuming that any #include files are already compiled into the interpreter | |
The error seems to have something to do with path interpretation again, as it happens when a / is present | |
Paul, I think I have found the sound problem on Windows | |
It seems I need to open a window before sound is initialised properly, no matter if you want a window or not. DirectSound is said to need to be associated with a window handle. So it wouldn't apply to other sound systems, which probably explains why it works on WINE | |
Bo 7-Mar-2013 [5980] | Sounds like a poor design choice on the part of the DirectSound team. |
Kaj 7-Mar-2013 [5981] | Yes, and it's not abstracted away in SDL |
DocKimbel 8-Mar-2013 [5982x5] | Ka, there's no file! type yet in Red, even if some parsing rules are already included in compiler's lexer. So the path error for %/x is currently correct. However, adding file! is not a big deal and as you already have provided some file access functions, I think I'll add it for the 0.3.2 release. |
Ka => Kaj. | |
FYI, the runtime lexer will parse #include as a word! currently, I could change that though, if it's a blocking issue for some scripts (but I don't want to spend too much energy in a tokenizer that will be replaced in the next weeks). | |
Multi-line strings: looking into it to see if it's easily doable. | |
BTW, the segfault above has been fixed. | |
Endo 8-Mar-2013 [5987x2] | Is it a known issue for console: red>> print 4 * 4 16 red>> print 10 / 2 10 == / 2 |
*, +, - works, but / not. | |
DocKimbel 8-Mar-2013 [5989x3] | Good catch! |
That looks like a regression introduced when I added refinement support. | |
Working on it... | |
Endo 8-Mar-2013 [5992x2] | I guess so. |
Another small thing: red>> print x * 5 console window closed immediately, so I cannot see the error message (but there is a message!) x is unset by the way. | |
DocKimbel 8-Mar-2013 [5994x2] | I get here: red>> print x * 5 *** Script error: action 13 not defined for type: 2 |
Translated in english: "you can't use * on unset! value" | |
Endo 8-Mar-2013 [5996] | I tried several times with the latest build. I open a fresh console window. print x * y ** script error ... window closes.. |
DocKimbel 8-Mar-2013 [5997] | On Windows or UNIX? |
Endo 8-Mar-2013 [5998] | oh I got it. I run the console by double click, not from dos prompt. |
DocKimbel 8-Mar-2013 [5999] | :-) |
Endo 8-Mar-2013 [6000] | sorry :) |
DocKimbel 8-Mar-2013 [6001x3] | np |
/ issue fixed. | |
Kaj, I won't merge dyn-lib-emitter yet, I will work on it as soon as I make the new release to add PIC support and start Mach-O and ELF implementations. I want all of them working before merging. I would probably also make a new release and bump the revision number for the merge. | |
Kaj 8-Mar-2013 [6004] | It's rather frustrating to have that functionality available for so long and yet not available |
DocKimbel 8-Mar-2013 [6005] | It is available, just from an alternative branch. Nothing stops anyone from using it. |
Kaj 8-Mar-2013 [6006] | It does, you don't get the functionality and fixes in master, and it's hard to install |
older newer | first last |