Logs: freenode/#haskell
| 2020-11-19 16:38:40 | × | bob_twinkles quits (~quassel@ec2-52-37-66-13.us-west-2.compute.amazonaws.com) (Read error: Connection reset by peer) |
| 2020-11-19 16:38:44 | <larou> | so you can supply inputs to each of them in a fold |
| 2020-11-19 16:39:00 | <larou> | and the values it calculates serve as inputs to the rest |
| 2020-11-19 16:39:02 | × | knupfer quits (~Thunderbi@200116b82cfb8700fd61a7f6e9856548.dip.versatel-1u1.de) (Ping timeout: 260 seconds) |
| 2020-11-19 16:39:17 | <larou> | you specify type level symbols as annotations to the edges of the Net |
| 2020-11-19 16:39:26 | <larou> | thats how these new type of trees work |
| 2020-11-19 16:39:56 | <larou> | they dont sit underneath each other in a GADT, appearing as a self reference within a list, like a regular tree |
| 2020-11-19 16:40:20 | <larou> | so you give each of the edges a label, and have the nodes that are on either end of it both reference that |
| 2020-11-19 16:40:35 | → | bob_twinkles joins (~quassel@ec2-52-37-66-13.us-west-2.compute.amazonaws.com) |
| 2020-11-19 16:40:38 | <larou> | the matrix is a numerical representation of the resulting adjacency matrix |
| 2020-11-19 16:40:45 | <larou> | well, its directed from inputs to outputs |
| 2020-11-19 16:41:11 | <larou> | and then you exponentiate that to get, "if it is above itself" which would throw an error as a cycle |
| 2020-11-19 16:41:34 | <larou> | the constraint on the CloseNet constructor would not hold |
| 2020-11-19 16:41:44 | <larou> | you would have to specify better sparks as a type annotation |
| 2020-11-19 16:42:13 | → | invaser1 joins (~Thunderbi@31.148.23.125) |
| 2020-11-19 16:42:18 | <larou> | so what do you recon!? solved the ancient, upwards branching trees thing, finally |
| 2020-11-19 16:42:25 | <merijn> | I propose implementing a prototype and showing that to people, rather than roughly explaining in english |
| 2020-11-19 16:42:27 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 2020-11-19 16:42:40 | <larou> | it works as in the links provided |
| 2020-11-19 16:42:50 | <[exa]> | cabal install <what> |
| 2020-11-19 16:42:52 | <larou> | i dont have it doing what i want yet though |
| 2020-11-19 16:43:06 | <merijn> | So...it doesn't work yet |
| 2020-11-19 16:43:16 | <larou> | i need to shuffle them so the nodes at the leafs pass inputs along for functions to be evaluated |
| 2020-11-19 16:43:30 | <larou> | merijn: exactly what i described is demonstrated in those pastes |
| 2020-11-19 16:43:38 | → | kritzefitz joins (~kritzefit@212.86.56.80) |
| 2020-11-19 16:43:41 | <larou> | what it doesnt do yet, it does not yet do |
| 2020-11-19 16:43:54 | <larou> | so its not with "the final demo" |
| 2020-11-19 16:44:04 | <larou> | which would probably be what you would want |
| 2020-11-19 16:44:27 | <larou> | so, basically its a state function |
| 2020-11-19 16:44:32 | <larou> | so i can put it on a graph! |
| 2020-11-19 16:44:36 | <larou> | and that makes it a monad |
| 2020-11-19 16:44:39 | <larou> | which is pretty mad |
| 2020-11-19 16:44:47 | <larou> | the "net" thing, with actual functions on |
| 2020-11-19 16:44:52 | × | invaser quits (~Thunderbi@31.148.23.125) (Ping timeout: 260 seconds) |
| 2020-11-19 16:44:52 | invaser1 | is now known as invaser |
| 2020-11-19 16:44:59 | <larou> | its the monad from; "programs are monads" |
| 2020-11-19 16:45:14 | <merijn> | "and that makes it a monad" <- I doubt that without a proof |
| 2020-11-19 16:45:14 | × | chkno quits (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
| 2020-11-19 16:45:22 | <larou> | i have explicitly named bound variables expressed at type level |
| 2020-11-19 16:45:26 | → | chkno joins (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
| 2020-11-19 16:45:31 | <larou> | meijn: it is a monad though... |
| 2020-11-19 16:45:53 | → | justan0theruser joins (~justanoth@unaffiliated/justanotheruser) |
| 2020-11-19 16:45:56 | <larou> | you can break programs down and compose them, programs aka functions |
| 2020-11-19 16:46:10 | <larou> | anyway, the point is its a *state* |
| 2020-11-19 16:46:12 | <larou> | so it changes |
| 2020-11-19 16:46:17 | <larou> | the whole program |
| 2020-11-19 16:46:26 | <larou> | and thats where these sparks sit, internally as states |
| 2020-11-19 16:46:51 | <larou> | they go along internal edges that you have brokn to make them external inputs and outputs directed to a state variable that acts as a memory store |
| 2020-11-19 16:46:59 | <[exa]> | larou: it makes no sense, seriously |
| 2020-11-19 16:47:20 | <larou> | you have the graph of functions, and with it, all of the spark states, that are returned when you run the function on its inputs and previous spark states |
| 2020-11-19 16:47:48 | <larou> | and you package all of that up as a state function |
| 2020-11-19 16:48:08 | × | pavonia quits (~user@unaffiliated/siracusa) (Quit: Bye!) |
| 2020-11-19 16:48:15 | <larou> | and put it on a graph of functions, with its cycles broken as another layer of sparks, stored as states in another state function wrapper and so on |
| 2020-11-19 16:48:19 | → | oish joins (~charlie@228.25.169.217.in-addr.arpa) |
| 2020-11-19 16:48:23 | <larou> | its the "and so on" thats the monadic recursion |
| 2020-11-19 16:49:01 | <larou> | nodes, that internally, are graphs of functions |
| 2020-11-19 16:49:11 | <larou> | the "nets as neurons" monad |
| 2020-11-19 16:49:14 | × | Feuermagier quits (~Feuermagi@213.178.26.41) (Remote host closed the connection) |
| 2020-11-19 16:49:36 | <larou> | you partition the program any which way into functions, depending on how you define them and with synonyms |
| 2020-11-19 16:49:43 | <larou> | or unpartition it |
| 2020-11-19 16:49:47 | <larou> | thats cobind and bind |
| 2020-11-19 16:50:08 | <merijn> | Just because you call them that, doesn't mean they obey the monad laws |
| 2020-11-19 16:50:15 | <larou> | yeah but they do though |
| 2020-11-19 16:50:37 | <larou> | in the same way a tree is |
| 2020-11-19 16:50:47 | <larou> | i guess i need them to be nonempty etc |
| 2020-11-19 16:50:58 | <larou> | but yeah, theres a monad there, no doubt |
| 2020-11-19 16:51:18 | <larou> | anyway, thats not the fun part |
| 2020-11-19 16:51:21 | → | alp joins (~alp@2a01:e0a:58b:4920:e0d5:8136:ac9f:8cb7) |
| 2020-11-19 16:51:35 | <larou> | the spark states get "hidden" when you package them into a state function wrapper placed on the net |
| 2020-11-19 16:51:52 | <larou> | because the net can handle state functions, so the sparks just get absorbed by that machinery |
| 2020-11-19 16:52:00 | <larou> | you get new nodes to the graph |
| 2020-11-19 16:52:29 | <merijn> | I suggest writing a blogpost, rather than writing a novel in a channel meant for discussion |
| 2020-11-19 16:52:42 | <larou> | the spark cycles, end up at an input and output terminus, that stores the spark state, and can be written to and read from |
| 2020-11-19 16:52:59 | × | cocreature quits (~cocreatur@eirene.uberspace.de) (Remote host closed the connection) |
| 2020-11-19 16:53:05 | <larou> | merijn: thanks for keeping me on track. |
| 2020-11-19 16:53:21 | → | cocreature joins (~cocreatur@eirene.uberspace.de) |
| 2020-11-19 16:53:22 | <larou> | i have presented these new trees |
| 2020-11-19 16:55:22 | × | mananamenos quits (~mananamen@84.122.202.215.dyn.user.ono.com) (Ping timeout: 260 seconds) |
| 2020-11-19 16:55:33 | <larou> | anyway, all this stuff to do with new nodes for the sparks when the nets handle state functions on the nodes - is just the next part of the todo - and is just to say what i have shown does not yet do |
| 2020-11-19 16:55:46 | <larou> | so far it just checks to see that the sparks provided are correct |
| 2020-11-19 16:55:56 | <larou> | so you cant make it wrong! |
| 2020-11-19 16:56:04 | <larou> | almost as good as making it right... |
| 2020-11-19 16:56:41 | <larou> | you basically just have to be sure the edges you define dont cause a cycle |
| 2020-11-19 16:56:50 | <larou> | but it will tell you if there is |
| 2020-11-19 16:57:27 | <larou> | the only thing worth discussing really is the fact we have a new notion of tree |
| 2020-11-19 16:57:36 | <larou> | not, how far i am at making it better |
| 2020-11-19 16:57:50 | <larou> | what i show completely defines it |
| 2020-11-19 16:58:07 | <larou> | but many other implementations of the same idea exist |
| 2020-11-19 16:58:13 | ChanServ | sets mode +q *!*@*/ip.94.174.37.145 |
| 2020-11-19 16:58:52 | × | oish quits (~charlie@228.25.169.217.in-addr.arpa) (Ping timeout: 260 seconds) |
| 2020-11-19 17:00:02 | → | he9388 joins (2fe3e53b@047-227-229-059.res.spectrum.com) |
| 2020-11-19 17:00:28 | <he9388> | Hi everyone, I'm trying to install the Haskell extension for VSCode, and I'm getting the error "Couldn't figure out what GHC version the project is using" |
| 2020-11-19 17:00:43 | → | oish joins (~charlie@228.25.169.217.in-addr.arpa) |
| 2020-11-19 17:00:48 | <he9388> | I couldn't figure out what's the issue. Can anyone give a pointer? Thanks a lot. |
| 2020-11-19 17:01:04 | <merijn> | are you using stack or cabal? |
| 2020-11-19 17:01:17 | <he9388> | Cabal |
| 2020-11-19 17:01:32 | <he9388> | Or I believe so at least... |
| 2020-11-19 17:01:35 | <merijn> | he9388: Is GHC in your path? |
| 2020-11-19 17:01:51 | <he9388> | Which path? |
| 2020-11-19 17:01:57 | <he9388> | Sorry, I am beginner :) |
All times are in UTC.