 (ns whatsoup.recipe
   (:require [clojure.set :as set]
             [clojure.spec.alpha :as spec]))
-
-
-(defn food? [x]
-  (and (keyword? x) (= "food" (namespace x))))
-(defn property? [x]
-  (and (keyword? x) (= "property" (namespace x))))
 
 ;; Recipes mainly consist of an ordered list of ingredient descriptors.
 ;; These specify one or more `properties` that the ingredient food(s) needs to satisfy.

                           :* [:any-of :property/gemüse :property/fleisch]]
                          ["Einlage" :* :property/knusprig]]})

(spec/def ::food food?)
(spec/def ::property property?)
(spec/def ::food-or-property

(spec/def :recipe/name string?)
(spec/def ::recipe (spec/keys :req [:recipe/name :recipe/ingredients]))


;; Meals list their ingredient foods, which may be grouped by `role`.
;; Ingredients are listed in the same order as in the recipe.
;;
