{- Dhall prelude imports -} let map = http://hackage.haskell.org/package/dhall-1.14.0/src/Prelude/List/map in let concat = http://hackage.haskell.org/package/dhall-1.14.0/src/Prelude/List/concat in {- ATSPackage parts -} let prelude = https://raw.githubusercontent.com/vmchale/atspkg/master/ats-pkg/dhall/atspkg-prelude.dhall in {- Helper functions -} let mapDir = λ(rec : {dir : Text, xs : List Text }) → map Text Text (λ(x : Text) → "${rec.dir}/DATS/${x}.dats") rec.xs in let mapPre = λ(xs : List Text) → mapDir { dir = "prelude", xs = xs } in let mapC = λ(xs : List Text) → mapDir { dir = "libats/libc", xs = xs } in let mapML = λ(xs : List Text) → mapDir { dir = "libats/ML", xs = xs } in let atslib = λ(compilerVersion : List Natural) → λ(libVersion : List Natural) → prelude.default ⫽ { libraries = [ prelude.staticLib ⫽ { libTarget = "target/libatslib.a" , name = "atslib" , src = concat Text [ mapPre [ "bool", "integer", "basics", "pointer", "integer_long", "integer_short", "integer_size", "char", "float", "string", "strptr", "integer_ptr", "integer_fixed", "filebas" ] , mapC [ "math", "float", "errno", "fcntl", "dirent", "stdio", "stdlib", "string", "strings", "time", "unistd" ] , mapML [ "list0", "option0", "array0", "matrix0", "string", "strarr", "gvalue", "dynarray", "hashtblref", "filebas", "filebas_dirent" ] ] , includes = ([] : List Text) } ] , cflags = [ "-fPIC" ] , compiler = compilerVersion } in atslib [0,3,11] [0,3,11]