ChrysaLisp
ChrysaLisp copied to clipboard
Provide capabilities for Internet Protocol stack
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.
I'd love to see some kind of IP network implementation as well.
Yeah, so would I :) I've got a TODO item to port or implement a TCP/IP service !
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. ?
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.
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
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
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.
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.
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.
IRC probably a good thing. I’ve never set one up before....
Fancy volunteering to look into it ?
I can definitely do that.
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.
Only just noticed this !!! Will hop on tomorrow :)