From a1974a594845e437b7508fc236a367c5edafc15c Mon Sep 17 00:00:00 2001 From: Xe Date: Mon, 20 Jun 2022 19:10:49 +0000 Subject: [PATCH] start playing with resume data types Signed-off-by: Xe --- dhall/resume.dhall | 38 ++++++++++++++++++++++++++++++++++++++ dhall/types/Link.dhall | 1 + dhall/types/Resume.dhall | 21 +++++++++++++++++++++ dhall/types/package.dhall | 2 ++ 4 files changed, 62 insertions(+) create mode 100644 dhall/resume.dhall create mode 100644 dhall/types/Link.dhall create mode 100644 dhall/types/Resume.dhall diff --git a/dhall/resume.dhall b/dhall/resume.dhall new file mode 100644 index 0000000..d6eba82 --- /dev/null +++ b/dhall/resume.dhall @@ -0,0 +1,38 @@ +let xesite = ./types/package.dhall + +let Resume = xesite.Resume + +let Link = xesite.Link + +in Resume::{ + , hnLinks = + [ Link::{ + , url = "https://news.ycombinator.com/item?id=29522941" + , title = "'Open Source' is Broken" + } + , Link::{ + , url = "https://news.ycombinator.com/item?id=29167560" + , title = "The Surreal Horror of PAM" + } + , Link::{ + , url = "https://news.ycombinator.com/item?id=27175960" + , title = "Systemd: The Good Parts" + } + , Link::{ + , url = "https://news.ycombinator.com/item?id=26845355" + , title = "I Implemented /dev/printerfact in Rust" + } + , Link::{ + , url = "https://news.ycombinator.com/item?id=25978511" + , title = "A Model for Identity in Software" + } + , Link::{ + , url = "https://news.ycombinator.com/item?id=31390506" + , title = "Fly.io: The reclaimer of Heroku's magic" + } + , Link::{ + , url = "https://news.ycombinator.com/item?id=31149801" + , title = "Crimes with Go Generics" + } + ] + } diff --git a/dhall/types/Link.dhall b/dhall/types/Link.dhall new file mode 100644 index 0000000..443e0a6 --- /dev/null +++ b/dhall/types/Link.dhall @@ -0,0 +1 @@ +{ Type = { url : Text, title : Text }, default = { url = "", title = "" } } diff --git a/dhall/types/Resume.dhall b/dhall/types/Resume.dhall new file mode 100644 index 0000000..20f365f --- /dev/null +++ b/dhall/types/Resume.dhall @@ -0,0 +1,21 @@ +let Location = ./Location.dhall + +let Link = ./Link.dhall + +in { Type = + { name : Text + , tagline : Text + , location : Location.Type + , hnLinks : List Link.Type + } + , default = + { name = "Xe Iaso" + , tagline = "Archmage of Infrastructure" + , location = Location::{ + , city = "Ottawa" + , stateOrProvince = "ON" + , country = "CAN" + } + , hnLinks = [] : List Link.Type + } + } diff --git a/dhall/types/package.dhall b/dhall/types/package.dhall index 0b5e704..d0cb961 100644 --- a/dhall/types/package.dhall +++ b/dhall/types/package.dhall @@ -2,8 +2,10 @@ , Company = ./Company.dhall , Config = ./Config.dhall , Job = ./Job.dhall +, Link = ./Link.dhall , Location = ./Location.dhall , Person = ./Person.dhall +, Resume = ./Resume.dhall , Salary = ./Salary.dhall , Stock = ./Stock.dhall , StockKind = ./StockKind.dhall