Skip to main content

Timeline for Make a long type signature

Current License: CC BY-SA 3.0

8 events
when toggle format what by license comment
Jun 17, 2020 at 9:04 history edited CommunityBot
Commonmark migration
Aug 26, 2018 at 2:28 comment added Anders Kaseorg @BWO I don’t see how: since (,) :: a -> b -> (a, b) has two type variables repeated twice rather than one type variable repeated thrice, the type of (,).(,).(,).(,) :: a -> b1 -> (b2 -> (b3 -> (b4 -> (a, b4), b3), b2), b1) only grows as \$O(n \log_{10} n)\$ with the number of (,)s instead of exponentially. You can write xnor’s f as id=<<(,) but that’s longer. You can use (:), leading to the answer I posted the day before your comment.
Aug 8, 2018 at 12:29 comment added ბიმო (,) (or (,,)) can be used to save some bytes and improve the score by using more ns.
Jun 22, 2017 at 23:53 comment added Anders Kaseorg No, @PeterTaylor is correct: 2^(4^9) = 16^(4^8) < 27^(4^8) = 3^(4^8 ⋅ 3).
Feb 12, 2016 at 18:20 comment added Draco18s no longer trusts SE Pretty sure the 4th n. is going to be larger. 2^18 vs 3 * (2^16) unless I made a mistake calculating the original exponentiation: 2^(4^9) vs. 3^((4^8)*3)
Feb 12, 2016 at 18:01 comment added Sparr I don't know Haskell, so I could be off base here, but I'll point out that 4^(4^4) is less than 3^(4^5)
Feb 12, 2016 at 9:11 comment added Peter Taylor The classic approach, but I think the parameters can be better tuned. Specifically, I think that f x=(x,x,x) at the cost of one n. in the last line gives the optimal score for this overall structure.
Feb 12, 2016 at 8:02 history answered xnor CC BY-SA 3.0