[langsec-discuss] langsec on granular level

stewart mackenzie setori88 at gmail.com
Wed Feb 24 09:02:17 UTC 2016


Hi Geoffroy,

Thanks for implementing nom, you really made our lives much easier.

On Tue, Feb 23, 2016 at 6:14 PM, Geoffroy Couprie <geo.couprie at gmail.com> wrote:
> This looks interesting! Do you have other examples than the NOT gate?

Geoffroy, you can take a look at all the components we have atm,
https://github.com/fractalide/fractalide/blob/master/components/default.nix

In particular you'll notice this line:
development_fbp_parser_lexical = callPackage
./development/fbp/parser/lexical {};
the implementation of this component is here:
https://github.com/fractalide/fractalide/blob/master/components/development/fbp/parser/lexical/src/lib.rs
notice the use of the component! macro which hides the component
boiler plate.
Simply follow the directory path to the components ie
./development/fbp/parser/lexical

After a while we'll be implementing "Architecture reuse", basically
attributes pertinent to every layer of abstraction should be grouped
together.
A single namespace is not optimal.

> Have you explored running the components in different processes

Yes this is entirely possible, initially we wanted to support
compiling to javascript (single threaded javascript) so we wanted to
keep it super simple, currently we have two threads, one for the
scheduler and the other for the component currently running. We can
scale this up dramatically if needed (these are not light weight
language threads). I think we'll drop the single threaded approach
soon, in favour of speed, glorious speed.

>  or machines communicating over the network?

Yes, HPC support is desired, as we use capnproto, everything is
serialized between components, thus much easier to send over the
network if needed. Though I prefer the use of Named Data Networking
(atm vaporware in Fractalide, and could be TCP/IP overlay), this
abstraction builds dissemination into the networking protocol making
it essentially free. (TCP/IP is a conversation protocol and people
currently use it to do dissemination as a side effect, which is
quadratic time best case, exponential time worst case - Leslie Lamport
https://www.youtube.com/watch?v=3zOLrQJ5kbU&t=26m47s). Having
dissemination built into the protocol means data dissemination
monopolies become less relevant, if relevant at all. It also means
you're on a pull network, so spam becomes irrelevant.

/sjm


More information about the langsec-discuss mailing list