On 9/23/07, skaller <[EMAIL PROTECTED]> wrote:
> Never used, reserved for fork/join primitives, eg:
>
>         do p1; p2; p3; done;  // sequential
>         fork p1; p2; p3; join; // parallel

Interesting. I ran into something like that in an animation system. I
think join and pi calculus has that too. However, instead of ';', they
use '|' or '&' as a separator.


> Windows doesn't have an os 'fork', it uses CreateProcess.
> If you want to avoid the name 'fork' use 'posix_fork'.
>
> Note that Cygwin can run BOTH Posix and Windows functions.


The idea was for the os-native wrappers to be done with something like this:

module Posix::Process {
  gen fork: () -> int;
}

module Win32::Process {
  gen CreateProcess: () -> int; // or whatever that interface is
}

module Process {
  gen fork (): int =>
    if WINDOWS then Win32::Process::CreateProcess () else
Posix::Process::fork () endif
  ;
}


> HOWEVER if you really want, 'fork' can be unkeyworded:
> it can still be used as a 'special identifier' in the
> grammar provided it doesn't look like an application
> which it does in the above 'parallel' example.


I'd prefer to avoid issues confusing a system call like fork and
parallel primitives. I'll have to think about this.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Felix-language mailing list
Felix-language@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/felix-language

Reply via email to