REBOL

REBOL3 - #World (For discussion of World language [web-public])

Return to Index Page
Most recent messages (300 max) are listed first.

#UserMessageDate
881PekrIn one of 114 alphas :-)Tue 13:31
880Maximno cyclic error in R3 IIRC (it was fixed in some alpha).Tue 13:19
879GeomolBtw. COPY is by defauit deep in World (contrary to REBOL), and World will support deep copying of cyclic blocks, which gives a stack overflow error in REBOL.Tue 10:29
878GeomolUpdate!

I'm implementing support for cyclic series in World these days. My initial research about freeing memory taken by cyclic series made me realize, that it'll hit performance, if every block and paren freed is being tested for cyclic references. So I'll implement a FREE mezzanine written in World, that can free such structures. This lead me to molding such structures, which is only partly implemented in current version of World and copying such structures. Those functions will be mezzanines too, as it's much easier to write the code in World than in C. So some C code will be removed in next release, but we'll have some more World code instead.

Tue 10:20
877GeomolAnother point talking against open sourcing at this time. World is not completely set in stone yet, I admit that. When I make design changes like this coercion between datatypes and words, it affect all other code, which can fast become a mess, if you have 10 people working on it. When it's completely set in stone, it's another situation.Sun 13:15
876GeomolWorking on the next release of World, I implemented coercion for words and datatypes, so things like block! = 'block! returns true. This lead to a much simpler implementation of SWITCH, which is a mezzanine in World, so it looks like I'm on the right track.Sun 12:52
875GeomolAnd to make is less confusing, the function description should probably read "True if a series isn't at its tail."13-Feb 14:38
874GeomolCould also be made easier to read maybe, but slower:

more?: make function! [[ "True if a series isn't empty." series [series! none!] ][ not any [none? series tail? series] ]]

13-Feb 14:33
873GeomolContinuing from #Not REBOL. A MORE? function could look like:

more?: make function! [[ "True if a series isn't empty." series [series! none!] ][ if none! = type? series [ return false ] 0 < length? series ]]

13-Feb 14:24
872EndoIn the boot time of World compiler some functions changes according to some options. As in "Option Compare", "Option Explicit" options in VB6.13-Feb 11:49
871Geomolah, I'll consider that.13-Feb 11:48
870EndoBut we should set the option in the (on top of) source code, not in runtime, so it should not be a problem having 2 versions of World. We can say "compile this source with "typecheck" options". No?13-Feb 11:47
869Geomolwith *its* own ...13-Feb 11:47
868GeomolLike ROUTINE is a helper function calling MAKE ROUTINE!, a ROUTINE32 (or something) can be made to have typecheck as default.13-Feb 11:42
867GeomolAfter I wrote the above, I considered it some more. Right now, most people will probably run into this problem, because most libraries return 32 bit values. But in the future, and with what World is very much designed for, namely science, 64 bit values will be used. So I'm not gonna change it.

Problem with compiler option is, that we then have two versions of World, and programs made for one won't run on the other.

Maybe better to make a World wrapper function with it's own routine definition dialect!?

13-Feb 11:39
866EndoWhat about a compiler option to turn on and off the typecheck? More complicated, but we would have a chance to run in default (typecheck) and then test it without typecheck by changing just one option.13-Feb 11:09
865PekrWell, a trade-off :-) It is about to get the most expected result preferably, vs your mentioned speed :-)13-Feb 11:06
864GeomolMaybe typecheck should be default, even if it hits performance, when it isn't needed, and then some other word should be used to remove typechecking (and conversion)? Argh! I don't like to change that. :)13-Feb 10:36
863GeomolI say C, but the library can be made with any language, I guess. It's just, that the C types (actually typedefs) are used in the explanation.13-Feb 10:14
862GeomolWorld is 64 bit. If you don't specify typecheck, it assumes the return value to be a 64-bit integer, e.g. sint64 or uint64 in C and integer! in World. If the return value of the C library routine isn't a 64 bit integer, you need to specify typecheck to get it converted from 8, 16 or 32 bit to 64 bit. If the return value of the C library routine is 64 bit, typecheck isn't necessary, but can still be used, and it will slow the routine call a bit.13-Feb 10:12
861PekrGeomol - could you please explain, how wrapping libraries in World are done? Call me dumb, but I can't understand it from a website. OK, found more in PDF docs. I just wonder, if I always should use typecheck? Eg. I wanted following function to return 0 or 1. I tried with variou int types on the C side, and integer! datatype on the World side. I was receiving very large integer numbers as a result, untill I put [typecheck] in there. Maybe I just had incorrect argument type on the C side selected?

led: load/library %ledctrl.dll

led-is-power?: make routine! [ [typecheck] led "LSN_IsPower" [] uint integer! ]

12-Feb 17:18
860GreggGreat info John. THanks.7-Feb 17:18
859GeomolGregg wrote in group #Red: "World has similar goals I believe."

Yes. To clarify: There is World and there is World/Cortex. World is written in C and the Cortex extension is written in World. It's a design goal to have as little as possible in the C part, but because it's also a goal to have good performance, especially with math stuff, some functions are native (written in C), which could have been mezzanines (written in World), like ABS, COS, SIN, TAN (all small functions in C).

But large functions like PARSE and SORT and many other functions are part of the Cortex extension, so they're written in World and is therefore open source.

With the good support for dynamic loaded libraries, good performace with heavier functions can be achieved that way.

And then there is the REBOL extension (in the World file %rebol.w), which is there to hold further extensions and definitions needed to run REBOL scripts. Those are not in the Cortex extension, because I disagree with some of the REBOL design decisions, and because I would like the Cortex extension not to be too large.

For me, World and Cortex has the higher priority, the REBOL extension the lower priority, meaning I use more time on finishing World/Cortex for now.

7-Feb 8:31
858GreggLooks great John.2-Feb 23:45
857GiuseppeCNice map !2-Feb 22:24
856james_nakNice.2-Feb 19:27
855GeomolNew World Map at:

http://www.fys.ku.dk/~niclasen/world/World_Map.html

I freshed it up with some colors, which is also informative, added system, sys-utils and net-utils, added icons for parts with issues and added parts not implemented yet as grays.

2-Feb 13:05
854GeomolYes, much better overview with this type of tool.2-Feb 11:35
853EndoThat's cool. Making a RoadMap diagram can be useful as well. So everyone can easily see what is next, what you are working on, what priorities are etc. of course if it helps you as well. It is much more readable than a wiki.2-Feb 11:33
852GeomolThe Map is the current picture of what's implemented, so it's not an image of all for version 1 of World. As I mention in the README on GitHub, date! and time! is only partly implemented, the rest is more or less completed for version 1.

I would like to improve the Map, so I'm working on that.

2-Feb 11:28
851EndoGeomol: Can you put icons to show which parts are completed, priorities and you work on?2-Feb 11:17
850GeomolThanks, guys. Easy to do with the right tool, and FreeMind works well for me.1-Feb 22:47
849james_nakVery cool.1-Feb 22:08
848GreggExcellent John.1-Feb 18:09
847Mcheanvery nice!1-Feb 17:36
846GeomolThanks!1-Feb 14:24
845EndoOh and also try "Auto Layout" under Format menu, it makes it nice, but make a copy before use it.1-Feb 14:21
844EndoThat's cool! Then you can add explanations & examples to them, later. And look at the "Note Window" under View menu, you can add notes to items. They will be exported to Flash / Javascript as Tooltips which is quite useful.1-Feb 14:19
843GeomolFirst try on a World Map: http://www.fys.ku.dk/~niclasen/world/World_Map.html

Made with FreeMind and exported as Flash.

1-Feb 13:20
842Mcheansounds good to me.30-Jan 17:38
841GeomolThen reality check:

This group was started 2 months ago. It's easy to go through it and look for my blue and yellow releases and notes. That's a lot of progress in 2 months. If you see it otherwise, then you're blind. The C sources of World has grown a lot in those two months, and it's quality work with few errors considering the amount.

You will most likely see the progress of World come in waves. I had worked intensely on it more than full time since before summer. Yes, more than full time (more than 8 hours a day, also week-ends), so that's a lot of man hours. The last month, I've done paid freelance work too. At the same time, for World I'm researching better networking (cURL), getting lib calls to work under Windows 64 using libffi and finishing the memory model, so circular references are coped with correctly. Why didn't I say so? Because I like to announce things, when it's done, instead of giving false hopes, but now I made an exception.

1) I'm not going to give my work away for free at this time. That's because I see no benefit in doing so. 2) World will not come in a situation like REBOL, with lots of errors for a long time and still closed source. If I wasn't able to continue work on World (to fix errors, make further progress or whatever), and if people relied on work already done, then I would open source it. As this isn't the current situation with World, this is no argument to open source it.

If you don't like my model, move on. Negative rants here are not productive.

28-Jan 10:50
840GeomolPekr! Take a breath. When you're calm, then read your words here again. You're very off topic. Please move such rants to appropriate group. Please!28-Jan 10:16
839BrianHMy impression (correct me if I'm wrong, Geomol) is that Geomol doesn't require our interest to get a return on his investment. He's already got a planned use for World in his own projects. Our interest and feedback is a bonus.28-Jan 2:46
838Mcheanon the other hand I understand his concern about getting a return on his investment, and if world were28-Jan 0:11
837PekrMchean - as for Geomol - I feel sorry for him - he is a victim of RT's treat of the community .... Geomol has clear view of how to put his project forward, but ppl don't seem to be interested - that's my impression at least ...27-Jan 22:59
836Mcheanor drinking it :)27-Jan 22:58
835PekrWe were supposed to see an agreement between the Saphirion, and RT. And as expected - nothing happened. Perhaps, Carl is growing his wine :-)27-Jan 22:57
834McheanI hope that he'll see the light about the licensing, he seems very reasonable27-Jan 22:57
833Mcheanhe had to do some work to pay the bills27-Jan 22:57
832Mcheangeomol27-Jan 22:57
831PekrMchean - WTF?27-Jan 22:56
830McheanHe said he had some real money making work to do27-Jan 22:56
829PekrMost users will not express it publicly. But many will agree - Carl has totally failed, easy as that ...27-Jan 22:56
828PekrNo, no need for me ... you are too think skinne. The reality check is rather harsh though ...27-Jan 22:55
827GreggMove to Vent to continue this.27-Jan 22:54
826PekrRT does not deserve any furter comment for me ...27-Jan 22:53
825PekrAs an IT manager, Carl would not survive one interview, period. His treat of REBOL related community, it totallly laughable. This it TOTAL failure, period. Anyone claiming - well -he has been away just for one year, is just an idiot ...27-Jan 22:53
824PekrAs for me - I do care about the Red - I already donate, and I will do so in next few weeks again. In opposition to you, I don't care in ANY closed efforts again. I don't care about RT anymore. Carl is an ufo :-) I can't accept ANYONE, behaving like he is. Weren't we supposed to know the resolution of our situation? This is total crap - Saphirion my ass - Carl is just making joke of us all ...27-Jan 22:51
823GreggAs well as R2 and R3, including Saphirion's work.27-Jan 22:49
822GreggI admit that I haven't made time to dig into World, but there is already a *lot* there from what I have seen. Personally, I am very interested. I am also very interested in leveraging community efforts in support of all the REBOL-like languages that are available.27-Jan 22:48
821PekrAnd the culprit - the licence - the old song .... RT's path ...27-Jan 22:47
820PekrGregg - it is not about new releases, it is about caring about the product at all. So - Geomol announced World. After two months, my reality check is - NOONE is really interested, period.27-Jan 22:46
819PekrWhat Geomol offers, is already being ruined by Carl and RT ...27-Jan 22:46
818GreggOK. How often do you expect new releases then, to keep people interested?27-Jan 22:46
817PekrGregg - not a sarcasm, just my point of view ...27-Jan 22:45
816PekrIt is his free will to choose his license, as it is his free will to stay mostly unnoticed ...27-Jan 22:45
815GreggIs that sarcasm Petr?27-Jan 22:44
814PekrGregg - "only a couple weeks ago"? That pretty much sucks. Geomol HAS TO relalise, that noone is really intereted in old school models, or he is on his own ....27-Jan 22:44
813GreggThe last release was only a couple weeks ago.27-Jan 20:49
812RebolekProbably there comes free cave with every closed-source language.27-Jan 20:01
811Evgeniy Philippov:))27-Jan 18:58
810GrahamCMaybe Geomol has found his own cave ?27-Jan 18:57
809AdrianSmaybe the licensing talk kind of lowered enthusiasm27-Jan 18:17
808RobertAny news here? Wondering why the momentum is mostly gone für world.27-Jan 15:07
807Geomol- Added function to rebol.w: rebol (makes it easier to run REBOL scripts) - Added option: -- - Fixed bug12-Jan 11:19
806GeomolNew release at: https://github.com/Geomol/World12-Jan 11:18
805GeomolNo, mostly COBOL and some REBOL for now.6-Jan 11:01
804McheanGeomol: is your freelance work using World-lang, just wondering if you find it good enough to do work in yet5-Jan 18:19
803GeomolIn fact, it's libcurl, I consider, as cURL is a command line tool.3-Jan 12:37
802GeomolUnder OS X, I get an empty binary, which is expected behaviour. Under WinXP, the process hangs here. The OS X and Linux version of World use standard BSD networking, the Windows version use MS networking, where an init is needed. You're welcome to suggest changes to the host specific sources. At this stage, I won't use a lot of time on Windows specific sources, as I don't use that platform very much.

I consider using cURL for networking, as that could give a lot of features fast. If I find, it adds too much to the overall size of World, it could be cut along the way by moving features from cURL to World sources.

3-Jan 12:33
801sqlabYes, I saw that, but what do you do, if total is zero. What do you display or give back. I just get an endless stream of "00000" until crash3-Jan 11:31
800GeomolIn src/host/network.c line 86 and src/host/win32/network.c line 84. I break out of the while loop, if recv returns zero in case of closed socket.3-Jan 10:40
799sqlabWhere and how do you handle a closed socket during receive (total == 0)2-Jan 12:18
798sqlabI just checked network. You do not have an error handling for connect2-Jan 11:57
797GeomolI have some free-lance work to do these days, but will continue work on World too.

The next thing for World is finishing the memory handling, so contexts are freed completely (problems with functions and blocks within contexts today). I'll check cyclic references too. After that, it's the rest of the datatypes, functions and better networking.

2-Jan 11:25
796GeomolI haven't really thought of selling it, so I have no clue.31-Dec 12:14
795Mcheanany idea what you're thinking of charging for it?31-Dec 0:18
794KajYes, and the distinction warrants some shouting after half a decade of Boron and ORCA development30-Dec 15:31
793BrianHHe means that Boron is LGPL, rather than GPL. You still get (an extended large subset of) the restrictions.29-Dec 22:33
792GrahamCIf you add functionality to Boron, it becomes a derivative work and subject to GPL restrictions. And stop shouting. lol29-Dec 21:00
791Kaj- Shakes head at all the foolishness spouted here -29-Dec 19:08
790KajPLEASE STOP CALLING BORON GPL, OR EVEN CLOSED SOURCE!!!29-Dec 19:07
789GrahamCA lot of us would like Rebol and its derivatives to be successful because success brings validation, and more importantly brings new people and development to Rebol. We've all seen the closed source model fail, and specifically we have seen people leave Rebol or refuse to learn Rebol on this account. Orca and Boron are not relevant because there was never a critical mass of people aware of it, and the GPL license put commercial developers here off. Partial open source models like R3 would suggest that this model is also not attractive enough with a lack of investors to keep Carl working on the project. Perhaps you do have some wonderful business plan that is going to work against all odds but the majority of us are not so optimistic. We don't wish to see history keep repeating itself and so we are advising you to change your plan. Think King Canute!29-Dec 18:16
788AndreasGeomol: "man-years of work open-sourced for free? And this in a situation, where I get nothing from doing so?"

You could get _a lot_ from doing so. Increased participation in general, with all the positive effects that can encompass. But whether you consider that worth the trade-offs necessary to reap those benefits is obviously your choice.

29-Dec 12:02
787GeomolPekr, sorry I don't comment on all you say. But look e.g. at a product like WebOS, which was mentioned here in this AltME world not long ago. It was developed to the current state as close source. Just recently HP announced it to go open source. I judge it to be an ok success for the people behind it, even if it was developed as close source. Open source doesn't equal success. And close source also doesn't equal success. But they may be related.29-Dec 11:39
786GeomolI bet, you play sorcerer, when you roleplay! :)29-Dec 11:25
785SteeveOk people, look at the red light :) Flashhhhhhh !!!!29-Dec 11:18
784GeomolPeter, no, I haven't seen a reason for an "escrow" type arrangement yet. World has just been available for 3 weeks or so. And I feel, World isn't quite yet in a situation, where I would build larger projects with it. Close to version 1, maybe around going from alpha to beta release, it could be justified to make arrangements.29-Dec 11:17
783PeterWoodhttps://gitorious.org/boron/boron29-Dec 11:14
782Geomol:) I take my words "my bad" back.29-Dec 11:14
781Steeveuh !?29-Dec 11:13
780PeterWoodIt is published under the LGPL.29-Dec 11:13
779PeterWoodBoron is fully open source - it is published on gitorious29-Dec 11:13
778SteeveAnd it's the very reason Boron failed29-Dec 11:12
777Geomolok, my bad. I don't know enough about Boron.29-Dec 11:12
776PeterWoodHave you thought of some "escrow" type arrangement to give people the confidence that World will not just disappear at some time in the future?

It doesn't have to be a full commercial arrangement but perhaps you could give a copy of the source to somebody that you trust with instructions on what circumstances it would be released (and how it should be released).

29-Dec 11:12
775SteeveBoron is not29-Dec 11:12
774Geomol"I feel bad because we saw many projects failed because of the same reason."

Don't feel bad! A month ago, you didn't know about World. Now you do, and now you have an extra option. Where is no reason to feel bad.

Afaik projects like Boron are open source, and you may put it in the category of "failed projects". So open source doesn't equal success.

29-Dec 11:11
773GeomolAnd I won't like World to become in a situation, where there are lots of bugs and no progress for years, and it's still close sourced. That won't happen.29-Dec 11:02
772Geomolbenefit *from* a REBOL like ...29-Dec 11:00
771GeomolI don't ask for your support.

I bring World to the awareness of you guys, because you might benefit some a REBOL like language in the current situation with REBOL. I could just have continued keeping my mouth shut and made the tool, I need, without others knowing about it.

29-Dec 10:59
770SteeveAnd so he wants support for free. :-) Joke appart, I feel bad because we saw many projects failed because of the same reason. A language implementation itself without real businnes application will get you nothing but some fame. And so he wants support for free. :-)29-Dec 10:56
769PekrGeomol - it is just that you depreciate psychological factors. Ppl, especially with previous experience with RT, are very carefull here. In the end, you might just wonder, why noone is interested in such a model anymore. And in the end, it is just end result, which matters. You either get some community surrounding World, or you might wonder, why while your product is excellent, noone really cares anymore. Or - you might end up finding some nice niche e.g. embedded market, having lots of customers, etc. There is many possibilities, how your decision might influence something.

What I really don't understand is one thing - you sound too protective. You have full right to sound that way. But what escapes my mind is - "when I get nothing from doing so?". And what do you get from actually not doing so? Also - do you expect any harm, caused to the business side of your project, by eventually open-sourcing?

As for me - I am used to commercial and licensed products. I just wanted to point out, that in the end, your attitude, might be contraproductive. If you keep product developed, ppl might feel safe, but ppl might also be carefull with their contribution to the project, because such kind of REBOL related project already failed big time. Not your falt, that's for sure, but the negative assumption is in the air nonentheless.

29-Dec 10:51
768GeomolAnother try to close the topic on openness: So you expect to get man-years of work open-sourced for free? And this in a situation, where I get nothing from doing so? Please, be serious! World is not a hobby-project for me. I have invested a lot of time and money in this. I have my hands full, and the World project do very good progress right now. I see no business benefit from making World open source at this point in time.

Case closed. :)

29-Dec 10:21
767GeomolI have a Win7 (64-bit) install now and did some work yesterday on porting World. I ran into problems with building libffi, which World use. I will look into it.29-Dec 9:58
766btiffinI have World calling COBOL code. It'll be nice to get a full on 64 bit core though. Much mucking about with 32 bit libraries, compiling COBOL in a VBox etc.

Getting close to automating the Dictionary wiki pages as well.

Adding to the old topic of openeness. OpenCOBOL is open source, but very few people fork it. Roger is the principal developer, and we wait for his releases ... but we get to see the compiler, build it on our platforms. John, I don't want to see World core open so I can change it, I'd like to see it open so I can read it, build to suit, learn things. So, if it's not asking too much, put the core code up in a read-only repo and ignore the forks while you develop?

Lastly; fun and looking forward.

28-Dec 15:26
765GeomolThanks, Gregg. Some thoughts...

I create World, because I need the tool. So when I have the functionality planned, I've reached one of my goals, because I then have the tool, I need for my own future developments. For World to become a success for others to use also, it needs to be better in crucial ways than the tools, others use today. Therefore I also focus on making World slim (not bloated), stable and bug-free, very well defined, easily integratable and with good performance. There still is work to do in all these areas.

26-Dec 10:27
764GreggGreat to see continuing progress John!23-Dec 20:01
763GeomolNew version uploaded with system/options/args and some changes to quiet mode.23-Dec 9:17
762GeomolThe argv method was fast to implement and works in my cases, so I went with that for now. It maybe will need to be replaced by something else. Putting cortex.w (and user.w later) into an install dir like Library/Application Support/world/ could be a way under OSX, and something similar on other platforms.22-Dec 21:36
761BrianHAndreas wrote this earlier, in response to your question about this:

"Is there a way to figure out, what directory a command launches from, which will work across platforms?"

Yes and no. There are platform-specific ways. This gist of it:

- Linux: readlink("/proc/self/exe") - OSX: _NSGetExecutablePath - Win32: GetModuleFileNameW

(We recently discussed this issue in relation to R3 as well.)

22-Dec 15:41
760BrianHhttp://issue.cc/r3/1892 shows some circumstances that will trigger the problem, so it's a good model for building tests.22-Dec 15:25
759BrianHThe argv(0) method doesn't work in some circumstances on Windows. R3 has been running into some problems because of that.22-Dec 15:19
758MaximI'm not sure about allowing typecasting from handle!. it sort of defeats the purpose of an opaque pointer handler IMHO. the better alternative would be to allow the routine to define what struct pointer type it returns directly.22-Dec 13:28
757GeomolYou should also be able to see the usage with any other option not recognizes, like: world -h Maybe the -? is the problem?22-Dec 11:05
756GeomolAnd then I should be able to make 64-bit Windows version too.22-Dec 11:02
755GeomolI test under WinXP with cmd and with cygwin bash terminal, and it works:

C:\world\src>.\world.exe -? Loading Cortex... Done usage: .\world.exe [options] [script] ...

I should get a Win7 soon, then I can test that.

22-Dec 11:01
754Oldesech.. crashes completely when I run it from CMD... starting by clicking on icon is fine22-Dec 10:26
753Oldesworld_win32 -? crashes on W7 64bit22-Dec 10:25
752GeomolI would like to hear your experiences with launching world scripts from command line, or use world to run services, etc.22-Dec 9:23
751GeomolI found a way under OS X using AppleScript to launch World scripts from the Finder by dobble-click, and to start World the same way, if anybody is interested. It may be useful for REBOL and other languages as well. The method makes a world.app. Speak up, if you need it.22-Dec 9:10
750Geomol- Added ability to run script from command line - Added command line options: -i -q -v - Added usage (view usage for example with: world -?) - Now cortex.w is found, even if world is started from other directory (using argv[0] in C) - Added facility to copy handle data to struct: to <struct> <handle> - Removed ?? (not useful because of binding rules)22-Dec 9:03
749GeomolNew release at https://github.com/Geomol/World22-Dec 9:02
748GeomolTo avoid the memcpy, the AS function could be used to redefine a handle to a struct. Like:

as tm handle

, but then handle is redefined as a struct, and it now points to a mem area, the routine made. So this can't be deallocated by World, and the memory management has to deal with that situation. Not good in my view.

20-Dec 13:37
747GeomolRoutines able to operate on structures, you define in World and give a pointer to to the routine, doesn't need this memcpy, and it'll work today.20-Dec 13:32
746GeomolThe alternative (as I see it) is to not be able to access such structures.20-Dec 13:31
745GeomolI don't think so, as it's a simple memcpy. The C code looks like this:

if (rb->type == STRUCT_T) { if (rc->type == HANDLE_T) { Struct *U = (Struct *) rb->value.rc; memcpy (U->u, (char *) ((Handle *) rc->value.rc)->pointer, U->size); } else invalid_argument (W, rc); } else invalid_argument (W, rb);

20-Dec 13:30
744PeterWoodThe to approach seems neat syntactically but is there a danger it would be slow with large data structures?20-Dec 13:28
743GeomolIn the ImageMagick/MagickWand example, it was a string, and it's possible to get the string from a handle in World with:

to string! handle

I thought of something similar with structs.

20-Dec 13:15
742GeomolYes, it's probably a better idea to use routines, where you can allocate the structure in World, and handle the routine a pointer to it. But some routines does the other thing. In the case of localtime, it's a static buffer. Some routines in some libraries dynamic allocate memory, that the user can deallocate again with other routines. (Oldes pointed me to such a case in ImageMagick.)

If World should support calling such routines and be able to operate on the result, we need something like my suggestion, I think.

20-Dec 13:12
741PeterWoodAs I understand localtime is not thread safe, the thread safe version locatime_r requires the address of a tm structure as an argument. (Though it returns the pointer to that same structure if the call is succesful.

In general, isn't it a better option for strucutures to be allocated in World rather than the called function?

20-Dec 13:05
740GeomolSuggestion:

Some routines return a pointer to a structure, like LOCALTIME (from LIBC). The structure is struct tm and consists of 11 fields.

In World, we can define LOCALTIME to return a pointer to a handle!, but how should we get to all the data fields?

I suggest, TO should be used to copy data from a handle to a structure, like:

tm: struct [ sint sec sint min sint hour sint mday ... ] none

h: localtime time ; time is some variable holding seconds to tm h ; This will copy the data (pointed to by h) to tm

Comments? Concerns?

20-Dec 10:59
739sqlabat the moment i am just in holiday and have only limited access and not the infrastructure i am used too. maybe when i am back, i will have a look at the code.20-Dec 10:48
738GeomolSHIFT and ROTATE can only operate on 64-bit integers for now. We have to see, if operating on binary! and maybe other datatypes is needed.20-Dec 9:24
737GeomolAbout copying from a port, I get a zero, if the port is closed, but just under OS X and Linux. Windows version seems to hang in that situation. Networking code is open source, and you're welcome to suggest changes. I consider using a lib for networking instead of coding it all by hand.20-Dec 9:22
736Geomol- Reimplemented bitset! as binary - Added native function: COMPLEMENT - Added native function: ROTATE - Added native function: SHIFT - Added << and >> operators to cortex.w - Added hex form for characters, ^(00) - ^(FF) - Added REFORM to rebol.w - Added DETAB to rebol.w - Added ENTAB to rebol.w - New test - Bugfixes20-Dec 9:19
735GeomolNew release at https://github.com/Geomol/World20-Dec 9:19
734Geomolok, that's a good argument to do something about it. Thanks!19-Dec 21:03
733sqlabif you open and connect and the peer closes, this happens too19-Dec 21:02
732GeomolI need to find a balance with World for how much should be tested for. I'm after good performance.19-Dec 20:57
731GeomolDon't do that! ;)19-Dec 20:55
730sqlabcopying from an opened, but not connected tcp port crashes world-lang,19-Dec 20:52
729Maximyes ROTATE is handy to have native when you need it. its the kind of function which will be much slower to build manually than having it native (or hand optimised by the language author ;-)19-Dec 15:45
728GeomolAbout bit operations, I looked at SHIFT. R2 got it at some point, but there is no ROTATE. Wouldn't that be useful too? I think about graphics operations and maybe other areas.19-Dec 13:44
727GeomolGood one, thanks!19-Dec 13:04
726Oldesw> c: context [a: 1 print a print (a)] 1 ** Script error: a has no value ** Near: print (a)19-Dec 12:59
725GeomolLadislav, if you did try and mean having that code inside a function, then there was a bug, which will be fixed in next release.18-Dec 23:10
724GeomolTo get a binary, click it, then click raw.18-Dec 18:15
723GeomolFor minimum install, just pick one of the world_* files and cortex.w18-Dec 18:06
722GeomolWorld is free to use and can be found at https://github.com/Geomol/World Why don't you try those things out yourselves? I would like to comment, but I feel, you get most from it by trying it.18-Dec 18:06
721LadislavGeomol, what would happen if you evaluate something like

try [return 1]

18-Dec 17:06
720BrianHDoes TRY have an /except option?18-Dec 16:33
719GeomolYeah, I'm in a productive period.18-Dec 11:31
718PeterWoodFast work John!18-Dec 11:05
717Geomol- Added native function: TRY - Added set-path! notation to set values in structs (POKE) - Added support for: to string! handle - Added context: system/words - Added helper function: ROUTINE - Added mold support for routines (SOURCE) - Added debugging function: ?? - Bugfixes18-Dec 10:12
716GeomolNew release at https://github.com/Geomol/World18-Dec 10:11
715GeomolYes, I'll check that out.16-Dec 8:54
714Maximactually, any library which returns a string could use a handle! as a return value instead. the handle could be used to store the reference to the string as-is and give it to another routine which requires a string on input.16-Dec 3:27
713GeomolI was able to load MagickWand under Linux, and it seems to work with uint32 datatypes to hold the handle (a C pointer). But it doens't work so well when using the handle! datatype for that. It would be nice, if it worked, I guess. It's probably some type casting problem.16-Dec 0:40
712GeomolThere seem to be a problem with routines returning a handle. A library like MagickWand (part of ImageMagick) works this way. I'm not able to test it with MagickWand, as I'm not able to load that library for different reasons, and I don't wanna use too much time on it.

So I'm after another library, that has a routine, which returns a handle, so I can test. A library easily to get for OS X, Linux and Windows would be nice. Any suggestions?

15-Dec 22:03
711GiuseppeCHi, I am interested into building an maintaining documentation for those programming languages based on REBOL. It would be nice to have a DOCBASE for them. What I search is: - Someone ABLE to SETUP the Linux and the Wiki Software - Someone which would share with me the cost of hosting. Do you like the idea ? Write me at giuseppe@chillemi.eu15-Dec 16:24
710GeomolIn the above example, libc is defined as:

libc: load/library %/usr/lib/libc.dylib

15-Dec 12:16
709GeomolA real example under OS X:

timeval: make struct! [[ slong sec sint32 usec ] none]

timezone: make struct! [[ sint minuteswest sint dsttime ] none]

gettimeofday: make routine! [ [typecheck] libc "gettimeofday" [ tp [struct!] pointer tzp [struct!] pointer ] sint ]

w> gettimeofday timeval timezone == 0 w> timeval/sec == 1323951188 w> timeval/usec == 314011 w> timezone/minuteswest == -60 w> timezone/dsttime == 0

15-Dec 12:15
708GeomolExample of using struct! in routine definition:

my-routine: make routine! [ library "routine" [ [struct!] pointer ] ]

15-Dec 10:39
707GeomolI'll write something about it in cortex_alpha.pdf15-Dec 10:07
706GeomolStruct can be made in different ways:

make struct! [[float f] none] make struct! [[f float] [1.0]] ; var name before type

And there is a STRUCT helper func:

struct [float f] none

15-Dec 10:06
705GeomolThis is first release with struct!, so not all features are there, and it needs further testing.15-Dec 9:57
704Geomol- Added datatype, struct! - Ctrl-A at the prompt toggle auto-brackets - Ctrl-D at the prompt quits World - Fixed networking like: open tcp://808015-Dec 9:56
703GeomolNew release at https://github.com/Geomol/World15-Dec 9:55
702BrianHOr we could consider a more practical situation directly related to World: If you can compile blocks, it would make sense to use the reflection facilities to get access to metadata about the compiled blocks (especially since that would be something that you might want to secure, or since functions would need similar reflectors), but PICK already has a defined meaning for blocks.14-Dec 18:26
701BrianHR3 uses mezz wrappers around REFLECT, so mezz wrappers aren't the problem. The problem is having it be possible to use PICK for reflection. Consider what would be invloved in turning off reflection but keeping PICK working for non-reflection uses.14-Dec 18:12
700GeomolI'm pretty sure, it doesn't slow down PICK, but I need to make test to be absolutely sure.14-Dec 18:10
699BrianHThe important thing is to *not* use PICK for this, to use a different function instead. If you use PICK, it will make it more difficult for PICK to be useful in secure code that should have limited or no access to the reflectors. It slows down PICK too. That is why R3 uses REFLECT instead.14-Dec 18:09
698Gregg+1 Brian, though we can write mezz wrappers using the PICK interface. Is there a reason they need to be native?14-Dec 17:51
697BrianHDon't use the old R2-style reflectors, like that pick 2 in your example above. Any support at all for that kind of reflection makes it harder to secure code. Use the R3-style reflectors.14-Dec 15:47
696Richard+14-Dec 13:07
695btiffinWorld is awesome John, I'm in.14-Dec 9:02
694GeomolIf LOOP becomes a native, we can just move it in the dictionary. I try to create as few natives as possible to keep World simple, but my need for good performance too might lead to a few mezzanines becoming natives.14-Dec 6:18
693GeomolBtw. in World, natives are being called functions too (it's easier for the user to understand, I think). You can distinguish them with PICK, as the second item is an integer. Examples:

w> type? pick :add 2 == integer! ; so ADD is a native function w> type? pick :loop 2 == block! ; so LOOP is a mezzanine function

14-Dec 6:15
692Geomol"It's not really junk!, it's human text, encoded as humans see fit, gibberish or deep meaning symbolic." Funny, when I first implemented KWATZ!, I called it gibberish!, but I found KWATZ! better suited and more interesting. And it kinda give you the same feeling, as when you see a computer go down with a "Guru Meditation". :)

"And if you don't mind, I may start poking around in your wiki as btiffin on GitHub. Feel free to tear any writings apart." The idea with the wiki is, that it's for everybody to edit, so it's not really "mine". And as I have very little time for documentation right now, I will only contribute a little. It may be needed to step in at some point and clear things up, make different pages consistent with each other etc., and that may be me, who does that, but it could be somebody else too. For the dictionary, it may be an idea to write a script, which does most of the documentation (I think, there's an old REBOL script for that lying around somewhere, which may be suited with some modification). system/words may be needed to do that properly, and that's not in World yet. I produce LaTeX output with my NicomDoc format, so I'm covered there with the documentation, I'll do (a proper manual).

"Regarding cortex.w - is that in the far-plan?" Yes, the binary will be as basic as possible. I even consider removing definitions of natives from the binary, as it's possible to define them in cortex.w. Same could be done with datatypes with a little change to World. Then the binary could only define MAKE and DATATYPE! (and probably also SYSTEM), and the rest could be build from that. It's a good idea to split the doc up in a native section and a mezzanine section. And then there's rebol.w, which will make it possible to run even more REBOL scripts. There could be a dictionary for that too.

14-Dec 6:06
691btiffinOk, dug in a little. But still reading back matter... Regarding cortex.w - is that in the far-plan? Mezzanines ship with the binary instead of in? Should it be documented that way?14-Dec 4:45
690btiffinAnd if you don't mind, I may start poking around in your wiki as btiffin on GitHub. Feel free to tear any writings apart.

I'll admit to having some deeply ingrained misunderstandings about REBOL, so those will likely slip right on over to World. (I've got notes from Ladislav, Gabriele and a few others that pointed out these misunderstandings (and when documenting, misunderstandings are simply untruths and need to be treated that way)). In particular, I still don't see clearly the 'value - premake - type - make (and) word' semantics of REBOL (at least in terms of trying to explain it) I'm hoping your World engine code is let out so I get a chance to view my problem from a different angle and hopefully 'see the light'.

I'll add that if you want to send any snippets for markup in LaTeX, I'll sign up for grunt work too.

14-Dec 4:12
689btiffinGeomol; by text! I was referring to the old junk! argument. It's not really junk!, it's human text, encoded as humans see fit, gibberish or deep meaning symbolic. Naming things is hard. ;) KWATZ! is ok...but I don't get the 'ahhh, that's optimal in meaning and depth' from it - and I lean Buddhist and did see the Zen references. But kwatz is still sinking in, if it's going to (and perhaps that is the best kind of deep meaning).14-Dec 3:59
688sqlabseems to be my fault.(13-Dec 15:27
687GeomolDid you get cortex.w too?13-Dec 15:26
686sqlabanother issue the current world_win exits after errors13-Dec 15:25
685GeomolYes, an idea.13-Dec 15:24
684sqlabsorry, I had to switch to an other pc, where Altme is already well configured. Good was meant for a control char. Why not make the key, that changes the mode configurable?13-Dec 15:21
683GeomolWhat if World is used through a telnet on a server? Ctrl-A is SOH (Start of Heading). Could that give problems?13-Dec 15:17
682sqlabthat's good13-Dec 15:15
681GeomolLike ctrl-a13-Dec 15:14
680GeomolMaybe a control char?13-Dec 15:14
679sqlabahh, yes, thanks13-Dec 15:14
678sqlabmaybe you can add an easy switch just by one key code to switch between a line mode13-Dec 15:14
677Geomolsqlab, I added it to issues at https://github.com/Geomol/World/issues so it isn't forgotten.13-Dec 15:14
676sqlabre: automatic closing of brackets13-Dec 15:09
675GeomolAlso "Difference from REBOL" has almost nothing yet. I mostly code and not writing docs at this point.13-Dec 9:27
674GeomolAbout writing docs, I've started the dictionary.

See: https://github.com/Geomol/World/wiki

13-Dec 9:26
673GeomolOn the word KWATZ!, someone found a couple of good links:

http://seedsforsanctuary.blogspot.com/2008/06/kwatz.html http://www.livingworkshop.net/kwatz.html

I first heard the word in a dialogue between an AI and a poet in a very good book by Dan Simmons. [KWATZ!]

13-Dec 8:45
672GeomolThat's cool, Brian! :) A note about KWATZ!, you suggest it to be text!, but it's not quite. It sure can be e.g. UTF-8 data:

(Setting my Terminal program to character encoding Unicode (UTF-8) and trying to load 3 ASCII letters, 3 danish letters and 3 greek letters)

w> load "abc ?????? ??????" == [abc #{C3A6C3B8C3A5} #{CEB1CEB2CEB3}]

(Notice World isn't prepared to unicode yet, but can load it, as it can just be seen as bytes.)

But beside text, KWATZ! can also handle all other data, like escape codes or any binary format maybe combined with more understandable data, you wanna load.

13-Dec 8:43
671btiffinJohn; I want in. Do you need assistance writing docs? Please. :)

See http://my.opera.com/btiffin/blog/2011/12/09/rave-post-world-programming-language

13-Dec 5:11
670PekrJust tell when you want to be noted on OSNews, there might be some more significant traffic :-)12-Dec 16:01
669GeomolAnd 5 visitors from Brazil today. The Lua guys maybe? :)12-Dec 15:47
668GeomolThere is a lot of interest from people from France in REBOL-like languages, it seems. The month stats for world-lang.org shows most visitor from France, closely followed by Denmark and United States. Then Germany, Switzerland, UK, Czech Rep., Japan, Canada and Malaysia.

I should say, that I informed my SAS friend from France about this, so he could have spread the word too.

12-Dec 15:41
667GeomolNew blog "One week of open alpha" at http://world-lang.org11-Dec 18:08
666GeomolUploaded new version with quick fix, in case someone downloaded latest release.11-Dec 17:02
665Geomol- Added /reset to COMPILE - Implemented error system. Error system include: system/standard/error system/standard/errors system/state/last-error Better error reporting - Added sys-utils/print-last-error11-Dec 15:52
664GeomolNew release at https://github.com/Geomol/World11-Dec 15:52
663GeomolA word about license, since that has been brought up in different groups. The current license for World is simple:

"Alpha release. For testing only. Use at your own risk. Do not distribute."

There is a LICENSE function to show that. World is currently an alpha version for testing. When World moves to beta stage, I have to figure out a proper license. (I think, that's in the Q&A too.)

11-Dec 11:10
662GeomolMy view is, implementing unicode everywhere will add to unnecesssary complexity. Each such level of complexity is a sure step to downfall. My first rule of development is simplicity, then performance, then low footprint, then maybe features.

Words in World can hold 7-bit ASCII. Chars and strings can hold 8-bit characters. That's the level of simplicity, I aim at.

I will have to deal with unicode, of course, and I'll do that, when World is a bit more mature. There could be a unicode! datatype.

11-Dec 10:33
661BrianHFortunately, it's not too late to fix this in World :)10-Dec 18:30
660BrianHAny language that can do aliasing between the string and binary types, rather than requiring conversion, won't work.10-Dec 18:26
659BrianHI even have difficulty using R2 now because of how it can't really support nvarchar columns accessed through ODBC, a daily problem for me.10-Dec 18:24
658BrianHI wish you luck with World. It may be a bit difficult for me to use it though, because of the ASCII strings. Any language that isn't built from scratch with Unicode strings, instead having them retrofitted later when the inevitible need to support users outside the the English-speaking world, will have a great deal of problems. Python 3 is just the latest example of the problems with not having a well-thought-through Unicode string model. One of the best parts of R3 is how well we handled the Unicode transition.10-Dec 18:22
657BrianHYou can write this and it will work in R2 and R3, because the stuff before the header will be ignored:

world [] rebol: none rebol []

10-Dec 18:18
656Geomol"World should accept REBOL [] as header to run R2, R3 scripts through it without editing these."

World can already run scripts without header, so it's possible to run REBOL scripts without editing them by first defining REBOL as:

REBOL: none

or something similar.

10-Dec 9:59
655GeomolThe above VM asm is produced by code such as: a: b + c10-Dec 9:54
654GeomolOn the other hand, on a 64-bit system with 64-bit pointers, compiler optimisation of code such as:

0 GET_TVALUE 0 10031dff0 0 GET_TVALUE 1 100150fa0 0 ADD 0 0 1 0 SET_TVALUE 10016f6f0 0

will require 192 bit just for the 3 pointers, which will mean 256-bit instructions (with opcode), if the code can be optimized into 1 instruction. Optimizing four 128 bit inst into one 256 bit inst will halve the memory required. I haven't dug enough into optimisation in World to say, if it's possible.

10-Dec 9:51
653GeomolAbout instructions being 256 bit, half can be used to hold constants of the types:

- complex! : 2 double - range! : 2 64-bit int (also pair! in the future) - tuple! : 14 bytes + length (could be 15 bytes) - date! : 128-bit in all

The rest is used for opcode, type of constant and a register offset. I put a 32-bit filler in, when going from 32- to 64-bit to reach a 64-bit boundary. So it should be possible to go down to 192-bit instructions without loosing functionality. To reach 128-bit instructions, the above constants needs to be spread over two instructions, which will hit performance. But it's important to notice, there is room for improvements here.

It hasn't been important for me to uptimize in this area yet, so that's why it is like this for now, but that time will come.

10-Dec 2:15
652GeomolAh, I would like to do compile/reset/at too, so it's maybe a little.10-Dec 0:40
651AndreasSure :)10-Dec 0:36
650GeomolIt's maybe 5 lines of C code. :)10-Dec 0:35
649AndreasNice, but no hurry :)10-Dec 0:33
648Geomolok, consider it done10-Dec 0:32
647Geomolas a refinement, I mean10-Dec 0:31
646AndreasYeah, sounds perfect.10-Dec 0:31
645GeomolRight, good explanation. Would a compile/reset be an idea? It doesn't compile, just reset.10-Dec 0:31
644AndreasIf we had a compile reset, we could postpone the recompilation until the next evaluation.10-Dec 0:30
643AndreasDoing it with compile, the recompilation is forced to happen right after the modification.10-Dec 0:29
642AndreasIf I, as a writer of some code-modifying helper function want to also provide the behaviour of INSERT, I can't.10-Dec 0:28
641AndreasI 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.10-Dec 0:27
640GeomolThis:

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

10-Dec 0:27
639AndreasWell, just remember the example we had.10-Dec 0:26
638Geomolcone = done10-Dec 0:26
637Geomol:) I see it as:

I have compiled function, I would like to change -> I make changes -> I want the new version to run

With compile reset, that can be cone at any point between first run and second. Doing it with COMPILE, it needs to be done right before 2nd run. But isn't that good enough? Or can we come up with situations, where it isn't?

10-Dec 0:26
636Andreas("Domain specific dialect" is just another label for "yet another purpose-built language".)10-Dec 0:24
635AndreasNot much, no. But that also means I haven't yet changed my mind and still believe we need one :)10-Dec 0:23
634GeomolAndreas, I've thought some more about the need for a compile state reset. Have you?10-Dec 0:23
633KajREBOL was always meant to straddle everything with domain specific dialects10-Dec 0:22
632KajRed solves it by covering everything with two10-Dec 0:21
631Geomolwell, 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.10-Dec 0:21
630AndreasBut still, I strongly believe in the value of "general purpose language", though I wouldn't go as far as saying that one is supposed to cover "everything".10-Dec 0:20
629KajREBOL started out as a Swiss army knife, and was it bloated and complex?10-Dec 0:19
628AndreasJack of all trades, master of none.10-Dec 0:19
627GeomolBut doesn't "trying to do everything" mean, it becomes bloated and complex?10-Dec 0:19
626KajThis is the main reason REBOL has slided for a decade10-Dec 0:18
625KajI feel not trying to do everything equals failure from the start. A language is supposed to cover everything10-Dec 0:17
624GeomolI feel, trying to do everything has high possibility of failure. But being able to integrate with everything could be the way to be able to do everything.10-Dec 0:16
623KajIt'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 nauseum10-Dec 0:09
622GeomolAnd it may make sense to share code in some areas.10-Dec 0:09
621GeomolIt probably doesn't make sense to join forces of all these languages, because they're so different in goal/implementation/design.10-Dec 0:06
620KajYes, efforts are quite fragmented over all these projects. Syllable is even still using a seventh language because I can't keep up10-Dec 0:03
619GeomolSo haft are open. Do you have a general view, how things are going with the different languages?10-Dec 0:01
618KajOf course, there are now six in-development ways to write a program in a REBOL like language, half of which are closed source9-Dec 23:57
617GeomolDisadvantages: me loosing focus and loosing time, when having to answer all kinds of questions and approve new developments. The horror of World being fragmented to 100 versions, where none of them are compatible. You wouldn't like that! I make sure, that doesn't happen.

You need surplus of time and resources to open source things like this, if you wanna be sure, it doesn't run off rails. Look at how many ways, you can do any single thing in Linux. It's way too fragmented in most areas.

9-Dec 22:56
616GeomolI have my hands full now, and I make really good progress. When we're around version 1 (or if I don't make more progress), it would make much more sense to think about open source. And as I've said, it may also make really good sense to open source parts along the way. I have considered library.c and library.h, which holds the C code for library! and routine!. That almost makes sense now. When I've implemented error! correctly (working on it), it really makes sense. You have only been able to run World for 5 days. Patience! :)9-Dec 22:51
615GiuseppeCI am sure I won't convice you about open sourcing it showing only advantages but I am curious: which are the disvantages you see in open sourcing the Language ?9-Dec 22:44
614SteeveI 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.9-Dec 22:43
613GeomolYou're welcome to tell HP or anybody else about World.9-Dec 22:40
612GeomolI 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!

9-Dec 22:39
611GrahamCWell, good luck but as in the tech news .. HP paid $1.2bn for WebOS and are now open sourcing it9-Dec 22:38
610Geomol:) Thanks!9-Dec 22:35
609GiuseppeCtoo9-Dec 22:34
608GiuseppeCI am not religius to my I will light a Candle in any case a GOD exists and could help you :-)9-Dec 22:34
607GeomolI'm not religious. :) Stronly religious people frightens me to some degree.9-Dec 22:34
606GeomolGraham, as many companies, I don't open up my business plan to everyone. To business partners maybe, but not everyone.9-Dec 22:33
605GiuseppeCLets the time talk for this. I prey for you.9-Dec 22:32
604Geomol"don't make the mistakes of CARL." Trust me, I won't.9-Dec 22:32
603GiuseppeCGeomol: don't make the mistakes of CARL. You strongly need developers and adoption from the open source community. We are now in the right momentum. Please belive me: you have more adavantages than disvantages and you won't loose the contro of your baby.9-Dec 22:31
602GeomolWhen I started "Countdown: 10" 2 weeks ago, the C sources were close to 23'000 lines. Atm. World is 24'372 lines and growing. The project is moving forward fast.9-Dec 22:31
601GrahamCto the known aspects of the R3 business plan :)9-Dec 22:31
600Geomol"Exactly how does your plan differ from R3 business plan?" As I don't know the full R3 plan, I don't know the answer to that question.9-Dec 22:28
599Geomol:)

About open source, read my answer in the Q&A. It has to make business sense to open source. It doesn't atm.

9-Dec 22:27
598GrahamCExactly how does your plan differ from R3 business plan?9-Dec 22:27
597Geomol"do you plan to make money selling the language?" No, that's not in my plan, but who knows, maybe someone wanna pay me to open source it or use it in certain projects. I plan to keep the language free (no payment to use it), but make money on areas connected to the language.9-Dec 22:25
596GiuseppeCCould GOD BLESS YOU !9-Dec 22:25
595GiuseppeCPersonal 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.9-Dec 22:24
594Geomol"There are many ways to raise money:" Yes, I know, and I plan to do something about it. :)9-Dec 22:20
593Geomol"Don't you think that if REBOL was open sourced many developers would have inproved it in Carls absence?" Yes, myself included. I'm not absent. I will not let the World project ends (or leave at the state) as the R2 or R3 project. Then I would better open source it.9-Dec 22:19
592GiuseppeCGeomol: do you plan to make money selling the language ?9-Dec 22:18
591GrahamCWhat exactly is your business plan?9-Dec 22:18
590Geomol"World is your Hobby project (Isn't it ?)" No, this is a business project for me.9-Dec 22:17
589GiuseppeCPoint 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.9-Dec 22:16
588Geomol"DONATE MONEY" You will be able to soon, if all goes well.9-Dec 22:15
587GeomolYou 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.

9-Dec 22:13
586GiuseppeCI repeat: I am ready to cooperate once you will chose an open source licence. I am ready to give money and TIME. Carl didn't seem to apreciate. Hope you will.9-Dec 22:12
585GiuseppeCPersonally 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.

9-Dec 22:10
584GiuseppeCAs 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.9-Dec 22:09
583GeomolAnd I listed close to 50 datatypes. World currently operate with 41 datatypes.9-Dec 22:06
582Geomol"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.

9-Dec 22:05

Return to Index Page