World: r3wp
[Core] Discuss core issues
older newer | first last |
ChristianE 23-Mar-2010 [16102x2] | I am no language designer, though, I'm not able to overlook the implications that would have. |
A SELF word in a function always evaluating to the exact same function wouldn't be very different from being a keyword, whilst Rebol claims to have no keywords. I don't see a way around this. | |
Ladislav 23-Mar-2010 [16104] | re 'self as a keyword: do not worry, Christian, many Rebol dialects have keywords, e.g. 'self is already a keyword of the object specification dialect, as I see it. Just the Do dialect is promoted to not have keywords, alghough the names of infix operators actually are treated as keywords in R2, as I noted elsewhere |
ChristianE 23-Mar-2010 [16105] | But, when Rebol evaluates a function / the code in a function's body - isn't that the DO dialect at its work? An isn't >> a: func [value] [value] >> a: func [value] [do [value]] pretty much the same? |
Steeve 23-Mar-2010 [16106] | Are you asking why whereof can't be a function ? |
Ladislav 23-Mar-2010 [16107] | as far as I am concerned, I do not understand the people who ask for the name of the function - I never needed that, so it may be a design problem - they want to do something, that can be done in Rebol more elegantly, than they are trying to do it |
Sunanda 23-Mar-2010 [16108] | I'd want it for better error reporting... error near append a b is not very helpful! Hoping R3's stack etc functions will help. |
Ladislav 23-Mar-2010 [16109] | but, I can define (easily) a special function specification dialect using the word 'self analogically as objects do, if that is of any interest |
ChristianE 23-Mar-2010 [16110x2] | Ladislav, I think I'm with you on that. Asking for name of a function makes no sense in REBOL, code that relies on the name of a function better be rewritten to get along without. |
But the fact that the question always resurfaces points to a where the REBOL programming paradigm isn't easy to grasp. The SELF aware function I mentioned above is a poorly worded mere thought experiment on that to ease the paradigm change, I was *not* suggesting that this should be standard behaviour of all functions. | |
Ladislav 23-Mar-2010 [16112] | yes, understood, it is OK, I just wanted to note, that you do not need to worry whether any specific dialect, like e.g. the function body specification dialect, at least for specific functions you define in the way that you find useful, uses any keywords you find useful for a specific purpose - that is the principle of Rebol dialects: do whatever you find useful |
BrianH 23-Mar-2010 [16113] | Don't worry, I see the humor in it :) |
Graham 26-Mar-2010 [16114x4] | I asked this before .. but what's a good way of monitoring a large number of rebol processes on the windows platform? |
Some of them are listening to ports, but others are just processing queues ...so the former I can open and close a port to them, the latter I can not. | |
And of course I'd like to be able to restart any processes that have locked up ... | |
One thing that I don't like is that if an encapped application dies with an error, it stays resident with any file locks active. Wouldn't it be better to have an option to just quit ( writing a log entry first ) ? So, then I can just check to see if the app is running. | |
Steeve 26-Mar-2010 [16118] | can't you have a process to manage others using an udp port for instance ? |
Graham 26-Mar-2010 [16119] | some of these are core apps ... |
Steeve 26-Mar-2010 [16120] | R2 ? |
Graham 26-Mar-2010 [16121] | all r2 |
Steeve 26-Mar-2010 [16122] | and so, you could have a specific process which monitors the others, using tcp or udp, no ? |
Graham 26-Mar-2010 [16123] | I can monitor some by tcp .. .but how can I use udp to monitor the others? |
Steeve 26-Mar-2010 [16124] | the others have some loop and wait process i guess, just insert a wait on an udp port as well |
Graham 26-Mar-2010 [16125] | So, if it is doing stuff .. it will miss the udp ping ? |
Steeve 26-Mar-2010 [16126x2] | no, if the monitor accept some lantency; For example if a process is not responding after few pings. |
But in the case of huge process, the client process should send himself a ping to the monitor to advert is doing stuffs (at some points of the code) | |
Graham 26-Mar-2010 [16128] | like a log file |
Steeve 26-Mar-2010 [16129] | eh ? |
Graham 26-Mar-2010 [16130x2] | if you write to a log file, then that's like a ping to a monitor |
But actually the monitor is a user app that they run from their desktop .. so it can't accept pings from the process. | |
Steeve 26-Mar-2010 [16132x2] | but a port dialing is more efficient and has less overhead |
why it can't ? | |
Graham 26-Mar-2010 [16134] | how does it know where the user app is? |
Steeve 26-Mar-2010 [16135x2] | Simple. Each time a targetted process start,k it send its id to the monitor. (hey ! Mr Monitor i'm here and my name is "toto") |
it's a standard client/server exchange, each client has to establish a connection with the server. | |
Graham 26-Mar-2010 [16137] | So, I need a central server as well... |
Steeve 26-Mar-2010 [16138] | It's the monito actually. You have one monitor (the server) for several processes (the clients) |
Graham 26-Mar-2010 [16139] | I guess it's easier to do it that way then have the user interrogate all the processes |
Steeve 26-Mar-2010 [16140] | the monitor open a tcp/udp port and wait for connections. |
BrianH 26-Mar-2010 [16141] | The monitor could be headless and run as a service, with a separate GUI process that runs in user space. |
Graham 26-Mar-2010 [16142] | To run a rebol app as a service it has to be guiless |
Steeve 26-Mar-2010 [16143x3] | it's not obligatory a service. When a client process start it try |
it tries to open a connection with the monitor, it he connection fail, he launch himself the monitor, wait few seconds and retry to connect. | |
it he = if the | |
BrianH 26-Mar-2010 [16146x2] | Right. A lot of software does the split process thing nowadays, sometimes with the GUI running in the tray (or whatever the OS version if that is). |
if -> of | |
Graham 26-Mar-2010 [16148] | So, how does that work? the core service launches a gui app that sits in the tray? |
Steeve 26-Mar-2010 [16149x2] | the monitor don't necesseary have the need of a gui |
the GUI could be another client process | |
Graham 26-Mar-2010 [16151] | No, the monitor doesn't need a gui |
older newer | first last |