Logs: liberachat/#haskell
| 2021-06-16 17:58:52 | <dolio> | Ariakenom: Maybe he came up with Turing machines first and then tried to show how you could mechanize lambda calculus with them. The papers I was able to find were published in the opposite order of that, though. But I'm not a historian, and it's hard to find papers that old. |
| 2021-06-16 18:00:20 | <Zemyla> | @let newtype Sorted a = Sorted { runSorted :: (a -> a -> Ordering) -> [a] } |
| 2021-06-16 18:00:21 | <lambdabot> | Defined. |
| 2021-06-16 18:00:41 | <Ariakenom> | some forms of LC seems to have existed for a decade or so before so your story makes sense |
| 2021-06-16 18:00:54 | × | micro quits (~micro@user/micro) (Ping timeout: 264 seconds) |
| 2021-06-16 18:01:04 | <dminuoso> | What I find quite interesting, is how Turing, Gödel, Post, Church and Curry came up with equivalent computational in a very short time period. |
| 2021-06-16 18:01:06 | <dolio> | Yeah, LC goes back at least to 32, I think. But it wasn't really for computation at that point. |
| 2021-06-16 18:01:22 | <dminuoso> | (Or rather with models, that later turned out to be computational models that were equivalent in power= |
| 2021-06-16 18:01:23 | → | micro joins (~micro@user/micro) |
| 2021-06-16 18:02:22 | <Zemyla> | @let mergeWith cmp = let { go [] bs = bs, go as [] = as, go as@(a:as') bs@(b:bs') = if cmp a b == GT then b:go as bs' else a:go as' bs } in go |
| 2021-06-16 18:02:23 | <lambdabot> | Parse failed: Parse error: , |
| 2021-06-16 18:02:35 | <tomsmeding> | Zemyla: ; not , |
| 2021-06-16 18:02:47 | → | dhil joins (~dhil@195.213.192.47) |
| 2021-06-16 18:02:55 | <dolio> | I think that is probably not that miraculous, either. They were probably communicating, even if by proxies. |
| 2021-06-16 18:03:06 | <Ariakenom> | "The λ-calculus was invented in about 1928 by Alonzo Church, and was firstpublished in[Church, 1932]." |
| 2021-06-16 18:04:10 | <dolio> | So there were probably informal ideas that they all were aware of, but came up with their own particulars. |
| 2021-06-16 18:04:38 | <Zemyla> | @let mergeWith cmp = let { go [] bs = bs; go as [] = as; go as@(a:as') bs@(b:bs') = if cmp a b == GT then b:go as bs' else a:go as' bs } in go |
| 2021-06-16 18:04:39 | <lambdabot> | Defined. |
| 2021-06-16 18:05:02 | → | ddellacosta joins (~ddellacos@86.106.121.100) |
| 2021-06-16 18:06:09 | <Zemyla> | @let instance Functor Sorted where { fmap f (Sorted m) = Sorted (\cmp -> f <$> m (\a b -> cmp (f a) (f b)); a <$ Sorted m = Sorted (\_ -> a <$ m (\_ _ -> EQ)) } |
| 2021-06-16 18:06:09 | <lambdabot> | Parse failed: Parse error: ; |
| 2021-06-16 18:06:21 | <Zemyla> | @let instance Functor Sorted where { fmap f (Sorted m) = Sorted (\cmp -> f <$> m (\a b -> cmp (f a) (f b))); a <$ Sorted m = Sorted (\_ -> a <$ m (\_ _ -> EQ)) } |
| 2021-06-16 18:06:22 | <lambdabot> | .L.hs:171:17: error: |
| 2021-06-16 18:06:22 | <lambdabot> | Ambiguous occurrence ‘Sorted’ |
| 2021-06-16 18:06:22 | <lambdabot> | It could refer to |
| 2021-06-16 18:06:30 | <Zemyla> | @undef |
| 2021-06-16 18:06:31 | <lambdabot> | Undefined. |
| 2021-06-16 18:06:36 | <dminuoso> | tomsmeding: But yeah, these are quite simple. Arrow I never really understood, perhaps that's just because I never used any arrow libraries - I hear this used to be a thing for some frp libraries. |
| 2021-06-16 18:07:02 | <Zemyla> | @let newtype Sorting a = Sorting { runSorting :: (a -> a -> Ordering) -> [a] } |
| 2021-06-16 18:07:03 | <lambdabot> | Defined. |
| 2021-06-16 18:07:06 | <dminuoso> | Other than hxt Im not even aware of any library that exposes its users to arrows. |
| 2021-06-16 18:07:12 | <Zemyla> | @let mergeWith cmp = let { go [] bs = bs; go as [] = as; go as@(a:as') bs@(b:bs') = if cmp a b == GT then b:go as bs' else a:go as' bs } in go |
| 2021-06-16 18:07:14 | <lambdabot> | Defined. |
| 2021-06-16 18:07:47 | <Zemyla> | @let instance Functor Sorting where { fmap f (Sorting m) = Sorting (\cmp -> f <$> m (\a b -> cmp (f a) (f b))); a <$ Sorting m = Sorting (\_ -> a <$ m (\_ _ -> EQ)) } |
| 2021-06-16 18:07:48 | <lambdabot> | Defined. |
| 2021-06-16 18:09:23 | × | edun quits (~edun@user/edun) (Ping timeout: 268 seconds) |
| 2021-06-16 18:09:38 | × | ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 244 seconds) |
| 2021-06-16 18:09:58 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 2021-06-16 18:10:52 | → | tremon joins (~tremon@217-63-61-89.cable.dynamic.v4.ziggo.nl) |
| 2021-06-16 18:10:57 | <Ariakenom> | dolio: did you have links to the LC machine paper and TM paper? |
| 2021-06-16 18:11:22 | <dolio> | No, I looked briefly, but I'm not sure which wikipedia article they were cited on. |
| 2021-06-16 18:11:34 | <dolio> | It's entirely possible the citations were changed, too. |
| 2021-06-16 18:13:59 | → | __monty__ joins (~toonn@user/toonn) |
| 2021-06-16 18:15:04 | <dolio> | I seem to recall it was after Church's paper on an undecidable problem in number theory, though, so it'd put it around 36 at the earliest. |
| 2021-06-16 18:16:44 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 2021-06-16 18:21:07 | × | azeem quits (~azeem@dynamic-adsl-78-13-238-239.clienti.tiscali.it) (Read error: Connection reset by peer) |
| 2021-06-16 18:21:38 | × | danso quits (~danso@23-233-111-52.cpe.pppoe.ca) (Quit: WeeChat 3.1) |
| 2021-06-16 18:22:01 | <Zemyla> | @let fromSorting (Sorting m) = m compare |
| 2021-06-16 18:22:03 | <lambdabot> | Defined. |
| 2021-06-16 18:22:27 | <Zemyla> | @let toSorting a = Sorting (const a) |
| 2021-06-16 18:22:28 | <lambdabot> | Defined. |
| 2021-06-16 18:22:50 | × | slowButPresent quits (~slowButPr@user/slowbutpresent) (Ping timeout: 268 seconds) |
| 2021-06-16 18:23:04 | → | lavaman joins (~lavaman@98.38.249.169) |
| 2021-06-16 18:23:18 | × | Guest9 quits (~Guest9@103.250.139.6) (Quit: Connection closed) |
| 2021-06-16 18:23:32 | <Ariakenom> | dolio: the TM paper was released 36 tho. I thought you said the order was the opposite |
| 2021-06-16 18:23:39 | → | danso joins (~danso@23-233-111-52.cpe.pppoe.ca) |
| 2021-06-16 18:23:48 | × | ukari quits (~ukari@user/ukari) (Remote host closed the connection) |
| 2021-06-16 18:24:20 | <Zemyla> | > fromSorting $ mconcat $ fmap toSorting [5, 1, 4, 2, 3] |
| 2021-06-16 18:24:22 | <lambdabot> | error: |
| 2021-06-16 18:24:22 | <lambdabot> | • No instance for (Num [()]) arising from a use of ‘e_151423’ |
| 2021-06-16 18:24:22 | <lambdabot> | • In the expression: e_151423 |
| 2021-06-16 18:24:30 | <Zemyla> | :t toSorting |
| 2021-06-16 18:24:32 | <lambdabot> | [a] -> Sorting a |
| 2021-06-16 18:24:38 | → | slowButPresent joins (~slowButPr@user/slowbutpresent) |
| 2021-06-16 18:24:40 | <dolio> | Ariakenom: Maybe the TM paper I found was not the earliest TM paper. |
| 2021-06-16 18:24:51 | <Zemyla> | @let toSorting' a = Sorting (const [a]) |
| 2021-06-16 18:24:52 | <dolio> | Or was a republish or something. |
| 2021-06-16 18:24:52 | <lambdabot> | Defined. |
| 2021-06-16 18:25:02 | <Zemyla> | > fromSorting $ mconcat $ fmap toSorting' [5, 1, 4, 2, 3] |
| 2021-06-16 18:25:04 | <lambdabot> | [1,2,3,4,5] |
| 2021-06-16 18:25:05 | → | ukari joins (~ukari@user/ukari) |
| 2021-06-16 18:26:11 | × | dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 272 seconds) |
| 2021-06-16 18:27:27 | × | sbmsr quits (~pi@2600:1700:63d0:4830:7dbf:92d8:fd42:235d) (Ping timeout: 272 seconds) |
| 2021-06-16 18:27:53 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 268 seconds) |
| 2021-06-16 18:29:06 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2021-06-16 18:29:56 | → | maroloccio joins (~marolocci@200.243.99.194) |
| 2021-06-16 18:29:59 | × | slack1256 quits (~slack1256@191.126.99.209) (Ping timeout: 272 seconds) |
| 2021-06-16 18:30:11 | → | Morrow joins (~Morrow@bzq-110-168-31-106.red.bezeqint.net) |
| 2021-06-16 18:30:56 | × | wonko_ quits (~wjc@62.115.229.50) (Ping timeout: 252 seconds) |
| 2021-06-16 18:31:11 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 2021-06-16 18:31:22 | → | azeem joins (~azeem@dynamic-adsl-78-13-238-239.clienti.tiscali.it) |
| 2021-06-16 18:31:31 | → | wonko_ joins (~wjc@62.115.229.50) |
| 2021-06-16 18:32:13 | <Zemyla> | Is there a reason why tail is partial? Couldn't tail [] = []? |
| 2021-06-16 18:32:41 | <Clint> | Zemyla: what would its type be then? |
| 2021-06-16 18:32:59 | <Clint> | nevermind, i misread |
| 2021-06-16 18:33:17 | <Zemyla> | @let tail' [] = []; tail' (_:as) = as |
| 2021-06-16 18:33:19 | <lambdabot> | Defined. |
| 2021-06-16 18:33:21 | <Zemyla> | :t tail' |
| 2021-06-16 18:33:22 | <lambdabot> | [a] -> [a] |
| 2021-06-16 18:33:26 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds) |
| 2021-06-16 18:33:28 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:cded:c7cb:4d63:a64a) (Remote host closed the connection) |
| 2021-06-16 18:36:43 | <dolio> | Ariakenom: The TM part wasn't my main point anyway. That the history of lambda calculus makes Curry-Howard very unsurprising was the main point. |
| 2021-06-16 18:38:41 | → | Guest6631 joins (~dunkeln@94.129.65.28) |
| 2021-06-16 18:39:07 | → | ddellacosta joins (~ddellacos@86.106.121.100) |
| 2021-06-16 18:39:29 | × | wonko_ quits (~wjc@62.115.229.50) (Ping timeout: 268 seconds) |
| 2021-06-16 18:40:12 | × | maroloccio quits (~marolocci@200.243.99.194) (Quit: Client closed) |
| 2021-06-16 18:40:29 | <crazazy> | so i was wondering: is this considered bad practice? https://ttm.sh/FU4.png |
| 2021-06-16 18:41:06 | <tomsmeding> | Zemyla: I guess the same reason that the 'rm' command-line tool throws an error when you try to remove a non-existent file except silently exiting |
| 2021-06-16 18:41:31 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2021-06-16 18:41:59 | <tomsmeding> | and you can always use 'drop 1' instead |
All times are in UTC.