« first day (1539 days earlier)      last day (239 days later) » 

4:49 AM
ah, sign should also work
@Leo so I can also work as a higher order function, confusing everyone in the room
 
 
1 hour later…
6:02 AM
@Razetime - 'I can also work as a higher order function' - Ok, now you've said that I can understand what Leo said, if that's correct.
@Leo - Thanks for explaining: I can understand the problem with I (especially if Razetime's comment is correct). And thanks for demonstrating how to solve it.
@Leo - But I'm still having trouble parsing the inference. If id is being applied to revnum, then why aren't they grouped together with parentheses in the inference explanation (like: ((id)(revnum)))? Instead, it looks like id is grouped with com((predN)(any)) which I can't figure out, and it isn't clear what function any is using at all...
 
6:21 AM
@DominicvanEssen I relaized this cause many of my ternaries with I have failed to infer
 
 
7 hours later…
Leo
1:22 PM
@DominicvanEssen So, app f x means just f x, com f x means \y -> f x y, com2 f x means \y,z->f x y z
Sorry have to run, will explain more tonorrow
 
 
10 hours later…
Leo
11:14 PM
The current inferencer always groups things left to right, adding combinators where needed
`com2(app(com(com2(predN)(any))(id))(revnum))(base) = (\a,b->(\c->(\d,e->predN (any d e)) (id c)) revnum) base
Sorry, my earlier message was wrong, com f x means \y -> f (x y), com2 f x means \y,z->f (x y z)
 
Leo
11:49 PM
To put it simply, predN gets combined with any, then they get combined with id, and the result gets applied to revnum
 

« first day (1539 days earlier)      last day (239 days later) »