• Stars
    star
    156
  • Rank 231,894 (Top 5 %)
  • Language Standard ML
  • License
    MIT License
  • Created about 4 years ago
  • Updated 8 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Generic package manager for Standard ML libraries and programs

smlpkg CI

This program constitutes a generic package manager for Standard ML libraries and programs. The package manager assumes nothing and knows nothing about the Standard ML compilers used and is thus quite generic.

The package manager is centered around the notion of semantic versioning and currently supports packages hosted on GitHub and GitLab.

The package manager takes care of downloading and upgrading dependent packages and works well with the use of MLB files supported by Standard ML compilers such as MLton, MLKit, and SMLtoJs.

Usage

Adding a package

$ smlpkg add github.com/diku-dk/sml-random

This command modifies only sml.pkg and creates it if it does not already exist.

Downloading required packages

$ smlpkg sync

This command populates the lib directory based on the packages listed in sml.pkg.

Creating a new package

$ smlpkg init github.com/foo/bar

This command creates a file sml.pkg and initiates it with the given package name (foo should be a github user name or an organisation name and bar should be a repository name). You can now add code in the directory lib/github.com/foo/bar/.

Releasing a package

$ git tag vX.Y.Z
$ git push --tags

Remember to follow semantic versioning. Once a package has been released, other packages can safely add the package to their own source code tree using smlpkg add (see above).

Probably incomplete list of available packages

Design details

See this blog post on the design of the Futhark package manager.

Compilation

To compile the package manager, you need a Standard ML compiler such as MLton or MLKit.

Compilation using MLKit on macOS

$ brew install mlkit
$ make all

Compilation using MLton

$ MLCOMP=mlton make clean all

License

This software is distributed under the MIT LICENSE.

The package manager is almost a complete port of the Futhark package manager, designed, and implemented in Haskell by Troels Henriksen.

More Repositories

1

futhark

💥💻💥 A data-parallel functional programming language
Haskell
2,294
star
2

futhark-book

Parallel Programming in Futhark
Futhark
46
star
3

futhark-benchmarks

Various Futhark benchmark programs
Futhark
38
star
4

bfast

GPU Implementation for BFAST
Python
36
star
5

Open-Full-Jaw

A dataset and python-based pipeline for "An open-access dataset and nearly-automated pipeline for generating finite element models of human jaw".
Jupyter Notebook
33
star
6

Snapper-Orleans

Port of Snapper library on Orleans
C#
24
star
7

futhark-with-fangs

The web framework nobody asked for, wants, or needs.
Python
22
star
8

dpp-e2021-pub

Data Parallel Programming
Futhark
22
star
9

diku-canvas

Simple canvas library for F# (2d-drawing, loading/saving of image files, using SDL2)
F#
21
star
10

lys

Library for writing interactive and visual Futhark programs 💥 🎨 🎮 💥
C
21
star
11

hpps-e2022-pub

Public repository for HPPS 2022
C
20
star
12

howto

How do I DIKU? How indeed.
TeX
20
star
13

hpps-e2023-pub

Public repository for the 2023 edition of HPPS
C
20
star
14

libhip

LibHip: An Open-Access Hip Joint Model Repository suitable for Finite Element Method Simulation
Jupyter Notebook
18
star
15

hpps-e2021-pub

Public repository for the HPPS course
C
17
star
16

linalg

Linear algebra package for Futhark
Futhark
17
star
17

pfp-e2020-pub

Parallel Functional Programming, 2020
Futhark
15
star
18

pfp-e2019-pub

Public repository for the 2019 Parallel Functional Programming course at DIKU
Haskell
14
star
19

su-guides

Guides and guidelines for software development course
Python
14
star
20

DIKUArcade

C#
14
star
21

sigdoc

Signature documentation tool for Standard ML
Standard ML
14
star
22

staffeli

DIKU Support Tools for Canvas LMS
Python
13
star
23

pmph-e2020-pub

PMPH course 2020 public repo
C++
12
star
24

hpps-e2020-pub

C
12
star
25

dpp-e2022-pub

Data Parallel Programming, the 2022 edition
C++
12
star
26

futhark-vscode

VS Code extension for Futhark
TypeScript
12
star
27

futhark-ad

Notes, examples, and general work on automatic differentiation and probabilistic programming
Jupyter Notebook
11
star
28

sml-server

Web server infrastructure for Standard ML
Standard ML
11
star
29

sml-parse

Standard ML Parser Combinator Library
Standard ML
11
star
30

smlfut

Call Futhark programs from Standard ML
Standard ML
10
star
31

img-util-fs

Image Utilities for F# (2d-drawing, loading/saving of image files, simple Gtk apps)
F#
10
star
32

sml-http

HTTP utility library for Standard ML
Standard ML
10
star
33

futhark-website

Git repository containing the Futhark website.
Futhark
10
star
34

rnn-tutorial

Signal Processing with Recurrent Neural Networks in TensorFlow
Python
9
star
35

AutoJawSegment

Python
9
star
36

RefractiveSfM

This repository contains code for refractive structure-from-motion
MATLAB
8
star
37

sparse

Futhark sparse matrix operations
Futhark
8
star
38

statistics

Statistics Library for Futhark
Futhark
8
star
39

futhark-playground

Futhark playground
JavaScript
8
star
40

dpp-e2023-pub

Repository for the DPP'23 course
Cuda
8
star
41

futhark-server-sml

Implementation of the Futhark server protocol in Standard ML
Standard ML
8
star
42

pmph-e2023-pub

Futhark
7
star
43

credanno

Code for reducing annotation need in self-explanatory models
Python
7
star
44

fshark

Futhark performance in F# projects
F#
7
star
45

futhark-data-python

Python implementation of the Futhark data format.
Python
7
star
46

CombSemiBandits

Source code for "Beating Stochastic and Adversarial Semi-bandits Optimally and Simultaneously"
Python
7
star
47

futhark-pldi17

Benchmark suite for our PLDI'17 paper.
C
7
star
48

fft

Fast Fourier Transforms in Futhark
Futhark
7
star
49

pmph-e2022-pub

This is the repository for the course PMPH, edition 2022-2023
Futhark
6
star
50

pltc-infoscreen

Slides for the PLTC infoscreen
JavaScript
6
star
51

futhark-mode

Emacs major mode for editing Futhark programs
Emacs Lisp
6
star
52

sml-json

Standard ML package for JSON parsing and printing
Standard ML
6
star
53

sml-sobol

Standard ML library for Sobol sequences
Standard ML
6
star
54

sorts

Sorting implementations in Futhark
Futhark
6
star
55

ComputerGrafikProjektStudents

Student version of framework for solving assignments on the computer graphics course offered by department of computer science university of copenhagen. Copyright Knud & Kenny, 2019
C++
5
star
56

sml-cstring

Standard ML library for catenable strings
Standard ML
5
star
57

sml-getopt

Command line option parsing for Standard ML
Standard ML
5
star
58

optimise

Futhark optimisation package
Futhark
5
star
59

smlfmt.el

Emacs minor mode for running smlfmt
Emacs Lisp
5
star
60

alpacc

Haskell
5
star
61

caddie

Standard ML
5
star
62

futhark-ci

CI tool for Futhark
Python
5
star
63

edda

Experimenting with Futhark programming style
Futhark
5
star
64

sml-regexp

Standard ML package for regular expressions
Standard ML
5
star
65

RAINBOW

Software modules for modelling and simulation
Jupyter Notebook
5
star
66

futhark-sc20

Artifact for the SC20 paper.
C++
5
star
67

install-mlkit

Action for installing MLKit
Standard ML
5
star
68

pmph-e2021-pub

This is the public repository for the PMPH course hold in the academic year 2021-22 at DIKU, KU.
Futhark
5
star
69

RenalVesselSeg

Python
5
star
70

containers

A Futhark library with data structures.
Futhark
4
star
71

segmented

Irregular segmented operations implemented in Futhark
Futhark
4
star
72

futhark-docbot

Maintains documentation archives for Futhark packages
Go
4
star
73

sml-pickle

Standard ML package for serialisation and deserialisation
Standard ML
4
star
74

futhark-server-haskell

Haskell implementation of the Futhark server protocol
Haskell
4
star
75

futhark-ppopp19

Experimental infrastructure for the paper "Incremental Flattening for Nested Data Parallelism" at PPOPP'19.
C
4
star
76

pltc

Unofficial website
4
star
77

install-futhark

Action for installing Futhark
4
star
78

futhark-repl

Online Futhark REPL
Python
4
star
79

wiki

Shell
4
star
80

sml-random

Standard ML library for generating random numbers
Standard ML
4
star
81

futhark-benchmark-dashboard

Visualisation of Futhark benchmark runtimes over time
JavaScript
4
star
82

futhark-icfp18

Public artifact for ICFP'18 paper on Futhark modules
Coq
4
star
83

sml-unicode

SML Unicode Library
Standard ML
4
star
84

futhark-presents

Futhark presents!
Futhark
3
star
85

RenalArterialRecon

Python
3
star
86

sobol

Sobol library for Futhark
Futhark
3
star
87

complex

Complex number library for Futhark
Futhark
3
star
88

ad-spatial-search

Futhark
3
star
89

sml-aplparse

Standard ML APL Parser Library
Standard ML
3
star
90

futhark-fhpc16

Benchmark suite for our FHPC'16 paper.
C
3
star
91

su21-guides

Python
3
star
92

esml

Earth System Modeling Language
Python
3
star
93

su18-guides

Guides for CSharp, NUnit, report writing, and anything otherwise related to su18.
Python
3
star
94

sml-setmap

Standard ML library for sets and maps
Standard ML
3
star
95

cpprandom

A Futhark library in the style of C++'s <random>
Futhark
3
star
96

hpps-course-notes

Course notes for the High Performance Programming and Systems course at DIKU
C
3
star
97

SysDev

Repository for the Systems Development course at Copenhagen University
3
star
98

futhark-infoscreen

Infoscreen content for the Nvidia Jetson TK1 running in the office of Niels and Troels
Python
2
star
99

futhark-fhpc17

Benchmarks for FHPC'17 paper.
TeX
2
star
100

sml-sort

Standard ML sorting package
Standard ML
2
star