World: r4wp
[#Red] Red language group
older newer | first last |
DocKimbel 26-Jul-2012 [794] | @Rebolek: fixed #223 again, I hope that this time the fix will hold. ;-) |
Rebolek 27-Jul-2012 [795x2] | Thanks, I hope so too :) I will test it and see. |
Doc, you won't like my report :) I used 7 as loop count in my last example because it was smallest number to trigger the bug. This now works, but increasing the counter to at least 8 (I used 10, as it's length of allocated array) will trigger the bug again. See comment in #223 for example. | |
DocKimbel 27-Jul-2012 [797x2] | :-) |
I found the cause of this new FPU stack leaking (x87 stack has 7 slots) and fixed it (it was a regression). | |
Rebolek 27-Jul-2012 [799] | Wonderful! My test now runs without a problem. Time to try something more complicated :) |
DocKimbel 27-Jul-2012 [800] | Pekr: "btw - what is the 0.3.0 branch? I forgot what it was about?" Initially, it was for completing the Red runtime but, as it was not possible for me to achieve that without implementing the Red compiler itself (even in an alpha state), it's now dedicated to Red compiler first alpha. So I guess that v0.4.0 will mark the completion of Red compiler (in the bootstrapped form). |
Henrik 27-Jul-2012 [801] | Does this mean that Red will from 0.3.0 lose it's dependency of REBOL/Core? |
DocKimbel 27-Jul-2012 [802] | Nope, it still relies on REBOL/Core for the compiler until we rebuilt it in Red itself. |
Henrik 27-Jul-2012 [803] | ok |
PeterWood 27-Jul-2012 [804x2] | Rebolek: "Thanks, I hope so too :) I will test it and see." - it would be really helpful if you could use qutick-test.reds to wriite your tests. We could then add them to the Red/System test suite which would allow Nenad to discover regressions before he relaeses fixes. |
qutick-test.reds -> quick-test.reds | |
Rebolek 27-Jul-2012 [806x2] | My tests are bit random, they test just what I need but I will add them, it's probably better than nothing. |
Also I've run into some weird problems with float32!. I try to separate the code and write some simple examples. | |
Kaj 27-Jul-2012 [808] | That's fine, regression tests are supposed to be for very specific situations that occurred |
Gerard 27-Jul-2012 [809] | Hi Doc and everybody, since I'm studying the opportunity to create myself - in a loooong future - a test version of Red/system running over the JVM - I asked myself, after reading some doc titled "Create ypour own programming language" by Marc-Andre Cournoyer, if in any case Doc had thought about this way of doing things for his future implementation of Red (not Red/system), as described by this excerpt from the doc itself under the section : PROTOTYPE-BASED Except for Javascript, no Prototype-based languages have reached widespread popularity yet. This model is the easiest one to implement and also the most flexible because everything is a clone of an object. Ian Piumarta describes how to design an Open, Extensible Object Model that allows the language’s users to modify its behavior at runtime. Look at the appendix at the end of this book for a sample prototype-based language: Appendix: Mio, a minimalist homoiconic language. For a follow-up about these concerns here is the URL related to the Extensible Object Model upon which the author has based his own Mio language, itself inspired by the IO language - http://piumarta.com/software/cola/objmodel2.pdf |
DocKimbel 28-Jul-2012 [810] | Prototype-based: certainly, that's the REBOL way, so that will be the Red way too. |
Rebolek 28-Jul-2012 [811] | I've put some (I think) useful functions to https://github.com/rebolek/user.reds There are things like int-to-float and float-to-int conversion and some string support functions. |
DocKimbel 28-Jul-2012 [812] | Thanks Rebolek! I like the ** power function. :-) |
Rebolek 28-Jul-2012 [813] | It's unfortunately integer! only, I need float! version, so maybe for next release I find something :) i'm most happy with float-to-int and int-to-float, I was really missing it from Red/System. |
DocKimbel 28-Jul-2012 [814] | I was planning to add them as intrinsic ASM functions in the backends, but in the meantime, your implementation will certainly be useful. |
Gerard 29-Jul-2012 [815] | Hi Doc, I didn't express correctly in my last post and you missed the point - I already know that Red will be prototype-based but the question is : will the object model implementation you'll use be flexible enough to permit you and/or the end-user to easily extend Red with other new types, or change primitive functionality and semantics at some later time. The author of this article has done some studies and experiments about this fact and within his 16 pages, he explains how it could circumvent these possible limitations without sacrificing efficiency - even if I'm not advanced enough to take his word as truth per se. I thought it would be useful to you to see such writing before you committed to much material, based on your current architecture and internal implementation details - about which I don't know anything, I must confess. Sorry if this is more of an annoyance than a useful tip but I thought it could be useful as a reading to anyone interested in implementing some programming language - be it not fully Red related. |
Rebolek 30-Jul-2012 [816] | Thanks for fixing #224, I''ve added #225 (good old 11 float stack check :-) |
Kaj 30-Jul-2012 [817x2] | Sometimes progress doesn't feel like progress :-S |
There's another reason: look in the tracker | |
Rebolek 30-Jul-2012 [819] | Kaj, you're right, but even if I fix the examples, both errors are still present. |
Kaj 30-Jul-2012 [820] | OK, that would be bugs, then |
Rebolek 31-Jul-2012 [821] | Doc, thank you for your swift response to my bug reports. There's clearly visible daily progress in Red/System and it's getting more and more usable every day. Red/System clearly shows advantages of open sourced language compared to closed source ones. I'm really happy with it and I look forward to next versions of Red/System. |
Pekr 31-Jul-2012 [822] | I look forward to the first version of Red :-) |
Rebolek 31-Jul-2012 [823] | BTW, yesterday I've encountered a strange bug that's very hard to separate. The bug is that EITHER will always execute FALSE block, even if the condition is TRUE (EITHER is in function and the function is in WHILE loop, but that's not enough to trigger the bug). When I try to separate the problem the bug is gone. When I leave the function as is and just remove all unrelated stuff, the bug is also gone. It happens only when I compile my whole project. When I have more time, I will once again try to separate the problem and when unsuccesful, I will post the project as is for you to check it. |
DocKimbel 31-Jul-2012 [824x2] | Thanks Rebolek! You can send me the whole project source code if you want, it might be hard to pinpoint the cause of such kind of heisenbug without looking at the disassembled code. |
Pekr: I'm working on it. :-) | |
Pekr 31-Jul-2012 [826] | OK, as you are back on track with Red development, another donation sent .... |
DocKimbel 31-Jul-2012 [827x4] | Thanks Peter! :-) |
Petr* (I was just writing to Peter WA Wood). | |
@Gerard: Red will allow to extend itself in several ways. New types could be added easily by defining a set of new action! functions associated with a new datatype!. Also, the language syntax and semantics themselves could be changed by using the internal compiler API (not sure I will implement that in the bootstrapped version to avoid compatibility issues with the final compiler version). | |
As you can see, these features are not related to the object model from the user POV, because Red (like REBOL) are not OOL to me (I mean by OOL, languages that force you to use the object model). Anyway, the article looks interesting, so I'm saving the complete reading for the time when I'll work on the Red object! datatype (not implemented yet). | |
Jerry 31-Jul-2012 [831] | I am also look forward to the first version of Red. And I am willing to rewrite my REBOL book into a Red Book. |
DocKimbel 31-Jul-2012 [832] | That would be great Jerry! Another incentive for me to work even more on it. ;-) |
Janko 31-Jul-2012 [833x2] | With all the talk of Red ... are you aready working on it? I thought you are working on Red/System still? |
I am too dumb to use Red/System .. so I'm waiting for Red too :P | |
Rebolek 31-Jul-2012 [835] | Janko, that's just prejudice. If I can work with Red/System, anybody can! |
DocKimbel 31-Jul-2012 [836] | Janko: yes, I am currently working on Red compiler implementation. I will push it in the v0.3.0 branch as soon as it is stable enough. |
Janko 31-Jul-2012 [837] | wowo!! |
Gerard 1-Aug-2012 [838x2] | Thanks Doc for the explanations - I asked myself if the kind of extension you described were already possible with your current plans - without knowing or having to bother with the way the objects are implemented - your answer is good news to me. |
Keep up the good work Doc - we're ALL behind and with you ! | |
Rebolek 2-Aug-2012 [840] | Doc, have a look at http://box.lebeda.ws/~rebolek/sintezar.zip Compile file %sintezar.reds and see function ADSR in %env.reds. Even when I pass TRUE, EITHER always executes FALSE block. I tried to simplify it, but I wasn't succesfull, so it's bit bigger project than just few lines, sorry :) |
Kaj 2-Aug-2012 [841] | Looks interesting. I can see how you're finding those expression bugs. :-) This is a really nice example of how Red/System can replace C |
PeterWood 2-Aug-2012 [842] | Have you tried swapping the order of the arguments for adsr to see if it makes any diffrence? especially putting the adsr! argument in the last position.. |
DocKimbel 3-Aug-2012 [843] | Rebolek: thanks, I've reproduced the issue and I'm searching for the cause. |
older newer | first last |