aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/program/licentia/input.lux
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/source/program/licentia/input.lux')
-rw-r--r--stdlib/source/program/licentia/input.lux166
1 files changed, 0 insertions, 166 deletions
diff --git a/stdlib/source/program/licentia/input.lux b/stdlib/source/program/licentia/input.lux
deleted file mode 100644
index 5ec07e32b..000000000
--- a/stdlib/source/program/licentia/input.lux
+++ /dev/null
@@ -1,166 +0,0 @@
-(.module:
- [lux #*
- [abstract
- [monad (#+ do)]]
- [control
- ["." exception (#+ exception:)]
- ["<>" parser
- ["<.>" json (#+ Parser)]]]
- [data
- [text
- ["%" format (#+ format)]]
- [number
- ["n" nat]
- ["i" int]
- ["f" frac]]]]
- ["." // #_
- ["#" license (#+ Identification
- Termination
- Liability
- Distribution
- Commercial
- Extension
- Entity Black-List
- URL Attribution
- Addendum
- License)
- ["." time (#+ Period)]
- ["." copyright]]])
-
-(def: identification
- (Parser Identification)
- (<json>.object
- ($_ <>.and
- (<json>.field "name" <json>.string)
- (<json>.field "version" <json>.string))))
-
-(exception: #export (cannot-use-fractional-amount {amount Frac})
- (exception.report
- ["Amount" (%.frac amount)]))
-
-(exception: #export (cannot-use-negative-amount {amount Int})
- (exception.report
- ["Amount" (%.int amount)]))
-
-(def: amount
- (Parser Nat)
- (do <>.monad
- [amountF <json>.number
- #let [amountI (f.int amountF)]
- _ (<>.assert (exception.construct cannot-use-fractional-amount amountF)
- (f.= amountF
- (i.frac amountI)))
- _ (<>.assert (exception.construct cannot-use-negative-amount amountI)
- (i.> +0 amountI))]
- (wrap (.nat amountI))))
-
-(exception: #export (invalid-period {period (Period Nat)})
- (exception.report
- ["Start" (%.nat (get@ #time.start period))]
- ["End" (%.nat (get@ #time.end period))]))
-
-(def: period
- (Parser (Period Nat))
- (<json>.object
- (do <>.monad
- [start (<json>.field "start" ..amount)
- end (<json>.field "end" ..amount)
- #let [period {#time.start start
- #time.end end}]
- _ (<>.assert (exception.construct invalid-period period)
- (n.<= end start))]
- (wrap period))))
-
-(def: copyright-holder
- (Parser copyright.Holder)
- (<json>.object
- ($_ <>.and
- (<json>.field "name" <json>.string)
- (<json>.field "period" ..period))))
-
-(def: termination
- (Parser Termination)
- (<json>.object
- ($_ <>.and
- (<json>.field "patent retaliation?" <json>.boolean)
- (<json>.field "termination period" ..amount)
- (<json>.field "grace period" ..amount))))
-
-(def: liability
- (Parser Liability)
- (<json>.object
- ($_ <>.and
- (<json>.field "can accept?" <json>.boolean)
- (<json>.field "disclaim high risk?" <json>.boolean))))
-
-(def: distribution
- (Parser Distribution)
- (<json>.object
- ($_ <>.and
- (<json>.field "can re-license?" <json>.boolean)
- (<json>.field "can multi-license?" <json>.boolean))))
-
-(def: commercial
- (Parser Commercial)
- (<json>.object
- ($_ <>.and
- (<json>.field "can sell?" <json>.boolean)
- (<json>.field "require contributor credit?" <json>.boolean)
- (<json>.field "allow contributor endorsement?" <json>.boolean))))
-
-(def: extension
- (Parser Extension)
- (<json>.object
- ($_ <>.and
- (<json>.field "same license?" <json>.boolean)
- (<json>.field "must be distinguishable?" <json>.boolean)
- (<json>.field "notification period" (<json>.nullable ..period))
- (<json>.field "must describe modifications?" <json>.boolean))))
-
-(def: entity
- (Parser Entity)
- <json>.string)
-
-(def: black-list
- (Parser Black-List)
- (<json>.object
- ($_ <>.and
- (<json>.field "justification" (<json>.nullable <json>.string))
- (<json>.field "entities" (<json>.array (<>.many ..entity))))))
-
-(def: url
- (Parser URL)
- <json>.string)
-
-(def: attribution
- (Parser Attribution)
- (<json>.object
- ($_ <>.and
- (<json>.field "copyright-notice" <json>.string)
- (<json>.field "phrase" (<json>.nullable <json>.string))
- (<json>.field "url" ..url)
- (<json>.field "image" (<json>.nullable ..url)))))
-
-(def: addendum
- (Parser Addendum)
- (<json>.object
- ($_ <>.and
- (<json>.field "commons clause?" <json>.boolean)
- )))
-
-(def: #export license
- (Parser License)
- (<json>.object
- ($_ <>.and
- (<json>.field "copyright-holders" (<json>.array (<>.many ..copyright-holder)))
- (<json>.field "identification" (<json>.nullable ..identification))
- (<json>.field "termination" ..termination)
- (<json>.field "liability" ..liability)
- (<json>.field "distribution" ..distribution)
- (<json>.field "commercial" ..commercial)
- (<json>.field "extension" ..extension)
- (<json>.field "black-lists" (<json>.array (<>.some ..black-list)))
- (<json>.field "attribution" (<json>.nullable ..attribution))
- (<>.default {#//.commons-clause? false}
- (<json>.field "addendum" ..addendum))
- )))