These languages provide modules which are inherently concurrent and can handle asynchronous messages pretty neat (through ports). Keeping aside the fact that they cannot spawn module instances at runtime, do they qualify as actor based programming languages?
Thanks
EDIT:
What I'm really looking for is how well the language semantics can be used to "model" actors, rather than how a simulator would handle the code (of course, they are all event-driven underneath; and further down, we end up with transistors :-) ).
So if I create a bunch of Ip4Routers like this,
module Ip4Router (
inout interface_t intrf1, // Port that can atomically send/rcv packets
inout interface_t intrf2, ...
);
always @(intrf1) begin // Activity on intrf1
if (intrf1.valid & intrf1.ipaddr != myaddr && ...) begin
intrf2.valid <= .. // atomically bang data on intrf2 + other stuff
end
end
//...
endmodule
module test;
interface_t intrf1[1001];
Ip4Router r1(intrf1[0], intrf1[1])
Ip4Router r2...; // Create and wire up 1000 routers in some topology...
endmodule
would the routers qualify to be (miniature) actors?