This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2023-08-22
Channels
- # announcements (13)
- # babashka (22)
- # beginners (22)
- # biff (17)
- # calva (6)
- # clerk (20)
- # clj-kondo (25)
- # clj-together (5)
- # clj-yaml (20)
- # cljdoc (16)
- # cljs-dev (1)
- # clojure (42)
- # clojure-brasil (1)
- # clojure-europe (26)
- # clojure-nl (6)
- # clojure-norway (24)
- # clojure-turkiye (3)
- # clojure-uk (5)
- # clojurescript (37)
- # core-async (7)
- # core-logic (2)
- # datalevin (7)
- # datomic (43)
- # events (2)
- # fulcro (7)
- # gratitude (1)
- # hyperfiddle (7)
- # java (7)
- # jobs (3)
- # lsp (4)
- # off-topic (16)
- # pathom (18)
- # polylith (1)
- # portal (27)
- # reitit (4)
- # releases (3)
- # shadow-cljs (47)
- # tools-build (14)
- # tools-deps (16)
- # yamlscript (11)
Thanks to @ericnormand for sharing your insights in the form of a nice podcast, and all your things at http://purelyfunctional.tv I listened to several of your https://ericnormand.me/podcast/executable-specification-lens and gave (roughly) the method you outlined a shot when doing some design for a small program at work today. I kept it very simple with basically creating several functions that looks something like this:
;; TODO @aasa maybe we already have the token before this function is called,
;; and it should be a parameter?
(defn login []
(println "User wants to login.")
(if (local-token!)
(println "You are already logged in.")
(start-login-flow)))
It really helped with outputting a good overview of what I think the program should do, and I'll try to keep using this throughout this project to try it out some more.
I thought it was a great method to quickly get a more tangible feel of the problem, compared to only doing sketches or sequence diagrams which are my go-to at the stage of design I'm in at the moment. In particular, by pushing the IO implementations forward it was a very fast way to get an overview of the problem and my solution ideas.
So thanks for that, and rock on! 😉❤️ 3

👍 2