This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-03-13
Channels
- # admin-announcements (1)
- # beginners (53)
- # boot (355)
- # braid-chat (4)
- # cider (15)
- # cljsjs (3)
- # clojure (88)
- # clojure-austin (1)
- # clojure-new-zealand (4)
- # clojure-russia (46)
- # clojure-uk (7)
- # clojurescript (61)
- # component (2)
- # cursive (3)
- # data-science (5)
- # datomic (6)
- # dirac (49)
- # editors (8)
- # emacs (15)
- # funcool (15)
- # jobs (1)
- # ldnclj (10)
- # melbourne (1)
- # off-topic (14)
- # om (61)
- # om-next (2)
- # onyx (32)
- # re-frame (28)
- # reagent (19)
- # test200 (1)
- # vim (3)
hi, I hope this is a good place to ask general category theory questions related to Clojure
I started learning Haskell for a bit but don't know enough to be comfortable using it for real world stuff, and now I have a project that I think might be a good fit for me to apply some CT concepts to develop a better understanding of its uses
my project has to do with interacting an external process that I communicate through stdin / stdout
the process has its own imperative language through which it does things, and I'd like to build a more declarative interface for interacting with it
the process is a type of solver, where you set up a scenario using the imperative instructions, let it run on it for a while and then you can query results, save it to disk, or you can load an already solved result and query that
- 1) build up scenarios and save these as "recipes" which I can schedule to be solved later - 2) schedule these recipes to be solved - 3) query the results in a declarative language - 4) mix 3) and 1) together, so that the recipes can be built based on the results of previous solutions
I'd like the query language to be able to figure out what it needs to return its result, and if that data doesn't exist yet then instead of returning empty handed, it can give me back the recipe for generating that data
so from CT perspective, the first thing I thought of is that the imperative instruction set can be thought of as a monoid, since feeding commands to the solver is just string concatenation