You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
585 B
29 lines
585 B
#lang racket
|
|
|
|
(define (remove-dups xs ys)
|
|
(define dups
|
|
(set-intersect (map car xs)
|
|
(map car ys)))
|
|
(define new-xs
|
|
(filter-not
|
|
(compose1
|
|
(lambda (x) (member x dups))
|
|
car)
|
|
xs))
|
|
new-xs)
|
|
|
|
(define (merge-hash h1 h2)
|
|
(define h1-vs (hash->list h1))
|
|
(define h2-vs (hash->list h2))
|
|
(define new-h2-vs (remove-dups h2-vs h1-vs))
|
|
(make-hash (append new-h2-vs h1-vs)))
|
|
|
|
(define (format-vars env)
|
|
(string-join
|
|
(hash-map
|
|
env
|
|
(lambda (k v)
|
|
(format "export ~a=~a;" k v)))))
|
|
|
|
(provide
|
|
(all-defined-out))
|
|
|