Thank you, this was the tip I needed. Last night I managed to get the correct answer on the phone with this.
If you want to examine what I have it's on the same place. solution.ijs has the latest I did on the computer, 1.ijs is what I had on the phone. Because somewhere in there something broke and on the phone I have the wrong answer for part 1. So when I have more time I will examine, day 14 is upon us. Thanks again. Missatge de Raul Miller <rauldmil...@gmail.com> del dia dt., 13 de des. 2022 a les 23:13: > Oh, one other thing... > > For aoc 13 part 2, you do not actually need to sort anything. > > You can compare the '[[2]]' representation against each value and > count how many precede it. > > Then you can do the same with the other value (adding 1, because it > would come after the '[[2]]' value. > > FYI, > > -- > Raul > > On Tue, Dec 13, 2022 at 5:05 PM Raul Miller <rauldmil...@gmail.com> wrote: > > > > I was not able to decipher the value of pp which you posted here, > > after the email system mangled it. > > > > Also, it looks like your current github code -- > > > https://github.com/JaumeGreen/adventofcode/blob/master/2022/day13/explanation.ijs > > -- doesn't work for me when I try it on my input.txt from the aoc > > website: > > > > quickp pp > > |domain error in comp2, executing dyad <"0 0 > > |x is character and y is character > > | ({.tx) <{.ty > > > > And, I get a stack error from > > > > quickp ,&(i.0)L:0 pp > > |stack error: comp2 > > | 0=>x comp2 each y > > > > And when I try other approaches I also run into problems: > > > > pp /: +/comp2"0/ ,&(i.0)L:0 pp > > |domain error in comp2, executing dyad <"0 0 > > |y is character > > | ({.tx) <{.ty > > > > There should be no character data here: > > > > ~.datatype S:0 ,&(i.0)L:0 pp > > integer > > boolean > > > > I'm sort of tempted to just dump on you an implementation that I used > > for this puzzle, but that might not be fair to you. > > > > Anyways... the first question which occurs to me is: what is the shape > > of quickp pp? > > > > Thanks, > > > > -- > > Raul > > > > > > On Tue, Dec 13, 2022 at 4:08 PM Jaume <greenni...@gmail.com> wrote: > > > > > > Thank you > > > > > > I think it's going better, or at least I'm understanding a bit more. > > > > > > The problem I had was another, quicksort was sending the whole list to > > > compare inside comp2. > > > I fixed it with these: > > > quickp=: 3 : 0 > > > if. 1 >: #y do. y > > > else. > > > (quickp y lesser sel e),(y equal sel e),quickp y greater sel e=.y{~?#y > > > end. > > > ) > > > lesser=:{{1=>x comp2 each y}} > > > equal=:{{2=>x comp2 each y}} > > > greater=:{{0=>x comp2 each y}} > > > > > > Now the problem is another. I can find the element inside the original > > > list, but I can't search inside the sorted list, or store the sorted > list. > > > > > > quickp pp > > > > > > > ┌┬──┬────┬───────────┬───────────┬─────────────┬─────────────────────────────┬─────────────────────────────┬───────┬───┬─┬─────────────┬───────────────┬───┬───────┬─────────┬─────────┬─┐ > > > > > > > ││┌┐│┌──┐│┌─┬─┬─┬─┬─┐│┌─┬─┬─┬─┬─┐│┌───┬───────┐│┌─┬─────────────────────┬─┬─┐│┌─┬─────────────────────┬─┬─┐│┌───┬─┐│┌─┐│3│┌───────┬─┬─┐│┌───────┬─┬─┬─┐│┌─┐│┌─┬─┬─┐│┌─┬─┬─┬─┐│┌───────┐│9│ > > > > > > > ││││││┌┐│││1│1│3│1│1│││1│1│5│1│1│││┌─┐│┌─┬─┬─┐│││1│┌───────────────────┐│8│9│││1│┌───────────────────┐│8│9│││┌─┐│4│││2││ > > > ││┌─────┐│4│4│││┌─────┐│4│4│4│││6│││7│7│7│││7│7│7│7│││┌─┬─┬─┐││ │ > > > > > > ││└┘││││││└─┴─┴─┴─┴─┘│└─┴─┴─┴─┴─┘│││1│││2│3│4││││ > ││┌─┬───────────────┐││ │ > > > │││ ││┌─┬───────────────┐││ │ ││││1││ ││└─┘│ │││┌─┬─┐││ │ ││││┌─┬─┐││ > │ │ > > > ││└─┘│└─┴─┴─┘│└─┴─┴─┴─┘│││8│7│6│││ │ > > > > > > ││ ││└┘││ │ ││└─┘│└─┴─┴─┘│││ │││2│┌─┬───────────┐│││ │ │││ > > > │││2│┌─┬───────────┐│││ │ │││└─┘│ ││ │ ││││4│4│││ │ │││││4│4│││ │ │ ││ > │ │ > > > ││└─┴─┴─┘││ │ > > > > > > ││ │└──┘│ │ │└───┴───────┘││ │││ ││3│┌─┬───────┐││││ │ │││ │││ > > > ││3│┌─┬───────┐││││ │ ││└───┴─┘│ │ │││└─┴─┘││ │ ││││└─┴─┘││ │ │ ││ │ │ > > > │└───────┘│ │ > > > > > > ││ │ │ │ │ ││ │││ ││ ││4│┌─┬─┬─┐│││││ │ │││ │││ ││ ││4│┌─┬─┬─┐│││││ │ > ││ │ > > > │ ││└─────┘│ │ │││└─────┘│ │ │ ││ │ │ │ │ │ > > > > > > ││ │ │ │ │ ││ │││ ││ ││ ││5│6│0││││││ │ │││ │││ ││ ││ ││5│6│7││││││ │ > ││ │ > > > │ │└───────┴─┴─┘│└───────┴─┴─┴─┘│ │ │ │ │ │ > > > > > > ││ │ │ │ │ ││ │││ ││ ││ │└─┴─┴─┘│││││ │ │││ │││ ││ ││ │└─┴─┴─┘│││││ │ > ││ │ > > > │ │ │ │ │ │ │ │ │ > > > > > > ││ │ │ │ │ ││ │││ ││ │└─┴───────┘││││ │ │││ │││ ││ │└─┴───────┘││││ │ > ││ │ > > > │ │ │ │ │ │ │ │ │ > > > > > > ││ │ │ │ │ ││ │││ │└─┴───────────┘│││ │ │││ │││ │└─┴───────────┘│││ │ > ││ │ > > > │ │ │ │ │ │ │ │ │ > > > > > > ││ │ │ │ │ ││ ││└─┴───────────────┘││ │ │││ ││└─┴───────────────┘││ │ > ││ │ > > > │ │ │ │ │ │ │ │ │ > > > > > > ││ │ │ │ │ ││ │└───────────────────┘│ │ │││ │└───────────────────┘│ │ > ││ │ > > > │ │ │ │ │ │ │ │ │ > > > > > > ││ │ │ │ │ > │└─┴─────────────────────┴─┴─┘│└─┴─────────────────────┴─┴─┘│ │ > > > │ │ │ │ │ │ │ │ │ > > > > > > > └┴──┴────┴───────────┴───────────┴─────────────┴─────────────────────────────┴─────────────────────────────┴───────┴───┴─┴─────────────┴───────────────┴───┴───────┴─────────┴─────────┴─┘ > > > > > > sorted=:quickp pp > > > > > > |domain error: comp2 > > > > > > | ({.tx) <{.ty > > > > > > cder'' > > > > > > 0 0 > > > > > > (1+i.#pp)*2=1 a&comp2\ quickp pp > > > |domain error: comp2 > > > | ({.tx) <{.ty > > > > > > So... any idea how to continue? > > > > > > Rest of my code is in > > > https://github.com/JaumeGreen/adventofcode/tree/master/2022/day13 > mostly in > > > explanation, but some of the newer changes only in log. > > > > > > Thanks. > > > > > > Missatge de Raul Miller <rauldmil...@gmail.com> del dia dt., 13 de > des. > > > 2022 a les 20:00: > > > > > > > p.s. for the tacit stack issue, you did not include your definition > of > > > > comp2, but if it's from aoc day 13, a plausible issue is that comp2 > > > > would be returning _1 or 1 instead of 0 or 1 (which is what that > > > > quicksort implementation expects). > > > > > > > > That said, when debugging stack errors on recursive functions, it can > > > > be handy to use $:&([echo) so that you can see where the spam where > > > > the recursion goes wrong. > > > > > > > > -- > > > > Raul > > > > > > > > On Tue, Dec 13, 2022 at 1:43 PM Jaume <greenni...@gmail.com> wrote: > > > > > > > > > > Hello all > > > > > > > > > > Still here and I've done all the days in J except for day 7, But > that's > > > > not > > > > > why I'm here. > > > > > > > > > > So now I've done the first part, and I have a function that is too > long > > > > to > > > > > copy that does comparisons in an iterative way (I had some stack > > > > problems). > > > > > Now I'm wanting to sort the elements using this function, but I > don't > > > > know > > > > > how. > > > > > > > > > > All the sorting is done using the standard comparison, all the > grading is > > > > > numerical, the quicksort implementation in > > > > > https://www.jsoftware.com/help/dictionary/cif.htm (and in > > > > > https://code.jsoftware.com/wiki/Essays/Quicksort) is giving me an > error > > > > > even when trying with numbers. > > > > > > > > > > sel=: 1 : 'x # [' > > > > > > > > > > quicksort=: 3 : 0 > > > > > > > > > > if. 1 >: #y do. y > > > > > > > > > > else. > > > > > > > > > > (quicksort y <sel e),(y =sel e),quicksort y >sel e=.y{~?#y > > > > > > > > > > end. > > > > > > > > > > ) > > > > > > > > > > quicksort 15 2 9 10 4 0 13 13 18 7 > > > > > > > > > > |noun result was required: quicksort > > > > > > > > > > | x#[ > > > > > > > > > > |[-0] > > > > > > > > > > > > > > > And the tacit version, which I hope I modified correctly, it's also > > > > giving > > > > > me a stack error. > > > > > > > > > > less=:{{x comp2 y}} > > > > > > > > > > great=:{{y comp2 x}} > > > > > > > > > > quicksort=: (($:@(less#[) , (=#[) , $:@(great#[)) ({~ ?@#)) ^: > (1<#) > > > > > > > > > > quicksort pp > > > > > > > > > > |stack error: comp2 > > > > > > > > > > | y comp2 x > > > > > > > > > > > > > > > Any idea how can I sort the elements or correct the errors I have? > > > > > > > > > > Thanks > > > > > > ---------------------------------------------------------------------- > > > > > For information about J forums see > http://www.jsoftware.com/forums.htm > > > > > ---------------------------------------------------------------------- > > > > For information about J forums see > http://www.jsoftware.com/forums.htm > > > > > > > > > > > > > -- > > > The fact that an opinion has been widely held is no evidence whatever > that > > > it is not utterly absurd. -- Bertrand Russell > > > ---------------------------------------------------------------------- > > > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > -- The fact that an opinion has been widely held is no evidence whatever that it is not utterly absurd. -- Bertrand Russell ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm