World: r3wp
[World] For discussion of World language
older newer | first last |
Steeve 30-Nov-2011 [87x2] | Arghhh, frustrating ! |
(I'm sure you have fun) | |
Andreas 30-Nov-2011 [89] | 1.5 more Qs: how long has this been in the making in general & how much time have you spent programming it? |
Kaj 30-Nov-2011 [90] | My guess is about two years :-) |
Andreas 30-Nov-2011 [91] | Noted :) |
Pekr 30-Nov-2011 [92] | I know the secret - World is just new marketing layer to R2, hence nothing new :-) |
Geomol 30-Nov-2011 [93] | Nothing new here ... move on ... move on ... |
Kaj 30-Nov-2011 [94] | No, the innovation is swapping all values in the DLL interface |
Geomol 30-Nov-2011 [95] | :D |
Pekr 30-Nov-2011 [96] | :-) |
sqlab 30-Nov-2011 [97] | is there a way loading and interfacing pure object files, how about callbacks ? |
Geomol 1-Dec-2011 [98] | Question noted. |
Pekr 1-Dec-2011 [99] | hmm, KWATZ, I think that Btiffin would be happy, because IIRC, he wanted to be able to load "any" data :-) |
Cyphre 1-Dec-2011 [100x2] | I like the kwatz! datatype :-) |
Wouldn't be useful to treat the kwatz! type same way as binary! so you don't need to always convert it? I mean, all functions that are able to take binary! arg should be able to use the kwatz! as well...or do you think are there any problems regarding that? | |
Geomol 1-Dec-2011 [102] | Noted. |
Cyphre 1-Dec-2011 [103x2] | When thinking more about it...maybe the kwatz! shouldn't be separate datatype (as in fact it is identical with binary!). Instead of that you could intorduce KWATZ? native which will check the 'flag'. So possible usage: parse data [ set val binary! ( either kwatz? val [ ;make the value valid ][ ;treat normal properly loaded binary! stuff ] ) ] this way the 'kwatz-flagged' binaries are treated same way as 'properly-loaded' binaries without the need to change all functions to support some hybrid kwatz! datatype. |
Or maybe even better solution to enhance LOAD to support ON-KWATZ callback: load/on-kwatz "...anydata..." func [ kwatz [binary!] /local valid-data ][ valid-data: <do something with kwatz here> return valid-data ;or return FALSE to not change the data at the loaded block position ] This way you don't even need to use any new flag for the kwatz binary and the colision is detected and solved right during the LOADing as I think it is not neccesary to validate the data later than that. | |
sqlab 1-Dec-2011 [105] | Is there a call-in interface available, meaning I can embed w-l in other programs? Regarding your thesis I guess you have something like an integrated db or a special datatype for permanent storage too.. |
Geomol 1-Dec-2011 [106] | I'm writing on the QA right now, and I'll try answer those questions too. |
Kaj 1-Dec-2011 [107] | Q: Will the countdown run to 1, or to 0, or to a negative limit, or a complex! number, or some unknown kwatz!? |
Steeve 1-Dec-2011 [108] | Well, it's all depending of the critical density, resulting in World's crunch or World's freezing. |
Geomol 1-Dec-2011 [109] | :D Kaj, good question! Will be answered in QA ... ... no, will be answered here: Countdown will run to 1, and the next blog the day after it say 1, will be the release blog with link to the actual released stuff. |
Kaj 1-Dec-2011 [110] | Yes, Q #1 |
Steeve 1-Dec-2011 [111] | just a theory |
ddharing 1-Dec-2011 [112] | Never heard of "KWATZ!" before. Here's what I found out -- http://www.livingworkshop.net/kwatz.html and http://seedsforsanctuary.blogspot.com/2008/06/kwatz.html Interesting choice. The exclamation point is even in there. |
PeterWood 2-Dec-2011 [113x2] | What subset of REBOL2 will run without change in World? |
Are there datatype and function comparisons between World and REBOL2? | |
Oldes 2-Dec-2011 [115] | How many people were working on this World:) Is it just a single man project? |
Pekr 2-Dec-2011 [116x2] | Q: will there be a GUI? |
Q2: are you rich enough to buy Rebol Technologies and employ Carl? :-) | |
Endo 2-Dec-2011 [118] | :))))) |
Pekr 2-Dec-2011 [119] | :-) |
Geomol 2-Dec-2011 [120x2] | :) I wish. |
I expect to have the QA ready to be published here later today. | |
Pekr 2-Dec-2011 [122] | Is licencing part of QA? |
Geomol 2-Dec-2011 [123] | That question would be fun to answer in the QA. :) |
Pekr 2-Dec-2011 [124] | What about portability? |
Geomol 2-Dec-2011 [125x2] | I know too little about licensing at this point. I need a proper license at some point. The alpha license is just: Alpha release. For testing only. Use at your own risk. Do not distribute. |
Ask a question about portability. | |
Pekr 2-Dec-2011 [127x2] | What platforms are supported by initial release, and what platforms do you plan to support in future? |
Answer to above question might be related to the World language being open-source or not. Dunno if that one was answered already, or not ... | |
Geomol 2-Dec-2011 [129] | Yes, I had some questions about this. I'll add your new question. |
Oldes 2-Dec-2011 [130] | Will be there countdown for the QA as well? :) |
Geomol 2-Dec-2011 [131x2] | QA in 10 ... |
** Cortex meltdown: unknown OP-code [KWATZ!] | |
Oldes 2-Dec-2011 [133] | For everybody who want to see the complete World (like me) before it meltdowns = http://themes.googleusercontent.com/image?id=1f-p4d2MS_T8qP_40US1-noQRizaQ_2OtaFi66bAkuKLLkaaBJGuFTmrkvYxWGgzDXvIG |
BrianH 2-Dec-2011 [134] | If you do copy-on-write then TO-BINARY some-kwatz-value would be able to work on the same data, at least until you modified it. That would make the binary-vs-kwatz distinction less important. Nonetheless, Cyphre's solution of having an internal flag on the binary! type to mark it as kwatz! and a KWATZ? function to test for it is similar to the fake datatype trick used in R2 2.7.7 and 2.7.8. |
Geomol 2-Dec-2011 [135x2] | My answers to questions will follow in the next couple of posts. I've tried to answer the questions as precise, as I could, and thanks for the interest. |
Q: Will this language be an open or closed source project? A: Long answer: The plan is to fully open source it at some point, when version 1 is ready. Host depending sources are open in the alpha release, and it may make sense to open source more and more along the way, like sources for the different datatypes. The IT world is constantly changing. My nephew just went to the Devoxx Java conference in Belgium. Everybody had portable Mac computers. That was very different just a few years ago. Who knows, what devices we'll use in 5 years? I like to bring my software with me to new platforms. To be able to support new platforms faster, open source is a good thing. But some things needs to be fulfilled, before I'll open source it all. 1. This isn't a hobby project. I've invested a lot of time and work in this project, and I need to find a way to get something back from all that. One option is to have a good manual ready for developers to buy, open source it to get a lot of developers interested, and make a profit that way. There may be other ways (like someone or some company paying me to open source or make projects in World). 2. I need to know more about the consequences of open sourcing it, so I can avoid any nasty surprises. Knowing more from other similar projects could help. I need to figure out a proper license. 3. Even if I keep the sources simple and clean, I would like to clean up even more, before it can be open sourced. A: Short answer: Currently it's partly open source. Q: What is the main target? A: The World prompt is a very powerful tool. Being what is known as "network transparent" helps in the era of the Internet. Server scripting and client scripting are obvious uses. The ability to easily make dialects makes it possible to wrap the language around the problem instead of trying to change the problem to fit the language. Interfacing with other technologies ... see "Introduction" on http://world-lang.org in a few days. Q: Is it closer to R2, R3, RED, Topaz architecture? A: World run its code within a custom made virtual machine (VM). Compiling in World compiles World sources to this VM. This happen when source code is run or if explicitly compiled. REBOL is always interpreted (AFAIK), so that's different. I'm far from an expert in Red and Topaz, but as I understand it, Topaz is compiled/translated to JavaScript. So the JavaScript engine can be seen as the VM in World. And Red is compiled to native code, so that's different too. As I see it, all these languages work differently and can complement each other. (Help me here, if I'm wrong in any of this.) Q: What was the main motivation, aka - why yet another language? A: After I've learned REBOL, I find it frustrating to program in most (all) other languages. The difference is like when humans moved from carving words in stones to using a printing press a la Gutenberg. Then I found, I couldn't complete projects like my Canvas RPaint program on all major platforms (Win32, OS X and Linux), I couldn't run my code on new portable devices, and I needed better performance with scientific applications. With my background in graphics, music and science, I expect the language to develop into those areas. Q: If (you) don't have any other target, why don't you work on Red? Or fork a project from Red? A: I started initial work on World in late March 2009. The first post in the Red group here in AltME is from 27-Feb-2011. At that time, World was more than 7'000 lines of C. | |
older newer | first last |