{"id":24865225,"url":"https://github.com/diku-dk/sml-setmap","last_synced_at":"2026-01-05T19:47:07.858Z","repository":{"id":148050634,"uuid":"253220450","full_name":"diku-dk/sml-setmap","owner":"diku-dk","description":"Standard ML library for sets and maps","archived":false,"fork":false,"pushed_at":"2025-03-13T14:00:01.000Z","size":24,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-03-13T14:34:25.546Z","etag":null,"topics":["smlpkg"],"latest_commit_sha":null,"homepage":null,"language":"Standard ML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/diku-dk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-05T11:38:08.000Z","updated_at":"2025-03-13T14:00:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"9c3f82b7-ad76-4bd1-beec-ec44152f0a70","html_url":"https://github.com/diku-dk/sml-setmap","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diku-dk%2Fsml-setmap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diku-dk%2Fsml-setmap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diku-dk%2Fsml-setmap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diku-dk%2Fsml-setmap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/diku-dk","download_url":"https://codeload.github.com/diku-dk/sml-setmap/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245717641,"owners_count":20661144,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["smlpkg"],"created_at":"2025-01-31T23:58:10.469Z","updated_at":"2026-01-05T19:47:07.827Z","avatar_url":"https://github.com/diku-dk.png","language":"Standard ML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sml-setmap [![CI](https://github.com/diku-dk/sml-setmap/workflows/CI/badge.svg)](https://github.com/diku-dk/sml-setmap/actions)\n\nStandard ML library for sets and maps. The structures `IntSet`, `WordSet`,\n`IntMap`, and `WordMap` are based on Okasaki's and Gill's [Fast Mergeable Integer Maps](doc/IntMap98.pdf).\nThe functors `OrderSet` and `OrderMap` are based on balanced AVL trees, with instantiations `StringSet` and `StringMap`.\n\n## Overview of MLB files\n\n### Sets\n\n- `lib/github.com/diku-dk/sml-setmap/set.mlb`:\n\n  - **signature** [`SET_COMPARE`](lib/github.com/diku-dk/sml-setmap/set/SET_COMPARE.sig)\n  - **structure** `SetEq :\u003e SET_COMPARE where type cmp = bool`\n\n- `lib/github.com/diku-dk/sml-setmap/mono_set.mlb`:\n\n  - **signature** [`MONO_SET`](lib/github.com/diku-dk/sml-setmap/set/MONO_SET.sig)\n  - **functor** `OrderSet(type t val compare: t*t-\u003eorder) : MONO_SET where type elem = t`\n\n- `lib/github.com/diku-dk/sml-setmap/string_set.mlb`:\n\n  - **signature** [`MONO_SET`](lib/github.com/diku-dk/sml-setmap/set/MONO_SET.sig)\n  - **structure** `StringSet :\u003e MONO_SET where type elem = string`\n\n- `lib/github.com/diku-dk/sml-setmap/int_set.mlb`:\n\n  - **signature** [`MONO_SET`](lib/github.com/diku-dk/sml-setmap/set/MONO_SET.sig)\n  - **structure** `IntSet :\u003e MONO_SET where type elem = int`\n\n- `lib/github.com/diku-dk/sml-setmap/word_set.mlb`:\n\n  - **signature** [`MONO_SET`](lib/github.com/diku-dk/sml-setmap/set/MONO_SET.sig)\n  - **structure** `WordSet :\u003e MONO_SET where type elem = word`\n\n### Maps\n\n- `lib/github.com/diku-dk/sml-setmap/mono_map.mlb`:\n\n  - **signature** [`MONO_MAP`](lib/github.com/diku-dk/sml-setmap/map/MONO_MAP.sig)\n  - **functor** `OrderMap(type t val compare: t*t-\u003eorder) : MONO_MAP where type dom = t`\n\n- `lib/github.com/diku-dk/sml-setmap/string_map.mlb`:\n\n  - **signature** [`MONO_MAP`](lib/github.com/diku-dk/sml-setmap/map/MONO_MAP.sig)\n  - **structure** `StringMap :\u003e MONO_MAP where type dom = string`\n\n- `lib/github.com/diku-dk/sml-setmap/int_map.mlb`:\n\n  - **signature** [`MONO_MAP`](lib/github.com/diku-dk/sml-setmap/map/MONO_MAP.sig)\n  - **structure** `IntMap :\u003e MONO_MAP where type dom = int`\n\n\n\n## Use of the package\n\nThis library is set up to work well with the SML package manager\n[smlpkg](https://github.com/diku-dk/smlpkg).  To use the package, in\nthe root of your project directory, execute the command:\n\n```\n$ smlpkg add github.com/diku-dk/sml-setmap\n```\n\nThis command will add a _requirement_ (a line) to the `sml.pkg` file in your\nproject directory (and create the file, if there is no file `sml.pkg`\nalready).\n\nTo download the library into the directory\n`lib/github.com/diku-dk/sml-setmap`, execute the command:\n\n```\n$ smlpkg sync\n```\n\nYou can now reference the relevant `mlb`-files using relative paths from\nwithin your project's `mlb`-files.\n\nNotice that you can choose either to treat the downloaded package as\npart of your own project sources (vendoring) or you can add the\n`sml.pkg` file to your project sources and make the `smlpkg sync`\ncommand part of your build process.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiku-dk%2Fsml-setmap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdiku-dk%2Fsml-setmap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiku-dk%2Fsml-setmap/lists"}