AltME groups: search
Help · search scripts · search articles · search mailing listresults summary
world | hits |
r4wp | 5907 |
r3wp | 58701 |
total: | 64608 |
results window for this page: [start: 64201 end: 64300]
world-name: r3wp
Group: #Boron ... Open Source REBOL Clone [web-public] | ||
NickA: 23-Jun-2010 | As it stands, Boron seems reasonably capable of processing strings and lists - I could certainly have a go at writing some useful stuff if CGI were possible. I'll send Karl an email... | |
NickA: 23-Jun-2010 | Right now I'm very excited to be playing with a working open source REBOL implementation in Windows :) I wonder what dependencies it has, and if it can be compiled to run on Windows Phone or any other potentially useful operating systems. Even just for simple file managment and text processing, it would be really cool to see this running somewhere where real REBOL isn't currently available. And since it's open source, there's potential to expand it's capabilities. | |
NickA: 23-Jun-2010 | Look like it needs files from http://wsrebol.sourceforge.net/- currently a 404 error. | |
NickA: 23-Jun-2010 | Yep (and there's a devpak for the BZip2 library :) | |
sqlab: 25-Jun-2010 | I had a quick look at Boron and at second look I got the impression that it can be a real alternative, if R3 does not move faster. | |
sqlab: 8-Sep-2010 | Has anyone a project file for Codeblocks and Boron under Windows or some hints how to do it? | |
Andreas: 8-Sep-2010 | sqlab: you can have cmake generate a codeblocks project file for you | |
NickA: 8-Sep-2010 | Kaj, thanks for noting that standard input example - it is new. In June, Boron's user manual version was 0.1.2 and the windows release was 0.1.4. It's really encouraging to see work accomplished :) I donated a small amount back in June to Karl using the paypal link - if he's motivated by money to do more work, I'd support that without reservation. I don't have much time right now to explore much, but I'd love to see a continuing active open source alternative. | |
Kaj: 8-Sep-2010 | Here's a tiny demo of Boron generating a web page on Cheyenne: | |
Kaj: 8-Sep-2010 | That's through Cheyenne's CGI mode, so with standard input reading, it should also be able to handle a POST request | |
Kaj: 28-Feb-2011 | It's a console program, so you must start it from the shell | |
Kaj: 28-Feb-2011 | It's likely an app bundle because it includes a dynamic library | |
Kaj: 28-Feb-2011 | That would be a good piece of code to contribute to Karl :-) | |
Kaj: 28-Feb-2011 | Yes, it's a console program, so must be started "manually" | |
Kaj: 28-Feb-2011 | So do you get the Boron console when you start it from a terminal? | |
Kaj: 28-Feb-2011 | If extra code is required on OS X, then that can be expected from finished commercial apps, but Boron is a volunteer project a year old | |
Kaj: 28-Feb-2011 | How do you start R3 on OS X? Isn't there an app setting where you must tell OS X to start a command line program in a terminal? | |
Henrik: 28-Feb-2011 | A bundle is simply a directory, which contains specific directories and has a specific icon. OSX recognizes such directories as applications. Inside are libraries, icons, images and executables of various CPU platforms. The user then sees the directory as an application, which, when double clicked, automatically runs the correct executable inside according to CPU platform. You're not supposed to go inside a bundle to start the program. | |
Kaj: 28-Feb-2011 | How do you start the host kit version of R3, which has a separate library? | |
Henrik: 28-Feb-2011 | I'm not sure if there is a hostkit version yet for OSX. Mine comes from Carl. | |
Dockimbel: 23-Jun-2011 | A bit surprizing move, I guess that Red project is stimulating competition. :-) | |
Pekr: 23-Jun-2011 | well, then R3 is not a competition :-) | |
Group: World ... For discussion of World language [web-public] | ||
Geomol: 6-Dec-2011 | There is a /usr/bin/llvm-g++ command under OS X. The man page say: llvm-gcc uses gcc front-end and gcc's command line interface. So maybe it isn't "clang"!? I'm not sure. It's my first real experience with LLVM. | |
Geomol: 6-Dec-2011 | There also is a /usr/bin/clang Maybe I should try compile with that. | |
Dockimbel: 6-Dec-2011 | By the way, why haven't you used LLVM for building World? As it is VM-based, LLVM would have been a good match. | |
Geomol: 6-Dec-2011 | So it seems, I made a good choise with gcc, because 1) it was easy to make World compile with LLVM and clang (if I choose that path now) and 2) it seems, some code doesn't work as intended with LLVM and clang. | |
BrianH: 6-Dec-2011 | LLVM isn't really VM-based in the sense that bytecode VMs are. The VM is a compiler backend, but the code it requires tends to have to be specialized a little for the actual machine. As the developers of Portable NaCl have been discovering, it's not necessarily that good at being a portable VM. | |
Dockimbel: 6-Dec-2011 | Sure, LLVM is not a "VM", it's a framework for building compilers, interpreters, VMs,...But for a VM-based language implementation, it makes sense to strongly consider the LLVM option. | |
Andreas: 6-Dec-2011 | LLVM can also be used as a set of compilation libraries, yes. And you can implement a JIT that way, yes. | |
Andreas: 6-Dec-2011 | But they also provide a set of ready-built binaries which work as a nice AOT compiler for C/C++/ObjC. I.e. just like GCC or MSVC or ICC or ... | |
BrianH: 7-Dec-2011 | Or when you want to put documentation before the header, or embed the script in a block in another type of file. | |
Geomol: 7-Dec-2011 | - Gave series an overhaul, so compiling blocks should really work now. Let me know, if it doesn't. - Changed system/version/platform, so it's now a word. - Added new tests. | |
Geomol: 7-Dec-2011 | You found a bug! :) Uploading fix ... | |
Andreas: 7-Dec-2011 | A helper function to reset compilation state would probably be helpful. | |
Andreas: 7-Dec-2011 | (Not sure if just calling COMPILE w/o context after modification would always be the same. Will have to think about it a bit more, but I have a hunch that it is not.) | |
Geomol: 7-Dec-2011 | Yes, I agree to some degree. If APPEND was a native, it would really make sense (I guess). We could add a compile to the APPEND mezzanine. I think, the compilation reset would just be COMPILE. Don't you think? | |
Andreas: 7-Dec-2011 | A basic example: c: copy [] f: func [x] [x] append c [f 10 20] ;; recompiling c here, do c would == 20 f: func [x y] [x * y] ;; recompiling c here, do c would == 200 | |
Geomol: 7-Dec-2011 | That code leads to an error, if c is compiled before f is redefined. The error system isn't very good atm., and I'll probably work on that next. I need more experience with World and more examples to say, if a compile reset is a good idea. | |
Geomol: 7-Dec-2011 | Correct. World is not designed to cope with such cases, where words changes from functions taking arguments to passive non-function values, or if number of arguments changes to a function. To change the behaviour of the c block, a compile is needed. So question is, if that compile should be executed by a COMPILE call, or if the compile state of the block could be reset, and in this case, it would be compiled, the next time, it was executed with DO. | |
Andreas: 7-Dec-2011 | Currently we have a way to force (re)compilation (with COMPILE), but we don't have a way to drop previous compilation. | |
Andreas: 7-Dec-2011 | I am a strong believer that in cases such as this, whatever is helpful internally should also be exposed at the user-level. | |
Geomol: 7-Dec-2011 | My personal view is, that it's sort of bad programming practise to change number of arguments to a function in the middle of a program, or to change a work from meaning a function or operator to meaning e.g. a number. But I think, it's possible to cope with such strange situations, because we have COMPILE. | |
Andreas: 7-Dec-2011 | (Then a mezzanine APPEND could just reset compiled state, and would behave identical to INSERT in that aspect.) | |
Andreas: 7-Dec-2011 | Hmm, that creates a new function, though, doesn't it? | |
Geomol: 7-Dec-2011 | And I get a malloc error, when doing that a couple of times. Yes, crash. I'll hunt that down. | |
Andreas: 7-Dec-2011 | (Well, I can't, as I get a crash immediately :) | |
Steeve: 7-Dec-2011 | I don't think you should keep the compiled block in memory when DO is used. Compiled blocks (including the nested ones) should be linked with functions only (whe functions are created). I don't think it would be a real perf problem because DO is not used that much to execute standard code in an app. Just my opinion though. | |
Andreas: 7-Dec-2011 | A possibility, but I think that would on the one hand make implementation more complex, and on the other would just introduce more semantic corner cases. | |
Andreas: 7-Dec-2011 | Such as a block being shared by a function and a global word. | |
Steeve: 7-Dec-2011 | I agree, the compilation of a function would be more complex (because of the nested blocks) | |
Andreas: 7-Dec-2011 | Yes, because compiled code would become an attribute of a function, instead of just dangling off a block. | |
Steeve: 7-Dec-2011 | Andreas in R3, nested blocks inside a function can't be shared with global words. The body of a function is deep copied before compilation. | |
Steeve: 7-Dec-2011 | Just to say that the R3 model of a function is better than R2 in that case | |
Andreas: 7-Dec-2011 | But keeping a "compiled block pool" attached to a function is certainly a very interesting idea. | |
Geomol: 7-Dec-2011 | At present without typecheck, World think string! when seeing a pointer in a routine spec. And the World types are just seen as comments. With typecheck on, the Would types are considered, and only certain combinations of World types and libffi (C) types makes sense, like string! and binary! for pointer. I'm about to implement handle!, and maybe handle! should be the default for pointer. And then it's required to specify typecheck, if string! or binary! want to be used with pointer. | |
Geomol: 8-Dec-2011 | I get a malloc error under OS X (64-bit), when redefining a function with code like: f: make function! reduce [pick :f 1 pick :f 2] I didn't find the error, so I tried it under WinXP (32-bit), and the error isn't there!? Any suggestions? | |
Dockimbel: 8-Dec-2011 | Glad it helped you, it's a great tool. | |
Geomol: 9-Dec-2011 | More about routines. The next release of World will introduce the handle! datatype. It's used to hold pointers, which are normally handled by structs and integers in R2. If we take the sqlite3_open routine as an example: http://www.sqlite.org/c3ref/open.html The routine takes a pointer to a pointer as its 2nd argument, and this is the db handle updated by the routine. The handle is again used in sqlite3_close: http://www.sqlite.org/c3ref/close.html , but this time, it's the handle itself as the argument, not its address. In World, using routines should be as easy as possible, and the consequence is, the definition of the routine gets some complexity. World uses libffi as the underlying motor to carry out the calls. libffi defines 15 datatypes, where World uses 14 of them (not longdouble). Beside "pointer", I will introduce "pointer-adr", and routines like sqlite3_open can use that. Then the address of the handle will be given as an argument. Routines like sqlite3_close should just use "pointer", and World will internally typecast the handle to an integer (32- or 64-bit depending on version), and give that to the routine. | |
Geomol: 9-Dec-2011 | In the above, sint64 is a C type, real! is a World type. | |
Geomol: 9-Dec-2011 | Regarding AS, the REBOL AS-BINARY and AS-STRING can be achieved with: as binary! ... as string! ... But it's also possible to do: w> as issue! "abc" == #abc w> as paren! [a b c] == (a b c) w> as tag! "title" == <title> and many other combinations. | |
Maxim: 9-Dec-2011 | wow a lot of activity here since I last checked... | |
Maxim: 9-Dec-2011 | one little note about handle! is that it should be immutable and cannot be created from within the interpreter beyond defining a null pointer, as above. value holding handles should only be returned from a routine. the idea here is that you should not be able to mangle handles, for a variety of reasons. | |
Maxim: 9-Dec-2011 | its tempting to be able to do: i: to integer! my-handle i : i + 1 some-routine i but its very bad practice (from within a scripting language) IMHO since it allows all manner of crashes to occur, not to speak of security issues this can open up as well. | |
Geomol: 9-Dec-2011 | Yes. I made it possible to view the content of a handle with MOLD. That should be ok. | |
Geomol: 9-Dec-2011 | Having all the libffi C types should cover all possible libraries. (I guess.) struct! isn't there yet though. I think, structures are needed for some routines? Else it's a hard job juggling with binaries. | |
Maxim: 9-Dec-2011 | my only suggestion for structures... make it so the semantics are exactly the same as C. i.e. you take a C header file, and do: replace/all header-string "{" "[" replace/all header-string "}" "]" replace/all header-string "char *" "pointer" ... and basically you've got your simplest World version of the spec ;-) | |
Maxim: 9-Dec-2011 | also, I would really like if the return value setup for a routine! could include an optional function block which is run on the return value. it would prevent the very common instance where you have to write stubs for the routines (such as normalizing return values on errors or converting values to some better internal mechanism). | |
GiuseppeC: 9-Dec-2011 | Geomol, I am reconnectin to the Rebol3 world after a long time of absence. | |
GiuseppeC: 9-Dec-2011 | It comes as surprise you new REBOL inspired new language. It is inevitable that things like TOPAZ and RED are created after the long absence of CARL. There is a stong need from the market and the market is US programmers which cannot wait any longer. | |
GiuseppeC: 9-Dec-2011 | First of all a question: which will be the difference and improvements comparing to REBOL ? | |
Geomol: 9-Dec-2011 | Difference: Based on a virtual machine, that source can compile to. Many different design decisions, but many of those can be redone to be REBOL compatible by defining words. This is what %rebol.w is for. Improvements: Faster in many cases because of the VM. I try to make it better in all those areas, where I find REBOL not good enough. Datatypes like complex! and more in the future. I also try to cut into the bone and only create that at the core, that is really needed. I see that as an improvement. | |
GiuseppeC: 9-Dec-2011 | You are the project LEADER and you are the creator of this wonderful project. You have a VISION, a destination. Back in time, when CARL was developing REBOL3 he created a roadmap explaining us what would be the structure of the language, its modules and how they cooperate. This inspired suggestions from the community, changes in the roadmap but more preciosuly it created expectation, commitment and willingnes to cooperate. | |
Geomol: 9-Dec-2011 | I'm very focused to get to version 1. When that's done (or almost done), it makes more sense to launch parallel projects. If someone offer me a business opportunity, I'm willing to change my focus or work on specific projects. | |
GiuseppeC: 9-Dec-2011 | You are a programmer but you should be an inspirator and entrepreneur. Like a programmer you first released the alpha version before selling the idea ! :-) You came out from your BatCave after 2 years of silence telling us "look here what I have created". This is good as it proves you deliver other than promising. Somewhere, in the road to version 1.0 you will need help. It belongs to you teling us when you will have clear in your mind the whole project. Then, please SHARE THE VISION and ask for cooperation and involvement of other programmers. You are not alone. There is lot of skilled people here. They will be happy to give their input to you. This will avoid being World as a one man project and will put the basis for collaboration. | |
GiuseppeC: 9-Dec-2011 | When you will be ready for this I ask you to make few thing: 1) Create a white paper with your vision to let us know what is in your mind 2) Set the goals of the project. 3) Open the source but maintain the leadership of the project. 4) Ask for cooperation 5) Build the comminication/documentation infrastructure . | |
GiuseppeC: 9-Dec-2011 | As you may know I am the creator of the REBOL2 DocBase section. I have asked for long time the upgrade of the software to a later version which supports multiple languages. | |
GiuseppeC: 9-Dec-2011 | Now 3 years have passed since then and no upgrade took place. I am still with the same idea: I believe that documentation and communication is everything. If someone has the willingnes to setup a linux system with the proper wiki software I am ready to DONATE MONEY for hosting. | |
GiuseppeC: 9-Dec-2011 | It will be the basis for World Documentation. You are a programmer and you know how much important is this aspect. I am sure we will find someone which could create the official World Web Site. | |
Geomol: 9-Dec-2011 | Somewhere, in the road to version 1.0 you will need help. It belongs to you teling us when you will have clear in your mind the whole project. Then, please SHARE THE VISION and ask for cooperation and involvement of other programmers. It's pretty clear in my mind, what version 1 is about. When I started, I wrote down the natives, which are really necessary to create a REBOL like language on a virtual machine. All the other functions should be able to be produced from this set of natives. I listed about 100. World currently has 83 natives implemented. Maybe some of them will get some more refinements before version 1, but you could say, the natives are 80% done. You may think of this project as the Wildman project (see that group), not on native hardware, but on a virtual machine. | |
GiuseppeC: 9-Dec-2011 | As things are clear to you I suggest to spend a couple of days creating the White Paper, The structure of the programming language and the ROADMAP. You may think that you will loose 2 days but I am sure you will gain lot more. | |
GiuseppeC: 9-Dec-2011 | Personally I have a great private project in mind and a skilled developer for it. The project is blocked because he want to make money now and someone who finances the project. I told him that First of all we must show a concept application. This will sell the application itself and we start fundraising. Until something usable won't be ready I will not be able to sell the idea. He refuses this view and we are blocked. As you are writing a programming language you are in a worst scenarion than us. You need to have a commercial class programming language ready for the mass to sell it and this is not the case. Commercial Class mean: IDE, Solution for interfacing SQL Databases, Solutions for communicating, Solutions for interfacing to other projects. This is too much for one man to accomplish. You need to live, you need money and World is your Hobby project (Isn't it ?) Open sourcing and delegating is the solution for creating a mature project: you seth the path, the specifications, the rules, the others will help. I won't give a Penny and Time to REBOL Tech. because its source is closed and this model is wasting my precious life waiting for Carl to resurrect. Open Sourcing solves this problem. Don't you think that if REBOL was open sourced many developers would have inproved it in Carls absence ? Do you think that someone, like an university will donate money to a private held project ? I don't think so. When we (you) will have a mature project and you will be able to show to the world the advantages of your solutions money will come. Think of SQL lite. There is a consortium behind it. Other open source solutions have the same consortiums behind them. There are many ways to raise money: You can produce vertical solutions for your baby.You can give consulency to companies and other institutions, you can create products with World. These are few that comes into my mind. | |
Geomol: 9-Dec-2011 | You list of 5 things: 1) Not sure, I wanna do that. It takes time away from me finishing version 1. 2) I have set the goals for ver. 1. 3) No (see Q&A) 4) "Ask for cooperation" - World would need schemes for the different protocols. I will welcome others work in that area. Me (and most likely others too) would like to see World on more platforms than the current 3. Host kit is open source. I will welcome ports to other platforms. (That's what I can think of for now, but I'll keep it in mind.) 5) It's faster for me to write the documentation than building a comm/doc infrastructure. I'll write the World 'bible'. Work has started, and I'll use more time on it, when version 1 is a bit closer. | |
GiuseppeC: 9-Dec-2011 | Point 3 is important for me and many others. If the project is open sourced I will be ready to donate. No waste of money donating to a private held company. | |
Geomol: 9-Dec-2011 | World is your Hobby project (Isn't it ?) No, this is a business project for me. | |
GiuseppeC: 9-Dec-2011 | Personal I discourage you from closing the part/all of the source. Having learnt from REBOL Tech., the language itself will not sell and closing the source closes the opportunity of cooperation. An open source give you a boost into the develpment and believe me: you stongly need cooperation. However I am not GOD and I cannot force you into making anything. I could only share my opinions and give you time to thing on them. | |
Geomol: 9-Dec-2011 | :) About open source, read my answer in the Q&A. It has to make business sense to open source. It doesn't atm. | |
GiuseppeC: 9-Dec-2011 | I am not religius to my I will light a Candle in any case a GOD exists and could help you :-) | |
Geomol: 9-Dec-2011 | I just thought of another way to help. Make a list of REBOL functions missing. There are many missing from %rebol.w And there already is a wiki started with differences from REBOL at: https://github.com/Geomol/World/wiki/Differences-from-REBOL I don't have time to write it. But everybody can write in that wiki. Now, go try World out. And remember to have fun! | |
Steeve: 9-Dec-2011 | I second Giuseppe. I will not invest any time or money in a new closed source project. Not anymore. Geomol, do you really think you can follow the same model than Carl with better results ? You should aknowledge the fact than nobody win money just because they designed or a created a new programming language. I was possible back in 90's but not anymore. | |
Kaj: 9-Dec-2011 | Of course, there are now six in-development ways to write a program in a REBOL like language, half of which are closed source | |
Geomol: 9-Dec-2011 | So haft are open. Do you have a general view, how things are going with the different languages? | |
Kaj: 9-Dec-2011 | Yes, efforts are quite fragmented over all these projects. Syllable is even still using a seventh language because I can't keep up | |
Kaj: 9-Dec-2011 | It's actually a lot like Linux. Every distro has something you need, but none of them has everything you need. If I want to build the Russian Syllable website, I can only use R3. If I need system integration and speed, I can only use Red. If I need to write web apps, only Topaz targets that. If I need open source, I can only use half of them. If I need dynamic binding, I can only use the interpreters. If I need infix operators, I can't use Boron, although I could use its predecessor. Etcetera ad nauseum | |
Kaj: 9-Dec-2011 | I feel not trying to do everything equals failure from the start. A language is supposed to cover everything | |
Kaj: 9-Dec-2011 | This is the main reason REBOL has slided for a decade | |
Kaj: 9-Dec-2011 | REBOL started out as a Swiss army knife, and was it bloated and complex? | |
Geomol: 9-Dec-2011 | well, you didn't have direct support for things like Soap in REBOL, which I think is a good thing. Being able to integrate with stuff, that can do Soap is ok. | |
Geomol: 9-Dec-2011 | Andreas, I've thought some more about the need for a compile state reset. Have you? | |
Andreas: 9-Dec-2011 | I have a compiled block which I need to change. I make changes. In some cases, compilation state is automatically reset (INSERT), in other cases it is not. | |
Andreas: 9-Dec-2011 | If I, as a writer of some code-modifying helper function want to also provide the behaviour of INSERT, I can't. |
64201 / 64608 | 1 | 2 | 3 | 4 | 5 | ... | 641 | 642 | [643] | 644 | 645 | 646 | 647 |