Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

investigate / scope adding a module system #47

Open
mhuesch opened this issue Aug 18, 2021 · 1 comment
Open

investigate / scope adding a module system #47

mhuesch opened this issue Aug 18, 2021 · 1 comment

Comments

@mhuesch
Copy link
Contributor

mhuesch commented Aug 18, 2021

we could perhaps take inspiration from OCaml's module system (https://dev.realworldocaml.org/first-class-modules.html).

we will likely need to parameterize the module system by the module identfier, so that the language can be used both:

  • in a regular filesystem-based context (i.e. where modules are "implemented" using files & directories, where an identifier is a filepath)
  • and in Holochain (i.e. where modules are "implemented" using Holochain Entrys, which are identified using EntryHashes)

the latter use represents a kind of "agent-centric" language, where code is not stored in a "data centric" central repository with a global naming scheme. as such it might be kind of novel.

@mhuesch
Copy link
Contributor Author

mhuesch commented Jan 6, 2022

it might be worth looking into https://www.unisonweb.org/ as inspiration.

they do content-addressable-store-ing of code, and have schemes for normalizing the code and then storing it (with arguments normalized or "imports" substituted with their hashes).

it seems quite similar to the context of "running in Holochain" that rep_lang is aimed for.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant