Halite icon indicating copy to clipboard operation
Halite copied to clipboard

Concatenate Library Files

Open mammothbane opened this issue 8 years ago • 3 comments

Why are there 'starter packages'? Mightn't this all just be provided as a bunch of normal pip/maven/nuget/cargo/etc. libraries (with a static lib for C++)?

The main reason to do this is that there is currently no namespacing or clear separation between library code and user code. Obviously it's not terribly difficult to figure this distinction out, but it's pretty ugly.

mammothbane avatar Nov 08 '16 02:11 mammothbane

From our experience with our own internal Halite competition, many users end up rewriting the "library" part of the starter packages to fit their needs. We want to emphasize that you can do this.

truell20 avatar Nov 08 '16 02:11 truell20

Ok, sure, I suppose that makes sense, but why not provide a canonical implementation and make it clear that it can be modified, forked, or not used at all? It's much easier for someone to get started with an API in place than an amorphous blob of code that they don't have ownership over. If it's obvious that the boundary for is the stdout communication protocol and this is well-documented, people can rewrite if they want, or they can fork the library.

It's not a huge deal, but as soon as I downloaded the scala package and figured out what everything was, I immediately started restructuring because I wanted my bot code namespaced away from the pre-written stuff.

mammothbane avatar Nov 08 '16 02:11 mammothbane

Point taken. We'll consider concatenating library files into single headers/jars or putting them on package managers.

truell20 avatar Nov 08 '16 02:11 truell20