ChrysaLisp icon indicating copy to clipboard operation
ChrysaLisp copied to clipboard

Provide capabilities for Internet Protocol stack

Open octetta opened this issue 4 years ago • 13 comments

Are there any big-picture plans for this?

From my limited view of how ChrysaLisp works, perhaps just exposing a few primitives for socket creation would do the job (assuming this happens via main.c's host_funcs table).

On the other hand, it would be an interesting path to use a plan9-style set of primitives for accessing external servers (http://9p.cat-v.org/documentation/, https://en.wikipedia.org/wiki/9P_(protocol), https://blog.aqwari.net/9p/).

Interested to know if there are plans in motion and I'm willing to forge into the unknown or help others as well.

octetta avatar Jan 18 '20 17:01 octetta

I'd love to see some kind of IP network implementation as well.

nuclearfall avatar Jan 19 '20 18:01 nuclearfall

Yeah, so would I :) I've got a TODO item to port or implement a TCP/IP service !

vygr avatar Jan 19 '20 19:01 vygr

Another approach, which might be better, is to provide access to the NNG protocol library via the host main.c function table. Provide a bridge between the internal messaging and the nng protocols. I was thinking about this being how to build cluster service between the CPU clusters that ChrysaLisp defines, but it could also be a good way to provide general TCP/IP style comms to the outside world. ?

vygr avatar Jan 21 '20 17:01 vygr

Well, I'l be a guinea pig for cluster implementation, but I remain pretty useless. At any rate, it seems a good way to implement tcp while furthering the broader demands of the project.

nuclearfall avatar Jan 24 '20 16:01 nuclearfall

Don't put yourself down ! It takes a while to fully understand new things, but your involvement has already lead to many new and improved developments !

Take time to understand things, but don't stop trying things, even if they force me to create something I should have already done !

Regards

Chris

vygr avatar Jan 26 '20 13:01 vygr

Thanks Chris,

I'm enjoying the learning process. I'm to the point where I'm really trying to focus on writing better code.

I do think that things are progressing rapidly.

Thanks for the kind words, Gary

Ohessex avatar Jan 26 '20 20:01 Ohessex

It seems that some decisions need to be made about priorities for networking before implementation if I understand correctly. The importance of latency, throughput, and packet loss, specifically.

If the project is likely to developed mostly for use in a VM, could we focus on a specific NIC driver? I think given an existing driver, I believe I could translate a driver from another programming language.

I do think nanomsg would be a strong contender, though.I know it adds even greater dependency on the host system.

nuclearfall avatar Mar 30 '20 14:03 nuclearfall

NNG is the new or rather reworked version of Nanomsg. I used it for some work related stuff recently and did get a good feeling from it.

Presenting a bridge to this as a named service on the ChrysaLisp side would open up a lot of possibilities.

vygr avatar Mar 31 '20 21:03 vygr

It would be great to have some kind of networking capability that provides for TCP/IP. I would be willing to work on a basic web browser, for basic rendering as a demo app to get started.

[This looks to be a decent irc library in common lisp] (https://github.com/kanru/cl-irc2).

Speaking of irc, It might be good to have an irc channel or some means of contact announced at the top of the README.md. I can assist in providing some level of support. I think this could help build more of a community around the project.

nuclearfall avatar Apr 02 '20 13:04 nuclearfall

IRC probably a good thing. I’ve never set one up before....

Fancy volunteering to look into it ?

vygr avatar Apr 04 '20 14:04 vygr

I can definitely do that.

nuclearfall avatar Apr 05 '20 19:04 nuclearfall

I've got the irc channel setup.

Once you've a registered nick on freenode.net: https://freenode.net/kb/answer/registration /join #ChrysaLisp and I'll add you as an op.

It'll also be nice to have a place to have random discussions about the project.

nuclearfall avatar Apr 05 '20 21:04 nuclearfall

Only just noticed this !!! Will hop on tomorrow :)

vygr avatar Apr 08 '20 22:04 vygr