## Where communities thrive

• Join over 1.5M+ people
• Join over 100K+ communities
• Free without limits
• Create your own community
##### Activity
HellSt0rm
@HellSt0rm
Is there any documentation in the pipeline or sample programs?
Andrew Cherry
@kolektiv
hi @HellSt0rm ! at the moment i'm not working on anything in particular around that - it's fairly stable and does useful things. however, that being said, i could at least go through and write some type documentation for the public API which would make it more discoverable.
hopefully the functions/modules under the Graph module are reasonably self-explanatory, but code comments would help for sure. i'll try and push a release out with at least that changed soon.
(also happy to answer any specific questions!)
Andrew Cherry
@kolektiv
what kind of thing are you considering using hekate for?
HellSt0rm
@HellSt0rm

Hi, @kolektiv :smile: it is for a CodeInGame challenge called Skynet : The Virus. I am using these challenges to learn myself F# and functional programming.

Because of the game I found out I wanted to solve that particular task with graphs, after trying to do graphs with F# I found out that all code for graphs are written is based on imperative thinking. It does not look or feel right and the code is not elegant. This led me to the same paper on inductive graph theory that you based this library on and also the FGL library for Haskell.

I have also stumbled upon the libraries Chiron and Aether also (Job well done from you guys).

Back to the hekate library:

Do I need to define my own types based on the types from the Hekate library or can I take the input from the game and build up the Graph by giving relevant Node and Edge data?
The plan is to first build up the graph,

then do Breadth First Search, send output to the game and then modify the Graph end get the next input for next search iteration.
/end/and/
Andrew Cherry
@kolektiv
yeah that seems like a reasonable plan to me :) i think you should just be able to use the graphs as is, and give the relevant edge and node types parameterised.
HellSt0rm
@HellSt0rm
Thanks for the nudge in the right direction :+1:
Andrew Cherry
@kolektiv
no problem at all! and good luck learning functional programming, it's very much worthwhile - i hope you enjoy the process!
varon
@varon
@kolektiv Are there any plans to get some documentation together for the less popular xyncro libraries? Specifically Hekate, Anat and Hephaestus?
The Aether docs are brilliant, I'm often referring people to them to explain lenses. It'd be fantastic to get some detailed information for the other libraries.
Andrew Cherry
@kolektiv
very fair :) at the moment i'm trying to put the finishing touches to freya 3.0 (with good docs!) - when i've got something out, i'll circle round to these. you're right that they really would benefit!
varon
@varon
Thanks!
varon
@varon
@kolektiv Any updates on those docs?
Andrew Cherry
@kolektiv
not yet, but i'm hoping to carve some time out to work on them next week with luck :)
varon
@varon
Awesome, would be great to see
I've got need for a graph library in a few weeks
would love to adopt this based on how outrageously awesome aether is.
I'd also love to see some performance versus some... well... by-hand encoded array hell.
Andrew Cherry
@kolektiv
i can't make any promises that hekate is hugely high performance compared with more mutation-y approaches, but i'll get it documented and we'll find out :) i don't use it anywhere on a critical performance path!
varon
@varon
For my stuff, it's all precomputed once off, so it'll just be reads on the existing graph.
Andrew Cherry
@kolektiv
reads should be pretty reasonable i think
varon
@varon
Great, if it's close enough, I can also look at helping out with some optimizations
do you have any info on the actual data structure used to back the thing? is it array based or linked with pointers?
Andrew Cherry
@kolektiv
:) sounds good! i've got a note in my calendar to do some writing on that, so hopefully something should be around soon!
varon
@varon
Any luck with that documentation?
varon
@varon
@kolektiv Just a quick mention in case you missed the last question
Andrew Cherry
@kolektiv
whoops, sorry yes i did! i've not had a gap yet, sadly, it's turning out to be a very busy month, but it's still on the list :)
varon
@varon
DOCUMENTATION
@kolektiv :D