2021-09-01 00:09:01 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds) |
2021-09-01 00:09:18 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-09-01 00:13:20 +0200 | Morrow_ | (~Morrow@bzq-110-168-31-106.red.bezeqint.net) |
2021-09-01 00:15:54 +0200 | benin0369323 | (~benin@183.82.24.161) |
2021-09-01 00:17:28 +0200 | sjb0 | (~stephen@2001:8004:5100:2960:eb63:6877:c6aa:5d94) (Quit: Leaving.) |
2021-09-01 00:18:46 +0200 | benin036932 | (~benin@183.82.24.161) (Ping timeout: 244 seconds) |
2021-09-01 00:18:46 +0200 | benin0369323 | benin036932 |
2021-09-01 00:22:20 +0200 | fendor | (~fendor@77.119.206.17.wireless.dyn.drei.com) (Read error: Connection reset by peer) |
2021-09-01 00:22:49 +0200 | acidjnk_new | (~acidjnk@p200300d0c7203039d576453b109ce99e.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
2021-09-01 00:23:25 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds) |
2021-09-01 00:23:42 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-09-01 00:27:20 +0200 | yaroot | (~yaroot@6.3.30.125.dy.iij4u.or.jp) (Quit: The Lounge - https://thelounge.chat) |
2021-09-01 00:28:07 +0200 | yaroot | (~yaroot@6.3.30.125.dy.iij4u.or.jp) |
2021-09-01 00:32:12 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds) |
2021-09-01 00:32:29 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-09-01 00:33:14 +0200 | azeem | (~azeem@62.19.37.175) (Ping timeout: 244 seconds) |
2021-09-01 00:34:16 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 244 seconds) |
2021-09-01 00:35:19 +0200 | michalz | (~michalz@185.246.204.40) (Remote host closed the connection) |
2021-09-01 00:37:14 +0200 | infinity0 | (~infinity0@occupy.ecodis.net) (Remote host closed the connection) |
2021-09-01 00:37:53 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 244 seconds) |
2021-09-01 00:39:28 +0200 | azeem | (~azeem@62.19.37.175) |
2021-09-01 00:39:57 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-09-01 00:41:27 +0200 | infinity0 | (~infinity0@occupy.ecodis.net) |
2021-09-01 00:43:41 +0200 | sm2n_ | sm2n |
2021-09-01 00:48:22 +0200 | Guest27 | (~Guest27@188.71.213.184) |
2021-09-01 00:50:00 +0200 | Guest27 | (~Guest27@188.71.213.184) (Client Quit) |
2021-09-01 00:50:19 +0200 | azeem | (~azeem@62.19.37.175) (Ping timeout: 252 seconds) |
2021-09-01 00:54:55 +0200 | azeem | (~azeem@62.19.37.175) |
2021-09-01 00:56:43 +0200 | Topsi | (~Tobias@dyndsl-095-033-019-089.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
2021-09-01 00:57:30 +0200 | Topsi | (~Tobias@dyndsl-095-033-019-089.ewe-ip-backbone.de) |
2021-09-01 00:58:24 +0200 | SystemFFan | (~SystemFFa@188.71.213.184) |
2021-09-01 00:59:07 +0200 | peterhil | (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Ping timeout: 252 seconds) |
2021-09-01 01:01:39 +0200 | Topsi | (~Tobias@dyndsl-095-033-019-089.ewe-ip-backbone.de) (Ping timeout: 244 seconds) |
2021-09-01 01:02:40 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-01 01:02:59 +0200 | dextaa | (~DV@user/dextaa) (Ping timeout: 250 seconds) |
2021-09-01 01:03:24 +0200 | amk | (~amk@109.255.169.126) (Read error: Connection reset by peer) |
2021-09-01 01:04:18 +0200 | dextaa | (~DV@user/dextaa) |
2021-09-01 01:13:45 +0200 | sjb0 | (~stephen@1.145.22.171) |
2021-09-01 01:16:03 +0200 | kayprish | (~kayprish@cable-188-2-229-172.dynamic.sbb.rs) (Remote host closed the connection) |
2021-09-01 01:16:59 +0200 | Topsi | (~Tobias@dyndsl-091-249-082-194.ewe-ip-backbone.de) |
2021-09-01 01:17:25 +0200 | sjb0 | (~stephen@1.145.22.171) () |
2021-09-01 01:24:33 +0200 | amk | (~amk@109.255.169.126) |
2021-09-01 01:29:47 +0200 | Guest2602 | (~user@2601:644:8500:8350::cc04) |
2021-09-01 01:30:11 +0200 | <Guest2602> | Constraint solving library for a beginner? |
2021-09-01 01:30:26 +0200 | <Guest2602> | So far, I'm aware of Holmes (backed by propagators) |
2021-09-01 01:31:50 +0200 | <Guest2602> | Or is it best to implement ad hoc SLD resolution via the List monad and do the rest from scratch as if it were Prolog? |
2021-09-01 01:37:04 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-09-01 01:38:57 +0200 | Gurkenglas | (~Gurkengla@dslb-088-075-022-191.088.075.pools.vodafone-ip.de) (Ping timeout: 250 seconds) |
2021-09-01 01:41:46 +0200 | <arahael> | out of curiosity, does ghc have a way to test for physical equality? (for writing optimised code) |
2021-09-01 01:42:17 +0200 | <arahael> | eg, no need to re-render a data structure if it is the same object as a previous structure. |
2021-09-01 01:43:44 +0200 | <davean> | arahael: isn't htat safeCoerve? |
2021-09-01 01:43:57 +0200 | <davean> | *safe coerce |
2021-09-01 01:46:33 +0200 | <monochrom> | GHC.Prim.reallyUnsafePtrEquality# |
2021-09-01 01:46:44 +0200 | Topsi | (~Tobias@dyndsl-091-249-082-194.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
2021-09-01 01:47:18 +0200 | <monochrom> | "Warning: this can fail with an unchecked exception." |
2021-09-01 01:52:17 +0200 | dajoer | (~david@user/gvx) |
2021-09-01 01:53:01 +0200 | <arahael> | davean: will check that out! |
2021-09-01 01:53:14 +0200 | <arahael> | monochrom: can that be caught? |
2021-09-01 01:53:56 +0200 | Ae | (~Ae@122-56-197-231.mobile.spark.co.nz) |
2021-09-01 01:54:08 +0200 | Ae | (~Ae@122-56-197-231.mobile.spark.co.nz) (Remote host closed the connection) |
2021-09-01 01:54:39 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.) |
2021-09-01 01:54:46 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-09-01 01:56:42 +0200 | <arahael> | davean: how would i use unsafeCoerce in this way? |
2021-09-01 01:58:22 +0200 | <davean> | I didn't say unsafe, I said safe |
2021-09-01 01:58:42 +0200 | <davean> | The representation is the same |
2021-09-01 01:59:04 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
2021-09-01 02:00:02 +0200 | zopsi | (~zopsi@irc.dir.ac) (Quit: Oops) |
2021-09-01 02:00:09 +0200 | peterhil | (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) |
2021-09-01 02:00:39 +0200 | <arahael> | davean: from the registry package? |
2021-09-01 02:00:41 +0200 | <monochrom> | Catching exceptions without IO will be very tricky and fragile. Note that reallyUnsafePtrEquality does not involve IO. |
2021-09-01 02:00:53 +0200 | zopsi | (zopsi@2600:3c00::f03c:91ff:fe14:551f) |
2021-09-01 02:01:10 +0200 | <arahael> | monochrom: in IO would be fine. |
2021-09-01 02:01:15 +0200 | <davean> | arahael: no, from base |
2021-09-01 02:01:28 +0200 | <arahael> | davean: it does not show up in hoogle! |
2021-09-01 02:01:42 +0200 | <monochrom> | But I suppose "evaluate (reallyUnsafePtrEquality x y)" may improve. |
2021-09-01 02:01:43 +0200 | <davean> | arahael: Why use hoogle? https://hackage.haskell.org/package/base-4.15.0.0/docs/Data-Coerce.html |
2021-09-01 02:02:03 +0200 | <monochrom> | However, I have never tried it, I have zero confidence this does anything at all. |
2021-09-01 02:02:05 +0200 | <arahael> | davean: because i didnt know it was in Data.Coerce. |
2021-09-01 02:02:31 +0200 | <davean> | arahael: Neither did I |
2021-09-01 02:02:46 +0200 | adam_ | (uid515807@id-515807.tooting.irccloud.com) |
2021-09-01 02:03:22 +0200 | <arahael> | ok, just looked at the sig, it is basically a-> b. how would i use that? |
2021-09-01 02:03:26 +0200 | <adam_> | #haskell beginners |
2021-09-01 02:03:36 +0200 | <arahael> | i want a -> a -> Bool |
2021-09-01 02:03:51 +0200 | <arahael> | ie, "are these the same object?" |
2021-09-01 02:04:12 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 245 seconds) |
2021-09-01 02:04:24 +0200 | desantra | (~skykanin@user/skykanin) |
2021-09-01 02:04:33 +0200 | <davean> | arahael: It does it at the type level |
2021-09-01 02:04:40 +0200 | <arahael> | davean: not what i want. |
2021-09-01 02:04:50 +0200 | <davean> | ah, ok |
2021-09-01 02:04:52 +0200 | myShoggoth | (~myShoggot@97-120-70-214.ptld.qwest.net) |
2021-09-01 02:04:56 +0200 | <myShoggoth> | Haskell Foundation August Update: https://discourse.haskell.org/t/haskell-foundation-august-update/3006 |
2021-09-01 02:05:18 +0200 | <davean> | arahael: then how are you processing these different forms? |
2021-09-01 02:05:45 +0200 | <arahael> | davean: "if the object is different, re-render the display". |
2021-09-01 02:06:19 +0200 | <yushyin> | Merch Shop? oO :D |
2021-09-01 02:06:43 +0200 | <davean> | oh wait, you want to know if the binary representation, in memory, is equal? |
2021-09-01 02:06:48 +0200 | <davean> | I do not tihnk this will do what you want |
2021-09-01 02:06:58 +0200 | <arahael> | davean: indeed. exact physical equality. |
2021-09-01 02:07:17 +0200 | <davean> | arahael: That doesn't make sense in Haskell |
2021-09-01 02:07:28 +0200 | <davean> | That doesn't tell you if its the same object or not |
2021-09-01 02:07:44 +0200 | <arahael> | davean: why not? |
2021-09-01 02:08:06 +0200 | <davean> | arahael: for example, because the GC reorganised memory while you were looking |
2021-09-01 02:08:22 +0200 | <arahael> | davean: then they wont be equal, thats fine. |
2021-09-01 02:08:26 +0200 | <davean> | So now its components have different values but its the same one |
2021-09-01 02:08:37 +0200 | <arahael> | so it'll just redraw. |
2021-09-01 02:08:46 +0200 | <davean> | arahael: address equality is better, or equality is better |
2021-09-01 02:08:53 +0200 | <davean> | address equality is also far faster |
2021-09-01 02:09:14 +0200 | <davean> | like, thousands of times faster |
2021-09-01 02:09:16 +0200 | <arahael> | address equality is usually how most languages do this. |
2021-09-01 02:09:32 +0200 | <davean> | Because its saner |
2021-09-01 02:09:43 +0200 | <davean> | But thats not the same thing is bit equality |
2021-09-01 02:10:15 +0200 | <arahael> | i think we are getting hung up on semantics a bit. |
2021-09-01 02:10:59 +0200 | <arahael> | unless you are suggesting that the bits can change quite often in normal use cases? |
2021-09-01 02:11:02 +0200 | <davean> | With IORef neither bit equality or address equality would reprent if it had changed |
2021-09-01 02:11:08 +0200 | <davean> | arahael: Of course they do! |
2021-09-01 02:11:17 +0200 | <davean> | Constantly |
2021-09-01 02:11:40 +0200 | <arahael> | oh? doesnt a new object get created whenever updating a structure? |
2021-09-01 02:11:46 +0200 | <davean> | Every GC for sure, if its not unpacked |
2021-09-01 02:12:47 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-09-01 02:12:54 +0200 | <davean> | Plus bit-wise comparison is just SUPER slow |
2021-09-01 02:13:04 +0200 | <arahael> | Ah, so I'd best introduce a tag of my own or something that I update whenever I want to say "this has changed". |
2021-09-01 02:13:09 +0200 | <arahael> | So I could check the revision tag. |
2021-09-01 02:13:17 +0200 | <arahael> | (brb - short meeting) |
2021-09-01 02:14:00 +0200 | <davean> | well if you keep a reference to the last version, and you do pointer equality, and you don't have any refs in your datastructure, you're pretty good |
2021-09-01 02:14:23 +0200 | <davean> | You can also get a stable name if you HAVE to avoid the ref |
2021-09-01 02:16:36 +0200 | <davean> | I'd keep a ref to the old one, make sure my display function wasn't in IO/ST so it couldn't deref an (IO/ST)Ref/MVar/TVar/Etc, and use unsafe pointer equality |
2021-09-01 02:26:40 +0200 | napping | (~brandon@65.128.58.64) () |
2021-09-01 02:26:42 +0200 | desantra | (~skykanin@user/skykanin) (Quit: WeeChat 3.2) |
2021-09-01 02:37:22 +0200 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2021-09-01 02:37:28 +0200 | renzhi | (~xp@2607:fa49:6500:3d00::d986) (Quit: WeeChat 2.3) |
2021-09-01 02:39:20 +0200 | renzhi | (~xp@2607:fa49:6500:3d00::d986) |
2021-09-01 02:45:41 +0200 | <arahael> | Ok, just finished up that meeting. Ah, that's an intriguing option, so it sounds like there are a bunch of options I would have to explore. |
2021-09-01 02:46:13 +0200 | <arahael> | And a ref to the old and current ones would work well. |
2021-09-01 02:52:44 +0200 | favonia | (~favonia@user/favonia) |
2021-09-01 02:55:20 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2021-09-01 02:57:52 +0200 | opac | (~opac@ip-28-56.sn2.clouditalia.com) (Quit: Going offline, see ya! (www.adiirc.com)) |
2021-09-01 02:58:19 +0200 | alx741 | (~alx741@186.178.108.235) |
2021-09-01 03:03:05 +0200 | SystemFFan | (~SystemFFa@188.71.213.184) (Remote host closed the connection) |
2021-09-01 03:04:54 +0200 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 256 seconds) |
2021-09-01 03:11:20 +0200 | azeem | (~azeem@62.19.37.175) (Ping timeout: 244 seconds) |
2021-09-01 03:12:39 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2021-09-01 03:13:24 +0200 | favonia | (~favonia@user/favonia) (Ping timeout: 244 seconds) |
2021-09-01 03:13:46 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2021-09-01 03:14:57 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 244 seconds) |
2021-09-01 03:15:37 +0200 | thyriaen | (~thyriaen@x4db7e539.dyn.telefonica.de) |
2021-09-01 03:16:02 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-09-01 03:16:36 +0200 | neurocyte6 | (~neurocyte@45.93.108.142) |
2021-09-01 03:16:36 +0200 | neurocyte6 | (~neurocyte@45.93.108.142) (Changing host) |
2021-09-01 03:16:36 +0200 | neurocyte6 | (~neurocyte@user/neurocyte) |
2021-09-01 03:18:24 +0200 | motherfsck | (~motherfsc@user/motherfsck) (Quit: quit) |
2021-09-01 03:18:49 +0200 | neurocyte | (~neurocyte@user/neurocyte) (Ping timeout: 252 seconds) |
2021-09-01 03:18:49 +0200 | neurocyte6 | neurocyte |
2021-09-01 03:19:06 +0200 | azeem | (~azeem@62.19.37.175) |
2021-09-01 03:19:56 +0200 | motherfsck | (~motherfsc@user/motherfsck) |
2021-09-01 03:20:22 +0200 | meinside_ | meinside |
2021-09-01 03:21:06 +0200 | thyriaen | (~thyriaen@x4db7e539.dyn.telefonica.de) (Quit: Leaving) |
2021-09-01 03:24:16 +0200 | d0ku | (~d0ku@178.43.56.75.ipv4.supernova.orange.pl) (Ping timeout: 252 seconds) |
2021-09-01 03:27:34 +0200 | ouroboros | (~ouroboros@user/ouroboros) (Ping timeout: 252 seconds) |
2021-09-01 03:28:03 +0200 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) (Remote host closed the connection) |
2021-09-01 03:32:27 +0200 | favonia | (~favonia@user/favonia) |
2021-09-01 03:34:29 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-01 03:34:40 +0200 | xff0x | (~xff0x@2001:1a81:52bb:c200:954e:ca7f:9978:3e44) (Ping timeout: 240 seconds) |
2021-09-01 03:34:43 +0200 | azeem | (~azeem@62.19.37.175) (Ping timeout: 252 seconds) |
2021-09-01 03:36:35 +0200 | xff0x | (~xff0x@2001:1a81:52f2:5d00:a43c:729f:4397:fe8e) |
2021-09-01 03:37:01 +0200 | ouroboros | (~ouroboros@user/ouroboros) |
2021-09-01 03:41:47 +0200 | <zzz> | let bindings are irrefutable by ddfault, right? so is there any difference between `let [a,b] = ... in ...` and `let ~[a,b] = ... in ...` ? |
2021-09-01 03:42:14 +0200 | azeem | (~azeem@62.19.37.175) |
2021-09-01 03:42:18 +0200 | ormaaj | ormaaj2 |
2021-09-01 03:42:48 +0200 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
2021-09-01 03:44:24 +0200 | dsrt^ | (~dsrt@wsip-98-188-244-188.mc.at.cox.net) (Ping timeout: 244 seconds) |
2021-09-01 03:48:59 +0200 | Neuromancer | (~Neuromanc@user/neuromancer) |
2021-09-01 03:51:26 +0200 | selve | (~selve@bas2-montreal28-70-53-241-238.dsl.bell.ca) |
2021-09-01 03:52:26 +0200 | <Cale> | zzz: Nope, those are the same |
2021-09-01 03:54:13 +0200 | favonia | (~favonia@user/favonia) (Ping timeout: 244 seconds) |
2021-09-01 03:54:22 +0200 | _xor | (~xor@74.215.232.67) |
2021-09-01 03:58:22 +0200 | Morrow_ | (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 252 seconds) |
2021-09-01 03:58:55 +0200 | Morrow | (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 252 seconds) |
2021-09-01 04:04:43 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
2021-09-01 04:06:39 +0200 | Morrow | (~Morrow@bzq-110-168-31-106.red.bezeqint.net) |
2021-09-01 04:07:46 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-09-01 04:13:49 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 252 seconds) |
2021-09-01 04:15:31 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2021-09-01 04:24:11 +0200 | td_ | (~td@94.134.91.147) (Ping timeout: 244 seconds) |
2021-09-01 04:26:08 +0200 | td_ | (~td@94.134.91.219) |
2021-09-01 04:30:16 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
2021-09-01 04:33:04 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2) |
2021-09-01 04:35:46 +0200 | mceldeen | (~igloo@174-16-163-16.hlrn.qwest.net) |
2021-09-01 04:36:09 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-09-01 04:36:09 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-09-01 04:36:09 +0200 | wroathe | (~wroathe@user/wroathe) |
2021-09-01 04:36:37 +0200 | selve | (~selve@bas2-montreal28-70-53-241-238.dsl.bell.ca) () |
2021-09-01 04:38:54 +0200 | mceldeen | (~igloo@174-16-163-16.hlrn.qwest.net) (Remote host closed the connection) |
2021-09-01 04:40:17 +0200 | sleblanc | (~sleblanc@user/sleblanc) |
2021-09-01 04:40:18 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2021-09-01 04:40:43 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 244 seconds) |
2021-09-01 04:40:43 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds) |
2021-09-01 04:41:16 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-09-01 04:53:42 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 256 seconds) |
2021-09-01 04:55:11 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds) |
2021-09-01 04:55:28 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-09-01 04:56:43 +0200 | benin036932 | (~benin@183.82.24.161) (Ping timeout: 252 seconds) |
2021-09-01 04:58:59 +0200 | favonia | (~favonia@user/favonia) |
2021-09-01 05:06:09 +0200 | alx741 | (~alx741@186.178.108.235) (Quit: alx741) |
2021-09-01 05:06:37 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds) |
2021-09-01 05:06:54 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-09-01 05:08:13 +0200 | betelgeuse | (~betelgeus@94-225-47-8.access.telenet.be) (Ping timeout: 252 seconds) |
2021-09-01 05:11:10 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 240 seconds) |
2021-09-01 05:11:27 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-09-01 05:12:35 +0200 | otto_s | (~user@p5de2f66c.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
2021-09-01 05:14:32 +0200 | otto_s | (~user@p5de2f920.dip0.t-ipconnect.de) |
2021-09-01 05:16:15 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Ping timeout: 276 seconds) |
2021-09-01 05:17:04 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds) |
2021-09-01 05:17:21 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-09-01 05:17:34 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2021-09-01 05:21:19 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2021-09-01 05:24:25 +0200 | fjmorazan | (~quassel@user/fjmorazan) (Quit: fjmorazan) |
2021-09-01 05:25:02 +0200 | fjmorazan | (~quassel@user/fjmorazan) |
2021-09-01 05:30:36 +0200 | favonia | (~favonia@user/favonia) (Remote host closed the connection) |
2021-09-01 05:31:21 +0200 | favonia | (~favonia@user/favonia) |
2021-09-01 05:31:40 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 240 seconds) |
2021-09-01 05:31:40 +0200 | Morrow | (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 240 seconds) |
2021-09-01 05:31:57 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-09-01 05:33:26 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:4859:a541:745f:7f0e) (Remote host closed the connection) |
2021-09-01 05:37:58 +0200 | renzhi | (~xp@2607:fa49:6500:3d00::d986) (Ping timeout: 252 seconds) |
2021-09-01 05:38:22 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-09-01 05:38:22 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-09-01 05:38:22 +0200 | wroathe | (~wroathe@user/wroathe) |
2021-09-01 05:39:13 +0200 | Guest4294 | (~Guest42@223.18.154.68) |
2021-09-01 05:40:02 +0200 | TranquilEcho | (~grom@user/tranquilecho) (Quit: WeeChat 2.8) |
2021-09-01 05:56:33 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-09-01 05:56:47 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2021-09-01 06:00:40 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
2021-09-01 06:03:01 +0200 | oxide | (~lambda@user/oxide) |
2021-09-01 06:04:27 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-01 06:06:37 +0200 | oxide_ | (~lambda@user/oxide) |
2021-09-01 06:12:26 +0200 | hololeap_ | (~hololeap@user/hololeap) |
2021-09-01 06:12:38 +0200 | zebrag | (~chris@user/zebrag) (Quit: Konversation terminated!) |
2021-09-01 06:12:41 +0200 | oxide | (~lambda@user/oxide) (Ping timeout: 244 seconds) |
2021-09-01 06:12:48 +0200 | hololeap | (~hololeap@user/hololeap) (Ping timeout: 276 seconds) |
2021-09-01 06:19:42 +0200 | hololeap_ | hololeap |
2021-09-01 06:21:25 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds) |
2021-09-01 06:22:19 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-09-01 06:25:49 +0200 | oxide_ | (~lambda@user/oxide) (Quit: oxide_) |
2021-09-01 06:26:03 +0200 | oxide | (~lambda@user/oxide) |
2021-09-01 06:29:34 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2) |
2021-09-01 06:34:10 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:76:2b00:7f15:65d3) |
2021-09-01 06:37:55 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-09-01 06:38:40 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:76:2b00:7f15:65d3) (Ping timeout: 240 seconds) |
2021-09-01 06:44:12 +0200 | azeem | (~azeem@62.19.37.175) (Ping timeout: 244 seconds) |
2021-09-01 06:44:25 +0200 | azeem | (~azeem@62.19.37.175) |
2021-09-01 06:48:40 +0200 | azeem | (~azeem@62.19.37.175) (Ping timeout: 240 seconds) |
2021-09-01 06:49:23 +0200 | azeem | (~azeem@62.19.37.175) |
2021-09-01 06:53:18 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:76:2b00:7f15:65d3) |
2021-09-01 06:53:52 +0200 | azeem | (~azeem@62.19.37.175) (Ping timeout: 252 seconds) |
2021-09-01 06:54:24 +0200 | azeem | (~azeem@62.19.37.175) |
2021-09-01 06:56:48 +0200 | betelgeuse | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-09-01 07:00:27 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2021-09-01 07:01:10 +0200 | azeem | (~azeem@62.19.37.175) (Ping timeout: 240 seconds) |
2021-09-01 07:01:29 +0200 | azeem | (~azeem@62.19.37.175) |
2021-09-01 07:10:44 +0200 | Sgeo_ | (~Sgeo@user/sgeo) |
2021-09-01 07:10:46 +0200 | slowButPresent | (~slowButPr@user/slowbutpresent) (Quit: leaving) |
2021-09-01 07:12:57 +0200 | Sgeo | (~Sgeo@user/sgeo) (Ping timeout: 245 seconds) |
2021-09-01 07:22:28 +0200 | sleblanc | (~sleblanc@user/sleblanc) (Ping timeout: 252 seconds) |
2021-09-01 07:24:22 +0200 | kimjetwav | (~user@2607:fea8:235f:9730:5f39:722f:3a32:7c97) |
2021-09-01 07:24:57 +0200 | Guest4294 | (~Guest42@223.18.154.68) (Ping timeout: 256 seconds) |
2021-09-01 07:24:59 +0200 | aegon | (~mike@174.127.249.180) (Quit: leaving) |
2021-09-01 07:25:10 +0200 | _xor | (~xor@74.215.232.67) (Quit: brb) |
2021-09-01 07:26:19 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-09-01 07:26:21 +0200 | vysn | (~vysn@user/vysn) |
2021-09-01 07:29:05 +0200 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 250 seconds) |
2021-09-01 07:29:49 +0200 | qbt | (~edun@user/edun) |
2021-09-01 07:30:47 +0200 | qbt | (~edun@user/edun) (Remote host closed the connection) |
2021-09-01 07:36:43 +0200 | azeem | (~azeem@62.19.37.175) (Ping timeout: 252 seconds) |
2021-09-01 07:37:14 +0200 | azeem | (~azeem@62.19.37.175) |
2021-09-01 07:40:37 +0200 | peterhil | (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Ping timeout: 252 seconds) |
2021-09-01 07:51:06 +0200 | <arahael> | what's that ~ for? |
2021-09-01 07:58:33 +0200 | mikoto-chan | (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) |
2021-09-01 07:59:19 +0200 | <opqdonut> | lazy pattern |
2021-09-01 07:59:26 +0200 | <opqdonut> | aka irrefutable pattern |
2021-09-01 08:00:20 +0200 | <pavonia> | > let yay ~(x,y) = "yay"; nay (x,y) = "nay" in (yay undefined, nay undefined) |
2021-09-01 08:00:21 +0200 | <lambdabot> | ("yay","*Exception: Prelude.undefined |
2021-09-01 08:01:44 +0200 | <arahael> | opqdonut: Thanks - that give sme some keywords :D |
2021-09-01 08:02:01 +0200 | <Christoph[m]> | https://wiki.haskell.org/Keywords#.7E |
2021-09-01 08:05:19 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 244 seconds) |
2021-09-01 08:11:00 +0200 | azeem | (~azeem@62.19.37.175) (Ping timeout: 244 seconds) |
2021-09-01 08:11:39 +0200 | azeem | (~azeem@62.19.37.175) |
2021-09-01 08:13:47 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
2021-09-01 08:15:52 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-09-01 08:15:52 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-09-01 08:15:52 +0200 | wroathe | (~wroathe@user/wroathe) |
2021-09-01 08:18:14 +0200 | favonia | (~favonia@user/favonia) (Ping timeout: 244 seconds) |
2021-09-01 08:19:23 +0200 | max22- | (~maxime@2a01cb08833598001c2c73c755058a4b.ipv6.abo.wanadoo.fr) |
2021-09-01 08:20:27 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 245 seconds) |
2021-09-01 08:22:53 +0200 | michalz | (~michalz@185.246.204.55) |
2021-09-01 08:23:31 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 252 seconds) |
2021-09-01 08:28:14 +0200 | Gurkenglas | (~Gurkengla@dslb-088-075-022-191.088.075.pools.vodafone-ip.de) |
2021-09-01 08:29:47 +0200 | oxide | (~lambda@user/oxide) (Quit: oxide) |
2021-09-01 08:30:07 +0200 | son0p | (~ff@181.136.122.143) (Ping timeout: 244 seconds) |
2021-09-01 08:30:33 +0200 | oxide | (~lambda@user/oxide) |
2021-09-01 08:35:00 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-01 08:35:29 +0200 | <taeaad> | What is the relationship between a DAG and lambda calculus? Are the nodes in the graph states? Or are the domains and codomains? I've known for a while that Excel for example uses a DAG in the backend, and generally that there is a connection to functional programming, but just realised that I wouldn't be able to write out what the connection is. |
2021-09-01 08:37:00 +0200 | <taeaad> | Or from another perspectve, in the category Hask, is the appropriate DAG simply the generated by morphisms of Hask? |
2021-09-01 08:37:08 +0200 | <taeaad> | *the one |
2021-09-01 08:39:12 +0200 | <taeaad> | Hmm, I see Hask is not cartesian closed and doesn't have products or coproducts. So, should we think of "plantonic Hask" instead? |
2021-09-01 08:42:52 +0200 | Sgeo_ | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2021-09-01 08:43:04 +0200 | phma_ | (~phma@host-67-44-208-4.hnremote.net) |
2021-09-01 08:43:40 +0200 | phma | (phma@2001:0:c38c:c38c:2cd8:e4d3:bcd3:2ffb) (Ping timeout: 240 seconds) |
2021-09-01 08:46:42 +0200 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 245 seconds) |
2021-09-01 08:48:42 +0200 | jonathanx_ | (~jonathan@dyn-8-sc.cdg.chalmers.se) (Remote host closed the connection) |
2021-09-01 08:50:04 +0200 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) |
2021-09-01 08:53:56 +0200 | mei | (~mei@user/mei) |
2021-09-01 08:55:26 +0200 | <[exa]> | taeaad: excel uses the graphs for dependency tracking, no need for that in the "normal" lambda calculus unless you jump into specific implementations of lazy evaluation |
2021-09-01 08:55:27 +0200 | azeem | (~azeem@62.19.37.175) (Ping timeout: 245 seconds) |
2021-09-01 08:56:30 +0200 | azeem | (~azeem@62.19.37.175) |
2021-09-01 08:57:12 +0200 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) |
2021-09-01 09:00:14 +0200 | Guest2602 | (~user@2601:644:8500:8350::cc04) (Quit: ERC (IRC client for Emacs 27.2)) |
2021-09-01 09:02:13 +0200 | phma_ | phma |
2021-09-01 09:09:23 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds) |
2021-09-01 09:09:40 +0200 | azeem | (~azeem@62.19.37.175) (Ping timeout: 252 seconds) |
2021-09-01 09:10:06 +0200 | slavaqq | (~slavaqq@sdmail.sdserver.cz) |
2021-09-01 09:10:30 +0200 | nschoe | (~quassel@178.251.84.79) |
2021-09-01 09:12:18 +0200 | azeem | (~azeem@62.19.37.175) |
2021-09-01 09:18:54 +0200 | azeem | (~azeem@62.19.37.175) (Ping timeout: 256 seconds) |
2021-09-01 09:20:55 +0200 | azeem | (~azeem@62.19.37.175) |
2021-09-01 09:22:12 +0200 | hannessteffenhag | (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
2021-09-01 09:30:57 +0200 | acidjnk_new | (~acidjnk@p200300d0c7203039d576453b109ce99e.dip0.t-ipconnect.de) |
2021-09-01 09:36:25 +0200 | Boomerang | (~Boomerang@xd520f68c.cust.hiper.dk) |
2021-09-01 09:40:36 +0200 | aman | (~aman@user/aman) |
2021-09-01 09:40:44 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-09-01 09:40:50 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2021-09-01 09:43:01 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-01 09:45:21 +0200 | desophos | (~desophos@c-24-14-63-128.hsd1.il.comcast.net) |
2021-09-01 09:45:38 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:2ef4:e718:7f42:663c) |
2021-09-01 09:46:03 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:76:2b00:7f15:65d3) (Remote host closed the connection) |
2021-09-01 09:49:40 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:76:2b00:7f15:65d3) |
2021-09-01 09:51:58 +0200 | shriekingnoise | (~shrieking@186.137.144.80) (Quit: Quit) |
2021-09-01 09:54:55 +0200 | oxide | (~lambda@user/oxide) (Quit: oxide) |
2021-09-01 09:56:59 +0200 | hololeap_ | (~hololeap@user/hololeap) |
2021-09-01 09:57:42 +0200 | hololeap | (~hololeap@user/hololeap) (Ping timeout: 276 seconds) |
2021-09-01 09:59:20 +0200 | sus | (zero@user/zeromomentum) (Quit: the lounge - https://webirc.envs.net) |
2021-09-01 09:59:48 +0200 | sus | (zero@user/zeromomentum) |
2021-09-01 10:00:43 +0200 | ellie | (~ellie@user/ellie) |
2021-09-01 10:02:48 +0200 | dsrt^ | (~dsrt@wsip-98-188-244-188.mc.at.cox.net) |
2021-09-01 10:05:21 +0200 | hendursaga | (~weechat@user/hendursaga) |
2021-09-01 10:08:33 +0200 | lep | lep- |
2021-09-01 10:09:24 +0200 | hendursa1 | (~weechat@user/hendursaga) (Ping timeout: 276 seconds) |
2021-09-01 10:09:28 +0200 | enoq | (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) |
2021-09-01 10:09:29 +0200 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) |
2021-09-01 10:10:03 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2021-09-01 10:10:24 +0200 | lep- | lep |
2021-09-01 10:10:26 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2021-09-01 10:12:21 +0200 | <taeaad> | [exa]: Why wouldn't you need tracking in lambda calculus? |
2021-09-01 10:12:55 +0200 | <taeaad> | Because you don't evaluate? |
2021-09-01 10:13:07 +0200 | d0ku | (~d0ku@178.43.56.75.ipv4.supernova.orange.pl) |
2021-09-01 10:13:27 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 244 seconds) |
2021-09-01 10:13:50 +0200 | hiepph[m] | (~hiepphmat@2001:470:69fc:105::e3a8) |
2021-09-01 10:15:40 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-09-01 10:16:40 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-09-01 10:16:40 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-09-01 10:16:40 +0200 | wroathe | (~wroathe@user/wroathe) |
2021-09-01 10:16:52 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:76:2b00:7f15:65d3) (Remote host closed the connection) |
2021-09-01 10:19:42 +0200 | neo1 | (~neo3@cpe-292712.ip.primehome.com) |
2021-09-01 10:21:12 +0200 | azeem | (~azeem@62.19.37.175) (Ping timeout: 244 seconds) |
2021-09-01 10:21:17 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 245 seconds) |
2021-09-01 10:22:04 +0200 | azeem | (~azeem@62.19.37.175) |
2021-09-01 10:24:42 +0200 | <[exa]> | taeaad: with Ī» you can use the leftmost redex rule to implement lazy evaluation, needs no tracking of anything |
2021-09-01 10:26:09 +0200 | kimjetwav | (~user@2607:fea8:235f:9730:5f39:722f:3a32:7c97) (Remote host closed the connection) |
2021-09-01 10:26:25 +0200 | <taeaad> | [exa]: So, should one think of DAGs in the Haskell context at all? |
2021-09-01 10:26:27 +0200 | kimjetwav | (~user@2607:fea8:235f:9730:7b24:e3f4:a84d:7dd0) |
2021-09-01 10:26:42 +0200 | <[exa]> | if you elaborate a bit on what is the precise DAG you mentioned there it might be clearer, there are actually multiple DAGs that I can imagine there |
2021-09-01 10:26:43 +0200 | azeem | (~azeem@62.19.37.175) (Ping timeout: 252 seconds) |
2021-09-01 10:26:49 +0200 | <[exa]> | like, the syntax is a DAG |
2021-09-01 10:26:59 +0200 | azeem | (~azeem@62.19.37.175) |
2021-09-01 10:27:37 +0200 | <[exa]> | evaluation order is a DAG, in contrast to actual structure of the thunks in STG which need not be one |
2021-09-01 10:27:43 +0200 | <taeaad> | [exa]: I was wondering if there is a general setting where we can compare languages with "functional aspects". R lang for example under the hood also has functional aspects, the details of which I haven't studied yet. If DAGs are not useful for that, the so be it. |
2021-09-01 10:27:44 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-09-01 10:28:52 +0200 | <taeaad> | What I am trying to say is that I would prefer to put R and Haskell into the same box and figure out what the right perspective is to do so. Just saying "use Lambda Calculus" isn't satisfactory since it ignores implementation aspect, and for example it ignores that R syntax is not functional. |
2021-09-01 10:29:05 +0200 | <[exa]> | hm, I see |
2021-09-01 10:29:27 +0200 | acidjnk_new3 | (~acidjnk@p200300d0c7203039d9c4482df4e2953e.dip0.t-ipconnect.de) |
2021-09-01 10:29:33 +0200 | <taeaad> | So perhaps it should be at the compiler or interpreter level. |
2021-09-01 10:29:34 +0200 | <mjrosenb> | ok, I've run `cabal new-build` under dtruss |
2021-09-01 10:29:47 +0200 | <mjrosenb> | and it looks like... it is looking for everything except View.hs |
2021-09-01 10:29:53 +0200 | <[exa]> | taeaad: my favorite tool for comparing languages is "how much complicated a machine you need to translate a program in language 1 to work perfectly in language 2" |
2021-09-01 10:30:23 +0200 | <mjrosenb> | https://gist.github.com/mjrosenb/8ef45507c9f9f8ec5782bc9f63765b92 |
2021-09-01 10:30:35 +0200 | <merijn> | mjrosenb: "new-build" is pretty old development version of the command. v2-build (or just build in 3.0 and later) is better to get used to :p |
2021-09-01 10:31:21 +0200 | <[exa]> | taeaad: also, you could compare the way code gets compiled and prepared for runtime. R is eager with stack (and many small exceptions to the eagerness), haskell is CPSed (no stack) and lazy by default (with STG) |
2021-09-01 10:31:26 +0200 | <merijn> | mjrosenb: What's the cabal file/code, btw? |
2021-09-01 10:31:29 +0200 | acidjnk | (~acidjnk@p5487d0ba.dip0.t-ipconnect.de) |
2021-09-01 10:31:31 +0200 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2021-09-01 10:31:37 +0200 | amahl | (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) |
2021-09-01 10:32:17 +0200 | <mjrosenb> | merijn: https://gist.github.com/mjrosenb/8b55d33a3ac657dbb94733ff0aa72a0e |
2021-09-01 10:32:25 +0200 | <taeaad> | [exa]: That sounds like a productive approach to the question. |
2021-09-01 10:32:57 +0200 | acidjnk_new | (~acidjnk@p200300d0c7203039d576453b109ce99e.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
2021-09-01 10:33:37 +0200 | benin0369323 | (~benin@183.82.204.90) |
2021-09-01 10:34:25 +0200 | acidjnk_new3 | (~acidjnk@p200300d0c7203039d9c4482df4e2953e.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
2021-09-01 10:34:44 +0200 | <[exa]> | taeaad: like, comparing languages is hard because you're comparing compilers aka translation systems. to be able to do some actual mathematics on that, I'd seriously advice to stay in the translation systems |
2021-09-01 10:35:21 +0200 | <taeaad> | Would also be useful to try to relate things back to the category of sets, which I see there are some discussions about Set vs. Hask, but to be honest set theory is less popular than perhaps warranted even in mathematics circles. But anyway, I'll read a bit about functional aspects of R and keep your translation example in mind. |
2021-09-01 10:35:57 +0200 | <merijn> | mjrosenb: I wonder why it think that thing is auto-generated... |
2021-09-01 10:36:05 +0200 | <merijn> | mjrosenb: Which version of cabal-install is this? |
2021-09-01 10:36:17 +0200 | <[exa]> | taeaad: I would be surprised if R could actually be modeled with any such formal system, the language is messy at best |
2021-09-01 10:36:38 +0200 | <merijn> | [exa]: That's an understatement |
2021-09-01 10:36:46 +0200 | <[exa]> | the "messy at best" ? |
2021-09-01 10:36:48 +0200 | <[exa]> | yeah. |
2021-09-01 10:36:59 +0200 | <taeaad> | Then one needs to improve it :P |
2021-09-01 10:37:18 +0200 | <mjrosenb> | cabal-install version 2.4.1.0 |
2021-09-01 10:37:19 +0200 | <mjrosenb> | compiled using version 2.4.1.0 of the Cabal library |
2021-09-01 10:37:37 +0200 | <taeaad> | The main reason why R is enduring IMHO is 1) contains almost all stats known to man and 2) it's easy to write programs (that may be messy) even for people that are not coders. |
2021-09-01 10:38:13 +0200 | <taeaad> | So you could always improve whatever happens under the hood, though it seems many people have tried and failed (cf. parallelism). |
2021-09-01 10:38:25 +0200 | <[exa]> | taeaad: 1) it contains ggplot 2) in contains ggplot 3) people from other communities somehow still fail to see what's the quality of ggplot |
2021-09-01 10:38:52 +0200 | <merijn> | mjrosenb: First thing I would try is update to a more recent cabal-install. In 2.4 v2-build wasn't production ready yet |
2021-09-01 10:39:05 +0200 | <taeaad> | [exa]: Yes, of course, ggplot2 is revolutionary in a mundane sort of way. |
2021-09-01 10:39:22 +0200 | <[exa]> | I didn't see a plotting package that would go even half way there |
2021-09-01 10:39:39 +0200 | <taeaad> | This looks interesting: https://www.cambridge.org/core/books/theories-of-programming-languages/19530A88F3471B2A7D9891770B2ā¦ |
2021-09-01 10:39:51 +0200 | <mjrosenb> | merijn: I'm using miso, which ships with a pinned nix config. it is difficult to upgrade packages like that :-( |
2021-09-01 10:40:26 +0200 | <taeaad> | Do any of you know that book? _Theories of Programming Languages_ by John C. Reynolds. |
2021-09-01 10:40:28 +0200 | hnOsmium0001 | (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity) |
2021-09-01 10:40:58 +0200 | <[exa]> | yeah |
2021-09-01 10:42:28 +0200 | <[exa]> | taeaad: also, one generic advice for evaluating the programming languages is "what modifications do you need to add to lisp to get X" |
2021-09-01 10:42:50 +0200 | <[exa]> | I don't know many languages that can't be categorized that way |
2021-09-01 10:42:54 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 244 seconds) |
2021-09-01 10:44:52 +0200 | amahl | (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 252 seconds) |
2021-09-01 10:46:30 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:2ef4:e718:7f42:663c) (Quit: WeeChat 2.8) |
2021-09-01 10:47:47 +0200 | Kaiepi | (~Kaiepi@156.34.44.192) (Read error: Connection reset by peer) |
2021-09-01 10:47:59 +0200 | Kaiepi | (~Kaiepi@156.34.44.192) |
2021-09-01 10:48:37 +0200 | __monty__ | (~toonn@user/toonn) |
2021-09-01 10:48:42 +0200 | jippiedoe | (~david@2a02-a44c-e14e-1-5fa0-8368-fcfd-eaa8.fixed6.kpn.net) |
2021-09-01 10:48:51 +0200 | <merijn> | mjrosenb: RIP |
2021-09-01 10:51:03 +0200 | <tomsmeding> | mjrosenb: at some point it printed that it couldn't find 'src', right? |
2021-09-01 10:52:50 +0200 | <tomsmeding> | but that short log fragment shows that it's looking in src, so /me confused |
2021-09-01 10:53:41 +0200 | <mjrosenb> | tomsmeding: yeah. |
2021-09-01 10:53:45 +0200 | Kaiepi | (~Kaiepi@156.34.44.192) (Ping timeout: 244 seconds) |
2021-09-01 10:55:09 +0200 | <taeaad> | [exa]: That sounds even better, since it would improve my Lisp skills. |
2021-09-01 10:55:37 +0200 | <taeaad> | [exa]: Do you have a link to text on the topic? |
2021-09-01 10:58:07 +0200 | Kaiepi | (~Kaiepi@156.34.44.192) |
2021-09-01 11:01:35 +0200 | <[exa]> | not really |
2021-09-01 11:02:05 +0200 | <[exa]> | I was using it on students, proving most languages are just "scheme with something" |
2021-09-01 11:07:26 +0200 | fendor | (~fendor@77.119.206.17.wireless.dyn.drei.com) |
2021-09-01 11:07:40 +0200 | ellie | (~ellie@user/ellie) (Quit: The Lounge - https://thelounge.chat) |
2021-09-01 11:07:54 +0200 | ellie | (~ellie@user/ellie) |
2021-09-01 11:09:01 +0200 | <kuribas> | how does it compare to SICP? |
2021-09-01 11:09:35 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-09-01 11:09:45 +0200 | pfurla_ | (~pfurla@235.15.195.173.client.static.strong-in52.as13926.net) |
2021-09-01 11:10:15 +0200 | <[exa]> | ah good point, SICP is pure gold |
2021-09-01 11:12:19 +0200 | pfurla | (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 252 seconds) |
2021-09-01 11:16:11 +0200 | ubert | (~Thunderbi@178.115.42.114.wireless.dyn.drei.com) |
2021-09-01 11:17:15 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:76:2b00:7f15:65d3) |
2021-09-01 11:18:25 +0200 | jippiedoe | (~david@2a02-a44c-e14e-1-5fa0-8368-fcfd-eaa8.fixed6.kpn.net) (Ping timeout: 252 seconds) |
2021-09-01 11:21:43 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:76:2b00:7f15:65d3) (Ping timeout: 252 seconds) |
2021-09-01 11:22:46 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:2ef4:e718:7f42:663c) |
2021-09-01 11:23:40 +0200 | opac | (~opac@ip-28-56.sn2.clouditalia.com) |
2021-09-01 11:27:58 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) |
2021-09-01 11:28:24 +0200 | jippiedoe | (~david@2a02-a44c-e14e-1-7698-d72a-af47-8c5f.fixed6.kpn.net) |
2021-09-01 11:34:16 +0200 | neurocyte | (~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat) |
2021-09-01 11:35:52 +0200 | azeem | (~azeem@62.19.37.175) (Ping timeout: 245 seconds) |
2021-09-01 11:36:30 +0200 | azeem | (~azeem@62.19.37.175) |
2021-09-01 11:37:54 +0200 | neurocyte | (~neurocyte@45.93.108.142) |
2021-09-01 11:37:54 +0200 | neurocyte | (~neurocyte@45.93.108.142) (Changing host) |
2021-09-01 11:37:54 +0200 | neurocyte | (~neurocyte@user/neurocyte) |
2021-09-01 11:38:30 +0200 | kenran | (~kenran@b2b-37-24-119-190.unitymedia.biz) |
2021-09-01 11:40:21 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-09-01 11:42:11 +0200 | elf_fortrez | (~elf_fortr@adsl-64-237-239-250.prtc.net) |
2021-09-01 11:50:01 +0200 | oxide | (~lambda@user/oxide) |
2021-09-01 11:50:40 +0200 | azeem | (~azeem@62.19.37.175) (Ping timeout: 240 seconds) |
2021-09-01 11:51:24 +0200 | azeem | (~azeem@62.19.37.175) |
2021-09-01 11:59:07 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-09-01 11:59:42 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-01 12:01:49 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2021-09-01 12:02:37 +0200 | slavaqq | (~slavaqq@sdmail.sdserver.cz) (Ping timeout: 256 seconds) |
2021-09-01 12:05:03 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds) |
2021-09-01 12:05:35 +0200 | juhp | (~juhp@128.106.188.220) (Quit: juhp) |
2021-09-01 12:05:52 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-01 12:06:04 +0200 | <lortabac> | any suggestions for a simple templating library? I just need to replace a couple of placeholders in a text file |
2021-09-01 12:06:50 +0200 | <dminuoso> | lortabac: rawstring-qm works nicely for me. |
2021-09-01 12:07:03 +0200 | desophos | (~desophos@c-24-14-63-128.hsd1.il.comcast.net) (Quit: Leaving) |
2021-09-01 12:07:39 +0200 | <dminuoso> | The included ToTextBuilder nicely fits in as well. |
2021-09-01 12:08:11 +0200 | <dminuoso> | It's what we use for generating emails in one of our projects. :) |
2021-09-01 12:08:32 +0200 | <lortabac> | I'll have a look, thanks |
2021-09-01 12:16:40 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-09-01 12:17:16 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-01 12:18:29 +0200 | ubert | (~Thunderbi@178.115.42.114.wireless.dyn.drei.com) (Ping timeout: 244 seconds) |
2021-09-01 12:19:27 +0200 | <tomsmeding> | lortabac: if the template is only known at runtime, you could also use 'mustache' |
2021-09-01 12:20:21 +0200 | <dminuoso> | tomsmeding: mustache does not come with TH helpers, ensuring the presence at compile time right? |
2021-09-01 12:20:39 +0200 | <tomsmeding> | dminuoso: "if the template is only known at runtime" ;) |
2021-09-01 12:21:02 +0200 | <tomsmeding> | can't use quasiquotes with a template from a file provided at runtime :p |
2021-09-01 12:21:09 +0200 | <dminuoso> | You can use TH. |
2021-09-01 12:21:11 +0200 | <dminuoso> | Oh |
2021-09-01 12:21:15 +0200 | <dminuoso> | Heh, I guess you're right. |
2021-09-01 12:21:28 +0200 | <dminuoso> | But mustache could still provide TH helpers to hook that into compile time |
2021-09-01 12:21:33 +0200 | <tomsmeding> | true |
2021-09-01 12:21:46 +0200 | <dminuoso> | Who wouldn't want their compiler to do random IO on the disk. |
2021-09-01 12:21:52 +0200 | <dminuoso> | :-) |
2021-09-01 12:22:13 +0200 | tomsmeding | raises hand hesitantly |
2021-09-01 12:22:56 +0200 | ghoul42 | (~ghoul42@185.64.41.91) |
2021-09-01 12:23:00 +0200 | <tomsmeding> | you know what would be nice? limited IO at compile time |
2021-09-01 12:23:11 +0200 | <tomsmeding> | e.g. only reading files and only in the project directory |
2021-09-01 12:23:41 +0200 | <dminuoso> | Im not sure that's enough, as in principle the file API can do quite a bit of damage. |
2021-09-01 12:23:48 +0200 | <tomsmeding> | I bet that, plus all the TH stuff that doesn't actually do any IO, covers 99% of TH use cases |
2021-09-01 12:24:08 +0200 | <dminuoso> | I'd want an assurance that the compiler cant do nonsense on my system |
2021-09-01 12:24:44 +0200 | <tomsmeding> | what's unsafe about "only read operations in the project directory"? |
2021-09-01 12:24:54 +0200 | <dminuoso> | tomsmeding: It might be more realistic to use namespaces and cgroups to run TH perhaps. |
2021-09-01 12:24:58 +0200 | <tomsmeding> | or are you arguing that you're not going to be able to restrain opreations to that |
2021-09-01 12:25:06 +0200 | <tomsmeding> | right |
2021-09-01 12:25:25 +0200 | <dminuoso> | tomsmeding: The thing is, "the project directory" doesnt mean much in a file system with support for fuse, mount points, symlinks, etc |
2021-09-01 12:25:38 +0200 | <tomsmeding> | c.f. a discussion on one of the mailing lists a while back, concerning "safe haskell" vs "cgroups" |
2021-09-01 12:25:55 +0200 | <tomsmeding> | that's true |
2021-09-01 12:26:14 +0200 | <tdammers> | dminuoso: it is meaningful, but only if all other OS interactions are sandboxed too. |
2021-09-01 12:26:20 +0200 | <tomsmeding> | yes |
2021-09-01 12:26:26 +0200 | <dminuoso> | tdammers: Right. |
2021-09-01 12:26:35 +0200 | <tomsmeding> | or hm |
2021-09-01 12:26:45 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds) |
2021-09-01 12:26:49 +0200 | <tomsmeding> | I mean, if the person compiling the project mounts random stuff in the project directory |
2021-09-01 12:26:56 +0200 | <dminuoso> | tdammers: Well, it might still not be truly meaningful. If the directory contains a symlink towards somewhere else, is that inside the project directory or not? |
2021-09-01 12:27:06 +0200 | <tomsmeding> | I'd say yes |
2021-09-01 12:27:13 +0200 | <tdammers> | same |
2021-09-01 12:27:41 +0200 | <dminuoso> | Either way, cgroups+namespaces for TH might actually not be a terrible idea. |
2021-09-01 12:27:47 +0200 | <tdammers> | and that's fine, as long as the symlink was put there by the user; but if the TH code can create and manipulate symlinks, then that is indeed meaningless |
2021-09-01 12:28:03 +0200 | <dminuoso> | Right |
2021-09-01 12:28:40 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-01 12:28:50 +0200 | <dminuoso> | This is something Ive been wanting for a while, really. Each time I run `cabal update` and then build something, there's a chance my compiler will install ransomware or something else on my machine. |
2021-09-01 12:28:53 +0200 | Kaipi | (~Kaiepi@156.34.44.192) |
2021-09-01 12:29:09 +0200 | Kaiepi | (~Kaiepi@156.34.44.192) (Remote host closed the connection) |
2021-09-01 12:29:24 +0200 | <tomsmeding> | but if you're going to run whatever you just compiled, all bets are off anyway |
2021-09-01 12:29:30 +0200 | <dminuoso> | If at least `cabal` had the tooling to give me a complete source diff for the transitive depenency closure after an update, it would be workable |
2021-09-01 12:29:50 +0200 | <dminuoso> | tomsmeding: Mmm that's true I guess |
2021-09-01 12:29:59 +0200 | <tomsmeding> | right, though that's a problem unrelated to TH |
2021-09-01 12:30:19 +0200 | <dminuoso> | So I guess, such an diff-after-update tool would be what I really want. |
2021-09-01 12:30:33 +0200 | <dminuoso> | That would be genuinely useful for a lot of reasons actually |
2021-09-01 12:30:52 +0200 | <dminuoso> | Get an idea whether perhaps someone broke PVP, or just get an idea what changed, for auditing the security |
2021-09-01 12:32:04 +0200 | <maerwald> | dminuoso: right... that's one of the problem with PVP/semver. They're manual. |
2021-09-01 12:32:11 +0200 | <tomsmeding> | and then cabal should always (unless explicitly told not to, I guess) print the total number of source lines changed in your transitive dependency graph since the last configure |
2021-09-01 12:32:35 +0200 | <dminuoso> | tomsmeding: Yes! |
2021-09-01 12:32:44 +0200 | <tomsmeding> | and then you get scary high numbers :p |
2021-09-01 12:33:18 +0200 | <dminuoso> | Well, there could be a variety of knobs. Say, a flag that does this only for direct dependencies |
2021-09-01 12:33:19 +0200 | <tomsmeding> | which illustrate the futility of the thing if you have a non-trivial dependency graph |
2021-09-01 12:33:59 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds) |
2021-09-01 12:34:01 +0200 | <tomsmeding> | (and, I guess, if you don't have the budget or incentive to really get high-assurance software) |
2021-09-01 12:34:06 +0200 | tomsmeding | has to go now though |
2021-09-01 12:34:22 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-01 12:34:59 +0200 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2021-09-01 12:34:59 +0200 | <dminuoso> | Or, perhaps, another flag that does this for actually imported modules. |
2021-09-01 12:35:12 +0200 | <dminuoso> | So you'd get control over how much changes you want to see |
2021-09-01 12:35:39 +0200 | <dminuoso> | So you'd have the choice of "all lines changed in the entire closure", "all lines changed in direct dependencies", and "all lines changed in imported modules". |
2021-09-01 12:39:40 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds) |
2021-09-01 12:40:26 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-01 12:41:25 +0200 | Gurkenglas | (~Gurkengla@dslb-088-075-022-191.088.075.pools.vodafone-ip.de) (Ping timeout: 252 seconds) |
2021-09-01 12:43:13 +0200 | ghoul42 | (~ghoul42@185.64.41.91) (Quit: Client closed) |
2021-09-01 12:45:19 +0200 | neo | (~neo3@cpe-292712.ip.primehome.com) |
2021-09-01 12:45:21 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds) |
2021-09-01 12:46:05 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-01 12:46:24 +0200 | mikoto-chan | (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Quit: mikoto-chan) |
2021-09-01 12:46:39 +0200 | mikoto-chan | (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) |
2021-09-01 12:48:04 +0200 | neo1 | (~neo3@cpe-292712.ip.primehome.com) (Ping timeout: 252 seconds) |
2021-09-01 12:49:45 +0200 | juhp | (~juhp@128.106.188.220) |
2021-09-01 12:51:02 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds) |
2021-09-01 12:51:59 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-01 12:53:37 +0200 | elf_fortrez | (~elf_fortr@adsl-64-237-239-250.prtc.net) (Ping timeout: 256 seconds) |
2021-09-01 12:57:14 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds) |
2021-09-01 12:57:14 +0200 | AndrewYu | Andrew |
2021-09-01 12:57:53 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-01 13:00:57 +0200 | alx741 | (~alx741@186.178.108.235) |
2021-09-01 13:03:38 +0200 | arjun | (~Srain@user/arjun) |
2021-09-01 13:04:01 +0200 | jippiedoe | (~david@2a02-a44c-e14e-1-7698-d72a-af47-8c5f.fixed6.kpn.net) (Ping timeout: 252 seconds) |
2021-09-01 13:05:10 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2021-09-01 13:15:31 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2021-09-01 13:19:15 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:76:2b00:7f15:65d3) |
2021-09-01 13:20:52 +0200 | azeem | (~azeem@62.19.37.175) (Ping timeout: 245 seconds) |
2021-09-01 13:21:08 +0200 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
2021-09-01 13:23:22 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:76:2b00:7f15:65d3) (Ping timeout: 245 seconds) |
2021-09-01 13:24:16 +0200 | azeem | (~azeem@62.19.37.175) |
2021-09-01 13:24:18 +0200 | sugarfunc | (~Adium@49.206.52.35) |
2021-09-01 13:25:21 +0200 | <sugarfunc> | I'm new to haskell and i didn't quite understand haskell's indentation rules. I'm using Vim that comes installed in macOS by default. How many spaces should I use? |
2021-09-01 13:25:37 +0200 | fendor_ | (~fendor@91.141.68.147.wireless.dyn.drei.com) |
2021-09-01 13:26:04 +0200 | <hpc> | as many as you want - haskell works by alignment |
2021-09-01 13:26:34 +0200 | Kaipi | (~Kaiepi@156.34.44.192) (Ping timeout: 252 seconds) |
2021-09-01 13:26:36 +0200 | <hpc> | everything at the same indentation level is in the same "block" |
2021-09-01 13:26:41 +0200 | sugarfunc | (~Adium@49.206.52.35) () |
2021-09-01 13:26:48 +0200 | <hpc> | for example |
2021-09-01 13:26:58 +0200 | <hpc> | foo x y = do m <- x |
2021-09-01 13:27:10 +0200 | <hpc> | m' <- y |
2021-09-01 13:27:17 +0200 | <hpc> | ... |
2021-09-01 13:27:25 +0200 | sugarfunc | (~Adium@49.206.52.35) |
2021-09-01 13:27:34 +0200 | <hpc> | you might also prefer foo x y = do |
2021-09-01 13:27:37 +0200 | <hpc> | m <- x |
2021-09-01 13:27:41 +0200 | <hpc> | ... |
2021-09-01 13:28:14 +0200 | fendor | (~fendor@77.119.206.17.wireless.dyn.drei.com) (Ping timeout: 244 seconds) |
2021-09-01 13:28:15 +0200 | <hpc> | er, when i said "indentation level" up there pretend i said "column" instead |
2021-09-01 13:28:18 +0200 | <merijn> | sugarfunc: For a super detailed explanation, see: https://en.wikibooks.org/wiki/Haskell/Indentation |
2021-09-01 13:28:29 +0200 | <merijn> | hpc: Or you can just be lazy and link the wikibook ;) |
2021-09-01 13:28:39 +0200 | <hpc> | i forgot it existed :D |
2021-09-01 13:29:35 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Quit: terminal restart) |
2021-09-01 13:29:56 +0200 | <sugarfunc> | thank you :-) i didn't knew that wikibooks has a book about haskell. I'm just done reading first chapter of "learn you some haskell for great good" |
2021-09-01 13:30:14 +0200 | <[exa]> | sugarfunc: any number of spaces is good but you need to consistently use spaces. I'm doing something like :set et sta sw=2 ts=2 |
2021-09-01 13:30:36 +0200 | jippiedoe | (~david@2a02-a44c-e14e-1-a8a9-ba4a-b275-b19f.fixed6.kpn.net) |
2021-09-01 13:30:41 +0200 | <hpc> | sugarfunc: yeah, there's resources all over the place - https://www.haskell.org/documentation/ |
2021-09-01 13:31:14 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-01 13:31:35 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Client Quit) |
2021-09-01 13:31:36 +0200 | sugarfunc | (~Adium@49.206.52.35) (Quit: Leaving.) |
2021-09-01 13:33:35 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-01 13:34:26 +0200 | hannessteffenhag | (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 244 seconds) |
2021-09-01 13:35:23 +0200 | favonia | (~favonia@user/favonia) |
2021-09-01 13:36:46 +0200 | <andinus> | are there more why haskell writeups? |
2021-09-01 13:36:49 +0200 | <andinus> | i read https://crypto.stanford.edu/~blynn/haskell/why.html |
2021-09-01 13:38:21 +0200 | tfeb | (~tfb@88.98.95.237) |
2021-09-01 13:39:42 +0200 | Kaiepi | (~Kaiepi@156.34.44.192) |
2021-09-01 13:40:50 +0200 | echoone | (~echoone@2a02:8109:a1c0:5d05:e9b0:6d7e:a321:5a85) |
2021-09-01 13:47:07 +0200 | azeem | (~azeem@62.19.37.175) (Ping timeout: 245 seconds) |
2021-09-01 13:47:21 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
2021-09-01 13:47:28 +0200 | neofromatrix | (~Adium@49.206.52.35) |
2021-09-01 13:48:16 +0200 | azeem | (~azeem@62.19.37.175) |
2021-09-01 13:48:44 +0200 | neofromatrix | (~Adium@49.206.52.35) () |
2021-09-01 13:48:56 +0200 | amahl | (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) |
2021-09-01 13:56:17 +0200 | sleblanc | (~sleblanc@user/sleblanc) |
2021-09-01 13:56:49 +0200 | azeem | (~azeem@62.19.37.175) (Ping timeout: 252 seconds) |
2021-09-01 13:58:07 +0200 | ikex | (ash@user/ikex) (Quit: ZNC - https://znc.in) |
2021-09-01 13:58:20 +0200 | ikex | (ash@user/ikex) |
2021-09-01 13:58:27 +0200 | TranquilEcho | (~grom@user/tranquilecho) |
2021-09-01 13:59:07 +0200 | azeem | (~azeem@62.19.37.175) |
2021-09-01 13:59:58 +0200 | max22- | (~maxime@2a01cb08833598001c2c73c755058a4b.ipv6.abo.wanadoo.fr) (Ping timeout: 256 seconds) |
2021-09-01 14:00:08 +0200 | <maerwald> | andinus: the one from dijkstra that gets posted every other month |
2021-09-01 14:00:45 +0200 | <maerwald> | https://www.cs.utexas.edu/users/EWD/transcriptions/OtherDocs/Haskell.html |
2021-09-01 14:00:57 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-09-01 14:02:16 +0200 | zer0bitz | (~zer0bitz@dsl-hkibng31-58c384-213.dhcp.inet.fi) |
2021-09-01 14:02:19 +0200 | myShoggoth | (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 252 seconds) |
2021-09-01 14:02:31 +0200 | <maerwald> | `The additional advantage of functional programming with ālazy evaluationā is that it provides an environment that discourages operational reasoning.` -- although I don't think tht holds :p |
2021-09-01 14:02:57 +0200 | <maerwald> | I mean, beyond teaching code snippets |
2021-09-01 14:05:04 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2021-09-01 14:05:27 +0200 | oxide | (~lambda@user/oxide) (Ping timeout: 245 seconds) |
2021-09-01 14:07:25 +0200 | oxide | (~lambda@user/oxide) |
2021-09-01 14:12:11 +0200 | tfeb | (~tfb@88.98.95.237) (Quit: died) |
2021-09-01 14:13:29 +0200 | tengu1 | (~tengu1@cpe-70-121-244-14.neb.res.rr.com) |
2021-09-01 14:17:24 +0200 | ubert | (~Thunderbi@91.141.71.52.wireless.dyn.drei.com) |
2021-09-01 14:17:41 +0200 | <andinus> | thanks |
2021-09-01 14:23:52 +0200 | Kaipi | (~Kaiepi@156.34.44.192) |
2021-09-01 14:24:03 +0200 | Kaiepi | (~Kaiepi@156.34.44.192) (Read error: Connection reset by peer) |
2021-09-01 14:24:20 +0200 | slowButPresent | (~slowButPr@user/slowbutpresent) |
2021-09-01 14:27:08 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds) |
2021-09-01 14:28:04 +0200 | dunj3 | (~dunj3@2001:16b8:30cf:7000:7144:88af:3fb9:7fd1) |
2021-09-01 14:28:08 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-09-01 14:30:00 +0200 | <echoone> | testing |
2021-09-01 14:30:18 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) |
2021-09-01 14:30:52 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-09-01 14:30:55 +0200 | mikoto-chan | (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 252 seconds) |
2021-09-01 14:31:05 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) |
2021-09-01 14:36:03 +0200 | <kuribas> | operational reasoning = performance? |
2021-09-01 14:36:35 +0200 | <kuribas> | Perhaps they mean it discouraging from writing a series of steps. |
2021-09-01 14:36:41 +0200 | <albet70> | \k -> let k k' = k in k' it's equal to fix k, rigth? |
2021-09-01 14:36:46 +0200 | <kuribas> | Rather writing the "meaning" of the program. |
2021-09-01 14:36:59 +0200 | <merijn> | kuribas: Operational reasoning is *any* form of reasoning about how things are implemented/evaluated |
2021-09-01 14:37:06 +0200 | <merijn> | for performance or any other reason |
2021-09-01 14:38:04 +0200 | <kuribas> | well, I don't see how that could ever be an advantage... |
2021-09-01 14:40:06 +0200 | <merijn> | kuribas: Because it's an important math skill to separate "what" from "how" |
2021-09-01 14:40:27 +0200 | <merijn> | kuribas: It's the reason why I think compiler construction courses are one of the most crucial CS courses |
2021-09-01 14:40:34 +0200 | <kuribas> | merijn: indeed |
2021-09-01 14:40:38 +0200 | acidjnk_new | (~acidjnk@p200300d0c720303959598fb61e40d514.dip0.t-ipconnect.de) |
2021-09-01 14:40:44 +0200 | <merijn> | Because they're the only ones that separate "what does this mean" from "how can we implement/do it" |
2021-09-01 14:41:04 +0200 | <merijn> | Much bad programming comes from a priori thinking about "how" before having properly defined "what" |
2021-09-01 14:41:28 +0200 | <merijn> | But you can only teach that if you can somehow stop students from thinking about "how", which is notoriously hard |
2021-09-01 14:41:42 +0200 | echoone55 | (~echoone@2a02:8109:a1c0:5d05:2d85:bc81:1c9c:4feb) |
2021-09-01 14:41:47 +0200 | <merijn> | Hence, making operational reasoning hard is good, because it means they can't fall back to thinking about "how" |
2021-09-01 14:42:09 +0200 | echoone55 | (~echoone@2a02:8109:a1c0:5d05:2d85:bc81:1c9c:4feb) (Client Quit) |
2021-09-01 14:42:35 +0200 | echoone83 | (~echoone@2a02:8109:a1c0:5d05:2d85:bc81:1c9c:4feb) |
2021-09-01 14:43:33 +0200 | echoone | (~echoone@2a02:8109:a1c0:5d05:e9b0:6d7e:a321:5a85) (Ping timeout: 256 seconds) |
2021-09-01 14:44:11 +0200 | acidjnk | (~acidjnk@p5487d0ba.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
2021-09-01 14:44:26 +0200 | <maerwald> | you have to do operational reasoning anyway if you do IO, ST, 90% of the monad transformer stacks, async, etc etc |
2021-09-01 14:45:33 +0200 | <merijn> | maerwald: Eventually, sure. |
2021-09-01 14:45:54 +0200 | <merijn> | maerwald: But most conventional programming languages waste too much time on it |
2021-09-01 14:46:18 +0200 | jacks2 | (~bc8167eb@217.29.117.252) |
2021-09-01 14:49:22 +0200 | echoone83 | echoone |
2021-09-01 14:50:15 +0200 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) |
2021-09-01 14:51:33 +0200 | <kuribas> | but the danger of doing implementation before understanding exists in haskell too. |
2021-09-01 14:52:08 +0200 | <maerwald> | yeah, I don't think haskell can make something great out of a sloppy programmer |
2021-09-01 14:52:26 +0200 | <merijn> | This seems like moving goalposts |
2021-09-01 14:52:44 +0200 | <merijn> | Dijkstra said "it's good for teaching, because it discourages operational reasoning" |
2021-09-01 14:52:46 +0200 | mikoto-chan | (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) |
2021-09-01 14:52:54 +0200 | <maerwald> | I know |
2021-09-01 14:53:00 +0200 | <merijn> | You guys: "but you still can and it won't fix arbitrary bad programmer behaviours!!" |
2021-09-01 14:53:10 +0200 | <merijn> | I mean...yeah, I guess |
2021-09-01 14:53:11 +0200 | <maerwald> | that's why I said that his sentence doesn't have much value beyond teaching |
2021-09-01 14:54:27 +0200 | <echoone> | Maybe there should be a second course called "Operational reasoning in programming" where they cover the nitty gritty. |
2021-09-01 14:54:52 +0200 | pbrisbin | (~patrick@pool-108-16-214-93.phlapa.fios.verizon.net) |
2021-09-01 14:54:54 +0200 | max22- | (~maxime@2a01cb08833598002194f34da34c193e.ipv6.abo.wanadoo.fr) |
2021-09-01 14:55:00 +0200 | <maerwald> | the thing is... most CS courses don't even talk much about operational vs denotational semantics |
2021-09-01 14:55:14 +0200 | <echoone> | True. I never learned that stuff in my CS degree. |
2021-09-01 14:55:25 +0200 | <merijn> | Most CS degrees are bad, yes |
2021-09-01 14:55:26 +0200 | <maerwald> | even in compiler course, we talked more about Chomsky than those things |
2021-09-01 14:55:58 +0200 | <maerwald> | yeah, I'm pretty confident my degree was a waste of time :) |
2021-09-01 14:56:09 +0200 | <merijn> | I'm pretty confident mine wasn't :p |
2021-09-01 14:56:21 +0200 | <merijn> | That's Dijkstra's entire point |
2021-09-01 14:56:29 +0200 | <merijn> | Just because most are shite, doesn't mean they *have* to be |
2021-09-01 14:57:12 +0200 | hannessteffenhag | (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
2021-09-01 14:57:34 +0200 | <maerwald> | I got fed so much of Java design patterns that I still have nightmares about observer patterns following me |
2021-09-01 14:57:41 +0200 | <echoone> | lol |
2021-09-01 14:57:42 +0200 | <kuribas> | merijn: Utrecht? |
2021-09-01 14:58:01 +0200 | <kuribas> | maerwald: Java design patterns are BS. |
2021-09-01 14:58:09 +0200 | <merijn> | kuribas: Nope, VU in Amsterdam |
2021-09-01 14:58:14 +0200 | <kuribas> | maerwald: or rather, they are so vague that the are always right. |
2021-09-01 14:58:18 +0200 | <kuribas> | merijn: right |
2021-09-01 14:58:26 +0200 | <maerwald> | kuribas: I suck at OOP |
2021-09-01 14:58:40 +0200 | <kuribas> | maerwald: that's ok :) |
2021-09-01 14:58:46 +0200 | <echoone> | I think everyone sucks at OOP. |
2021-09-01 14:58:51 +0200 | tengu1 | (~tengu1@cpe-70-121-244-14.neb.res.rr.com) (Ping timeout: 256 seconds) |
2021-09-01 14:59:23 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-09-01 14:59:34 +0200 | <absence> | is it possible to derive aeson types for higher-kinded data? i've tried searching online and found monstrous workarounds, but there's also mention about a "future" QuantifiedConstraints extension that will simplify things, and i believe that's available now? |
2021-09-01 15:02:52 +0200 | ravan | (~ravan@42.201.198.151) |
2021-09-01 15:04:12 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) |
2021-09-01 15:05:12 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-09-01 15:05:47 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) |
2021-09-01 15:07:46 +0200 | sleblanc | (~sleblanc@user/sleblanc) (Ping timeout: 252 seconds) |
2021-09-01 15:09:04 +0200 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Remote host closed the connection) |
2021-09-01 15:09:36 +0200 | trcc | (~trcc@130.225.16.16) |
2021-09-01 15:12:32 +0200 | hendursaga | (~weechat@user/hendursaga) (Quit: hendursaga) |
2021-09-01 15:12:58 +0200 | hendursaga | (~weechat@user/hendursaga) |
2021-09-01 15:13:49 +0200 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Ping timeout: 252 seconds) |
2021-09-01 15:17:09 +0200 | iqubic | (~user@c-67-180-134-109.hsd1.ca.comcast.net) (ERC (IRC client for Emacs 28.0.50)) |
2021-09-01 15:17:47 +0200 | Skyfire | (~pyon@user/pyon) (Ping timeout: 240 seconds) |
2021-09-01 15:18:47 +0200 | ravan | (~ravan@42.201.198.151) (Leaving) |
2021-09-01 15:19:18 +0200 | max22- | (~maxime@2a01cb08833598002194f34da34c193e.ipv6.abo.wanadoo.fr) (Ping timeout: 256 seconds) |
2021-09-01 15:19:53 +0200 | shriekingnoise | (~shrieking@186.137.144.80) |
2021-09-01 15:20:34 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:76:2b00:7f15:65d3) |
2021-09-01 15:21:28 +0200 | o0p4c | (~opac@ip-28-56.sn2.clouditalia.com) |
2021-09-01 15:21:35 +0200 | opac | (~opac@ip-28-56.sn2.clouditalia.com) (Read error: Connection reset by peer) |
2021-09-01 15:21:39 +0200 | o0p4c | opac |
2021-09-01 15:23:44 +0200 | __monty__ | (~toonn@user/toonn) (Remote host closed the connection) |
2021-09-01 15:23:59 +0200 | __monty__ | (~toonn@user/toonn) |
2021-09-01 15:24:49 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:76:2b00:7f15:65d3) (Ping timeout: 252 seconds) |
2021-09-01 15:26:58 +0200 | <kuribas> | absence: could you use a newtype? |
2021-09-01 15:27:33 +0200 | <kuribas> | like: data Hk f = Hk (f Int) (f String); newtype HKProxy f a = HKProxy f a; instance ToJSON (f a) => ToJSON (HKProxy f a); instance ToJSON (Hk HKProxy) |
2021-09-01 15:28:16 +0200 | xsperry | (~as@user/xsperry) () |
2021-09-01 15:28:22 +0200 | <kuribas> | erm (Hk (HKProxy f)) |
2021-09-01 15:29:23 +0200 | <kuribas> | hmm, I guess not... |
2021-09-01 15:31:46 +0200 | kmein | (~weechat@user/kmein) (Quit: ciao kakao) |
2021-09-01 15:32:05 +0200 | kmein | (~weechat@user/kmein) |
2021-09-01 15:32:34 +0200 | df | (~ben@51.15.198.140) (Ping timeout: 240 seconds) |
2021-09-01 15:33:59 +0200 | koolazer | (~koo@user/koolazer) (Ping timeout: 250 seconds) |
2021-09-01 15:36:49 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-09-01 15:37:10 +0200 | oxide | (~lambda@user/oxide) (Ping timeout: 240 seconds) |
2021-09-01 15:39:04 +0200 | oxide | (~lambda@user/oxide) |
2021-09-01 15:42:14 +0200 | max22- | (~maxime@2a01cb0883359800ebf73839d72fccc8.ipv6.abo.wanadoo.fr) |
2021-09-01 15:46:39 +0200 | jacks2 | (~bc8167eb@217.29.117.252) (Quit: quit) |
2021-09-01 15:47:24 +0200 | TimWolla | (~timwolla@2a01:4f8:150:6153:beef::6667) (Quit: Bye) |
2021-09-01 15:51:47 +0200 | TimWolla | (~timwolla@2a01:4f8:150:6153:beef::6667) |
2021-09-01 15:55:04 +0200 | Boomerang | (~Boomerang@xd520f68c.cust.hiper.dk) (Ping timeout: 252 seconds) |
2021-09-01 15:58:20 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2021-09-01 16:01:20 +0200 | trcc | (~trcc@130.225.16.16) (Remote host closed the connection) |
2021-09-01 16:01:42 +0200 | hololeap_ | (~hololeap@user/hololeap) (Ping timeout: 276 seconds) |
2021-09-01 16:02:52 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) |
2021-09-01 16:04:18 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) (Client Quit) |
2021-09-01 16:04:32 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) |
2021-09-01 16:06:03 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-09-01 16:06:03 +0200 | <exarkun> | https://github.com/PrivateStorageio/PaymentServer/blob/99.enforce-token-count/test/Stripe.hs#L86-L87 runs fine. https://github.com/PrivateStorageio/PaymentServer/blob/99.enforce-token-count/test/Redemption.hs#Lā¦ seems awfully similar to me but hangs for a few minutes before failing. |
2021-09-01 16:06:49 +0200 | <exarkun> | I dunno why |
2021-09-01 16:06:50 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) |
2021-09-01 16:07:01 +0200 | <exarkun> | And I dunno where to look to find out |
2021-09-01 16:08:41 +0200 | df | (~ben@justworks.xyz) |
2021-09-01 16:14:35 +0200 | Everything | (~Everythin@37.115.210.35) |
2021-09-01 16:14:42 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 245 seconds) |
2021-09-01 16:16:46 +0200 | waleee | (~waleee@h-98-128-228-119.NA.cust.bahnhof.se) |
2021-09-01 16:17:10 +0200 | BestSteve | (~beststeve@2001-b011-0002-3b2a-06d9-f5ff-fe38-e249.dynamic-ip6.hinet.net) (Ping timeout: 245 seconds) |
2021-09-01 16:17:42 +0200 | qwedfg | (~qwedfg@user/qwedfg) (Ping timeout: 244 seconds) |
2021-09-01 16:17:56 +0200 | <[exa]> | exarkun: how does it fail? OOM? timeout? |
2021-09-01 16:21:59 +0200 | <exarkun> | [exa]: On one run it reported OKFAIL Exception: WaiTestFailure "Expected status code 200, but received 400" |
2021-09-01 16:22:09 +0200 | <exarkun> | On another it just said FAIL w/ that exception |
2021-09-01 16:22:21 +0200 | vysn | (~vysn@user/vysn) (Quit: WeeChat 3.2) |
2021-09-01 16:23:47 +0200 | <exarkun> | I found the bug that leads to the 400 (instead of the 200) and if I fix that bug then it passes fast instead of failing slow ... so I guess that's some kind of clue, except it doesn't help me understand why it fails slow instead of failing fast. |
2021-09-01 16:25:11 +0200 | hnOsmium0001 | (uid453710@id-453710.stonehaven.irccloud.com) |
2021-09-01 16:25:11 +0200 | <[exa]> | I only see an extra `encode` but that's likely ignorable |
2021-09-01 16:25:36 +0200 | <__monty__> | Sounds like a timeout. |
2021-09-01 16:25:45 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
2021-09-01 16:25:49 +0200 | BestSteve | (~beststeve@220-135-3-239.HINET-IP.hinet.net) |
2021-09-01 16:32:20 +0200 | marjinal1st | (~Thunderbi@178.251.45.235) |
2021-09-01 16:33:47 +0200 | vysn | (~vysn@user/vysn) |
2021-09-01 16:33:58 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-09-01 16:33:58 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-09-01 16:33:58 +0200 | wroathe | (~wroathe@user/wroathe) |
2021-09-01 16:34:07 +0200 | jippiedoe | (~david@2a02-a44c-e14e-1-a8a9-ba4a-b275-b19f.fixed6.kpn.net) (Ping timeout: 252 seconds) |
2021-09-01 16:36:04 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) |
2021-09-01 16:38:01 +0200 | neo | (~neo3@cpe-292712.ip.primehome.com) (Remote host closed the connection) |
2021-09-01 16:38:22 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 244 seconds) |
2021-09-01 16:38:26 +0200 | neo | (~neo3@cpe-292712.ip.primehome.com) |
2021-09-01 16:39:18 +0200 | echoone | (~echoone@2a02:8109:a1c0:5d05:2d85:bc81:1c9c:4feb) (Quit: Client closed) |
2021-09-01 16:42:10 +0200 | Gurkenglas | (~Gurkengla@dslb-088-075-022-191.088.075.pools.vodafone-ip.de) |
2021-09-01 16:43:00 +0200 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) |
2021-09-01 16:43:28 +0200 | acidjnk_new | (~acidjnk@p200300d0c720303959598fb61e40d514.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
2021-09-01 16:44:58 +0200 | zachjs | (~zachjs@c-24-8-115-19.hsd1.co.comcast.net) |
2021-09-01 16:45:01 +0200 | TimWolla | (~timwolla@2a01:4f8:150:6153:beef::6667) (Quit: Bye) |
2021-09-01 16:45:45 +0200 | <exarkun> | okay application logic bug, all my fault |
2021-09-01 16:46:31 +0200 | kenran | (~kenran@b2b-37-24-119-190.unitymedia.biz) (Quit: WeeChat info:version) |
2021-09-01 16:46:36 +0200 | timCF | (~timCF@200-149-20-81.sta.estpak.ee) |
2021-09-01 16:49:58 +0200 | TimWolla | (~timwolla@2a01:4f8:150:6153:beef::6667) |
2021-09-01 16:50:22 +0200 | <timCF> | Hello! Any `Async` users there? I have a question about process linking. Is `link` working always to one direction (propagation of exception from spawned process back to parent process), or it will propagate back as well? Also I'm looking for possibility to make all child `Async` processes terminated (cancelled) in case where parent process has been cancelled. Is `link` function the way to go, or there is |
2021-09-01 16:50:28 +0200 | <timCF> | some better function for this? |
2021-09-01 16:52:11 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Quit: Leaving) |
2021-09-01 16:53:18 +0200 | pfurla | (~pfurla@ool-182ed2e2.dyn.optonline.net) |
2021-09-01 16:54:00 +0200 | <timCF> | Or maybe there is some other library which solves task of building such proccess trees (a bit similar to Erlang typical procees tree) better than `Async`? |
2021-09-01 16:56:08 +0200 | <merijn> | It can be done with async, but requires a bit of low level fiddling to get nice abstractions |
2021-09-01 16:56:12 +0200 | pfurla_ | (~pfurla@235.15.195.173.client.static.strong-in52.as13926.net) (Ping timeout: 256 seconds) |
2021-09-01 16:59:11 +0200 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) (Remote host closed the connection) |
2021-09-01 16:59:54 +0200 | myShoggoth | (~myShoggot@97-120-70-214.ptld.qwest.net) |
2021-09-01 17:00:02 +0200 | neo | (~neo3@cpe-292712.ip.primehome.com) (Ping timeout: 252 seconds) |
2021-09-01 17:00:35 +0200 | turlando | (~turlando@user/turlando) (Read error: Connection reset by peer) |
2021-09-01 17:04:55 +0200 | vysn | (~vysn@user/vysn) (Ping timeout: 252 seconds) |
2021-09-01 17:05:19 +0200 | turlando | (~turlando@93-42-250-112.ip89.fastwebnet.it) |
2021-09-01 17:05:19 +0200 | turlando | (~turlando@93-42-250-112.ip89.fastwebnet.it) (Changing host) |
2021-09-01 17:05:19 +0200 | turlando | (~turlando@user/turlando) |
2021-09-01 17:09:06 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:2ef4:e718:7f42:663c) (Quit: WeeChat 2.8) |
2021-09-01 17:09:18 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
2021-09-01 17:11:04 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) |
2021-09-01 17:14:49 +0200 | 011AAA542 | (~mc47@xmonad/TheMC47) |
2021-09-01 17:14:49 +0200 | 047AAD8YA | (~mc47@xmonad/TheMC47) |
2021-09-01 17:14:52 +0200 | 047AAD8YA | (~mc47@xmonad/TheMC47) (Client Quit) |
2021-09-01 17:14:57 +0200 | 011AAA542 | (~mc47@xmonad/TheMC47) (Client Quit) |
2021-09-01 17:15:14 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2021-09-01 17:16:09 +0200 | xsperry | (~as@user/xsperry) |
2021-09-01 17:17:18 +0200 | enoq | (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq) |
2021-09-01 17:17:31 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 252 seconds) |
2021-09-01 17:19:12 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-09-01 17:22:27 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:76:2b00:7f15:65d3) |
2021-09-01 17:26:40 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:76:2b00:7f15:65d3) (Ping timeout: 240 seconds) |
2021-09-01 17:36:06 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:76:2b00:7f15:65d3) |
2021-09-01 17:41:33 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-09-01 17:41:33 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-09-01 17:41:33 +0200 | wroathe | (~wroathe@user/wroathe) |
2021-09-01 17:47:36 +0200 | Morrow | (~Morrow@bzq-110-168-31-106.red.bezeqint.net) |
2021-09-01 17:50:58 +0200 | hgolden | (~hgolden2@cpe-172-114-84-61.socal.res.rr.com) |
2021-09-01 17:52:01 +0200 | <kuribas> | here's a handy function which I often need: buildMap :: Ord k => (a -> k) -> (a -> v) -> [a] -> Map.Map k [v] |
2021-09-01 17:52:15 +0200 | <kuribas> | buildMap getKey getValue = Map.map reverse . Map.fromListWith (++) . map (\x -> (getKey x, [getValue x])) |
2021-09-01 17:52:29 +0200 | <kuribas> | building up a map from a key and value. |
2021-09-01 17:52:34 +0200 | <kuribas> | and accumulating the values. |
2021-09-01 17:52:51 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
2021-09-01 17:53:48 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 244 seconds) |
2021-09-01 17:54:05 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-09-01 17:56:13 +0200 | dajoer | (~david@user/gvx) (Quit: leaving) |
2021-09-01 17:57:40 +0200 | xsperry | (~as@user/xsperry) (Quit: quit) |
2021-09-01 17:59:23 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) |
2021-09-01 17:59:29 +0200 | marjinal1st | (~Thunderbi@178.251.45.235) (Ping timeout: 244 seconds) |
2021-09-01 18:05:42 +0200 | Morrow | (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Read error: Connection reset by peer) |
2021-09-01 18:05:48 +0200 | Morrow_ | (~Morrow@bzq-110-168-31-106.red.bezeqint.net) |
2021-09-01 18:07:23 +0200 | Morrow | (~Morrow@bzq-110-168-31-106.red.bezeqint.net) |
2021-09-01 18:07:28 +0200 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2021-09-01 18:07:37 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2021-09-01 18:09:26 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:76:2b00:7f15:65d3) (Remote host closed the connection) |
2021-09-01 18:09:28 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-09-01 18:12:02 +0200 | jippiedoe | (~david@2a02:a44c:e14e:1:88ae:c015:d0c7:4dd4) |
2021-09-01 18:14:13 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
2021-09-01 18:16:01 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds) |
2021-09-01 18:17:24 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-01 18:21:13 +0200 | qwedfg | (~qwedfg@user/qwedfg) |
2021-09-01 18:22:28 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-09-01 18:23:04 +0200 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 26.3)) |
2021-09-01 18:23:25 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-01 18:28:34 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-09-01 18:29:42 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-01 18:31:46 +0200 | d0ku | (~d0ku@178.43.56.75.ipv4.supernova.orange.pl) (Remote host closed the connection) |
2021-09-01 18:31:48 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2021-09-01 18:33:19 +0200 | aegon | (~mike@174.127.249.180) |
2021-09-01 18:33:24 +0200 | Erutuon | (~Erutuon@user/erutuon) |
2021-09-01 18:33:31 +0200 | zachjs | (~zachjs@c-24-8-115-19.hsd1.co.comcast.net) (Quit: zachjs) |
2021-09-01 18:34:27 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
2021-09-01 18:35:07 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-09-01 18:35:47 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-01 18:40:20 +0200 | jippiedoe | (~david@2a02:a44c:e14e:1:88ae:c015:d0c7:4dd4) (Quit: Leaving) |
2021-09-01 18:40:49 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds) |
2021-09-01 18:41:27 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-01 18:43:28 +0200 | SystemFFan | (~SystemFFa@188.70.6.7) |
2021-09-01 18:45:15 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) |
2021-09-01 18:46:30 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds) |
2021-09-01 18:47:45 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-01 18:49:05 +0200 | nschoe | (~quassel@178.251.84.79) (Ping timeout: 244 seconds) |
2021-09-01 18:49:32 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:76:2b00:7f15:65d3) |
2021-09-01 18:52:36 +0200 | econo | (uid147250@user/econo) |
2021-09-01 18:53:40 +0200 | Xe | (~cadey@tailscale/xe) (Ping timeout: 240 seconds) |
2021-09-01 18:55:10 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-09-01 18:59:08 +0200 | Xe | (~cadey@tailscale/xe) |
2021-09-01 19:01:03 +0200 | xsperry | (~as@user/xsperry) |
2021-09-01 19:02:56 +0200 | <tomsmeding> | buildMap getKey getValue = Map.fromList . map ((,) <$> head . fst <*> map snd) . groupOn ((==) `on` fst) . sortBy (comparing fst) . map ((,) <$> getKey <*> getValue) |
2021-09-01 19:03:08 +0200 | <tomsmeding> | potentially more efficient because less (++) ? |
2021-09-01 19:03:53 +0200 | fendor_ | (~fendor@91.141.68.147.wireless.dyn.drei.com) (Remote host closed the connection) |
2021-09-01 19:06:19 +0200 | <tomsmeding> | @tell kuribas https://ircbrowse.tomsmeding.com/day/lchaskell/2021/09/01?id=163897#trid163897 |
2021-09-01 19:06:19 +0200 | <lambdabot> | Consider it noted. |
2021-09-01 19:13:01 +0200 | xsperry | (~as@user/xsperry) () |
2021-09-01 19:16:34 +0200 | xsperry | (~as@user/xsperry) |
2021-09-01 19:21:43 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-01 19:22:25 +0200 | pgib | (~textual@173.38.117.72) (Ping timeout: 252 seconds) |
2021-09-01 19:23:22 +0200 | hannessteffenhag | (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 245 seconds) |
2021-09-01 19:24:11 +0200 | mikoto-chan | (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Quit: mikoto-chan) |
2021-09-01 19:24:16 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
2021-09-01 19:24:38 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) |
2021-09-01 19:26:47 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
2021-09-01 19:33:09 +0200 | desantra | (~skykanin@user/skykanin) |
2021-09-01 19:34:15 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
2021-09-01 19:36:50 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:76:2b00:7f15:65d3) (Remote host closed the connection) |
2021-09-01 19:39:03 +0200 | hannessteffenhag | (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
2021-09-01 19:40:24 +0200 | jrm | (~jrm@156.34.187.65) (Quit: ciao) |
2021-09-01 19:41:22 +0200 | <phaazon> | @hoogle ifM |
2021-09-01 19:41:23 +0200 | <lambdabot> | Control.Monad.Extra ifM :: Monad m => m Bool -> m a -> m a -> m a |
2021-09-01 19:41:23 +0200 | <lambdabot> | Extra ifM :: Monad m => m Bool -> m a -> m a -> m a |
2021-09-01 19:41:23 +0200 | <lambdabot> | Protolude ifM :: Monad m => m Bool -> m a -> m a -> m a |
2021-09-01 19:41:52 +0200 | jrm | (~jrm@156.34.187.65) |
2021-09-01 19:43:22 +0200 | hannessteffenhag | (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds) |
2021-09-01 19:43:34 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) |
2021-09-01 19:43:47 +0200 | Pickchea | (~private@user/pickchea) |
2021-09-01 19:45:06 +0200 | qwedfg | (~qwedfg@user/qwedfg) (Read error: Connection reset by peer) |
2021-09-01 19:45:33 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) |
2021-09-01 19:48:40 +0200 | qwedfg | (~qwedfg@user/qwedfg) |
2021-09-01 19:49:54 +0200 | ub | (~Thunderbi@91.141.71.52.wireless.dyn.drei.com) |
2021-09-01 19:55:59 +0200 | alx741 | (~alx741@186.178.108.235) (Quit: alx741) |
2021-09-01 19:56:18 +0200 | hannessteffenhag | (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
2021-09-01 19:58:06 +0200 | qwedfg | (~qwedfg@user/qwedfg) (Read error: Connection reset by peer) |
2021-09-01 19:58:14 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:76:2b00:7f15:65d3) |
2021-09-01 19:58:30 +0200 | Guest10 | (~Guest10@93-172-153-232.bb.netvision.net.il) |
2021-09-01 19:58:35 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-01 19:58:43 +0200 | ub | (~Thunderbi@91.141.71.52.wireless.dyn.drei.com) (Ping timeout: 252 seconds) |
2021-09-01 19:59:24 +0200 | <Guest10> | is there an efficient solution to the snail problem in haskell? https://www.codewars.com/kata/521c2db8ddc89b9b7a0000c1/haskell |
2021-09-01 20:00:40 +0200 | hannessteffenhag | (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds) |
2021-09-01 20:00:54 +0200 | <Guest10> | i know https://rextester.com/NJMZH56113 but with all the transposes it offers a less efficient solution than the normal imperative solution |
2021-09-01 20:01:02 +0200 | qwedfg | (~qwedfg@user/qwedfg) |
2021-09-01 20:03:05 +0200 | <int-e> | but it's so short and idiomatic :P |
2021-09-01 20:03:57 +0200 | <Guest10> | ye i love that solution. just wondering about efficiency |
2021-09-01 20:04:45 +0200 | <int-e> | An efficient solution will have to forego lists, I think. And once you use arrays... it's kind of boring? |
2021-09-01 20:05:02 +0200 | <Guest10> | vectors probably |
2021-09-01 20:05:06 +0200 | <Guest10> | also yes |
2021-09-01 20:05:14 +0200 | <Guest10> | but im still interested |
2021-09-01 20:05:42 +0200 | <Guest10> | because we still need to think about efficiency in code. no matter how fucking beautiful that solution is |
2021-09-01 20:06:10 +0200 | <monochrom> | Use a 2D array and work on indexing tricks. |
2021-09-01 20:06:27 +0200 | <monochrom> | Note that array ā list. |
2021-09-01 20:07:06 +0200 | <monochrom> | The indexing trick is not boring. |
2021-09-01 20:08:26 +0200 | <Guest10> | monochrom idk how to do what you're saying in haskell. that's why i raised the subject |
2021-09-01 20:09:32 +0200 | idf | (~idf@198.23.223.146) (Remote host closed the connection) |
2021-09-01 20:09:46 +0200 | <Guest10> | this was my solution in python which is not beautiful at all but works (without indexing tricks tho): https://pastebin.com/LgYCdfJv |
2021-09-01 20:10:34 +0200 | <Guest10> | just wondering if actually efficient solutions could be made in haskell and still be elegant |
2021-09-01 20:11:45 +0200 | <monochrom> | Do you already know how to use either the vector library from Hackage or the Data.Array module that comes with GHC? |
2021-09-01 20:12:32 +0200 | max22- | (~maxime@2a01cb0883359800ebf73839d72fccc8.ipv6.abo.wanadoo.fr) (Ping timeout: 245 seconds) |
2021-09-01 20:15:10 +0200 | <[exa]> | Guest10: if you want to do that with lists, just splitting the lists in half gives a pretty interesting recursion scheme there tbh |
2021-09-01 20:15:15 +0200 | hannessteffenhag | (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
2021-09-01 20:16:54 +0200 | zebrag | (~chris@user/zebrag) |
2021-09-01 20:17:57 +0200 | benin0369323 | (~benin@183.82.204.90) (Ping timeout: 244 seconds) |
2021-09-01 20:18:02 +0200 | OscarH | (~OscarH@97e48a81.skybroadband.com) (Ping timeout: 252 seconds) |
2021-09-01 20:18:55 +0200 | <Guest10> | monochrom no |
2021-09-01 20:19:22 +0200 | <int-e> | > let go 0 _ x y = [(x,y)]; go n d x y = [(x+d*i,y) | i <- [0..n-1]] ++ [(x+d*n,y+d*i) | i <- [0..n-1]] ++ go (n-1) (-d) (x+d*n) (y+d*n); snail n = go (n-1) 1 0 0 in snail 3 -- just computing indices |
2021-09-01 20:19:24 +0200 | <lambdabot> | [(0,0),(1,0),(2,0),(2,1),(2,2),(1,2),(1,1)] |
2021-09-01 20:19:30 +0200 | hannessteffenhag | (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 244 seconds) |
2021-09-01 20:19:36 +0200 | <Guest10> | [exa] umm ok |
2021-09-01 20:19:45 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
2021-09-01 20:19:56 +0200 | <monochrom> | They you can start by tossing a coin to pick one and start learning. |
2021-09-01 20:20:18 +0200 | <monochrom> | Either one is just a matter of reading library doc and practicing. |
2021-09-01 20:21:41 +0200 | <Guest10> | well i already am learning it |
2021-09-01 20:21:52 +0200 | <Guest10> | just thought somebody would have a clever solution to suggest |
2021-09-01 20:22:11 +0200 | <[exa]> | hm let's convert some logicks to data |
2021-09-01 20:22:22 +0200 | <[exa]> | (because that is the wayā¢) |
2021-09-01 20:23:22 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 245 seconds) |
2021-09-01 20:23:42 +0200 | <int-e> | Well, the reverse . transpose thing is clever. You can mimic it with an array library that implements reversals and transposes and tails as *views* on an initial 2D array... keeping track of a linear transformation... but it's hard to justify that amount of code for this simple problem |
2021-09-01 20:23:43 +0200 | <Guest10> | im not fluent enough to come up with one myself I(tho learning) yet, but still interested in how would that even look like in haskell |
2021-09-01 20:24:21 +0200 | <Guest10> | int-e would you say it's just not a kind of problem haskell is good at solving? |
2021-09-01 20:24:38 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-09-01 20:25:07 +0200 | <Guest10> | well not literally haskel but you get what i mean |
2021-09-01 20:25:19 +0200 | <int-e> | Oh it's good enough. It doesn't get a chance to shine and it suffers from not having the concise array indexing notation that imperative programming languages tend to have. |
2021-09-01 20:25:30 +0200 | <[exa]> | guideWithLimits = [ (_1, (+1), width), (_2, (+1), height), (_1, (- 1), 1), (_2, (- 1), 1)] |
2021-09-01 20:25:33 +0200 | <monochrom> | I am not very thrilled with composing views, since there are about sqrt(n) views to compose eventually. |
2021-09-01 20:25:59 +0200 | <int-e> | monochrom: yes, which is why you keep track of a linear transformation as a matrix |
2021-09-01 20:26:18 +0200 | <int-e> | so you don't have to go through the whole stack on every access. |
2021-09-01 20:26:19 +0200 | <[exa]> | unfortunately it requires rotating the guide but that can be done in AO(1) with the lazy queue |
2021-09-01 20:26:34 +0200 | <int-e> | monochrom: or at least that's what I had in mind |
2021-09-01 20:30:21 +0200 | <monochrom> | [exa], I would replace "rotation" by cycle. cycle [x,y,z] = [x,y,z,x,y,z,x,y,z,...] not more rotation, just consumption. |
2021-09-01 20:30:31 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) |
2021-09-01 20:32:10 +0200 | <[exa]> | monochrom: I need to update the bounds there, but yeah there might be a better way |
2021-09-01 20:32:40 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-09-01 20:33:25 +0200 | <[exa]> | anyway that was an exercise in "materialize the offsets for clarity", not saying it's good :] |
2021-09-01 20:33:26 +0200 | mikoto-chan | (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) |
2021-09-01 20:36:13 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-09-01 20:36:29 +0200 | Guest8166 | (~lordgrenv@141.226.11.65) |
2021-09-01 20:37:53 +0200 | max22- | (~maxime@2a01cb0883359800f554d7694bd7e6d3.ipv6.abo.wanadoo.fr) |
2021-09-01 20:38:53 +0200 | chisui | (~chisui@200116b868aa2800d5eed5c8b9502c85.dip.versatel-1u1.de) |
2021-09-01 20:42:10 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds) |
2021-09-01 20:42:48 +0200 | desantra | (~skykanin@user/skykanin) (Quit: WeeChat 3.2) |
2021-09-01 20:43:02 +0200 | MQ-17J | (~MQ-17J@8.21.10.6) |
2021-09-01 20:51:49 +0200 | mikoto-chan | (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Quit: mikoto-chan) |
2021-09-01 20:55:13 +0200 | commuswift[m] | (~commuswif@2001:470:69fc:105::e862) |
2021-09-01 20:55:51 +0200 | Guest10 | (~Guest10@93-172-153-232.bb.netvision.net.il) (Ping timeout: 256 seconds) |
2021-09-01 20:55:52 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Ping timeout: 245 seconds) |
2021-09-01 20:57:13 +0200 | azeem | (~azeem@62.19.37.175) (Ping timeout: 244 seconds) |
2021-09-01 20:57:38 +0200 | azeem | (~azeem@62.19.37.175) |
2021-09-01 20:57:51 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2021-09-01 21:02:49 +0200 | burnsidesLlama | (~burnsides@dhcp168-020.wadham.ox.ac.uk) |
2021-09-01 21:04:10 +0200 | vysn | (~vysn@user/vysn) |
2021-09-01 21:04:36 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
2021-09-01 21:05:40 +0200 | mikoto-chan | (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) |
2021-09-01 21:06:22 +0200 | lisq | (~quassel@lis.moe) (Quit: lisq) |
2021-09-01 21:09:06 +0200 | hyiltiz | (~quassel@31.220.5.250) (Ping timeout: 244 seconds) |
2021-09-01 21:09:56 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2) |
2021-09-01 21:10:32 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 245 seconds) |
2021-09-01 21:10:46 +0200 | lep | lep- |
2021-09-01 21:11:00 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-09-01 21:11:31 +0200 | burnsidesLlama | (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-09-01 21:12:58 +0200 | MQ-17J | (~MQ-17J@8.21.10.6) (Ping timeout: 252 seconds) |
2021-09-01 21:13:23 +0200 | MQ-17J | (~MQ-17J@8.21.10.6) |
2021-09-01 21:14:32 +0200 | burnsidesLlama | (~burnsides@dhcp168-020.wadham.ox.ac.uk) |
2021-09-01 21:14:38 +0200 | hannessteffenhag | (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
2021-09-01 21:14:56 +0200 | cloudy[m] | (~cloudyclo@2001:470:69fc:105::50c0) |
2021-09-01 21:15:18 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) |
2021-09-01 21:18:11 +0200 | cloudy[m] | cloudy |
2021-09-01 21:18:55 +0200 | hannessteffenhag | (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 244 seconds) |
2021-09-01 21:20:07 +0200 | MQ-17J | (~MQ-17J@8.21.10.6) (Ping timeout: 252 seconds) |
2021-09-01 21:21:18 +0200 | lep- | lep |
2021-09-01 21:21:28 +0200 | arjun | (~Srain@user/arjun) (Remote host closed the connection) |
2021-09-01 21:23:00 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-09-01 21:23:56 +0200 | Lycurgus | (~juan@cpe-45-46-140-49.buffalo.res.rr.com) |
2021-09-01 21:24:51 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-09-01 21:24:51 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-09-01 21:24:51 +0200 | wroathe | (~wroathe@user/wroathe) |
2021-09-01 21:25:44 +0200 | superbil | (~superbil@1-34-176-171.HINET-IP.hinet.net) (Ping timeout: 250 seconds) |
2021-09-01 21:29:47 +0200 | echoone | (~echoone@2a02:8109:a1c0:5d05:2d85:bc81:1c9c:4feb) |
2021-09-01 21:30:29 +0200 | lep | lep- |
2021-09-01 21:30:56 +0200 | nvmd | (~nvmd@user/nvmd) (Ping timeout: 250 seconds) |
2021-09-01 21:31:02 +0200 | cloudy | (~cloudyclo@2001:470:69fc:105::50c0) (Quit: Reconnecting) |
2021-09-01 21:31:14 +0200 | lisq | (~quassel@lis.moe) |
2021-09-01 21:31:16 +0200 | cloudy | (~cloudy@2001:470:69fc:105::50c0) |
2021-09-01 21:31:40 +0200 | elf_fortrez | (~elf_fortr@adsl-64-237-239-250.prtc.net) |
2021-09-01 21:32:08 +0200 | burnsidesLlama | (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-09-01 21:33:23 +0200 | hannessteffenhag | (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
2021-09-01 21:33:33 +0200 | chisui | (~chisui@200116b868aa2800d5eed5c8b9502c85.dip.versatel-1u1.de) (Quit: Client closed) |
2021-09-01 21:33:35 +0200 | elf_fortrez | (~elf_fortr@adsl-64-237-239-250.prtc.net) (Client Quit) |
2021-09-01 21:33:48 +0200 | burnsidesLlama | (~burnsides@dhcp168-020.wadham.ox.ac.uk) |
2021-09-01 21:39:22 +0200 | azeem | (~azeem@62.19.37.175) (Ping timeout: 252 seconds) |
2021-09-01 21:39:52 +0200 | azeem | (~azeem@62.19.37.175) |
2021-09-01 21:44:33 +0200 | sclv | (sid39734@haskell/developer/sclv) (Ping timeout: 276 seconds) |
2021-09-01 21:45:12 +0200 | rune | (sid21167@id-21167.charlton.irccloud.com) (Ping timeout: 276 seconds) |
2021-09-01 21:45:12 +0200 | royo | (~royo@user/royo) (Ping timeout: 276 seconds) |
2021-09-01 21:45:12 +0200 | zzz | (~yin@user/yin) (Ping timeout: 276 seconds) |
2021-09-01 21:45:37 +0200 | burnsidesLlama | (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-09-01 21:45:51 +0200 | caasih | (sid13241@id-13241.charlton.irccloud.com) (Ping timeout: 276 seconds) |
2021-09-01 21:45:51 +0200 | welterde | (welterde@thinkbase.srv.welterde.de) (Ping timeout: 276 seconds) |
2021-09-01 21:46:20 +0200 | azeem | (~azeem@62.19.37.175) (Ping timeout: 256 seconds) |
2021-09-01 21:46:35 +0200 | caasih | (sid13241@id-13241.charlton.irccloud.com) |
2021-09-01 21:46:42 +0200 | hannessteffenhag | (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 245 seconds) |
2021-09-01 21:47:06 +0200 | rune | (sid21167@id-21167.charlton.irccloud.com) |
2021-09-01 21:47:24 +0200 | azeem | (~azeem@62.19.37.175) |
2021-09-01 21:47:30 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
2021-09-01 21:51:24 +0200 | zzz | (~yin@user/yin) |
2021-09-01 21:53:30 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-09-01 21:56:25 +0200 | lep- | lep |
2021-09-01 21:56:58 +0200 | Guest8166 | (~lordgrenv@141.226.11.65) (Ping timeout: 252 seconds) |
2021-09-01 21:58:00 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) |
2021-09-01 21:58:04 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
2021-09-01 21:58:10 +0200 | welterde | (welterde@thinkbase.srv.welterde.de) |
2021-09-01 21:58:15 +0200 | kenran | (~kenran@200116b82b07b8005c98d0a77c3f6d41.dip.versatel-1u1.de) |
2021-09-01 21:58:39 +0200 | royo | (~royo@user/royo) |
2021-09-01 21:59:22 +0200 | sclv | (sid39734@haskell/developer/sclv) |
2021-09-01 22:03:46 +0200 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
2021-09-01 22:04:54 +0200 | juhp | (~juhp@128.106.188.220) (Ping timeout: 244 seconds) |
2021-09-01 22:05:46 +0200 | hgolden | (~hgolden2@cpe-172-114-84-61.socal.res.rr.com) (Ping timeout: 252 seconds) |
2021-09-01 22:06:47 +0200 | juhp | (~juhp@128.106.188.220) |
2021-09-01 22:06:57 +0200 | talismanick | (~user@2601:644:8500:8350::cc04) |
2021-09-01 22:08:19 +0200 | flukiluke | (~flukiluke@2603:c023:c000:6c7e:8945:ad24:9113:a962) (Ping timeout: 250 seconds) |
2021-09-01 22:08:42 +0200 | flukiluke | (~flukiluke@2603:c023:c000:6c7e:8945:ad24:9113:a962) |
2021-09-01 22:08:44 +0200 | echoone | (~echoone@2a02:8109:a1c0:5d05:2d85:bc81:1c9c:4feb) (Quit: Client closed) |
2021-09-01 22:10:43 +0200 | superbil | (~superbil@1-34-176-171.HINET-IP.hinet.net) |
2021-09-01 22:12:08 +0200 | dunj3 | (~dunj3@2001:16b8:30cf:7000:7144:88af:3fb9:7fd1) (Remote host closed the connection) |
2021-09-01 22:16:26 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
2021-09-01 22:17:22 +0200 | pavonia | (~user@user/siracusa) |
2021-09-01 22:19:53 +0200 | aman | (~aman@user/aman) (Ping timeout: 244 seconds) |
2021-09-01 22:22:16 +0200 | superbil | (~superbil@1-34-176-171.HINET-IP.hinet.net) (Ping timeout: 252 seconds) |
2021-09-01 22:25:30 +0200 | burnsidesLlama | (~burnsides@dhcp168-020.wadham.ox.ac.uk) |
2021-09-01 22:28:32 +0200 | <dminuoso> | Let's pretend there was a global malware that would delete all binary installations of a Haskeller compiler (GHC, Hugs, all of them). How tedious would the process be of bootstrapping GHC again? |
2021-09-01 22:29:12 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-09-01 22:29:52 +0200 | <dminuoso> | In principle you'd just have to implement Haskell with all the language extensions used in GHC, and reimplement the RTS behavior in all details right? |
2021-09-01 22:30:23 +0200 | <Lycurgus> | why couldn't it be recompiled? |
2021-09-01 22:30:35 +0200 | <dminuoso> | GHC is written in Haskell. |
2021-09-01 22:31:00 +0200 | <dminuoso> | With all binary installations (and archives!) of a Haskell compiler removed, you couldn't bootstrap it. |
2021-09-01 22:31:28 +0200 | <Lycurgus> | so you meant not just the final binary but anything between sources and the binary |
2021-09-01 22:31:32 +0200 | <dminuoso> | Right. |
2021-09-01 22:31:42 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
2021-09-01 22:31:46 +0200 | burnsidesLlama | (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Ping timeout: 244 seconds) |
2021-09-01 22:32:13 +0200 | hgolden | (~hgolden2@cpe-172-114-84-61.socal.res.rr.com) |
2021-09-01 22:33:18 +0200 | <Lycurgus> | you could still prolly do somekina translation on the sources with a bootstrapping rube goldberg kinda thing |
2021-09-01 22:33:52 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-09-01 22:35:25 +0200 | <Lycurgus> | that autopoetic thing began with smalltalk sfaict |
2021-09-01 22:35:46 +0200 | <Lycurgus> | but prolly goes back further |
2021-09-01 22:36:21 +0200 | <Lycurgus> | to lisp i imagine |
2021-09-01 22:36:21 +0200 | <dsal> | You can experience a lot of that pain by just trying to port it to a new architecture. |
2021-09-01 22:36:52 +0200 | <dminuoso> | dsal: I dont have to implement a whole compiler for that, though. |
2021-09-01 22:37:10 +0200 | <sclv> | yeah i was going to say that if you have unregisterized sources you can _in theory_ compile them directly with gcc https://downloads.haskell.org/~ghc/9.0.1/docs/html/users_guide/codegens.html?highlight=unregisteriā¦ |
2021-09-01 22:37:12 +0200 | <Lycurgus> | really they claim it's facilitated |
2021-09-01 22:37:15 +0200 | <dminuoso> | For porting to a new architecture might start with Core |
2021-09-01 22:37:19 +0200 | <Lycurgus> | which means eased |
2021-09-01 22:37:26 +0200 | <dsal> | dminuoso: Yeah, I guess the low-level stuff is relatively smaller. |
2021-09-01 22:38:16 +0200 | <dminuoso> | I'm guessing adding a new architecture faces three primary problems: RTS, code generation and linkage. |
2021-09-01 22:38:24 +0200 | Lycurgus | was pleased to see a few minutes ago that a stack built binary ran ok copied to another machine |
2021-09-01 22:39:01 +0200 | <dminuoso> | sclv: That's just for code generation though. The moment we're generating code already, most of the hard work is done. |
2021-09-01 22:39:14 +0200 | <sclv> | i don't know what you mean |
2021-09-01 22:39:32 +0200 | <sclv> | i mean that you can get a "working" ghc by building from unregisterized c |
2021-09-01 22:39:33 +0200 | <sclv> | directly |
2021-09-01 22:39:40 +0200 | <sclv> | and that in turn can compile into unregiserized c |
2021-09-01 22:39:55 +0200 | <sclv> | or any supported arch |
2021-09-01 22:40:02 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 245 seconds) |
2021-09-01 22:40:07 +0200 | mikoto-chan | (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 245 seconds) |
2021-09-01 22:40:33 +0200 | <dminuoso> | Ah. Im just saying, this wouldn't help in case of the global Haskell Removal Incident |
2021-09-01 22:40:49 +0200 | <sclv> | assuming you already had unregisterized sources it would |
2021-09-01 22:41:12 +0200 | <sclv> | you could just throw those sources at gcc |
2021-09-01 22:41:16 +0200 | Lycurgus | .oO( somebody's got too much time on their hands) |
2021-09-01 22:41:47 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-09-01 22:41:56 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) |
2021-09-01 22:42:35 +0200 | <dminuoso> | I guess it just fascinates me, how much technology requires itself for bootstrapping. Let's say we didn't have unregistered sources for GHC. |
2021-09-01 22:42:35 +0200 | mikoto-chan | (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) |
2021-09-01 22:43:01 +0200 | <kaol> | Hugs is implemented in C, I suppose it could bootstrap an old enough GHC. |
2021-09-01 22:43:12 +0200 | <dminuoso> | kaol: I explicitly even named Hugs! |
2021-09-01 22:43:21 +0200 | <janus> | haskell is gods own programming langauge, god will make sure haskell emerges from nature again |
2021-09-01 22:43:26 +0200 | <dminuoso> | The tapeworm will destroy Hugs as well. |
2021-09-01 22:43:48 +0200 | <dminuoso> | (It's quite a destructive and evil tapeworm) |
2021-09-01 22:44:36 +0200 | <dminuoso> | The thought that sparked all of this was wondering how could I ever actually trust my compiler. |
2021-09-01 22:45:00 +0200 | <dminuoso> | So kaol might actually have supplied a sufficient answer for that. |
2021-09-01 22:45:50 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-09-01 22:45:53 +0200 | <dminuoso> | I can only reasonably trust a GHC binary to be free of evil modifications if I built it myself - but I can't build GHC without GHC - |
2021-09-01 22:46:09 +0200 | <dsal> | ...from spec |
2021-09-01 22:46:32 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
2021-09-01 22:48:07 +0200 | ubert | (~Thunderbi@91.141.71.52.wireless.dyn.drei.com) (Ping timeout: 252 seconds) |
2021-09-01 22:49:55 +0200 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2021-09-01 22:51:17 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 245 seconds) |
2021-09-01 22:51:17 +0200 | Lord_of_Life_ | Lord_of_Life |
2021-09-01 22:52:43 +0200 | <monochrom> | May I exploit a loop hole in your question? (Haha the irony.) |
2021-09-01 22:53:25 +0200 | <monochrom> | It may be viable to take surviving gopher and miranda compilers to restart GHC. |
2021-09-01 22:53:43 +0200 | <monochrom> | Your tapeworm passed over them, no? :) |
2021-09-01 22:54:00 +0200 | <monochrom> | err s/gopher/gofer/ |
2021-09-01 22:54:41 +0200 | <monochrom> | (Let's leave gopher for some other day when you propose "if a tapeworm destroys all web browsers and web servers"... >:) ) |
2021-09-01 22:55:23 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2021-09-01 22:56:34 +0200 | <monochrom> | And if gofer and miranda were wiped out too, there would still be SML. |
2021-09-01 22:56:59 +0200 | <monochrom> | And if SML were wiped out too, there would still be Lisp. (Early *ML compilers were written in Lisp.) |
2021-09-01 22:57:21 +0200 | SystemFFan | (~SystemFFa@188.70.6.7) (Remote host closed the connection) |
2021-09-01 22:57:26 +0200 | <dminuoso> | monochrom: Nice pun. |
2021-09-01 22:57:51 +0200 | <dminuoso> | If a tapeworm destroys all web browsers the world will be a better place. |
2021-09-01 22:58:01 +0200 | <dminuoso> | I wouldn't want anything to be restored after that. |
2021-09-01 22:58:10 +0200 | SystemFFan | (~SystemFFa@188.70.6.7) |
2021-09-01 22:58:28 +0200 | <dminuoso> | But it's interesting, I really hadn't considered gofer and miranda. |
2021-09-01 22:58:31 +0200 | <monochrom> | :( |
2021-09-01 22:59:19 +0200 | <dminuoso> | Can we even be sure that all GHCs arent infested with evil modifications already? |
2021-09-01 22:59:25 +0200 | <monochrom> | The web has a good part, I enjoy the good part very much. Hyperlinking was a great invention. Much better than "[1]" and requiring the reader to scroll to the bottom for [1]. |
2021-09-01 22:59:37 +0200 | <kaol> | NPM sure tries it best to destroy itself periodically. |
2021-09-01 22:59:44 +0200 | <dminuoso> | I mean if say Ben Gamaris machine was compromised, and he produced evil binaries that were then used to bootstrap other GHCs.. |
2021-09-01 23:00:00 +0200 | <dminuoso> | That seems like a type of supply chain attack to be almost impossbile to get out of |
2021-09-01 23:00:13 +0200 | <Lycurgus> | how do you distinguish evil modifications from the next new breaking change? |
2021-09-01 23:00:43 +0200 | <davean> | dminuoso: you mean the trusting trust attack? |
2021-09-01 23:00:49 +0200 | <dminuoso> | monochrom: hyperlinking was a terrible invention since most webserver hosters break the principle idea of persistent links. |
2021-09-01 23:00:52 +0200 | mikoto-chan | (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 245 seconds) |
2021-09-01 23:00:59 +0200 | <davean> | dminuoso: you build GHC via-c, boot that from a minimal compiler, and walk forward recompiling |
2021-09-01 23:01:07 +0200 | <monochrom> | Yeah Dennis Ritchie's Turing Award lecture paints a basically bleak picture about this. (Except s/Haskell/C/.) It's very hard to fix. |
2021-09-01 23:01:17 +0200 | <dminuoso> | davean: via-c using what software? |
2021-09-01 23:01:40 +0200 | <davean> | dminuoso: old GHC, you save one - there are saved ones I believe |
2021-09-01 23:01:47 +0200 | <davean> | but you can also audit the C (if you're insane) |
2021-09-01 23:01:52 +0200 | acidjnk_new | (~acidjnk@p200300d0c720300659598fb61e40d514.dip0.t-ipconnect.de) |
2021-09-01 23:02:02 +0200 | <dminuoso> | Ill have to read Dennis Ritcies lecture on that. |
2021-09-01 23:02:14 +0200 | <dminuoso> | And yeah, it seems trusting trust is what Im chasing. |
2021-09-01 23:02:33 +0200 | <dminuoso> | davean: Of course that's assuming that that old GHC wasnt evil already. |
2021-09-01 23:02:39 +0200 | <davean> | dminuoso: doesn't matter |
2021-09-01 23:02:43 +0200 | <davean> | if you audit the C |
2021-09-01 23:02:58 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
2021-09-01 23:03:03 +0200 | <davean> | we can step forward to a C compile from a few machine code bytes |
2021-09-01 23:03:17 +0200 | <davean> | Its something like 200 bytes you have to trust |
2021-09-01 23:03:17 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds) |
2021-09-01 23:03:27 +0200 | <davean> | Again, its a fuckton of work |
2021-09-01 23:03:48 +0200 | <davean> | but you can boot the world from a few bytes of machine code, if you trust the machine |
2021-09-01 23:03:48 +0200 | johnw | (~johnw@2600:1700:cf00:db0:ddb1:e5fb:471:495e) |
2021-09-01 23:04:32 +0200 | <dminuoso> | I've already silently accepted that I have to trust my machine of hardware I cant possibly inspect, with firmware I cant possibly inspect, running microcode I cant possibly inspect on a CPU I cant possibly inspect.. |
2021-09-01 23:05:10 +0200 | superbil | (~superbil@1-34-176-171.HINET-IP.hinet.net) |
2021-09-01 23:05:50 +0200 | <monochrom> | The PDP-11 is pretty reasonable to trust, without all those bells and whistles about CPU having its own OS etc. |
2021-09-01 23:06:42 +0200 | <davean> | dminuoso: https://github.com/oriansj/stage0 |
2021-09-01 23:08:08 +0200 | <davean> | dminuoso: anyway, you CAN do this walk |
2021-09-01 23:10:28 +0200 | <dminuoso> | davean: That's an interesting bootstrap project |
2021-09-01 23:10:52 +0200 | deejaytee | (~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net) |
2021-09-01 23:11:07 +0200 | kenran | (~kenran@200116b82b07b8005c98d0a77c3f6d41.dip.versatel-1u1.de) (Quit: WeeChat info:version) |
2021-09-01 23:11:56 +0200 | <davean> | dminuoso: on power you can do a little better and inspect the firmware? |
2021-09-01 23:12:14 +0200 | <davean> | Its a hard problem, but not an unsolvable one |
2021-09-01 23:13:22 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 245 seconds) |
2021-09-01 23:13:39 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-09-01 23:13:48 +0200 | <dminuoso> | davean: bootstrapping hardware is much more difficult, though. |
2021-09-01 23:13:52 +0200 | michalz | (~michalz@185.246.204.55) (Remote host closed the connection) |
2021-09-01 23:15:02 +0200 | <dminuoso> | But I guess FPGAs would be a good starter |
2021-09-01 23:15:41 +0200 | <dminuoso> | Not entirely fool proof, but an evil modification inside an FPGA to affect unknown FPGA code that simulates say power |
2021-09-01 23:15:47 +0200 | <dminuoso> | Seems much more unrealistic |
2021-09-01 23:16:32 +0200 | <dminuoso> | All of this dampens my mood :( |
2021-09-01 23:17:12 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
2021-09-01 23:18:10 +0200 | <davean> | dminuoso: I mean you can buy a machine which you can compile your own firmware for in POWER form today |
2021-09-01 23:18:18 +0200 | <davean> | That doesn't check the circutes mind you |
2021-09-01 23:21:42 +0200 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 245 seconds) |
2021-09-01 23:22:15 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) |
2021-09-01 23:22:56 +0200 | fendor | (~fendor@91.141.68.147.wireless.dyn.drei.com) |
2021-09-01 23:24:31 +0200 | wroathe | (~wroathe@96-88-30-181-static.hfc.comcastbusiness.net) |
2021-09-01 23:24:31 +0200 | wroathe | (~wroathe@96-88-30-181-static.hfc.comcastbusiness.net) (Changing host) |
2021-09-01 23:24:31 +0200 | wroathe | (~wroathe@user/wroathe) |
2021-09-01 23:24:47 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-09-01 23:29:07 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 244 seconds) |
2021-09-01 23:30:27 +0200 | azeem | (~azeem@62.19.37.175) (Ping timeout: 245 seconds) |
2021-09-01 23:30:33 +0200 | max22- | (~maxime@2a01cb0883359800f554d7694bd7e6d3.ipv6.abo.wanadoo.fr) (Quit: Leaving) |
2021-09-01 23:30:48 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2021-09-01 23:37:28 +0200 | BestSteve | (~beststeve@220-135-3-239.HINET-IP.hinet.net) (Quit: WeeChat 3.1) |
2021-09-01 23:40:56 +0200 | <tdammers> | realistically, the only proper solution is a cabin in Siberia with a flock of goats |
2021-09-01 23:42:10 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2021-09-01 23:43:08 +0200 | hannessteffenhag | (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) |
2021-09-01 23:45:57 +0200 | <maerwald> | hmm, goat cheese |
2021-09-01 23:47:31 +0200 | hannessteffenhag | (~hannesste@ip4d14ffee.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
2021-09-01 23:50:16 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds) |
2021-09-01 23:50:34 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-09-01 23:50:46 +0200 | <hpc> | a flock of goats? |
2021-09-01 23:55:42 +0200 | Everything | (~Everythin@37.115.210.35) (Quit: leaving) |