Skip to content

Package management using Lingo #58

@edwardalee

Description

@edwardalee

I'm attempting use Lingo and create a reusable library following the instructions in this PR. My work is in this library. I have (too many) questions:

  1. There is an mqtt-c in a separate lf-pkgs organization. Why a separate organization? I have no write permission in this organization, so I created an mqtt-c repo in lf-lang. Following this suggestion, I also created a pkgs repo in lf-lang with just one README file. It currently lists just this one library. Perhaps @vinzbarbuto could add his Python library here?
  2. What is the difference between [lib] and [[app]] in Lingo? Why does [[app]] have double brackets? It seems that without a [lib] in the file, Lingo does not recognize a library, even though there is a lib directory. But it seems to not matter what [lib] points to in its main property. What should it point to?
  3. Where should cmake files go in a library's directory tree? I've put them in src/include.
  4. The instructions suggest there is just one Main.lf in src. Usually there will be multiple examples.
  5. Why is [app.properties] a separate clause rather than just part of [[app]] in Lingo? Why is [app.properties] required? The examples show it setting fast = false, but this is a default property, so it seems unnecessary.
  6. Why does lingo clean not remove the build directory? Also, perhaps it should remove the lfc-generated directories, bin, src-gen, fed-get, and
  7. lingo build does not compile the generated code. It has no-compile: true. Why?
  8. lingo build puts executables (though only for federated programs because of the no-compile) in build/bin. Shouldn't these go into bin to behave like lfc?
  9. What is the lingo.lock file for? Should this me in a .gitignore?

Metadata

Metadata

Labels

questionFurther information is requested

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions