On this page:
5.1 KEYWORDS structs
pkeyword
pkeywords
5.2 KEYWORDS helper functions
pkeyword-functionality?
5.3 KEYWORDS conversion
pkeyword-functionality->string
pkeyword->string
pkeywords->string
string->pkeyword
string->pkeywords
5.4 KEYWORDS querying
pkeyword-all?
pkeyword-compound?
pkeyword-stable?
pkeyword-unavailable?
pkeyword-unstable?
pkeyword-functionality<?
pkeyword-architecture<?
pkeyword-platform<?
pkeyword<?
pkeywords-sort
8.12

5 KEYWORDS🔗ℹ

 (require pmsf/keywords) package: pmsf-keywords

5.1 KEYWORDS structs🔗ℹ

 (require pmsf/keywords/struct) package: pmsf-keywords

struct

(struct pkeyword (functionality architecture platform)
    #:extra-constructor-name make-pkeyword
    #:transparent)
  functionality : pkeyword-functionality?
  architecture : string?
  platform : string?

Example:
> (pkeyword 'unstable "amd64" "linux")

(pkeyword 'unstable "amd64" "linux")

struct

(struct pkeywords (keywords)
    #:extra-constructor-name make-pkeywords
    #:transparent)
  keywords : (listof pkeyword?)

Example:
> (pkeywords (list (pkeyword 'unstable "amd64" "linux")))

(pkeywords (list (pkeyword 'unstable "amd64" "linux")))

5.2 KEYWORDS helper functions🔗ℹ

procedure

(pkeyword-functionality? v)  boolean?

  v : any

Examples:
> (pkeyword-functionality? 'stable)

#t

> (pkeyword-functionality? 'unavailable)

#t

> (pkeyword-functionality? 'unstable)

#t

> (pkeyword-functionality? "asd")

#f

5.3 KEYWORDS conversion🔗ℹ

 (require pmsf/keywords/convert) package: pmsf-keywords

procedure

(pkeyword-functionality->string a-pkeyword-functionality)

  string?
  a-pkeyword-functionality : pkeyword-functionality?

Example:
> (pkeyword-functionality? 'enabled)

#f

procedure

(pkeyword->string a-pkeyword)  string?

  a-pkeyword : pkeyword?

Example:
> (pkeyword->string (pkeyword 'unstable "amd64" "linux"))

"~amd64-linux"

procedure

(pkeywords->string a-pkeywords)  string?

  a-pkeywords : pkeywords?

Example:
> (pkeywords->string (pkeywords (list (pkeyword 'unstable "amd64" "linux"))))

"~amd64-linux"

procedure

(string->pkeyword a-string)  pkeyword?

  a-string : string?

Example:
> (string->pkeyword "~amd64-linux")

(pkeyword 'unstable "amd64" "linux")

procedure

(string->pkeywords a-string)  pkeywords?

  a-string : string?

Example:
> (string->pkeywords "~amd64-linux")

(pkeywords (list (pkeyword 'unstable "amd64" "linux")))

5.4 KEYWORDS querying🔗ℹ

 (require pmsf/keywords/query) package: pmsf-keywords

procedure

(pkeyword-all? a-pkeyword)  boolean?

  a-pkeyword : pkeyword?

Examples:
> (pkeyword-all? (pkeyword 'unavailable "*" #false))

#t

> (pkeyword-all? (pkeyword 'unstable "amd64" "linux"))

#f

procedure

(pkeyword-compound? a-pkeyword)  boolean?

  a-pkeyword : pkeyword?

Examples:
> (pkeyword-compound? (pkeyword 'unstable "amd64" "linux"))

#t

> (pkeyword-compound? (pkeyword 'unstable "amd64" #false))

#f

procedure

(pkeyword-stable? a-pkeyword)  boolean?

  a-pkeyword : pkeyword?

Example:
> (pkeyword-stable? (pkeyword 'stable "amd64" "linux"))

#t

procedure

(pkeyword-unavailable? a-pkeyword)  boolean?

  a-pkeyword : pkeyword?

Example:
> (pkeyword-unavailable? (pkeyword 'unavailable "amd64" "linux"))

#t

procedure

(pkeyword-unstable? a-pkeyword)  boolean?

  a-pkeyword : pkeyword?

Example:
> (pkeyword-unstable? (pkeyword 'unstable "amd64" "linux"))

#t

procedure

(pkeyword-functionality<? a-pkeyword    
  b-pkeyword)  boolean?
  a-pkeyword : pkeyword?
  b-pkeyword : pkeyword?

Example:
> (pkeyword-functionality<? (pkeyword 'unstable "amd64" "linux")
                            (pkeyword 'unavailable "amd64" "linux"))

#t

procedure

(pkeyword-architecture<? a-pkeyword    
  b-pkeyword)  boolean?
  a-pkeyword : pkeyword?
  b-pkeyword : pkeyword?

Example:
> (pkeyword-architecture<? (pkeyword 'unstable "alpha" "linux")
                           (pkeyword 'unstable "amd64" "linux"))

#t

procedure

(pkeyword-platform<? a-pkeyword b-pkeyword)  boolean?

  a-pkeyword : pkeyword?
  b-pkeyword : pkeyword?

Example:
> (pkeyword-platform<? (pkeyword 'unstable "amd64" "bsd")
                       (pkeyword 'unstable "amd64" "linux"))

#t

procedure

(pkeyword<? a-pkeyword b-pkeyword)  boolean?

  a-pkeyword : pkeyword?
  b-pkeyword : pkeyword?

Example:
> (pkeyword<? (pkeyword 'unstable "amd64" #false)
              (pkeyword 'unstable "amd64" "linux"))

#t

procedure

(pkeywords-sort a-pkeywords)  pkeywords?

  a-pkeywords : pkeywords?

Example:
> (pkeywords-sort (pkeywords (list (pkeyword 'unstable "x86" #f)
                                   (pkeyword 'unstable "amd64" "linux")
                                   (pkeyword 'unavailable "*" #f)
                                   (pkeyword 'unstable "x64" "macos")
                                   (pkeyword 'unstable "alpha" #f)
                                   (pkeyword 'unstable "x86" "linux")
                                   (pkeyword 'unstable "amd64" #f))))

(pkeywords

 (list

  (pkeyword 'unstable "alpha" #f)

  (pkeyword 'unstable "amd64" #f)

  (pkeyword 'unstable "x86" #f)

  (pkeyword 'unstable "amd64" "linux")

  (pkeyword 'unstable "x86" "linux")

  (pkeyword 'unstable "x64" "macos")

  (pkeyword 'unavailable "*" #f)))