Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

Commercial-quality REBOL programmers needed

 [1/37] from: amicom::sonic::net at: 14-Aug-2002 11:28


Hi rebol-list! I would like to apologize if anyone finds this email irrelevant to the list. I am posting it here as my understanding of the REBOL mailing list is to further the spread and acceptance of the language. I believe using the language for commercial projects is key to this goal. Anyone who knows me knows that I am a BIG advocate of REBOL - I've built my own business around REBOL as a key building block. Lately it has become apparent that I do not have the time to handle all the work that comes my way all the time, so I am looking for some intermittent assistance in this area. I primarily do REBOL scripting, but sometimes REBOL is not the best fit for the requirements of a project, so knowledge in other areas is also helpful. If you would like to help crank out REBOL programs and projects using other technologies, please send me an email directly to [amicom--sonic--net]. Also, if you have developed (or are developing) some commercial-quality software, I may be interested in presenting it to my existing and new clients. Handy things to know (the more you know the better): - REBOL/View - Accessing .dll files from REBOL (View/Pro or Command) - Web technologies (CGI, HTML, SSL, etc.) - Network protocols (mostly TCP scripting in REBOL) - Database technologies (SQL, etc.) - Security (mostly encryption and authentication) - Other languages (C, Perl*, PHP*, etc.) * These languages are sub-par to REBOL but some clients require them. I have two potential projects currently and may be getting more soon. These projects could start immediately. Looking forward to your response! -Bo

 [2/37] from: atruter:hih:au at: 15-Aug-2002 10:03


> I would like to apologise if anyone finds this email irrelevant to the
list. Commercial interests are just as valid as hobby or academic, and probably more likely to see wider adoption of REBOL (which is *a good thing* in my book as RT can't survive on hobby / academic interest alone).
> I may be interested in presenting it to my existing and new clients.
It may help to know what industry you are targeting (eg. financial, health, mining, etc). Are you (or planning to) use Encap? What platform(s)?
> If you would like to help crank out REBOL programs and projects using
other technologies Another approach might be to say, "I am looking for the following interfaces / technologies / modules", ie. what are your high level requirements. This would appeal to someone like myself who doesn't have time to crank out REBOL apps for others at the moment but may be able to swap / share modularised solutions (eg. Have: Reporting module, Need: Graphics module). Just a thought ;) Regards, Ashley

 [3/37] from: anton:lexicon at: 15-Aug-2002 15:43


Hi Bo, Well, I am always here. Here is my skillset: - Accessing .dll files - can do it - Web technologies - I have CGI's in my codebase, and commercial experience with it, and I am always stuffing around with HTML - Network protocols - I have not delved into this yet - Database technologies - commercial experience with SQL Server - Security - I know about the theory, but only basic authentication (!) - Other languages - cool with C, had a bash at PHP, ok with Flash 5 (commercial experience), ok with Java (commercial experience) So if you have a job that requires those above skills, send it to me, and I'll tell you if I can do it. Regards, Anton.

 [4/37] from: petr:krenzelok:trz:cz at: 15-Aug-2002 7:40


Hello Bo! :-) first - it's nice to see old time reboller to prosper using Rebol :-) Rebol and business, well, well, well. There is several povs to the problem: 1) historically - RT did a BIG mistake locking library and shell components, period! I am not even open to discuss it further, as I can't see any pov which could change my opinion here. All the situation resulted into strange Rebol position on market - we lost MANY newcomers, because they were not able to freely link to external resources. Let me clarify first - I am not for Rebol becoming open source. However, for me - the main goal is - interoperability. Systems talking one to each other - middleware. What Rebol became however, was closed environment. That's probably the reason we still can't see Rebol mentioned with many open libraries, as there is not enough manpower in our community, to create such wrappers. Not so many ppl own /Pro version imo. 2) /Command low priority. I think that Rebol could become top quality middleware product. The money lays in corporate sphera - big money. I work for company, where the main system is SAP and supporting products. Look at WebMethods Business Integrator - 50K per CPU. While I think IOS is fine, RT would be better in that league imo. But what do we have for /Command today? - native mySQL protocol, which according to some reports, is even slower than DocKimble rebol-level one - ODBC, Oracle - fine (tested only odbc though) - fast-cgi, which does not adhere to the latest development in that regard (RT's own implementation) - /Pro stuff - library, shell, security stuff (limitations - look at the bottom of following site though - http://www.rebol.com/docs/ssl.html) now what do we lack? Rebol has nice abstraction mechanism - ports. Life of Rebol developer would be easier, if at least some of following components/ports would exist: - COM/DCOM - linkage to that MS technology would open much wider field for Rebol to be used. - other DB protocols - JDBC? - and the most critical one - proper XML support. If you will look at latest development in many product areas, everything is going XML route. And excuse me - I don't want to hear the opinion, that parse this or that is easy and that I should implement it myself. Wrong! If some product uses SOAP 1.1, RosettaNet X.y, ebXML X.y, I just want to 'load module, and use it for the task needed, that's all. IF we don't get those protocols, we are doomed, because noone will seriously consider Rebol as a real business player. If e.g. SAP is able to offer programmer automatic conversion of module interfaces to SOAP, programmer even does not need to care of SOAP internals. I can hardly push those ppl to use different format, while OTOH I don't have free resources to care of parsers etc. stuff - I need to USE the solution, not to implement it. I think that RT could contract such work, and maybe there would be enough ppl even today, which would buy such updated /Command version, even for some + 1000 USD. RT choosed slightly different path, and we have to respect it - after all - IOS is good product, nothing against it, but then - if /Command is not updated soon, it deserves to be removed from product family, because it is old, and starting to be underpowered .... what is more, we will probably sooner than later see mySQL + PostGress released by old time good rebol fellow. What is even more, I hope even free fast-cgi is gonna be released too. Don't make me wrong, but what is all that new 'build-markup good for, if used in CGI mode? So, after the release, except the ODBC and Oracle, /Command has no reason to exist anymore, as /Pro will be sufficient. If you think I am too much negative - think just opposite! I will form my own company in a half a year (registration pending :-). I think that for the scripter, ability to link to other systems is crucial. That's why I tried to suggest creation of some kind of rebol developers library. Maarten started some way, but Rugby is a bit alone. Kind of a CPAN? What is imo needed, is kind of a standard protocol framework, we could build upon. We need more protocols and library wrappers etc. I hope it will come. Stuff belonging to such library is: - some of Andrew Martin's job - Rugby - new coming protocol framework - fastcgi, mysql, postgress protocols - Gavin's XML stuff What is a bit problematic is, that all above mentioned stuff uses its own logic, architecture, etc. So initially, all above mentioned stuff could be considered being separate products. Let's hope some ground/framework, upon which we all could build, will come .... 3) try to push rebol! :-) Bo, don't automatically agree to use different technologies, because some client may seem to require them. Eh, you use Perl? It fades, ppl are switching to Rebol, you never heard of Rebol? What is it? The next big thing, etc ... just try it. I think that most ISPs will allow you to run at least CGI in Rebol. The different thing is with fast-cgi. And .... at the end, haven't you thought about setting your own server? So, let's see, what near future will bring to us :-) Cheers, -pekr-

 [5/37] from: reffy:ulrich at: 15-Aug-2002 7:09


> ** Original Subject: [REBOL] Re: Commercial-quality REBOL programmers needed > ** Original Sender: Petr Krenzelok <[petr--krenzelok--trz--cz]>
<<quoted lines omitted: 11>>
> could be considered being separate products. Let's hope some > ground/framework, upon which we all could build, will come ....
Hello, I am new to the list. (Don't hold that against me) I would like a little clarification. 1. Standard protocol framework: What does this mean? Why is it needed? 2. Upon which we all could build: What is being built? Who is 'we all' ? 3. Is there a target goal? What is the goal? Why work on that goal? Thanks, Dick

 [6/37] from: petr:krenzelok:trz:cz at: 16-Aug-2002 8:36


[reffy--ulrich--net] wrote:
>>** Original Subject: [REBOL] Re: Commercial-quality REBOL programmers needed >>** Original Sender: Petr Krenzelok <[petr--krenzelok--trz--cz]>
<<quoted lines omitted: 21>>
>1. Standard protocol framework: > What does this mean?
Well, if you are new, try to look under the hood of Rebol. Download some Rebol system viewer, %browse-system.r or gui version "ana-monitor.r? Don't remember exactly ... Then you will see, that Rebol system structure holds something like system/schemes path, where all rebol protocols are stored. What also rebol does - it provides abstraction mechanism called "port". The principle is simple - you open the port, 'insert data into it, copy data from port, close the port. We have plenty of ports - files, network, sound, encryption, odbc, etc. If we consider building new schemes (protocols), we should do so around port mechanism. Some time ago Jeff Kreis described how to build custom protocols - http://www.rebolforces.com/articles/protocols.html and Holger posted nice follow-up (you would have to find it on escribe ...)
> Why is it needed? >
because - RT provided some standard set of protocols. We of course need more. But if every programmer builds it in his/her own logic, we will end-up using X protocols in Y different ways and that is not the way to go. What is more though - you have tcp family protocols, but is that sufficient? You want to communicate, right? You want two machines talk one to each other? Great, so you have to build kind of a client, and server. But then you want probably your server to understand some commands? OK, so you build protocol, for your server communication. But - that protocol will be probably useless for anyone else. So, I can imagine tool, which will serve as communication matrix, dispatcher, call it whatever. It should allow to: - bind protocols on certain ports - define callbacks for certain kind of events happening on port .... eg. on-length, on-char-received, etc. - define handlers - define amount of child processes to be started (we have no threading yet) - be dynamic. I don't accept anything not being able to dynamically bind, unbind stuff at runtime, without the restart. - watch the status - monitor So - if such framework would exist, if it would be good enough, most ppl would concentrate upon it, and build stuff for it = central starting base, unification, consistency. It should imo also become native part of Rebol distribution. As I said, hopefully, it is coming .... :-) Cheers, -pekr-

 [7/37] from: reffy:ulrich at: 16-Aug-2002 9:13


> >1. Standard protocol framework: > >
<<quoted lines omitted: 23>>
> Cheers, > -pekr-
Sometimes, even I amaze myself at how slow I am when immersing into a new world so to speak. Let me say this: USER PROFILE: Information about users to provide capability to restrict. SYSTEM CONFIGURATION INFORMATION: An RDBMS centralized repository of information which results from the implementation of systems and their components. The information object types/nodes can consist of (but not limited to) these conceptual artefacts AP, JC, DT, EM, UI, JI, JN, RM, JE. Each named node of the preceding object types contains information as to its physical location, how to execute, and how to communicate with it in the case it is a service/process. JI - Job Initiator (usually a button on a GUI) submits tasks to be performed (JC). AP - APPLICATIONS - Arbitrary container of a large abstraction. JC - JOBCLASSES - Internalized services/processes for named tasks which might involve one or more steps to be performed and how to handle errors, etc. DT - DATATRANSFORMERS - Inputs/Outputs (grind the data) EM - EVENTMANAGER - Scheduler/dispatcher reacts to incoming message eventtype to execute a JC and its associated steps. UI - GUIS - A users view of the application world. JN: A flexible, configured methodology for notifying of success/failure/cancellation. JE: Control of network devices such as printers to prevent inadvertent mixing of outputs. RM: Someone has to guard the data and other resources to provide a shared/exclusive contract arrangement. CONFIGURATION LIBRARY: A software library which provides access to the centralized repository of information which describes the implementation of computer programs. MESSAGING LIBRARY: A software library which provides the capability for sending and receiving messages within the contrived application world. MESSAGE FORMAT (PROTOCOL): A simple format which includes a few fields of information to allow hi-level interpretation for purposes of routing through the application world. These could include sender, recipient, eventid, eventtype, and TEXT. The TEXT portion of the message may contain anything (even Rebol code) which is understandable to the target process/recipient. CENTRALIZATION OF CORPORATE POLICIES & PROCEDURES: The access of configuration information may result in the internalized automatic evaluation of embedded macros which may in turn refer to other portions of the information repository. This internal evaluation allows for centralization of policies and procedures within an organization. Think of a heirachical tree, where the leaves may refer to other (higherup) nodes for certain information, such as the shared directory location where executables are stored or which version to use of a CAD/CAM extraction tool, etc. QUESTION: When you say protocol, are you talking about a common messaging format or something else? QUESTION: When you are talking about framework, are you talking about an application architecture which provides persistent end-to-end task management? After all, Rebol is no different than Java, Tcl/Tk, Perl, and other well known languages. It is simply a language with certain powerful constructs. Without an overall application framework they are just languages. Dick

 [8/37] from: greggirwin:mindspring at: 16-Aug-2002 11:39


Hi Dick, << After all, Rebol is no different than Java, Tcl/Tk, Perl, and other well known languages. It is simply a language with certain powerful constructs. Without an overall application framework they are just languages. >> You may find, after spending more time with REBOL, that it is quite different than most languages out there. You can see features inspired by other languages (notably Forth, and the Lisp/Logo/Scheme family) but I think it's fairly unique in many ways. Using most languages, you build tools, libraries, and frameworks and then you end up thinking in terms of two different models or "universes of discourse". I have found, in my one year with REBOL, that as I build things, there seems to be much less of a distinction in how I think about using the core language and using my tools. I'm able to think more about what I'm trying to achieve and less about certain details. I hope you enjoy REBOL as much as I do! Have fun! --Gregg

 [9/37] from: reffy:ulrich at: 16-Aug-2002 13:43


Yes, I think Rebol has a lot going for itself. I too have an interpretive language which is powerful. Define ouch obj ; elem evt { elem evt Is obj print 'Ouch you clicked on the thingie named: %{elem.name}' } v Is Ucase Join Reverse Split Date v:'title' Is 'Date string in reverse and upper cased' v:'name' 'font' 'w' 'hj' 'onclick' Is 'goober' 'bold' 35 'left' 'ouch' View v But, even though mine is a clever language, it is not a system, it is just a language. In fact, I would love to have some of Rebol's capabilities within my own language. In order for Rebol to take off, it seems to me that there should be an application capability which is developed in Rebol. It is the application that corporate America needs. Do you agree? And in defining a killer framework, Rebol wins big time, because the framework allows for many kinds of applications to be developed. So, I guess the question is are we trying to figure out a killer application which will propel Rebol into the forefront because of the application or just trying to enhance Rebol the language?

 [10/37] from: greggirwin:mindspring at: 16-Aug-2002 13:08


Hi Dick, << It is the application that corporate America needs. Do you agree? >> Yes and no. :) If you look at how RT views "reblets" (little rebol apps running on the IOS desktop, but could be little rebol apps in any environment), you'll see that they say "think of them more like web pages, and less like applications", i.e. they are disposable. So, on that level, there is great value in things that aren't really "applications". OTOH, REBOL is really great for building true applications with full GUIs, data persistence, etc. << And in defining a killer framework, Rebol wins big time, because the framework allows for many kinds of applications to be developed. >> Frameworks and templates are definitely valuable. I have little template projects I tinker with for very simple database apps where you have, say, a list for selecting the item you want, the fields to fill, and commands to Add, Remove, and Update items. I want to avoid reinventing the wheel but, at the same time, I don't want to burden simple projects with a complex framework that provides 10,000% more than I need. I like little pieces, tied together to make bigger pieces. Even when using VB, while others would write monolithic systems that compiled to 6 or 8 meg, I wrote lots of 100-200K apps that worked together to make a system. That makes it easier to build different systems from different parts. << So, I guess the question is are we trying to figure out a killer application which will propel Rebol into the forefront because of the application or just trying to enhance Rebol the language? >> I think the killer apps will find their way. IOS is a good example. Enhancing the REBOL langugage is different from most other languages, too, in that creating dialects allows you to enhance the language in an application/tool/domain-specific way. It blurs the lines, which is great for me because I don't have to switch mental "modes" nearly as much as I would otherwise. Most times I don't realize it until after the fact, when doing read-throughs, maintenance, etc. I'll read some code and think "Oh yeah! I'm generating that VID stuff dynamically." or "That's right, that's getting loaded from a file and parsed." I don't have enough time under my belt to say that I know the best way to do things. Heck, there isn't always a "best" way with REBOL because you can do things so *many* ways. REBOL is a great language for thinker-tinkerers (thinkerers) IMO. Sorry for rambling so much! --Gregg

 [11/37] from: reffy:ulrich at: 16-Aug-2002 18:23


So, When someone on the list says we need protocol and framework, what do they mean? Dick

 [12/37] from: reffy:ulrich at: 16-Aug-2002 18:32


> I don't have enough time under my belt to say that I know the best way to do > things. Heck, there isn't always a "best" way with REBOL because you can do > things so *many* ways. > > REBOL is a great language for thinker-tinkerers (thinkerers) IMO. > > Sorry for rambling so much! > > --Gregg
What can Rebol do that is not just a scalar operation? Dick

 [13/37] from: reffy:ulrich at: 16-Aug-2002 18:35


Enhancing the REBOL langugage is different from most other languages, too, in that creating dialects allows you to enhance the language in an application/tool/domain-specific way. It blurs the lines, which is great for me because I don't have to switch mental "modes" nearly as much as I would otherwise. What do you mean by "It blurs the lines"? Dick

 [14/37] from: reffy:ulrich at: 16-Aug-2002 18:30


Hi List, I am bored ... Does the evaluation of the expression: a + b Happen synchronously, or asynchronously Are the values of 'a' and 'b' currently exclusive to the process that can perform the '+' operation or are they in 'shared' mode ? Dick

 [15/37] from: reffy:ulrich at: 16-Aug-2002 18:52


Yes and no. :) If you look at how RT views "reblets" (little rebol apps running on the IOS desktop, but could be little rebol apps in any environment), you'll see that they say "think of them more like web pages, and less like applications", i.e. they are disposable. So, on that level, there is great value in things that aren't really "applications". Gregg, have you been eating too much buttered popcorn? Just a little humor Gregg, I know what you are saying here. Could be More like Less like Disposable Great Value Aren't really Now I sense we are getting to the meat of the matter. You know, sometimes, being able to do a + b is of great value. Dick

 [16/37] from: reffy:ulrich at: 16-Aug-2002 18:37


Frameworks and templates are definitely valuable. I have little template projects I tinker with for very simple database apps where you have, say, a list for selecting the item you want, the fields to fill, and commands to Add, Remove, and Update items. Has a dynamic generalized RDBMS table browser been written in Rebol? Something like Toad? Dick

 [17/37] from: reffy:ulrich at: 16-Aug-2002 18:46


I want to avoid reinventing the wheel but, at the same time, I don't want to burden simple projects with a complex framework that provides 10,000% more than I need. I like little pieces, tied together to make bigger pieces. Even when using VB, while others would write monolithic systems that compiled to 6 or 8 meg, I wrote lots of 100-200K apps that worked together to make a system. That makes it easier to build different systems from different parts. So, to put things into a different context lets look at the need to print a file. Imagine for a moment that the existing print capabilities didn't exist. How would you write something like this in Rebol. Especially if there are printers to which you direct certain print jobs because they can for example handle postscript and others can't. Other printer capabilities come into play depending on the requirements for printing this certain type of file. You want to be able to initiate the job, so a form will probably come up. The job ticket containing the information is put somewhere so we need a unique task number generated by the system itself. A message is sent to the appropriate event manager indicating a new job notice. The event manager schedules the task. The event manager processes the task and sends a message to a daemon/service on some remote machine behind the scenes. We can query the status of the task and find it is waiting on a certain resource for example. When the task is complete we are notified that the task is complete, successfully, in error, or someone cancelled the task. We might want to be able to resume the task for various reasons. If the system goes down, any jobs not yet entered into the system will be noticed upon event manager startup and are not lost. Does IOS or Rebol do this? Dick

 [18/37] from: reffy:ulrich at: 16-Aug-2002 18:47


REBOL is really great for building true applications with full GUIs, data persistence, etc. What is a 'true application'? What is a 'full GUI' ? What is 'data persistence' ? Dick

 [19/37] from: reffy:ulrich at: 16-Aug-2002 18:57


REBOL is a great language for thinker-tinkerers (thinkerers) IMO. Sorry for rambling so much! --Gregg Hey Gregg, it is ok, ramble on ... that is a clever dialect (thinkerers)

 [20/37] from: reffy:ulrich at: 16-Aug-2002 18:55


Enhancing the REBOL langugage is different from most other languages, too, in that creating dialects allows you to enhance the language in an application/tool/domain-specific way. Dialect?? Could you expound on this idea? If I create functions/variables named in a domain sort of way and use those to solve a problem, have I created a dialect? Dick

 [21/37] from: reffy:ulrich at: 16-Aug-2002 19:01


> Using most languages, you build tools, libraries, and frameworks and then > you end up thinking in terms of two different models or "universes of > discourse".
Using requirements, you build applications. In that process you determine the need for certain algorithms, tools, libraries, protocols, and possibility of a generalized framework. You then compare what is delivered to the original requirements and you decide if you hit the mark. Dick

 [22/37] from: al:bri:xtra at: 17-Aug-2002 12:07


Dick wrote:
> Does the evaluation of the expression: a + b > > Happen synchronously, or asynchronously > > Are the values of 'a' and 'b' currently exclusive to the process that can
perform the '+' operation or are they in 'shared' mode ? Rebol is single threaded. Your question is pretty much meaningless. Andrew Martin ICQ: 26227169 http://valley.150m.com/

 [23/37] from: al:bri:xtra at: 17-Aug-2002 12:11


Dick wrote:
> What can Rebol do that is not just a scalar operation?
Perhaps you could explain more about "scalar operation"? Andrew Martin ICQ: 26227169 http://valley.150m.com/

 [24/37] from: al:bri:xtra at: 17-Aug-2002 12:06


> So, to put things into a different context lets look at the need to print
a file.
> Does IOS or Rebol do this?
According to your description, my Windows XP Home operating system fails to do so. Yet, I can still print lots of pages. Andrew Martin ICQ: 26227169 http://valley.150m.com/

 [25/37] from: al:bri:xtra at: 17-Aug-2002 12:37


Dick wrote:
> Could you expound on this idea? If I create functions/variables named in a
domain sort of way and use those to solve a problem, have I created a dialect? In a way, you have created a dialect. It's just not a very good one. I've made a similar mistake in my earlier dialects, using functions. You can see these early versions on the Rebol archive, IIRC. (I no longer use it.) For some interesting dialects, have a look at my site. Most of the HTML pages are created from an eText dialect. Substitute .txt for the .html in the URL in your browser to view the original eText dialect. The surrounding HTML is generated from another dialect, my ML dialect, which generates HTML, XHTML, WML, SVG and XML from Rebol words, paths, blocks, tags and other Rebol values. Here's an example of the ML dialect: Dialect: [ <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd"> html [ head [ title (Title) link/rel/type/href "stylesheet" "text/css" (Location %Stylesheet.css) ] (Body-Attributes) [ div/id "Left_Column" [" "] div/id "Center_Column" [ (eText-Dialect) hr a/href (Valley/Core/File) "To the Core." ] ] ] ] The above describes the common HTML structure of most of the pages on my site. My site is generated by another dialect, based on files and directories. It's a bit harder to understand as it's basically a directory structure, with some additions. It's available as %Site.r from the %Values/ directory in the Rebol section on my site. I've got more dialects for creating CSS stylesheets, working with databases and HTML form manipulation (like XForms but better); all of which are still in developement. I hope that helps! Andrew Martin ICQ: 26227169 http://valley.150m.com/

 [26/37] from: reffy:ulrich at: 16-Aug-2002 20:46


Oh, I can see I need to do a mind reset on some of my thinking.

 [27/37] from: reffy:ulrich at: 16-Aug-2002 20:56


> Dick wrote: > > Does the evaluation of the expression: a + b
<<quoted lines omitted: 5>>
> Rebol is single threaded. Your question is pretty much meaningless. > Andrew Martin
For a moment lets assume there are 4 Rebol processes running on different machines. On my process/machine4 I want to add the value of a/process/machine1 and b/process/machine2 , and I want the operation to occur on process/machine3, with the result coming back to me on process/machine4. Can one refer to the value of a variable on a different machine ? Dick

 [28/37] from: carl:cybercraft at: 17-Aug-2002 17:30


On 17-Aug-02, [reffy--ulrich--net] wrote:
>> Dick wrote: >>> Does the evaluation of the expression: a + b
<<quoted lines omitted: 10>>
> to me on process/machine4. > Can one refer to the value of a variable on a different machine ?
Have a look at the docs for REBOL's TCP support. There's examples there for clients and servers, (all tiny scripts), which should allow you to do the above, if I've understood you right. See... http://www.rebol.com/docs/core23/rebolcore-13.html#sect14. -- Carl Read

 [29/37] from: al:bri:xtra at: 17-Aug-2002 17:41


Dick wrote:
> Can one refer to the value of a variable on a different machine ?
Yes. Using the TCP protocol in Rebol. But it would probably be easier to use Rugby. Andrew Martin ICQ: 26227169 http://valley.150m.com/

 [30/37] from: andreas:bolka:gmx at: 17-Aug-2002 14:02


Saturday, August 17, 2002, 2:37:08 AM, Andrew wrote:
> I've got more dialects for creating CSS stylesheets, working with > databases and HTML form manipulation (like XForms but better); all > of which are still in developement.
Any chance to have a look at the current state of the form manipulation dialect :) ? -- Best regards, Andreas mailto:[andreas--bolka--gmx--net]

 [31/37] from: joel:neely:fedex at: 17-Aug-2002 8:28


Hi, again, Dick, [reffy--ulrich--net] wrote:
> What can Rebol do that is not just a scalar operation? >
Not much, if you restrict yourself to the built-ins, but you can define your own words that operate on non-scalar values. A few cases already "in the box" include
>> blk: [2 4 6 8 9 7 5 3 1]
== [2 4 6 8 9 7 5 3 1]
>> print blk
2 4 6 8 9 7 5 3 1
>> minimum-of blk
== [1]
>> maximum-of blk
== [9 7 5 3 1] but, at the risk of repetition, you can define more. -jn- -- ; Joel Neely joeldotneelyatfedexdotcom REBOL [] do [ do func [s] [ foreach [a b] s [prin b] ] sort/skip do function [s] [t] [ t: "" foreach [a b] s [repend t [b a]] t ] { | e s m!zauafBpcvekexEohthjJakwLrngohOqrlryRnsctdtiub} 2 ]

 [32/37] from: joel:neely:fedex at: 17-Aug-2002 8:25


Hi, Dick, One other thought on this... [reffy--ulrich--net] wrote:
> Hi List, > > I am bored ... > > Does the evaluation of the expression: a + b > > Happen synchronously, or asynchronously > > Are the values of 'a' and 'b' currently exclusive to the process > that can perform the '+' operation or are they in 'shared' mode ? >
As pointed out previously, REBOL is single-threaded. However (as usual with REBOL), there's more to the story. The values/behaviors of the words A and B above may be "entangled" in other ways that we can't observe just from that fragment of code. For example: hidden_counter_1: hidden_counter_2: 0 a: func [] [ hidden_counter_1: hidden_counter_1 + hidden_counter_2: hidden_counter_2 + 1 ] b: func [] [ hidden_counter_1: hidden_counter_1 + hidden_counter_2 hidden_counter_2: hidden_counter_2 + 1 hidden_counter_1 ] In this case, the value of A + B would differ from the value of B + A due to their mutual involvement with hidden state. I realize that this isn't specifically about traditional concurrency, but long ago I stopped interpreting "concurrent" as "happening at the same time" and began interpreting it as "may happen (or be interleaved) in an arbitrary order" which makes it a much more interesting concept IMHO. -jn- -- ; Joel Neely joeldotneelyatfedexdotcom REBOL [] do [ do func [s] [ foreach [a b] s [prin b] ] sort/skip do function [s] [t] [ t: "" foreach [a b] s [repend t [b a]] t ] { | e s m!zauafBpcvekexEohthjJakwLrngohOqrlryRnsctdtiub} 2 ]

 [33/37] from: joel:neely:fedex at: 17-Aug-2002 8:38


Think linguistics, Dick, [reffy--ulrich--net] wrote:
> Dialect?? > > Could you expound on this idea? If I create functions/variables > named in a domain sort of way and use those to solve a problem, > have I created a dialect? >
To the extent that you package them up in a way that allows the user/programmer to treat them as a new/extended language specific to the task as not just as function calls within REBOL. If I just define the word "flerbish" to mean "an email of more than a dozen lines", have I created a new dialect of English? Probably not. What if I define enough of a vocabulary (and possibly some new syntactical forms) to allow meaningful discussion within a specialized domain? Perhaps so. What if I create an English-like notation/language that not only allows such discussions, but is adopted as the common means for conducting such discussions within a community of speakers/users? Very likely so. REBOL reminds me in this regard of a comment made quite a while back about FORTH, another extensible language: "FORTH is not a programming language; it is a programming language construction kit." At the risk of sounding vague, what we're dealing with here is a matter of style, approach, and philosophy as much as it is a matter of pure technology. -jn- -- ; Joel Neely joeldotneelyatfedexdotcom REBOL [] do [ do func [s] [ foreach [a b] s [prin b] ] sort/skip do function [s] [t] [ t: "" foreach [a b] s [repend t [b a]] t ] { | e s m!zauafBpcvekexEohthjJakwLrngohOqrlryRnsctdtiub} 2 ]

 [34/37] from: joel:neely:fedex at: 17-Aug-2002 9:09


Hi, Dick, [reffy--ulrich--net] wrote:
> For a moment lets assume there are 4 Rebol processes running on > different machines. On my process/machine4 I want to add the > value of a/process/machine1 and b/process/machine2 , and I want > the operation to occur on process/machine3, with the result > coming back to me on process/machine4. > > Can one refer to the value of a variable on a different machine ? >
Not directly, no. If you want to build something with the architecture you describe, you'll have to write the "glue" yourself to move the data values to wherever you want the processing to occur and then move the results to wherever you want them to reside (or be consumed). REBOL is a single-threaded language with a very conventional memory/storage model. On the other hand, the convenience of using the built-in networking features would allow you to extend it in a way that simulates what you describe. (No warranties on the code below; I'm sketching at the keyboard to get the idea out, but not validating all of my typing, etc.) fetch-remote-value: func [server label digits result] [ digits: charset "0123456789" if not parse read to-url rejoin [ "http://" server "/fetchvalue.cgi?label=" label ][ thru "VALUE=" copy result some digits to end ][result: "0"] to-integer result ] a: func [] [ fetch-remote-value "machine1" "A-GLOBAL" ] b: func [] [ fetch-remote-value "machine2" "B-GLOBAL" ] The above assumes that machine1 and machine2 can receive queries for state data via HTTP, and return the value associated with the specified label in a web page containing a string resembling VALUE=123 With the above "machinery" in place, I can now write a + b and get the sum of those two remote values. Point is that you can get what you're asking for, but you'll have to do a bit of work for yourself. -jn- -- ; Joel Neely joeldotneelyatfedexdotcom REBOL [] do [ do func [s] [ foreach [a b] s [prin b] ] sort/skip do function [s] [t] [ t: "" foreach [a b] s [repend t [b a]] t ] { | e s m!zauafBpcvekexEohthjJakwLrngohOqrlryRnsctdtiub} 2 ]

 [35/37] from: chalz:earthlink at: 27-Oct-2002 17:47


I received this message, with the above info (and following header). It claims to be [anton--microsoft--com], but it's from wanadoo.fr, and has a wanadoo1.htm.exe attachment (in true trojan fashion), and in fact it's carrying BugBear. Careful folks. Don't know if this went out to the whole REBOL list or what. --Charles

 [36/37] from: brett:codeconscious at: 28-Oct-2002 10:36


The REBOL list software automatically strips off attachments that are not plain text so no it would not come through that way. But individual machines will have addresses of other mailing list members so chances are relatively high you'll get one individually. Thanks for the warning, Brett.

 [37/37] from: chalz:earthlink at: 27-Oct-2002 22:19


Alrighty. Thanks for letting me know. I wrote to [abuse--wanadoo--fr], and got an auto reply in french and english. They gave me a URL to look at for more info, but it was entirely in french. I can't read it as well as I could in high school. ;) In any event, could also be someone scanning the REBOL archives for addresses. *shrugs* --Charles

Notes
  • Quoted lines have been omitted from some messages.
    View the message alone to see the lines that have been omitted