2022-01-08 00:00:19 +0100 | OscarZ_ | (~oscarz@95.175.104.170) (Ping timeout: 256 seconds) |
2022-01-08 00:02:37 +0100 | notzmv | (~zmv@user/notzmv) (Ping timeout: 268 seconds) |
2022-01-08 00:05:53 +0100 | burnsidesLlama | (~burnsides@dhcp168-021.wadham.ox.ac.uk) |
2022-01-08 00:07:24 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
2022-01-08 00:07:41 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2022-01-08 00:07:49 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Ping timeout: 240 seconds) |
2022-01-08 00:08:37 +0100 | n3rdy1 | (~n3rdy1@2600:1700:4570:3480:1b88:50f:dae0:9293) (Ping timeout: 240 seconds) |
2022-01-08 00:09:39 +0100 | <c_wraith> | remember, inlinePerformIO breaks everything. :) |
2022-01-08 00:12:37 +0100 | jkaye | (~jkaye@2601:281:8300:7530:89aa:29d4:1f39:3e9) (Ping timeout: 240 seconds) |
2022-01-08 00:15:03 +0100 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 256 seconds) |
2022-01-08 00:16:54 +0100 | OscarZ- | (~oscarz@95.175.104.170) (Quit: Leaving) |
2022-01-08 00:17:07 +0100 | cosimone | (~user@93-47-228-11.ip115.fastwebnet.it) |
2022-01-08 00:19:17 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-01-08 00:21:08 +0100 | Inst | (~delicacie@c-98-208-218-119.hsd1.fl.comcast.net) |
2022-01-08 00:23:43 +0100 | <EvanR> | it breaks all my totally justified not justified uses of unsafePerformIO |
2022-01-08 00:23:57 +0100 | <EvanR> | like globalllllllls! |
2022-01-08 00:25:12 +0100 | <hpc> | this is why i always use unsafeCoerce instead |
2022-01-08 00:25:45 +0100 | <c_wraith> | remember, if you try hard enough unsafeCoerce can be used as unsafePerformIO! |
2022-01-08 00:26:38 +0100 | <hpc> | this is why agda is the best language, its intermediate haskell representation is nothing but unsafeCoerce |
2022-01-08 00:27:03 +0100 | dka | (~code-is-a@193.70.33.83) |
2022-01-08 00:28:05 +0100 | zer0bitz | (~zer0bitz@196.244.192.57) (Ping timeout: 256 seconds) |
2022-01-08 00:30:45 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-01-08 00:30:51 +0100 | AlexNoo_ | (~AlexNoo@178.34.162.219) |
2022-01-08 00:32:37 +0100 | AlexZenon | (~alzenon@94.233.240.16) (Ping timeout: 256 seconds) |
2022-01-08 00:32:46 +0100 | Alex_test | (~al_test@94.233.240.16) (Ping timeout: 256 seconds) |
2022-01-08 00:33:49 +0100 | xmyst | (~xmyst@ip5f5ac363.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds) |
2022-01-08 00:34:28 +0100 | AlexNoo | (~AlexNoo@94.233.240.16) (Ping timeout: 256 seconds) |
2022-01-08 00:34:56 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2022-01-08 00:36:02 +0100 | <[itchyjunk]> | hmm |
2022-01-08 00:36:28 +0100 | AlexZenon | (~alzenon@178.34.162.219) |
2022-01-08 00:36:36 +0100 | Alex_test | (~al_test@178.34.162.219) |
2022-01-08 00:36:54 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
2022-01-08 00:37:16 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2022-01-08 00:37:17 +0100 | <[itchyjunk]> | so if my type has a data constructor of type |
2022-01-08 00:37:23 +0100 | <[itchyjunk]> | err |
2022-01-08 00:41:49 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-01-08 00:41:53 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2022-01-08 00:41:54 +0100 | <[itchyjunk]> | My type can have 2 types of data, either Nil or the other thing, right? |
2022-01-08 00:41:54 +0100 | <[itchyjunk]> | https://bpa.st/W6RQ |
2022-01-08 00:42:20 +0100 | <[itchyjunk]> | So in case it's Nil, i want the value to be 0. `mySum Nil = 0` makes sense? |
2022-01-08 00:42:52 +0100 | <EvanR> | mySum Nil could not really be anything else! |
2022-01-08 00:43:10 +0100 | <EvanR> | process of elimination oriented programming |
2022-01-08 00:43:49 +0100 | <[itchyjunk]> | so then, if it's not Nil, the only other data type it could be is something of the form Cons a (ItchyList a), right? |
2022-01-08 00:43:53 +0100 | <sub0> | you need parens around Cons x (ItchyList xs) |
2022-01-08 00:43:58 +0100 | cosimone | (~user@93-47-228-11.ip115.fastwebnet.it) (Read error: Connection reset by peer) |
2022-01-08 00:44:04 +0100 | <geekosaur> | think about how the recursive case works. it bottoms out at Nil, so that has to be 0 otherwise your sum has some other value added to it |
2022-01-08 00:44:05 +0100 | <sub0> | mySum (Cons x (ItchyList xs)) = x + mySum xs |
2022-01-08 00:44:08 +0100 | <[itchyjunk]> | ohh |
2022-01-08 00:45:05 +0100 | <sub0> | and remove ItchyList, that is not a constructor |
2022-01-08 00:45:24 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
2022-01-08 00:45:30 +0100 | <sub0> | (neither is Cons for that matter. you named it Con) |
2022-01-08 00:45:45 +0100 | <[itchyjunk]> | oops :( |
2022-01-08 00:45:46 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2022-01-08 00:46:19 +0100 | <sub0> | after you fix all that, consider making it an instance of Foldable |
2022-01-08 00:46:26 +0100 | <sub0> | then you could use regular sum, and length |
2022-01-08 00:46:28 +0100 | <sub0> | :t sum |
2022-01-08 00:46:29 +0100 | <lambdabot> | (Foldable t, Num a) => t a -> a |
2022-01-08 00:46:30 +0100 | flupe | (~baboum@radon.sbi.re) |
2022-01-08 00:46:31 +0100 | <sub0> | :t length |
2022-01-08 00:46:32 +0100 | <lambdabot> | Foldable t => t a -> Int |
2022-01-08 00:46:39 +0100 | <geekosaur> | writing those is part of the exercise iirc |
2022-01-08 00:46:48 +0100 | <[itchyjunk]> | yes part of exercise |
2022-01-08 00:47:48 +0100 | <[itchyjunk]> | I can't figure out how to make a ItchyList to test my code. `ItchyList testList = blah` |
2022-01-08 00:47:54 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
2022-01-08 00:48:11 +0100 | <flupe> | on the doc about -XRebindableSyntax, it says for most construct GHC will now use whatever is in scope, *except* for the arrow notation, where you must "match the Prelude types very closely". What does this mean? |
2022-01-08 00:48:14 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2022-01-08 00:48:19 +0100 | <EvanR> | constructors is literally how you make whatever |
2022-01-08 00:48:25 +0100 | sebau1995 | (~sebau1995@138.117.21.68) |
2022-01-08 00:48:30 +0100 | <EvanR> | use the constructors |
2022-01-08 00:48:36 +0100 | <geekosaur> | an ItchyList is either Nil, or (Con someItem anItchyList) |
2022-01-08 00:48:37 +0100 | <flupe> | I want to implement constrained arrows (much like contrained monads or whatever), but this seems to suggest I cannot |
2022-01-08 00:48:46 +0100 | <geekosaur> | recurse as needed to build a list |
2022-01-08 00:49:54 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
2022-01-08 00:50:03 +0100 | coolnickname | (uid531864@user/coolnickname) (Quit: Connection closed for inactivity) |
2022-01-08 00:50:12 +0100 | jonathanx | (~jonathan@h-178-174-176-109.a357.priv.bahnhof.se) |
2022-01-08 00:51:19 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds) |
2022-01-08 00:51:42 +0100 | <sub0> | [itchyjunk], you have two constructors, Cons and Nil. look at the types, and use them to create a list |
2022-01-08 00:51:58 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
2022-01-08 00:52:19 +0100 | <[itchyjunk]> | I am trying to do something like myList = Cons 1 Nil to create a list with 1 item |
2022-01-08 00:52:34 +0100 | <sub0> | that should work |
2022-01-08 00:52:44 +0100 | Brumaire | (~quassel@81-64-14-121.rev.numericable.fr) (Quit: ran away) |
2022-01-08 00:53:18 +0100 | <[itchyjunk]> | It gives no error but I can check it like regular lists because i need to apparently implement my own `Show` command |
2022-01-08 00:53:22 +0100 | <[itchyjunk]> | maybe print? hmm |
2022-01-08 00:53:29 +0100 | <[itchyjunk]> | can't* |
2022-01-08 00:53:38 +0100 | <EvanR> | do deriving Show |
2022-01-08 00:53:50 +0100 | <geekosaur> | go back up to your definition and add `deriving Show` to the end |
2022-01-08 00:54:19 +0100 | <[itchyjunk]> | oh neat! |
2022-01-08 00:54:33 +0100 | <[itchyjunk]> | it all works /o\ |
2022-01-08 00:55:24 +0100 | <lechner> | Hi, knowing that Semver is controversial, what is everyone's favorite implementation on hackage, please? |
2022-01-08 00:56:14 +0100 | sebau1995 | (~sebau1995@138.117.21.68) (Quit: Client closed) |
2022-01-08 00:56:21 +0100 | <sshine> | lechner, what does an implementation of SemVer feature? |
2022-01-08 00:57:56 +0100 | <lechner> | a type, presumably? |
2022-01-08 00:58:08 +0100 | <sshine> | lechner, Data.Version in base has a partial ordering, so you can use it to express all semantic versions. |
2022-01-08 00:58:17 +0100 | <sshine> | https://hackage.haskell.org/package/base-4.16.0.0/docs/Data-Version.html |
2022-01-08 00:59:19 +0100 | <lechner> | that's what i thought. i had been using 'semver' but 'versions' is a lot more popular |
2022-01-08 00:59:31 +0100 | <lechner> | oh wait |
2022-01-08 00:59:36 +0100 | <lechner> | this is in base? |
2022-01-08 00:59:49 +0100 | <sshine> | yes, the Data.Version module is in base. |
2022-01-08 01:00:10 +0100 | <lechner> | sorry, got confused with Data.Versions |
2022-01-08 01:01:50 +0100 | <lechner> | thanks! |
2022-01-08 01:02:42 +0100 | <sshine> | I can see that both packages 'semver' and 'salve' address resolving version constraint expressions, like these: https://hackage.haskell.org/package/salve-1.0.11/docs/Salve.html -- I don't think that those constraint expressions are restricted to SemVer, but I guess that's another feature you'd wanna have in a semver library. |
2022-01-08 01:02:52 +0100 | max22- | (~maxime@2a01cb088335980011bb54fd9cdf5176.ipv6.abo.wanadoo.fr) (Remote host closed the connection) |
2022-01-08 01:03:24 +0100 | jonathanx | (~jonathan@h-178-174-176-109.a357.priv.bahnhof.se) (Read error: Connection reset by peer) |
2022-01-08 01:03:58 +0100 | kupi | (uid212005@id-212005.hampstead.irccloud.com) |
2022-01-08 01:04:58 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2022-01-08 01:05:20 +0100 | <sshine> | I'm not sure why they all defer from using Data.Version as their representation. :) |
2022-01-08 01:05:24 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Read error: Connection reset by peer) |
2022-01-08 01:05:44 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2022-01-08 01:06:23 +0100 | <sshine> | (since some of them explicitly allow for expressing messy version schemes, too.) |
2022-01-08 01:06:45 +0100 | <lechner> | Salve has a great summary of competing modules. thanks for that pointer! |
2022-01-08 01:08:25 +0100 | vicfred | (~vicfred@user/vicfred) (Quit: Leaving) |
2022-01-08 01:08:54 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
2022-01-08 01:09:15 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2022-01-08 01:09:59 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2022-01-08 01:11:53 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-01-08 01:12:15 +0100 | <[itchyjunk]> | for my (+++) function, i can take existing list an add an element from the new list to it then apply (+++) to the remainder of the list |
2022-01-08 01:12:16 +0100 | <[itchyjunk]> | https://bpa.st/SC3A |
2022-01-08 01:12:23 +0100 | <[itchyjunk]> | This kinda made sense in my head |
2022-01-08 01:12:38 +0100 | <[itchyjunk]> | Is that the right approach but wrong syntax? |
2022-01-08 01:13:29 +0100 | <[itchyjunk]> | oh woops i see one error |
2022-01-08 01:13:45 +0100 | <geekosaur> | note that Cons appends to the left, not the right |
2022-01-08 01:14:01 +0100 | <geekosaur> | or said otherwise, prepends instead of appends |
2022-01-08 01:14:12 +0100 | <[itchyjunk]> | (https://bpa.st/DR5A |
2022-01-08 01:14:14 +0100 | <[itchyjunk]> | edited |
2022-01-08 01:14:56 +0100 | <[itchyjunk]> | I compiles but with a warning about redundant pattern match but i guess i will worry about it in a second if this works |
2022-01-08 01:15:35 +0100 | <geekosaur> | you need to move the `Nil Nil` case above the other two |
2022-01-08 01:15:59 +0100 | <[itchyjunk]> | Oh hmm |
2022-01-08 01:16:26 +0100 | <geekosaur> | otherwise one of those cases will match with `_` matching against Nil |
2022-01-08 01:17:33 +0100 | Hayek | (~xxx@rrcs-173-196-3-254.west.biz.rr.com) |
2022-01-08 01:18:56 +0100 | <[itchyjunk]> | hmm _ Nil and Nil _ matches so Nil Nil ends up being a subset of one of those matches so it's considered redundent? |
2022-01-08 01:19:24 +0100 | coot | (~coot@89-64-85-93.dynamic.chello.pl) |
2022-01-08 01:19:42 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds) |
2022-01-08 01:21:37 +0100 | xff0x | (~xff0x@2001:1a81:525f:5800:6161:847e:32a5:3ca7) (Ping timeout: 240 seconds) |
2022-01-08 01:21:37 +0100 | <sub0> | yes, it will never be reached |
2022-01-08 01:22:20 +0100 | <[itchyjunk]> | happy that the idea for (+++) (Cons y x) xy worked out! finally feels like i'm making some progress |
2022-01-08 01:22:23 +0100 | <EvanR> | an example where order of definitions matters |
2022-01-08 01:22:40 +0100 | <sshine> | you don't really need the 'Nil Nil = Nil' case, since 'x Nil' will be 'x', and 'Nil y' will be 'y', which are both general cases of 'Nil Nil = Nil' :) |
2022-01-08 01:22:50 +0100 | xff0x | (~xff0x@2001:1a81:525f:5800:95c3:4d9e:7693:e3c) |
2022-01-08 01:23:09 +0100 | <[itchyjunk]> | sshine, ah.. true |
2022-01-08 01:23:20 +0100 | esoca123 | (uid534098@id-534098.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
2022-01-08 01:23:42 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:ad26:5398:3e1f:d97d) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-01-08 01:24:31 +0100 | <sshine> | > (Cons 1 (Cons 2 (Cons 3 Nil))) +++ (Cons 4 (Cons 5 (Cons 6 Nil))) |
2022-01-08 01:24:32 +0100 | <sshine> | Cons 6 (Cons 5 (Cons 4 (Cons 1 (Cons 2 (Cons 3 Nil))))) |
2022-01-08 01:24:32 +0100 | <lambdabot> | error: |
2022-01-08 01:24:32 +0100 | <lambdabot> | • Data constructor not in scope: Cons :: t6 -> t0 -> a b c |
2022-01-08 01:24:32 +0100 | <lambdabot> | • Perhaps you meant one of these: |
2022-01-08 01:25:00 +0100 | <sshine> | [itchyjunk], I'd probably have expected (Cons 1 (Cons 2 (Cons 3 (Cons 4 (Cons 5 (Cons 6 Nil)))))) |
2022-01-08 01:25:07 +0100 | coot | (~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot) |
2022-01-08 01:26:16 +0100 | n3rdy1 | (~n3rdy1@2600:1700:4570:3480::41) |
2022-01-08 01:26:48 +0100 | <geekosaur> | I pointed out that problem a bit earlier |
2022-01-08 01:26:58 +0100 | <[itchyjunk]> | hmmm |
2022-01-08 01:27:02 +0100 | <[itchyjunk]> | its a feature for now :x |
2022-01-08 01:27:06 +0100 | <sshine> | ;-) |
2022-01-08 01:27:16 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2022-01-08 01:29:15 +0100 | <sshine> | [itchyjunk], (+++) (Cons x xs) ys = Cons x (xs +++ ys) |
2022-01-08 01:29:39 +0100 | <[itchyjunk]> | yup that's what i just tried! |
2022-01-08 01:30:07 +0100 | <sshine> | cool |
2022-01-08 01:30:26 +0100 | machinedgod | (~machinedg@24.105.81.50) |
2022-01-08 01:31:26 +0100 | xb0o2 | (~xb0o2@user/xb0o2) (Quit: Client closed) |
2022-01-08 01:31:32 +0100 | <[itchyjunk]> | wait no, what did i do |
2022-01-08 01:34:48 +0100 | <sshine> | [itchyjunk], could also be written: (+++) (Cons x xs) ys = Cons x ((+++) xs ys) |
2022-01-08 01:36:05 +0100 | <[itchyjunk]> | i thought this would work but i am confused |
2022-01-08 01:36:06 +0100 | <[itchyjunk]> | (+++) (Cons x xs) ys = (+++) xs (Cons x ys) |
2022-01-08 01:36:14 +0100 | <[itchyjunk]> | take each element of first list and add it to the second list |
2022-01-08 01:37:35 +0100 | <geekosaur> | wrong order |
2022-01-08 01:37:42 +0100 | <sshine> | [itchyjunk], if you run it by hand it'll make sense |
2022-01-08 01:38:45 +0100 | [itchyjunk] | clears dusts off hand |
2022-01-08 01:38:50 +0100 | <sshine> | [itchyjunk], [1,2,3] ++ [4,5,6] ~> 1:([2,3] ++ [4,5,6]) etc. |
2022-01-08 01:38:54 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
2022-01-08 01:39:07 +0100 | <[itchyjunk]> | sshine, ah right |
2022-01-08 01:39:15 +0100 | <sshine> | [itchyjunk], the mixture of Cons and +++ might seem more confusing |
2022-01-08 01:39:29 +0100 | waleee | (~waleee@h-98-128-229-110.na.cust.bahnhof.se) (Ping timeout: 256 seconds) |
2022-01-08 01:39:37 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2022-01-08 01:39:51 +0100 | <[itchyjunk]> | so (+++) (Cons x xs) ys = Cons x ((+++) xs ys) |
2022-01-08 01:40:44 +0100 | <[itchyjunk]> | okay, makes sense |
2022-01-08 01:41:17 +0100 | <[itchyjunk]> | ah thats what you said above |
2022-01-08 01:41:43 +0100 | waleee | (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) |
2022-01-08 01:42:14 +0100 | <sshine> | but... Cons 1 (Cons 2 (Cons 3 Nil)) +++ Cons 4 (Cons 5 (Cons 6 Nil)) ~> Cons 1 (Cons 2 (Cons 3 Nil) +++ Cons 4 (Cons 5 (Cons 6 Nil))) ~> Cons 1 (Cons 2 (Cons 3 Nil +++ Cons 4 (Cons 5 (Cons 6 Nil)))) ~> Cons 1 (Cons 2 (Cons 3 (Nil +++ Cons 4 (Cons 5 (Cons 6 Nil))))) ~> at which point you're in one of the base cases with Nil on the left. |
2022-01-08 01:42:31 +0100 | <sshine> | (this looks better with one rewrite per line) |
2022-01-08 01:42:37 +0100 | doyougnu | (~doyougnu@c-73-25-202-122.hsd1.or.comcast.net) (Ping timeout: 240 seconds) |
2022-01-08 01:44:19 +0100 | <sshine> | [itchyjunk], btw, if you add {-# LANGUAGE DeriveFoldable #-}, you can add 'deriving (Show, Foldable)', after which a bunch of standard library list operators will work on your list. |
2022-01-08 01:45:01 +0100 | <sshine> | e.g. > 2 `elem` Cons 1 (Cons 2 (Cons 3 Nil)) |
2022-01-08 01:45:01 +0100 | <sshine> | True |
2022-01-08 01:45:09 +0100 | <sshine> | :t elem |
2022-01-08 01:45:09 +0100 | <lambdabot> | (Foldable t, Eq a) => a -> t a -> Bool |
2022-01-08 01:45:22 +0100 | <[itchyjunk]> | right i learned about the `deriving Show`. I assume it's similar to the concept of inheretence or implementing a interface or somesuch |
2022-01-08 01:46:45 +0100 | <sshine> | or: > sum (Cons 1 (Cons 2 (Cons 3 Nil))) |
2022-01-08 01:46:45 +0100 | <sshine> | 6 |
2022-01-08 01:48:52 +0100 | <sshine> | it's kind of like automatically implementing an interface, yes |
2022-01-08 01:50:46 +0100 | <sshine> | I think one of the auto-generated traits/type-classes/interfaces you often see in a lot of languages are JSON serializers/de-serializers. so all you need is define a data-type, and many serialize/deserialize libraries can generically produce them based on type information on the data type's fields. |
2022-01-08 01:51:08 +0100 | <sshine> | and in haskell you can derive a lot of other type classes, too |
2022-01-08 01:51:30 +0100 | <sshine> | like Foldable and Functor :) |
2022-01-08 01:53:24 +0100 | <geekosaur> | you should probably do the third part of the problem before doing that, though |
2022-01-08 01:53:36 +0100 | <sshine> | what problem? |
2022-01-08 01:53:43 +0100 | <geekosaur> | although you just gave yourself a big hint as to how to do it, by doing this wrong |
2022-01-08 01:53:54 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
2022-01-08 01:54:14 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2022-01-08 01:54:19 +0100 | <geekosaur> | http://www.cas.mcmaster.ca/~dalvescb/LH_Week05_Exercises.pdf |
2022-01-08 01:54:45 +0100 | <[itchyjunk]> | hmm |
2022-01-08 01:54:47 +0100 | <geekosaur> | they did part one earlier, this is part 2. part 3 is myReverse |
2022-01-08 01:54:56 +0100 | sm1 | (~sm@plaintextaccounting/sm) (Quit: Reconnecting) |
2022-01-08 01:55:02 +0100 | <sshine> | oh, right :P |
2022-01-08 01:55:11 +0100 | sm1 | (~sm@plaintextaccounting/sm) |
2022-01-08 01:55:12 +0100 | <[itchyjunk]> | yeah i am banging my head on the myReverse |
2022-01-08 01:55:14 +0100 | <sshine> | +++ done wrong is myReverse done half right, I guess :P |
2022-01-08 01:55:22 +0100 | <geekosaur> | yep |
2022-01-08 01:55:37 +0100 | <geekosaur> | go back and look how your proposed solution to (+++) went wrong |
2022-01-08 01:55:45 +0100 | <geekosaur> | then do the whole thing the same wrong way :) |
2022-01-08 01:55:53 +0100 | <[itchyjunk]> | oh should i be using (+++)? ahh i was thinking about it without +++ |
2022-01-08 01:56:02 +0100 | <geekosaur> | no, you don't want (+++) here |
2022-01-08 01:56:17 +0100 | sm1 | sm |
2022-01-08 01:56:18 +0100 | <geekosaur> | but you reversed the first part of the list with the way you were mis-doing (+++) |
2022-01-08 01:56:34 +0100 | <geekosaur> | so think about what you did and why it reversed it, and you have the answer |
2022-01-08 01:56:42 +0100 | acidjnk_new3 | (~acidjnk@p200300d0c7271e73e4c690103e77be5f.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
2022-01-08 01:56:42 +0100 | acidjnk | (~acidjnk@p200300d0c7271e73e4c690103e77be5f.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
2022-01-08 02:00:06 +0100 | <geekosaur> | and you may want to think about a helper function here |
2022-01-08 02:01:20 +0100 | <sshine> | [itchyjunk], if you start with: myReverse (Cons x xs) = ..., and you know that the last element should be the first, then putting the last element in '...' is kinda hard, because it's at the far end of the linked list. |
2022-01-08 02:03:25 +0100 | <[itchyjunk]> | i keeps comming and going from my head. it has something to do with creating a new list Nil and adding elements to it, first 1 then 2 then 3 etc so it would be 3 2 1 Nil or somesuch. but it keeps escaping me |
2022-01-08 02:03:41 +0100 | <geekosaur> | you're on the right track |
2022-01-08 02:03:47 +0100 | <[itchyjunk]> | hmmmmmm |
2022-01-08 02:03:50 +0100 | <geekosaur> | again, go look at what you did *wrong* earlier |
2022-01-08 02:04:59 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2022-01-08 02:04:59 +0100 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2022-01-08 02:04:59 +0100 | finn_elija | FinnElija |
2022-01-08 02:05:12 +0100 | <sshine> | [itchyjunk], if you do: myReverse (Cons x xs) = let theEnd = Cons x Nil in ..., then you did add x to Nil where it belongs, but it isn't very recursive. i.e., when you make a call to 'myReverse xs' to reverse the tail, where do you put 'theEnd'? |
2022-01-08 02:05:24 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
2022-01-08 02:05:43 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2022-01-08 02:06:32 +0100 | <sshine> | [itchyjunk], surely you can't add x on the second iteration to Nil also; then you'll have a bunch of 'Cons <x/y/z> Nil' cells that aren't linked. |
2022-01-08 02:09:05 +0100 | <sshine> | [itchyjunk], what if the function had the type myReverse' :: ItchyList a -> ItchyList a -> ItchyList a -> ItchyList a? so: myReverse' xs ys tmp; could you make use of a placeholder between recursions? |
2022-01-08 02:09:16 +0100 | <sshine> | err |
2022-01-08 02:09:19 +0100 | <sshine> | I'm tired |
2022-01-08 02:09:31 +0100 | <sshine> | [itchyjunk], what if the function had the type myReverse' :: ItchyList a -> ItchyList a -> ItchyList a? so: myReverse' xs tmp; could you make use of a placeholder between recursions? |
2022-01-08 02:10:39 +0100 | <[itchyjunk]> | oh a helper function that uses a temporary type to help reverse? |
2022-01-08 02:10:47 +0100 | <sshine> | a temporary argument yes |
2022-01-08 02:11:27 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-11.elisa-laajakaista.fi) (Quit: Leaving.) |
2022-01-08 02:12:57 +0100 | n3rdy1 | (~n3rdy1@2600:1700:4570:3480::41) (Ping timeout: 240 seconds) |
2022-01-08 02:14:05 +0100 | xkuru | (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
2022-01-08 02:14:14 +0100 | CiaoSen | (~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
2022-01-08 02:19:16 +0100 | <[itchyjunk]> | hmm i was hoping this would work |
2022-01-08 02:19:17 +0100 | <[itchyjunk]> | https://bpa.st/D2LQ |
2022-01-08 02:19:27 +0100 | <[itchyjunk]> | but seems like i have some logical error somewhere |
2022-01-08 02:19:55 +0100 | <[itchyjunk]> | oh i see the bug |
2022-01-08 02:20:21 +0100 | <sshine> | what's the bug? |
2022-01-08 02:20:31 +0100 | <[itchyjunk]> | helper Nil _ = Nil |
2022-01-08 02:20:42 +0100 | <sub0> | no |
2022-01-08 02:20:43 +0100 | <sshine> | what's the problem there? |
2022-01-08 02:20:47 +0100 | <[itchyjunk]> | so when the recursion turns my first list to Nil, it turns the whole thing into Nil |
2022-01-08 02:20:57 +0100 | <sshine> | yeah, it reverses the entire list, then throws it out at the end. :D |
2022-01-08 02:20:59 +0100 | <sub0> | yes (my mistake, I thought that was your solution, not bug) |
2022-01-08 02:21:18 +0100 | <[itchyjunk]> | well sometimes my solution and bugs are equivalent |
2022-01-08 02:21:44 +0100 | <sshine> | so it's true that the reverse of Nil is Nil. |
2022-01-08 02:21:49 +0100 | <[itchyjunk]> | https://bpa.st/LJLQ |
2022-01-08 02:21:53 +0100 | <[itchyjunk]> | This seems to work, right? |
2022-01-08 02:22:20 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-01-08 02:22:20 +0100 | <sshine> | but your base case of 'helper Nil ys' is used for two things now: both for reversing the empty list, and for terminating the recursion on non-empty lists. |
2022-01-08 02:22:39 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-01-08 02:22:50 +0100 | <sshine> | [itchyjunk], you don't actually need 'myHelper Nil = Nil'. this is a special case of helper. |
2022-01-08 02:23:07 +0100 | <glguy> | [itchyjunk]: yes, that looks to have fixed it |
2022-01-08 02:23:25 +0100 | waleee | (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 240 seconds) |
2022-01-08 02:23:31 +0100 | <[itchyjunk]> | sshine, oh myReverse Nil = Nil is redundent because of how the helper behaves? |
2022-01-08 02:23:48 +0100 | <sub0> | yes, it handles the Nil case |
2022-01-08 02:23:51 +0100 | <glguy> | [itchyjunk]: you also have some redundancy in (+++) |
2022-01-08 02:24:12 +0100 | sub0 | (~bc8147f2@cerf.good1.com) (Quit: CGI:IRC (Error)) |
2022-01-08 02:24:16 +0100 | <[itchyjunk]> | yeah having hard time seeing all the redundancy but hopefully it's something that becomes more obvious over time |
2022-01-08 02:24:31 +0100 | sub0 | (~bc8147f2@cerf.good1.com) |
2022-01-08 02:24:32 +0100 | <sshine> | [itchyjunk], myReverse Nil ~> helper Nil Nil ~> Nil (with ys = Nil) |
2022-01-08 02:24:37 +0100 | Hayek | (~xxx@rrcs-173-196-3-254.west.biz.rr.com) (Ping timeout: 240 seconds) |
2022-01-08 02:24:37 +0100 | <sub0> | [itchyjunk], it is also common to make the helper function a local function named go, ie, myReverse xs = go xs [] where go ... |
2022-01-08 02:25:24 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
2022-01-08 02:25:25 +0100 | <glguy> | though it's nice, especially while learning or debugging, to keep the definition at the top-level so you can experiment with it in ghci |
2022-01-08 02:25:28 +0100 | <[itchyjunk]> | oh right, implicit recursion and local functions stuff is another thing i need to work on |
2022-01-08 02:25:42 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2022-01-08 02:25:49 +0100 | n3rdy1 | (~n3rdy1@2600:1700:4570:3480:1b88:50f:dae0:9293) |
2022-01-08 02:26:13 +0100 | <sshine> | [itchyjunk], https://bpa.st/SPXA |
2022-01-08 02:26:24 +0100 | waleee | (~waleee@h-98-128-229-110.NA.cust.bahnhof.se) |
2022-01-08 02:26:45 +0100 | <sshine> | [itchyjunk], also, if you derive Foldable, 'myReverse = foldl (flip Cons) Nil' :D |
2022-01-08 02:27:21 +0100 | <[itchyjunk]> | oh you can do a full fledged definition right there? didn't realize |
2022-01-08 02:27:47 +0100 | <sshine> | [itchyjunk], yep, 'myReverse xs = ...' is just syntax sugar for 'myReverse = \xs -> ...' |
2022-01-08 02:28:00 +0100 | <glguy> | [itchyjunk]: something that might surprise you is that the 'a's on line 16 and line 20 are different in that paste |
2022-01-08 02:28:28 +0100 | <glguy> | the fact that it's a local definition doesn't make them more connected than if they were both top-level definitions |
2022-01-08 02:28:33 +0100 | <sshine> | glguy, that statement sounds obviously true for the wrong reason :P |
2022-01-08 02:28:38 +0100 | <[itchyjunk]> | hmmm |
2022-01-08 02:29:01 +0100 | <sshine> | [itchyjunk], so if you change the ItchyList a -> ItchyList a |
2022-01-08 02:29:01 +0100 | <sub0> | they are connected in the sense that local helper function can directly access myReverse's arguments |
2022-01-08 02:29:23 +0100 | <sshine> | [itchyjunk], if you change the 'ItchyList a -> ItchyList a' into 'ItchyList b -> ItchyList b', then you can keep the 'a's around on line 20. |
2022-01-08 02:29:59 +0100 | lbseale | (~ep1ctetus@user/ep1ctetus) |
2022-01-08 02:30:03 +0100 | <glguy> | the fact that type variables are locally scoped to a type signature even in a nested context is just surprising to most people and can make for confusing error messages later |
2022-01-08 02:30:22 +0100 | <sshine> | glguy, that's a good point. |
2022-01-08 02:30:59 +0100 | <sshine> | [itchyjunk], I made a lazy choice of not renaming 'myReverse x = helper x Nil' into 'myReverse z = helper z Nil' to avoid shadowing variable names. the outer 'x' is not the same as the inner 'x'. |
2022-01-08 02:34:03 +0100 | <sshine> | [itchyjunk], are you doing trees now? |
2022-01-08 02:34:55 +0100 | notzmv | (~zmv@user/notzmv) |
2022-01-08 02:35:03 +0100 | <glguy> | Is there a specific problemset? |
2022-01-08 02:35:12 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-01-08 02:35:22 +0100 | <[itchyjunk]> | I haven't started on it. idk if i am ready for trees |
2022-01-08 02:35:24 +0100 | <sshine> | 18:58:47 <[itchyjunk]> the full problem is here :http://www.cas.mcmaster.ca/~dalvescb/LH_Week05_Exercises.pdf |
2022-01-08 02:35:36 +0100 | <[itchyjunk]> | i stumbled upon this googling `haskell zip exercise` |
2022-01-08 02:35:36 +0100 | <sshine> | [itchyjunk], lists are just very right-biased trees. |
2022-01-08 02:35:42 +0100 | <[itchyjunk]> | :D |
2022-01-08 02:36:05 +0100 | <[itchyjunk]> | right, ive heard of that.. graphs are somethign i need to eventually learn but seems a bit intimidating |
2022-01-08 02:36:11 +0100 | <sshine> | you've been doing trees all along 🤯 |
2022-01-08 02:37:23 +0100 | <glguy> | This binary tree problem kind of leaves it to you to decide what a binary tree is, I guess. |
2022-01-08 02:38:01 +0100 | <sshine> | data UnaryTree a = Leaf | Branch a (UnaryTree a) |
2022-01-08 02:38:56 +0100 | <[itchyjunk]> | thats almost identical to my list |
2022-01-08 02:39:09 +0100 | <glguy> | what's the difference? |
2022-01-08 02:39:17 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-01-08 02:39:17 +0100 | <[itchyjunk]> | hmm |
2022-01-08 02:39:38 +0100 | <[itchyjunk]> | thats identical to my list |
2022-01-08 02:40:14 +0100 | <sshine> | then lists must be unary trees, according to my definition. |
2022-01-08 02:40:24 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
2022-01-08 02:40:47 +0100 | <EvanR> | if you can inductively define a graph you can inductively define anything, like chuck norris |
2022-01-08 02:40:49 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2022-01-08 02:41:06 +0100 | <glguy> | You wouldn't inductively define a car |
2022-01-08 02:42:01 +0100 | <sshine> | data ChuckNorris = Chuck ChuckNorris | Norris -- how much Chuck would a ChuckNorris Chuck if a ChuckNorris could Chuck (Chuck (Chuck ...)) |
2022-01-08 02:42:23 +0100 | EvanR | chucks Norris |
2022-01-08 02:43:49 +0100 | xff0x | (~xff0x@2001:1a81:525f:5800:95c3:4d9e:7693:e3c) (Ping timeout: 240 seconds) |
2022-01-08 02:44:45 +0100 | <sshine> | [itchyjunk], data ConcatList a = Nil | Single a | Concat (ConcatList a) (ConcatList a) |
2022-01-08 02:45:03 +0100 | xff0x | (~xff0x@2001:1a81:525f:5800:a604:5a64:a22b:91db) |
2022-01-08 02:45:11 +0100 | <sshine> | [itchyjunk], this is not a tree, because it says it's a list. |
2022-01-08 02:45:51 +0100 | burnsidesLlama | (~burnsides@dhcp168-021.wadham.ox.ac.uk) (Remote host closed the connection) |
2022-01-08 02:46:23 +0100 | burnsidesLlama | (~burnsides@client-8-64.eduroam.oxuni.org.uk) |
2022-01-08 02:46:24 +0100 | nunggu | (~q@gateway/tor-sasl/nunggu) (Remote host closed the connection) |
2022-01-08 02:46:54 +0100 | nunggu | (~q@gateway/tor-sasl/nunggu) |
2022-01-08 02:47:11 +0100 | <EvanR> | data ThisIsNotAType |
2022-01-08 02:47:38 +0100 | <EvanR> | coincidentally, it is false (Void) |
2022-01-08 02:48:46 +0100 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 256 seconds) |
2022-01-08 02:48:52 +0100 | <sshine> | [itchyjunk], are you doing take/drop instead?? |
2022-01-08 02:49:13 +0100 | <[itchyjunk]> | no, not doing anything as of yet :D |
2022-01-08 02:50:53 +0100 | burnsidesLlama | (~burnsides@client-8-64.eduroam.oxuni.org.uk) (Ping timeout: 256 seconds) |
2022-01-08 02:51:30 +0100 | geranim0 | (~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Remote host closed the connection) |
2022-01-08 02:51:39 +0100 | Erutuon | (~Erutuon@user/erutuon) |
2022-01-08 02:55:54 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
2022-01-08 02:56:41 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2022-01-08 02:57:48 +0100 | <sshine> | [itchyjunk], if you feel like tree exercises are too daunting, you can also do these list exercises: https://gist.github.com/sshine/1c909e27149dfd6081e99ef39cb3a7e1 :p |
2022-01-08 02:58:37 +0100 | polyphem | (~rod@2a02:810d:640:776c:e450:3ca3:b389:687a) (Ping timeout: 240 seconds) |
2022-01-08 02:59:17 +0100 | <[itchyjunk]> | hmm |
2022-01-08 02:59:40 +0100 | polyphem | (~rod@2a02:810d:640:776c:e450:3ca3:b389:687a) |
2022-01-08 03:01:37 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 240 seconds) |
2022-01-08 03:05:57 +0100 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 240 seconds) |
2022-01-08 03:08:04 +0100 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
2022-01-08 03:11:54 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
2022-01-08 03:12:15 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2022-01-08 03:14:54 +0100 | harveypwca | (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
2022-01-08 03:15:35 +0100 | califax- | (~califax@user/califx) |
2022-01-08 03:16:38 +0100 | jonathanx_ | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2022-01-08 03:17:25 +0100 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 240 seconds) |
2022-01-08 03:17:41 +0100 | falafel | (~falafel@2603-8000-d800-688c-557f-1601-d4ed-ac14.res6.spectrum.com) |
2022-01-08 03:19:57 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 240 seconds) |
2022-01-08 03:19:57 +0100 | califax | (~califax@user/califx) (Ping timeout: 276 seconds) |
2022-01-08 03:19:58 +0100 | califax- | califax |
2022-01-08 03:26:51 +0100 | falafel_ | (~falafel@2603-8000-d800-688c-b16d-a5e8-00d0-69ce.res6.spectrum.com) |
2022-01-08 03:29:57 +0100 | falafel | (~falafel@2603-8000-d800-688c-557f-1601-d4ed-ac14.res6.spectrum.com) (Ping timeout: 240 seconds) |
2022-01-08 03:30:18 +0100 | neurocyte09174 | (~neurocyte@IP-094046083160.dynamic.medianet-world.de) |
2022-01-08 03:30:18 +0100 | neurocyte09174 | (~neurocyte@IP-094046083160.dynamic.medianet-world.de) (Changing host) |
2022-01-08 03:30:18 +0100 | neurocyte09174 | (~neurocyte@user/neurocyte) |
2022-01-08 03:31:55 +0100 | perro_ | (~perro@072-191-245-069.res.spectrum.com) (Read error: Connection reset by peer) |
2022-01-08 03:32:17 +0100 | neurocyte0917 | (~neurocyte@user/neurocyte) (Ping timeout: 240 seconds) |
2022-01-08 03:32:17 +0100 | neurocyte09174 | neurocyte0917 |
2022-01-08 03:33:23 +0100 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 256 seconds) |
2022-01-08 03:33:54 +0100 | jonathanx_ | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
2022-01-08 03:33:57 +0100 | dyeplexer | (~dyeplexer@user/dyeplexer) |
2022-01-08 03:34:12 +0100 | jonathanx_ | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2022-01-08 03:34:13 +0100 | xff0x | (~xff0x@2001:1a81:525f:5800:a604:5a64:a22b:91db) (Ping timeout: 240 seconds) |
2022-01-08 03:35:05 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
2022-01-08 03:36:16 +0100 | xff0x | (~xff0x@2001:1a81:5298:9f00:76ce:451:456a:7f10) |
2022-01-08 03:43:19 +0100 | falafel__ | (~falafel@2603-8000-d800-688c-b16d-a5e8-00d0-69ce.res6.spectrum.com) |
2022-01-08 03:43:33 +0100 | falafel_ | (~falafel@2603-8000-d800-688c-b16d-a5e8-00d0-69ce.res6.spectrum.com) (Read error: Connection reset by peer) |
2022-01-08 03:46:08 +0100 | falafel_ | (~falafel@2603-8000-d800-688c-80eb-78f2-5772-65fe.res6.spectrum.com) |
2022-01-08 03:47:08 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-01-08 03:47:08 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-01-08 03:47:08 +0100 | wroathe | (~wroathe@user/wroathe) |
2022-01-08 03:48:24 +0100 | jonathanx_ | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
2022-01-08 03:48:41 +0100 | jonathanx_ | (~jonathan@h-178-174-176-109.a357.priv.bahnhof.se) |
2022-01-08 03:49:37 +0100 | falafel__ | (~falafel@2603-8000-d800-688c-b16d-a5e8-00d0-69ce.res6.spectrum.com) (Ping timeout: 240 seconds) |
2022-01-08 03:49:56 +0100 | BrokenClutch | (~pioneer@2804:d41:c292:6c00:33d8:d2f1:d8af:153e) |
2022-01-08 03:50:19 +0100 | <BrokenClutch> | Man, I want to die. Is this shit too bad: https://gitlab.com/UnrelatedMicrowave/stm-test |
2022-01-08 03:50:24 +0100 | <BrokenClutch> | Am I on the right way? |
2022-01-08 03:50:54 +0100 | jonathanx_ | (~jonathan@h-178-174-176-109.a357.priv.bahnhof.se) (Remote host closed the connection) |
2022-01-08 03:51:18 +0100 | jonathanx_ | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2022-01-08 03:52:24 +0100 | jonathanx_ | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
2022-01-08 03:52:45 +0100 | jonathanx_ | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2022-01-08 03:53:28 +0100 | <EvanR> | that's one way to do it |
2022-01-08 03:55:09 +0100 | doyougnu | (~doyougnu@c-73-25-202-122.hsd1.or.comcast.net) |
2022-01-08 03:56:32 +0100 | <BrokenClutch> | This shit gave me a headache, gonna play vidjo gemes |
2022-01-08 03:56:37 +0100 | <EvanR> | I would ask what you're really trying to do, but I know that you're actually trying to make a game invol& |
2022-01-08 03:56:49 +0100 | <EvanR> | involving event handling, so |
2022-01-08 03:57:05 +0100 | <EvanR> | I got nothing |
2022-01-08 03:57:54 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
2022-01-08 03:58:09 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-01-08 03:58:09 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-01-08 03:58:09 +0100 | wroathe | (~wroathe@user/wroathe) |
2022-01-08 03:59:19 +0100 | ouestbillie | (~gallup@192-222-138-215.qc.cable.ebox.net) |
2022-01-08 04:06:17 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
2022-01-08 04:07:50 +0100 | <monochrom> | For me it's video games (I mean as a player! not as a dev) and learning more math. |
2022-01-08 04:08:13 +0100 | <monochrom> | Programming is too hard! Playing AOE4 and learning math are easier. |
2022-01-08 04:13:35 +0100 | <[itchyjunk]> | I'm learning some Halo Infinite currently. |
2022-01-08 04:13:57 +0100 | <[itchyjunk]> | Their ranking system is totally busted though. Surprised multi 100 million games can't have a decent ranking system |
2022-01-08 04:14:56 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-01-08 04:14:56 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-01-08 04:14:56 +0100 | wroathe | (~wroathe@user/wroathe) |
2022-01-08 04:15:46 +0100 | <EvanR> | no money left after spending it on army of developers |
2022-01-08 04:16:19 +0100 | <[itchyjunk]> | No idea what the spent it on. Has 5 maps, they released campaign seperately |
2022-01-08 04:16:20 +0100 | <EvanR> | have to get ranking system from the bargain bin |
2022-01-08 04:16:33 +0100 | <[itchyjunk]> | They are paying streamers on twitch a lot of money and they are releasing non stop skins |
2022-01-08 04:19:17 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
2022-01-08 04:19:33 +0100 | <EvanR> | 🤑 |
2022-01-08 04:20:03 +0100 | <EvanR> | (hint ranking system not required for 🤑), anyway, back to haskell!!!!!! |
2022-01-08 04:29:02 +0100 | sirlensalot | (~sirlensal@ool-44c5f8c9.dyn.optonline.net) (Quit: sirlensalot) |
2022-01-08 04:29:38 +0100 | waleee | (~waleee@h-98-128-229-110.NA.cust.bahnhof.se) (Ping timeout: 256 seconds) |
2022-01-08 04:33:54 +0100 | jonathanx_ | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
2022-01-08 04:34:12 +0100 | jonathanx_ | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2022-01-08 04:34:46 +0100 | BrokenClutch | (~pioneer@2804:d41:c292:6c00:33d8:d2f1:d8af:153e) (Quit: Leaving.) |
2022-01-08 04:34:53 +0100 | deadmarshal | (~deadmarsh@95.38.113.27) |
2022-01-08 04:38:33 +0100 | lbseale | (~ep1ctetus@user/ep1ctetus) (Ping timeout: 256 seconds) |
2022-01-08 04:39:16 +0100 | deadmarshal | (~deadmarsh@95.38.113.27) (Ping timeout: 256 seconds) |
2022-01-08 04:45:17 +0100 | td_ | (~td@94.134.91.64) (Ping timeout: 240 seconds) |
2022-01-08 04:47:30 +0100 | td_ | (~td@94.134.91.205) |
2022-01-08 04:48:57 +0100 | falafel_ | (~falafel@2603-8000-d800-688c-80eb-78f2-5772-65fe.res6.spectrum.com) (Ping timeout: 240 seconds) |
2022-01-08 04:52:32 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-01-08 04:52:32 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-01-08 04:52:32 +0100 | wroathe | (~wroathe@user/wroathe) |
2022-01-08 05:01:22 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
2022-01-08 05:02:36 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection) |
2022-01-08 05:03:11 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
2022-01-08 05:09:02 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-01-08 05:09:02 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-01-08 05:09:02 +0100 | wroathe | (~wroathe@user/wroathe) |
2022-01-08 05:12:19 +0100 | wyrd | (~wyrd@gateway/tor-sasl/wyrd) |
2022-01-08 05:13:41 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
2022-01-08 05:14:18 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection) |
2022-01-08 05:14:49 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 256 seconds) |
2022-01-08 05:14:52 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
2022-01-08 05:17:11 +0100 | <EvanR> | newtype Foo = Foo (Vector Bar) deriving Foldable |
2022-01-08 05:17:46 +0100 | sirlensalot | (~sirlensal@ool-44c5f8c9.dyn.optonline.net) |
2022-01-08 05:18:51 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2022-01-08 05:19:04 +0100 | <EvanR> | err. newtype Foo a = Foo (Vector Int) deriving Foldable |
2022-01-08 05:19:29 +0100 | <EvanR> | length (Foo (V.fromList [1,2,3,4])), is zero not 4... |
2022-01-08 05:25:19 +0100 | clownpi3c3 | (~clownpi3c@94.50.183.196) |
2022-01-08 05:28:24 +0100 | jonathanx_ | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
2022-01-08 05:28:50 +0100 | jonathanx_ | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2022-01-08 05:35:09 +0100 | ProfSimm | (~ProfSimm@87.227.196.109) (Remote host closed the connection) |
2022-01-08 05:36:37 +0100 | vysn | (~vysn@user/vysn) |
2022-01-08 05:38:45 +0100 | texasmynsted | (~texasmyns@99.96.221.112) |
2022-01-08 05:41:40 +0100 | <texasmynsted> | I am looking for a library or something like Gema, http://gema.sourceforge.net/new/Mundie/WhyILoveGema.html, for Haskell. A declarative language to assemble text. |
2022-01-08 05:41:50 +0100 | <texasmynsted> | I am not sure what to call this. |
2022-01-08 05:42:25 +0100 | rekahsoft | (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Ping timeout: 250 seconds) |
2022-01-08 05:45:20 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-01-08 05:45:20 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-01-08 05:45:20 +0100 | wroathe | (~wroathe@user/wroathe) |
2022-01-08 05:50:06 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
2022-01-08 05:52:48 +0100 | wyrd | (~wyrd@gateway/tor-sasl/wyrd) (Quit: leaving) |
2022-01-08 05:52:49 +0100 | dsrt^ | (~dsrt@wsip-98-188-246-242.mc.at.cox.net) |
2022-01-08 05:53:03 +0100 | wyrd | (~wyrd@gateway/tor-sasl/wyrd) |
2022-01-08 05:54:40 +0100 | wyrd | (~wyrd@gateway/tor-sasl/wyrd) (Client Quit) |
2022-01-08 05:56:25 +0100 | zebrag | (~chris@user/zebrag) (Quit: Konversation terminated!) |
2022-01-08 05:57:52 +0100 | shapr | (~user@2601:7c0:c202:5190:7595:a4fe:20d3:7169) |
2022-01-08 05:57:59 +0100 | wyrd | (~wyrd@gateway/tor-sasl/wyrd) |
2022-01-08 05:58:54 +0100 | jonathanx_ | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
2022-01-08 05:59:11 +0100 | jonathanx_ | (~jonathan@h-178-174-176-109.a357.priv.bahnhof.se) |
2022-01-08 06:03:40 +0100 | pagnol | (~user@014198154145.ctinets.com) |
2022-01-08 06:05:46 +0100 | Midjak | (~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Quit: This computer has gone to sleep) |
2022-01-08 06:06:08 +0100 | <pagnol> | There's a Rust crate called sqlx which provides a macro that validates SQL by sending it to a running dbms at compile time. Does anyone know if this has been done for Haskell somewhere? |
2022-01-08 06:06:32 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds) |
2022-01-08 06:06:58 +0100 | <pagnol> | (it also adds type safety in addition to validating) |
2022-01-08 06:08:40 +0100 | Jing | (~hedgehog@2604:a840:3::103c) |
2022-01-08 06:12:51 +0100 | <Inst> | i hope you guys don't mind if I troll? |
2022-01-08 06:13:01 +0100 | <Inst> | dialogedFileOpen :: IO (Maybe Handle) |
2022-01-08 06:13:01 +0100 | <Inst> | dialogedFileOpen = sequence ( sequence (openFilePath >>= \iOremoved -> pure (iOremoved >>= \filePath -> pure (openFile filePath ReadMode))) >>= \mIOIOH -> pure (join mIOIOH)) |
2022-01-08 06:13:10 +0100 | <Inst> | which typechecks |
2022-01-08 06:13:22 +0100 | <Inst> | dialogedFileOpenbradrnSanity :: IO (Maybe (IOMode -> IO Handle)) |
2022-01-08 06:13:22 +0100 | <Inst> | dialogedFileOpenbradrnSanity = (fmap (fmap openFile) openFilePath) |
2022-01-08 06:13:39 +0100 | <Inst> | openFilePath is IO (Maybe String) |
2022-01-08 06:13:53 +0100 | <Inst> | ReadMode is a data constructor of type IOMode |
2022-01-08 06:16:29 +0100 | <Inst> | it's a troll, because this isn't any code of any importance, just me hacking through insane and improbable haskell situations that shouldn't occur with proper design patterns |
2022-01-08 06:23:15 +0100 | kupi | (uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2022-01-08 06:26:17 +0100 | BrokenClutch | (~pioneer@2804:d41:c292:6c00:33d8:d2f1:d8af:153e) |
2022-01-08 06:28:03 +0100 | simpleauthority | (~simpleaut@user/simpleauthority) |
2022-01-08 06:29:26 +0100 | wrengr | (~wrengr@150.12.83.34.bc.googleusercontent.com) (Ping timeout: 252 seconds) |
2022-01-08 06:29:46 +0100 | wrengr | (~wrengr@150.12.83.34.bc.googleusercontent.com) |
2022-01-08 06:30:09 +0100 | <EvanR> | as one does |
2022-01-08 06:38:28 +0100 | <Inst> | okay |
2022-01-08 06:38:31 +0100 | <Inst> | got a working version |
2022-01-08 06:39:10 +0100 | <Inst> | dialogedFileOpen = join (fmap sequence ((fmap.fmap) (rapply ReadMode) ((fmap.fmap) openFile openFilePath))) |
2022-01-08 06:39:28 +0100 | <Inst> | rapply y p = p y |
2022-01-08 06:39:43 +0100 | <Inst> | do you know if there's an actual built-in / standard way for haskell to force function application to the left? |
2022-01-08 06:40:49 +0100 | <EvanR> | there is a standardish operator to do function application backwards |
2022-01-08 06:40:55 +0100 | <Inst> | oh |
2022-01-08 06:40:56 +0100 | <Inst> | & |
2022-01-08 06:40:58 +0100 | <EvanR> | but it's more idiomatic to do it the right way |
2022-01-08 06:41:10 +0100 | <Inst> | are you sure monad transformers work on the IO type? |
2022-01-08 06:41:12 +0100 | <EvanR> | =<< helps with that in monadic code |
2022-01-08 06:42:04 +0100 | <EvanR> | <=< if you're ultimately pointless |
2022-01-08 06:42:29 +0100 | <EvanR> | kleisli fish |
2022-01-08 06:43:24 +0100 | <EvanR> | :k StateT Char IO Int |
2022-01-08 06:43:25 +0100 | <lambdabot> | * |
2022-01-08 06:43:33 +0100 | <EvanR> | @botsnack |
2022-01-08 06:43:33 +0100 | <lambdabot> | :) |
2022-01-08 06:43:47 +0100 | <Inst> | @botsnack |
2022-01-08 06:43:47 +0100 | <lambdabot> | :) |
2022-01-08 06:44:04 +0100 | <Inst> | is there any point to what I'm doing? |
2022-01-08 06:44:12 +0100 | <Inst> | I feel like, I'm spending lots of energy and having fun |
2022-01-08 06:44:28 +0100 | <Inst> | but the techniques i'm learning (badly coded Haskell, etc) aren't really useful, I'm told there's a dozen other methods |
2022-01-08 06:44:33 +0100 | <EvanR> | if your energy budget is limited I recommend moving on the things that are even more fun |
2022-01-08 06:44:56 +0100 | <Inst> | well, i mean, trying to work with monad stacks without the benefit of monad transformers |
2022-01-08 06:44:58 +0100 | <EvanR> | as useful and business friendly as file dialogs are |
2022-01-08 06:45:04 +0100 | <Inst> | is there any moral benefit to such? |
2022-01-08 06:45:37 +0100 | <EvanR> | no if you really do have a "monad stack" (uhg), then you should use transformers, or a consolidated free monad or something |
2022-01-08 06:46:18 +0100 | <EvanR> | alternatively just use IO for top level I/O and do most things in pure code |
2022-01-08 06:46:23 +0100 | <Inst> | it's more of a teaching exercise for me, though, because i'm learning how to work with the type system |
2022-01-08 06:46:54 +0100 | jonathanx_ | (~jonathan@h-178-174-176-109.a357.priv.bahnhof.se) (Remote host closed the connection) |
2022-01-08 06:47:15 +0100 | jonathanx_ | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2022-01-08 06:47:28 +0100 | <EvanR> | a given application may not need a "monad stack" at all |
2022-01-08 06:47:55 +0100 | <Inst> | you know i have very patchwork knowledge |
2022-01-08 06:48:09 +0100 | <Inst> | i have very little practice with >>= and do, and this is helping me understand them better |
2022-01-08 06:48:19 +0100 | <Inst> | that's what i mean by teaching exercise, i.e, maybe was revolting against me |
2022-01-08 06:48:38 +0100 | <Inst> | until i realized you needed to stuff pures with dissimilar stacked monads |
2022-01-08 06:49:18 +0100 | <Inst> | it's just a fun educational game for teaching myself (and perhaps others) about types |
2022-01-08 06:49:21 +0100 | <EvanR> | most of the cool stuff in haskell has nothing to do with monads |
2022-01-08 06:50:17 +0100 | xff0x | (~xff0x@2001:1a81:5298:9f00:76ce:451:456a:7f10) (Ping timeout: 240 seconds) |
2022-01-08 06:50:34 +0100 | <Inst> | i see |
2022-01-08 06:51:35 +0100 | xff0x | (~xff0x@2001:1a81:5298:9f00:9050:d511:cdde:a154) |
2022-01-08 06:58:10 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) |
2022-01-08 06:58:57 +0100 | shapr | (~user@2601:7c0:c202:5190:7595:a4fe:20d3:7169) (Ping timeout: 240 seconds) |
2022-01-08 07:01:13 +0100 | deadmarshal | (~deadmarsh@95.38.113.27) |
2022-01-08 07:01:49 +0100 | Magnus[m] | (~magthetch@2001:470:69fc:105::d1a7) () |
2022-01-08 07:02:36 +0100 | slowButPresent | (~slowButPr@user/slowbutpresent) (Quit: leaving) |
2022-01-08 07:05:44 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
2022-01-08 07:12:37 +0100 | xff0x | (~xff0x@2001:1a81:5298:9f00:9050:d511:cdde:a154) (Ping timeout: 240 seconds) |
2022-01-08 07:13:47 +0100 | xff0x | (~xff0x@2001:1a81:5298:9f00:e07:3bd9:947c:632e) |
2022-01-08 07:15:01 +0100 | mvk | (~mvk@2607:fea8:5cdd:f000::45db) (Ping timeout: 240 seconds) |
2022-01-08 07:15:23 +0100 | mixfix41 | (~homefame@user/mixfix41) |
2022-01-08 07:16:54 +0100 | jonathanx_ | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
2022-01-08 07:17:18 +0100 | jonathanx_ | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2022-01-08 07:22:06 +0100 | <maerwald[m]> | Monads aren't even that cool |
2022-01-08 07:23:56 +0100 | <Inst> | sorry |
2022-01-08 07:24:02 +0100 | <Inst> | went out to get some cigarettes |
2022-01-08 07:24:26 +0100 | <Inst> | i'll try to explain my perspective |
2022-01-08 07:24:39 +0100 | <Inst> | i started trying to learn haskell, took up a service-sector job to pay the bills around the same time, in october |
2022-01-08 07:24:44 +0100 | <Inst> | i've since quit that job since early december |
2022-01-08 07:24:59 +0100 | <Inst> | in learning haskell, it's been the language that clicked for me, to the extent that i don't understand why people claim it's so difficult |
2022-01-08 07:26:17 +0100 | pagnol | (~user@014198154145.ctinets.com) (Ping timeout: 240 seconds) |
2022-01-08 07:26:26 +0100 | <Inst> | one of the things i noticed with haskell is, well, the absence of the typical imperative programming canards, like loops (recursion's an analogue or a superset) |
2022-01-08 07:27:44 +0100 | <EvanR> | good riddance, for the most part |
2022-01-08 07:27:53 +0100 | <Inst> | i have a hypothesis that it's possible to teach IO, and I don't mean hello world IO, but rather, being able to drag data from files and write to files etc, interact with network files, and so on |
2022-01-08 07:27:59 +0100 | <Inst> | I'm addicted to accumulators, though, EvanR |
2022-01-08 07:28:14 +0100 | <Square> | can you define reusable "dependency-sets" in cabal? |
2022-01-08 07:28:15 +0100 | <EvanR> | that's a fold |
2022-01-08 07:28:57 +0100 | n3rdy1 | (~n3rdy1@2600:1700:4570:3480:1b88:50f:dae0:9293) (Ping timeout: 240 seconds) |
2022-01-08 07:29:03 +0100 | <Inst> | you're sure it's just a fold? |
2022-01-08 07:29:22 +0100 | <Inst> | i feel a bit guilty using accumulators, like, it feels too much like i'm simulating variables |
2022-01-08 07:29:25 +0100 | sub0 | (~bc8147f2@cerf.good1.com) (Quit: CGI:IRC (Session timeout)) |
2022-01-08 07:29:25 +0100 | <EvanR> | if you get into the weeds everything is a fold |
2022-01-08 07:29:27 +0100 | <Inst> | per recursive loop |
2022-01-08 07:30:01 +0100 | <Inst> | i have a friend who ran out of me after I insisted that she learn Haskell |
2022-01-08 07:30:12 +0100 | <Inst> | as a first language, she went to pick up Python |
2022-01-08 07:30:20 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-01-08 07:30:31 +0100 | <Inst> | I think it might be possible to, while the Pythonista kids are learning loops, teach Haskellers how to read / write / do effects |
2022-01-08 07:30:41 +0100 | <Inst> | and that might end up being good for long-term retention |
2022-01-08 07:31:01 +0100 | <EvanR> | that's sounds relatively more boring than loops in python |
2022-01-08 07:31:04 +0100 | <Inst> | the obsession with monads is that I feel like being able to function in IO-land / do-land requires an understanding |
2022-01-08 07:31:05 +0100 | falafel_ | (~falafel@cpe-76-168-195-162.socal.res.rr.com) |
2022-01-08 07:31:19 +0100 | <Inst> | EvanR: it's a matter of perspective, Haskell is very academic |
2022-01-08 07:31:21 +0100 | <EvanR> | maybe a total wash at best |
2022-01-08 07:31:24 +0100 | <Inst> | i see |
2022-01-08 07:31:51 +0100 | <Inst> | being able to do practical things with haskell early, and use how to manipulate the data you draw it from file system access |
2022-01-08 07:32:18 +0100 | <Inst> | at least in my hypothesis, might be usable as stakes to teach people why functional programming matters, etc |
2022-01-08 07:32:39 +0100 | <EvanR> | I hear the `shelly' package is good for that kind of stuff |
2022-01-08 07:32:47 +0100 | <Inst> | huh, interesting |
2022-01-08 07:33:46 +0100 | <Inst> | EvanR: what do your students engage with? |
2022-01-08 07:33:59 +0100 | <EvanR> | why functional programming matters, the title of an influential paper from 1990, and it's not talking about file system access xD |
2022-01-08 07:34:03 +0100 | <Inst> | I know |
2022-01-08 07:34:24 +0100 | <Inst> | but if you teach Haskell to non-programmers, as is my aim |
2022-01-08 07:34:36 +0100 | <Inst> | they don't really care about correctness, ease of reasoning, etc |
2022-01-08 07:35:01 +0100 | Jing | (~hedgehog@2604:a840:3::103c) (Remote host closed the connection) |
2022-01-08 07:35:02 +0100 | <Inst> | they'd be more impressed by actually being able to do practical things |
2022-01-08 07:35:19 +0100 | <Inst> | there's reports from people that "Haskell is the best imperative language" because of the concision of Haskell syntax |
2022-01-08 07:35:25 +0100 | <maerwald> | Inst: Haskell is not about correctness |
2022-01-08 07:35:47 +0100 | Jing | (~hedgehog@103.121.208.183) |
2022-01-08 07:36:01 +0100 | <Inst> | https://www.cs.kent.ac.uk/people/staff/dat/miranda/whyfp90.pdf |
2022-01-08 07:36:15 +0100 | <EvanR> | lets not dwell on "Haskell is the best imperative language", the value proposition of this statement is already off to a bad start |
2022-01-08 07:36:24 +0100 | jonathanx_ | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
2022-01-08 07:37:26 +0100 | <EvanR> | who wants to be the best at something awful xD |
2022-01-08 07:37:57 +0100 | falafel_ | (~falafel@cpe-76-168-195-162.socal.res.rr.com) (Ping timeout: 240 seconds) |
2022-01-08 07:38:05 +0100 | <EvanR> | hotdog eating contests notwithstanding |
2022-01-08 07:38:28 +0100 | <Inst> | i'm not a functional fundamentalist, i.e, because computers are ultimately turing machines, until SPJ pulls a couple of more rabbits out of his hat, functional programming will be more resource intensive and less performant than imperative programming |
2022-01-08 07:38:51 +0100 | <Inst> | that means that imperative programming will always have a place, for applications where performance is paramount |
2022-01-08 07:39:26 +0100 | <EvanR> | I'm not either, and I don't know if I agree with that |
2022-01-08 07:40:16 +0100 | <Inst> | well i'm saying we might be able to get out of the imperative trap eventually, but as long as we're stuck here, imperative will exist, just as much as there's assembly programmers, C programmers, Rust programmers, etc |
2022-01-08 07:40:22 +0100 | <EvanR> | high end hardware is already hard to write code for directly in a way to makes the most use |
2022-01-08 07:40:38 +0100 | <Inst> | for the non-programmer, though |
2022-01-08 07:40:50 +0100 | <EvanR> | people use C++, and it's imperative |
2022-01-08 07:40:59 +0100 | <Inst> | i mean, i think functional programmers and imperative programmers tend toward different intelligence types |
2022-01-08 07:40:59 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-01-08 07:41:08 +0100 | <EvanR> | I'm not sure if there's a causal reason for this anymore though |
2022-01-08 07:41:16 +0100 | <Inst> | causal reason for what? |
2022-01-08 07:41:58 +0100 | <Inst> | mentally keeping track of state is hard and requires strong working memories |
2022-01-08 07:42:01 +0100 | <EvanR> | that C++ technology is where all the work went so you have a chance of utilizing your hardware's capability |
2022-01-08 07:42:17 +0100 | <EvanR> | it's probably more inertia than anything |
2022-01-08 07:42:25 +0100 | <Inst> | yeah, ecosystem effects |
2022-01-08 07:42:45 +0100 | <EvanR> | On the GPU, an imperative programming language doesn't really get you much |
2022-01-08 07:43:01 +0100 | <maerwald> | I think looking at functional vs imperative as correctness vs performance is totally wrong |
2022-01-08 07:43:02 +0100 | <Inst> | i'm guessing it's because of the massive parallelism |
2022-01-08 07:43:13 +0100 | <Inst> | maintainability, ease of composition, ease of design, etc |
2022-01-08 07:43:23 +0100 | <Inst> | the only real advantage i think with imperative is performance |
2022-01-08 07:43:33 +0100 | <EvanR> | GPU programmers are thinking in a different paradigm these days, and forced to code it through imperative languages |
2022-01-08 07:43:36 +0100 | <Inst> | if we all had infinitely fast computers we'd all be on functional programming |
2022-01-08 07:43:47 +0100 | <maerwald> | imperative languages are still the strongest in terms of tooling, support, etc. when it comes to formal verification |
2022-01-08 07:44:33 +0100 | <EvanR> | Inst, you should learn some functional programming |
2022-01-08 07:44:40 +0100 | <EvanR> | IMO lol |
2022-01-08 07:44:40 +0100 | <Inst> | as in, what? |
2022-01-08 07:45:10 +0100 | <Inst> | recursion, higher order functions, etc |
2022-01-08 07:45:12 +0100 | <EvanR> | haskell is just the jumping off point, there is much to learn beyond haskell's version of FP |
2022-01-08 07:45:22 +0100 | <Inst> | I know a bunch of people aggressively selling OCaml |
2022-01-08 07:45:30 +0100 | <Inst> | I am in the market for SICP |
2022-01-08 07:45:34 +0100 | <EvanR> | the industry is stuck in a valley, haskell is up on a hill, and then there's the rest of the world |
2022-01-08 07:46:08 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-01-08 07:46:08 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-01-08 07:46:08 +0100 | wroathe | (~wroathe@user/wroathe) |
2022-01-08 07:46:10 +0100 | <Inst> | SICP being the 1998 version, not the Javascript version |
2022-01-08 07:46:12 +0100 | <EvanR> | haskell stuff really pushes you to learn that |
2022-01-08 07:46:15 +0100 | <Inst> | can't believe MIT jumped off to Python? |
2022-01-08 07:46:28 +0100 | <maerwald> | EvanR: and then there's people for whom the hill is not enough and they're building a ladder into the sky (most programmers will fall off that ladder) |
2022-01-08 07:47:17 +0100 | <EvanR> | ivory tower of babel? |
2022-01-08 07:47:25 +0100 | <maerwald> | dependent haskell |
2022-01-08 07:47:27 +0100 | <Inst> | maerwald: are you talking Shen? |
2022-01-08 07:47:32 +0100 | <EvanR> | lol shen |
2022-01-08 07:47:39 +0100 | coolnickname | (uid531864@user/coolnickname) |
2022-01-08 07:47:59 +0100 | <maerwald> | but if we're lucky, dependent haskell will be a success story similar to backpack |
2022-01-08 07:48:19 +0100 | <Inst> | backpack? |
2022-01-08 07:48:25 +0100 | <maerwald> | exactly |
2022-01-08 07:48:29 +0100 | <int-e> | maerwald: hah |
2022-01-08 07:48:48 +0100 | <Inst> | https://dl.acm.org/doi/10.1145/2535838.2535884 |
2022-01-08 07:48:53 +0100 | nhatanh02 | (~satori@123.24.172.30) |
2022-01-08 07:49:23 +0100 | <EvanR> | maerwald, well, we're probably considering different kind of programmers |
2022-01-08 07:49:30 +0100 | <EvanR> | different kinds |
2022-01-08 07:50:13 +0100 | <EvanR> | I'm not expecting anyone who ended up as a programmer due to being bad analytically to start using dependent types |
2022-01-08 07:51:13 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
2022-01-08 07:51:28 +0100 | <Inst> | erm, do you mind if I ask a final question? |
2022-01-08 07:51:31 +0100 | <maerwald> | EvanR: I'm worried about programmers who are good analytically |
2022-01-08 07:51:45 +0100 | <maerwald> | writing code for their ego, not for users |
2022-01-08 07:51:49 +0100 | <EvanR> | the ones pushing dependent types? xD |
2022-01-08 07:52:29 +0100 | <int-e> | maerwald: user data is just protocol overhead |
2022-01-08 07:53:51 +0100 | <Inst> | well, if you're willing to humor me |
2022-01-08 07:53:55 +0100 | <Inst> | basically, in terms of style guidelines |
2022-01-08 07:54:11 +0100 | <Inst> | i'm working with the notion that main should be as sparse as possible, i.e, a hub of hubs (or of hubs of hubs of hubs and so on) |
2022-01-08 07:54:24 +0100 | <Inst> | IO-land functions should do no more than 5 things at a time |
2022-01-08 07:54:32 +0100 | Jing | (~hedgehog@103.121.208.183) (Remote host closed the connection) |
2022-01-08 07:54:46 +0100 | <Inst> | erm, IO-land functions should be divided into hub and spoke functions, the former of which are limited to 5 things at a time, and the latter 1-2 things |
2022-01-08 07:55:02 +0100 | <Inst> | i'm not sure if that's a wise way to structure things, or are there other guidelines? |
2022-01-08 07:55:11 +0100 | <Inst> | for pure functions, I have a problem where I write really long pipes |
2022-01-08 07:55:12 +0100 | Jing | (~hedgehog@240e:390:7c53:a7e1:dda7:7c4c:abf9:d2d) |
2022-01-08 07:55:29 +0100 | <EvanR> | is that from structured programming or something |
2022-01-08 07:55:32 +0100 | <Inst> | how long should a pipe be before I look into ways to truncate it? |
2022-01-08 07:55:42 +0100 | <Inst> | I don't know structured programming, it's what I came up with off the top of my head |
2022-01-08 07:55:55 +0100 | <Inst> | I ran off to functional programming because I didn't have the working memory to understand imperative programming code |
2022-01-08 07:56:27 +0100 | <EvanR> | you'll get better at style after writing a lot of code and having people take it apart |
2022-01-08 07:56:49 +0100 | <Inst> | i probably have a cognitive defect wherein long vertical lists make me sick, but transcontinental pipelines are fine |
2022-01-08 07:56:50 +0100 | <EvanR> | as opposed to attempts to over prescribe style ahead of time |
2022-01-08 07:57:09 +0100 | <Inst> | thanks |
2022-01-08 07:57:16 +0100 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2022-01-08 07:57:54 +0100 | BrokenClutch | (~pioneer@2804:d41:c292:6c00:33d8:d2f1:d8af:153e) () |
2022-01-08 07:58:50 +0100 | <Inst> | what did you mean, btw, by the more interesting parts of haskell? |
2022-01-08 07:58:53 +0100 | <Inst> | like the type system? |
2022-01-08 08:00:24 +0100 | <EvanR> | maybe you can get an idea by doing some exercises or advent of code in haskell |
2022-01-08 08:00:36 +0100 | <Inst> | i've done my share, I have a workstation computer |
2022-01-08 08:00:47 +0100 | <Inst> | that should have been sent back to the shop |
2022-01-08 08:00:59 +0100 | <Inst> | it's still waiting on me to finish the IO-land exercises in one textbook |
2022-01-08 08:01:24 +0100 | <Inst> | then that book is finished, also working on exercises in Hutton's |
2022-01-08 08:02:06 +0100 | <Inst> | Get Programming with Haskell apparently has some really nice projects, 42 of them |
2022-01-08 08:02:15 +0100 | <Inst> | just picked it up |
2022-01-08 08:02:27 +0100 | <EvanR> | ... maybe not |
2022-01-08 08:02:42 +0100 | <EvanR> | move on to real projects |
2022-01-08 08:03:21 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-01-08 08:12:37 +0100 | xff0x | (~xff0x@2001:1a81:5298:9f00:e07:3bd9:947c:632e) (Ping timeout: 240 seconds) |
2022-01-08 08:13:14 +0100 | sirlensalot | (~sirlensal@ool-44c5f8c9.dyn.optonline.net) (Quit: sirlensalot) |
2022-01-08 08:13:53 +0100 | xff0x | (~xff0x@2001:1a81:5298:9f00:c8df:ae8c:ee9b:1cca) |
2022-01-08 08:30:36 +0100 | shriekingnoise | (~shrieking@186.137.144.80) (Quit: Quit) |
2022-01-08 08:30:47 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.4) |
2022-01-08 08:35:00 +0100 | kaph_ | (~kaph@net-2-38-107-19.cust.vodafonedsl.it) (Ping timeout: 256 seconds) |
2022-01-08 08:39:53 +0100 | jakalx | (~jakalx@base.jakalx.net) |
2022-01-08 08:40:53 +0100 | aplainzetakind | (~johndoe@captainludd.powered.by.lunarbnc.net) (Ping timeout: 252 seconds) |
2022-01-08 08:41:01 +0100 | jinsun_ | (~jinsun@user/jinsun) (Ping timeout: 240 seconds) |
2022-01-08 08:42:33 +0100 | jinsun_ | (~jinsun@user/jinsun) |
2022-01-08 08:47:44 +0100 | johnw_ | (~johnw@2607:f6f0:3004:1:c8b4:50ff:fef8:6bf0) |
2022-01-08 08:48:00 +0100 | ksqsf | (~user@134.209.106.31) |
2022-01-08 08:48:37 +0100 | zwro[m] | (~zwromatri@2001:470:69fc:105::1d4) (Ping timeout: 240 seconds) |
2022-01-08 08:48:53 +0100 | zwro[m] | (~zwromatri@2001:470:69fc:105::1d4) |
2022-01-08 08:49:01 +0100 | johnw | (~johnw@2607:f6f0:3004:1:c8b4:50ff:fef8:6bf0) (Ping timeout: 240 seconds) |
2022-01-08 08:49:44 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2022-01-08 08:49:51 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-01-08 08:53:49 +0100 | pfurla-matrix | (~pedrofurl@2001:470:69fc:105::1:51d7) (Ping timeout: 240 seconds) |
2022-01-08 08:53:49 +0100 | jneira[m] | (~jneiramat@2001:470:69fc:105::d729) (Ping timeout: 240 seconds) |
2022-01-08 08:53:49 +0100 | octeep[m] | (~octeepoct@2001:470:69fc:105::1:3dbf) (Ping timeout: 240 seconds) |
2022-01-08 08:53:49 +0100 | jmcantrell | (~jmcantrel@user/jmcantrell) (Ping timeout: 240 seconds) |
2022-01-08 08:53:49 +0100 | Topik[m] | (~topikmatr@2001:470:69fc:105::a082) (Ping timeout: 240 seconds) |
2022-01-08 08:53:49 +0100 | Deide | (~deide@user/deide) (Ping timeout: 240 seconds) |
2022-01-08 08:53:49 +0100 | wysteriary[m] | (~wysteriar@2001:470:69fc:105::a42e) (Ping timeout: 240 seconds) |
2022-01-08 08:53:49 +0100 | RosarioPulella[m | (~rosariopu@2001:470:69fc:105::a57) (Ping timeout: 240 seconds) |
2022-01-08 08:53:49 +0100 | xddq[m] | (~xddqmatri@2001:470:69fc:105::bfd8) (Ping timeout: 240 seconds) |
2022-01-08 08:54:13 +0100 | johnw_ | (~johnw@2607:f6f0:3004:1:c8b4:50ff:fef8:6bf0) (Ping timeout: 240 seconds) |
2022-01-08 08:54:13 +0100 | tripa[m] | (~tripamatr@2001:470:69fc:105::1:4f7e) (Ping timeout: 240 seconds) |
2022-01-08 08:56:16 +0100 | johnw | (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) |
2022-01-08 08:56:44 +0100 | jneira[m] | (~jneiramat@2001:470:69fc:105::d729) |
2022-01-08 08:57:31 +0100 | Alex_test | (~al_test@178.34.162.219) (Ping timeout: 256 seconds) |
2022-01-08 08:57:31 +0100 | AlexZenon | (~alzenon@178.34.162.219) (Ping timeout: 256 seconds) |
2022-01-08 08:57:43 +0100 | pfurla-matrix | (~pedrofurl@2001:470:69fc:105::1:51d7) |
2022-01-08 08:57:46 +0100 | Alex_test | (~al_test@178.34.162.219) |
2022-01-08 08:57:47 +0100 | AlexZenon | (~alzenon@178.34.162.219) |
2022-01-08 08:59:02 +0100 | Jing | (~hedgehog@240e:390:7c53:a7e1:dda7:7c4c:abf9:d2d) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-01-08 09:01:29 +0100 | Inst | (~delicacie@c-98-208-218-119.hsd1.fl.comcast.net) (Ping timeout: 256 seconds) |
2022-01-08 09:03:54 +0100 | falafel | (~falafel@2603-8000-d800-688c-54f8-65c3-409b-d4a1.res6.spectrum.com) |
2022-01-08 09:07:14 +0100 | wysteriary[m] | (~wysteriar@2001:470:69fc:105::a42e) |
2022-01-08 09:07:19 +0100 | Topik[m] | (~topikmatr@2001:470:69fc:105::a082) |
2022-01-08 09:07:57 +0100 | falafel | (~falafel@2603-8000-d800-688c-54f8-65c3-409b-d4a1.res6.spectrum.com) (Ping timeout: 240 seconds) |
2022-01-08 09:08:18 +0100 | octeep[m] | (~octeepoct@2001:470:69fc:105::1:3dbf) |
2022-01-08 09:08:43 +0100 | shriekingnoise | (~shrieking@186.137.144.80) |
2022-01-08 09:09:01 +0100 | RosarioPulella[m | (~rosariopu@2001:470:69fc:105::a57) |
2022-01-08 09:09:50 +0100 | jmcantrell | (~jmcantrel@user/jmcantrell) |
2022-01-08 09:09:57 +0100 | zmt00 | (~zmt00@user/zmt00) (Ping timeout: 240 seconds) |
2022-01-08 09:10:18 +0100 | califax | (~califax@user/califx) (Ping timeout: 276 seconds) |
2022-01-08 09:10:45 +0100 | califax | (~califax@user/califx) |
2022-01-08 09:11:16 +0100 | xddq[m] | (~xddqmatri@2001:470:69fc:105::bfd8) |
2022-01-08 09:11:17 +0100 | mvk | (~mvk@2607:fea8:5cdd:f000::45db) |
2022-01-08 09:11:58 +0100 | Deide | (~deide@user/deide) |
2022-01-08 09:12:59 +0100 | tripa[m] | (~tripamatr@2001:470:69fc:105::1:4f7e) |
2022-01-08 09:13:32 +0100 | td_ | (~td@94.134.91.205) (Ping timeout: 256 seconds) |
2022-01-08 09:13:47 +0100 | td_ | (~td@94.134.91.205) |
2022-01-08 09:17:41 +0100 | pagnol | (~user@014198154145.ctinets.com) |
2022-01-08 09:19:17 +0100 | lavaman | (~lavaman@98.38.249.169) |
2022-01-08 09:19:19 +0100 | pagnol | (~user@014198154145.ctinets.com) () |
2022-01-08 09:21:31 +0100 | spaceseller | (~spacesell@31.147.205.13) |
2022-01-08 09:23:25 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
2022-01-08 09:25:04 +0100 | spaceseller | (~spacesell@31.147.205.13) (Client Quit) |
2022-01-08 09:32:47 +0100 | aplainzetakind | (~johndoe@captainludd.powered.by.lunarbnc.net) |
2022-01-08 09:43:24 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2022-01-08 09:44:49 +0100 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-01-08 09:46:56 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-01-08 09:46:56 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-01-08 09:46:56 +0100 | wroathe | (~wroathe@user/wroathe) |
2022-01-08 09:48:09 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
2022-01-08 09:48:50 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-01-08 09:49:55 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2022-01-08 09:49:55 +0100 | user0 | (~aj@154.0.137.32) |
2022-01-08 09:51:09 +0100 | img | (~img@user/img) |
2022-01-08 09:51:49 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
2022-01-08 09:54:20 +0100 | nhatanh02 | (~satori@123.24.172.30) (Ping timeout: 256 seconds) |
2022-01-08 10:00:57 +0100 | mikoto-chan | (~mikoto-ch@esm-84-240-99-143.netplaza.fi) (Ping timeout: 240 seconds) |
2022-01-08 10:05:10 +0100 | phma | (phma@2001:5b0:211c:3a48:e7cb:c702:2cb6:39c) (Read error: Connection reset by peer) |
2022-01-08 10:05:31 +0100 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 256 seconds) |
2022-01-08 10:06:10 +0100 | phma | (~phma@host-67-44-208-201.hnremote.net) |
2022-01-08 10:06:47 +0100 | max22- | (~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr) |
2022-01-08 10:07:31 +0100 | clownpi3c3 | (~clownpi3c@94.50.183.196) (Remote host closed the connection) |
2022-01-08 10:10:10 +0100 | x88x88x | (~x88x88x@2001:19f0:5:39a8:5400:3ff:feb6:73cb) (Remote host closed the connection) |
2022-01-08 10:10:55 +0100 | x88x88x | (~x88x88x@149.28.53.172) |
2022-01-08 10:17:36 +0100 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2022-01-08 10:17:36 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2022-01-08 10:17:39 +0100 | allbery_b | geekosaur |
2022-01-08 10:18:22 +0100 | Pickchea | (~private@user/pickchea) |
2022-01-08 10:18:44 +0100 | acidjnk | (~acidjnk@p200300d0c7271e73e09b8468fdbe4c29.dip0.t-ipconnect.de) |
2022-01-08 10:18:44 +0100 | acidjnk_new3 | (~acidjnk@p200300d0c7271e73e09b8468fdbe4c29.dip0.t-ipconnect.de) |
2022-01-08 10:19:03 +0100 | user0 | (~aj@154.0.137.32) () |
2022-01-08 10:19:53 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-01-08 10:20:12 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-01-08 10:21:21 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-01-08 10:22:59 +0100 | Pickchea | (~private@user/pickchea) (Client Quit) |
2022-01-08 10:26:29 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:8d43:554e:d62c:915d) |
2022-01-08 10:31:00 +0100 | cemg | (~cemguresc@2001:a61:11ff:a001:9318:98d4:c6f5:3049) (Ping timeout: 268 seconds) |
2022-01-08 10:31:18 +0100 | kaph | (~kaph@net-2-38-107-19.cust.vodafonedsl.it) |
2022-01-08 10:31:54 +0100 | ksqsf | (~user@134.209.106.31) (ERC (IRC client for Emacs 27.2)) |
2022-01-08 10:34:21 +0100 | SummerSonw | (~The_viole@203.77.49.232) |
2022-01-08 10:40:18 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:8d43:554e:d62c:915d) (Remote host closed the connection) |
2022-01-08 10:47:29 +0100 | coolnickname | (uid531864@user/coolnickname) (Quit: Connection closed for inactivity) |
2022-01-08 10:57:05 +0100 | Garbanzo | (~Garbanzo@2602:304:6eac:dc10::46) |
2022-01-08 10:59:15 +0100 | Inst | (~delicacie@c-98-208-218-119.hsd1.fl.comcast.net) |
2022-01-08 11:00:14 +0100 | aplainzetakind | (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net) |
2022-01-08 11:01:37 +0100 | Garbanzo | (~Garbanzo@2602:304:6eac:dc10::46) (Ping timeout: 240 seconds) |
2022-01-08 11:03:40 +0100 | aplainze1akind | (~johndoe@captainludd.powered.by.lunarbnc.net) |
2022-01-08 11:04:20 +0100 | mc47 | (~mc47@xmonad/TheMC47) |
2022-01-08 11:09:33 +0100 | razetime | (~quassel@49.207.213.63) |
2022-01-08 11:11:15 +0100 | <Square> | what is the goto logging library 2022? katip? Hslogger? |
2022-01-08 11:11:49 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-11.elisa-laajakaista.fi) |
2022-01-08 11:12:46 +0100 | Jing | (~hedgehog@240e:390:7c53:a7e1:8d38:5b59:3c2d:440) |
2022-01-08 11:14:17 +0100 | deadmarshal | (~deadmarsh@95.38.113.27) (Ping timeout: 240 seconds) |
2022-01-08 11:14:48 +0100 | <[exa]> | for extra 2022 vibes try unsafePerformLogging |
2022-01-08 11:15:35 +0100 | <[exa]> | other than that depends on how complex your logs should be (syslog? multiple files? topics&severities?) |
2022-01-08 11:17:13 +0100 | <[exa]> | btw `logging` isn't that bad either |
2022-01-08 11:17:31 +0100 | deadmarshal | (~deadmarsh@95.38.113.27) |
2022-01-08 11:19:15 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-01-08 11:19:41 +0100 | ubert | (~Thunderbi@p200300ecdf09944400397d9ba615ef71.dip0.t-ipconnect.de) |
2022-01-08 11:21:50 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-01-08 11:24:58 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-01-08 11:26:08 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
2022-01-08 11:26:09 +0100 | LiaoTao | (~LiaoTao@gateway/tor-sasl/liaotao) (Ping timeout: 276 seconds) |
2022-01-08 11:26:57 +0100 | LiaoTao | (~LiaoTao@gateway/tor-sasl/liaotao) |
2022-01-08 11:34:17 +0100 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2022-01-08 11:35:12 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds) |
2022-01-08 11:35:35 +0100 | Lord_of_Life_ | Lord_of_Life |
2022-01-08 11:35:42 +0100 | AlexNoo_ | AlexNoo |
2022-01-08 11:38:53 +0100 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2022-01-08 11:40:38 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:c1f6:dbe8:b4c8:cd59) |
2022-01-08 11:41:53 +0100 | <maerwald[m]> | Square: none |
2022-01-08 11:42:02 +0100 | <maerwald[m]> | Hand roll it |
2022-01-08 11:42:07 +0100 | <maerwald[m]> | Logging isn't hard |
2022-01-08 11:42:20 +0100 | <Square> | say that to the log4j folks |
2022-01-08 11:42:25 +0100 | dsrt^ | (~dsrt@wsip-98-188-246-242.mc.at.cox.net) (Ping timeout: 256 seconds) |
2022-01-08 11:44:19 +0100 | <Square> | Also logging is boring, so i prefer spending least amount of time on it. =D |
2022-01-08 11:47:44 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-01-08 11:47:44 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-01-08 11:47:44 +0100 | wroathe | (~wroathe@user/wroathe) |
2022-01-08 11:52:37 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
2022-01-08 11:55:05 +0100 | zer0bitz | (~zer0bitz@196.244.192.61) |
2022-01-08 11:55:43 +0100 | zer0bitz_ | (~zer0bitz@196.244.192.61) |
2022-01-08 11:56:38 +0100 | matrox | (~bc8147f2@cerf.good1.com) |
2022-01-08 11:59:25 +0100 | zer0bitz | (~zer0bitz@196.244.192.61) (Ping timeout: 256 seconds) |
2022-01-08 12:03:06 +0100 | jakalx | (~jakalx@base.jakalx.net) () |
2022-01-08 12:06:33 +0100 | jakalx | (~jakalx@base.jakalx.net) |
2022-01-08 12:13:26 +0100 | whatsupdoc | (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2022-01-08 12:17:35 +0100 | antony | (~The_viole@203.77.49.232) |
2022-01-08 12:18:28 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-01-08 12:18:28 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-01-08 12:18:28 +0100 | wroathe | (~wroathe@user/wroathe) |
2022-01-08 12:20:13 +0100 | SummerSonw | (~The_viole@203.77.49.232) (Ping timeout: 240 seconds) |
2022-01-08 12:22:14 +0100 | antony | (~The_viole@203.77.49.232) (Client Quit) |
2022-01-08 12:23:13 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
2022-01-08 12:26:51 +0100 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2022-01-08 12:31:29 +0100 | jgeerds | (~jgeerds@55d4bbed.access.ecotel.net) |
2022-01-08 12:32:52 +0100 | <matrox> | hi. do you use c2hs to generate C bindings? does it work with stack? I used something similar several years ago, and it worked nicely, but then when I switched to stack it stopped working |
2022-01-08 12:32:56 +0100 | <matrox> | https://hackage.haskell.org/package/c2hs |
2022-01-08 12:33:54 +0100 | <geekosaur> | c2hs should work with stack but may be broken with newer versions of gcc and headers installed with or to work with it |
2022-01-08 12:34:48 +0100 | __monty__ | (~toonn@user/toonn) |
2022-01-08 12:35:51 +0100 | <geekosaur> | if you're seeing "The symbol <whatever> does not fit here" it's probably that |
2022-01-08 12:37:09 +0100 | <geekosaur> | looks like the gcc one has been fixed upstream but I don't know if it's made a release yet |
2022-01-08 12:39:16 +0100 | <geekosaur> | there are also a few new ones still open including one against clang/macos |
2022-01-08 12:45:07 +0100 | xkuru | (~xkuru@user/xkuru) |
2022-01-08 12:46:41 +0100 | lavaman | (~lavaman@98.38.249.169) |
2022-01-08 12:50:39 +0100 | <matrox> | geekosaur, so it is still broken, just in a different way? that's too bad. seems like tools c2hs can't help but be fragile |
2022-01-08 12:51:36 +0100 | <geekosaur> | in this case, yes. it's not at all uncommon that vendors make changes to internal #include files that are not intended to be seen by users, but a tool like c2hs will see them and break |
2022-01-08 12:52:13 +0100 | <geekosaur> | hsc2hs is insulated from that kind of change but is of course less capable |
2022-01-08 12:52:41 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
2022-01-08 12:52:46 +0100 | <matrox> | oh, I believe that is what I used several years ago, and then for some reason, it wouldn't work with stack. or I didn't know how to make it work |
2022-01-08 12:53:07 +0100 | <geekosaur> | afaik stack should have no problem with it |
2022-01-08 12:53:26 +0100 | <geekosaur> | would need to be declared as a build tool but cabal requires that too |
2022-01-08 12:53:56 +0100 | <geekosaur> | it's just by its nature rather more fragile than alternatives |
2022-01-08 12:54:31 +0100 | <geekosaur> | (come to think of it I thought the fpcomplete folks used it with inline-c, so I'd expect stack to work well with it) |
2022-01-08 12:57:17 +0100 | <geekosaur> | mm, hackage claims not, guess I'm wrong |
2022-01-08 12:57:32 +0100 | coot | (~coot@89-64-85-93.dynamic.chello.pl) |
2022-01-08 12:57:49 +0100 | ph88 | (~ph88@2a02:8109:9e00:71d0::7e04) (Ping timeout: 240 seconds) |
2022-01-08 13:08:34 +0100 | <matrox> | too bad. it is such a pain to write C bindings by hand, and error prone too (especially if, for example, struct size can vary). so I often end up writing code that uses C library extensively in C or C++, even though I'd prefer to write it in haskell |
2022-01-08 13:16:36 +0100 | machinedgod | (~machinedg@24.105.81.50) |
2022-01-08 13:20:01 +0100 | xb0o2 | (~xb0o2@user/xb0o2) |
2022-01-08 13:24:02 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-01-08 13:26:41 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 256 seconds) |
2022-01-08 13:28:23 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
2022-01-08 13:30:46 +0100 | coot | (~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot) |
2022-01-08 13:43:32 +0100 | max22- | (~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr) (Ping timeout: 240 seconds) |
2022-01-08 13:50:37 +0100 | acidjnk | (~acidjnk@p200300d0c7271e73e09b8468fdbe4c29.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2022-01-08 13:50:37 +0100 | acidjnk_new3 | (~acidjnk@p200300d0c7271e73e09b8468fdbe4c29.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2022-01-08 13:56:08 +0100 | tfeb | (~tfb@88.98.95.237) |
2022-01-08 13:57:12 +0100 | tfeb | tfb |
2022-01-08 14:00:07 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-01-08 14:00:07 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-01-08 14:00:07 +0100 | wroathe | (~wroathe@user/wroathe) |
2022-01-08 14:00:45 +0100 | coot | (~coot@89-64-85-93.dynamic.chello.pl) |
2022-01-08 14:03:51 +0100 | tfb | (~tfb@88.98.95.237) (Quit: died) |
2022-01-08 14:04:37 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
2022-01-08 14:08:38 +0100 | coot | (~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot) |
2022-01-08 14:09:10 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2022-01-08 14:13:02 +0100 | jgeerds | (~jgeerds@55d4bbed.access.ecotel.net) (Ping timeout: 240 seconds) |
2022-01-08 14:16:25 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:c1f6:dbe8:b4c8:cd59) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-01-08 14:21:20 +0100 | acidjnk | (~acidjnk@p200300d0c7271e7348f13af2a2732e1a.dip0.t-ipconnect.de) |
2022-01-08 14:21:20 +0100 | acidjnk_new3 | (~acidjnk@p200300d0c7271e7348f13af2a2732e1a.dip0.t-ipconnect.de) |
2022-01-08 14:21:57 +0100 | Brumaire | (~quassel@81-64-14-121.rev.numericable.fr) |
2022-01-08 14:25:04 +0100 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-01-08 14:26:28 +0100 | img | (~img@user/img) |
2022-01-08 14:26:32 +0100 | rond_ | (~rond_@2a01:115f:943:5e00:3fb6:23a4:a917:27c7) |
2022-01-08 14:29:35 +0100 | ph88 | (~ph88@2a02:8109:9e00:71d0::7e04) |
2022-01-08 14:30:11 +0100 | Hayek | (~xxx@rrcs-173-196-3-254.west.biz.rr.com) |
2022-01-08 14:32:57 +0100 | max22- | (~maxime@2a01cb08833598001efaefdacc745aec.ipv6.abo.wanadoo.fr) |
2022-01-08 14:40:13 +0100 | CiaoSen | (~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2022-01-08 14:44:30 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
2022-01-08 14:44:30 +0100 | stiell | (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
2022-01-08 14:44:31 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
2022-01-08 14:44:44 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2022-01-08 14:44:52 +0100 | stiell | (~stiell@gateway/tor-sasl/stiell) |
2022-01-08 14:44:59 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2022-01-08 14:47:43 +0100 | Brumaire | (~quassel@81-64-14-121.rev.numericable.fr) (Quit: No Ping reply in 180 seconds.) |
2022-01-08 14:48:07 +0100 | choucavalier | (~choucaval@peanutbuttervibes.com) (Changing host) |
2022-01-08 14:48:07 +0100 | choucavalier | (~choucaval@user/choucavalier) |
2022-01-08 14:49:02 +0100 | coot | (~coot@89-64-85-93.dynamic.chello.pl) |
2022-01-08 14:49:07 +0100 | Brumaire | (~quassel@81-64-14-121.rev.numericable.fr) |
2022-01-08 14:49:13 +0100 | Brumaire | (~quassel@81-64-14-121.rev.numericable.fr) (Client Quit) |
2022-01-08 14:49:34 +0100 | Brumaire | (~quassel@81-64-14-121.rev.numericable.fr) |
2022-01-08 14:51:00 +0100 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2022-01-08 14:53:58 +0100 | choucavalier | (~choucaval@user/choucavalier) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-01-08 14:54:15 +0100 | tfeb | (~tfb@88.98.95.237) |
2022-01-08 14:54:17 +0100 | choucavalier | (~choucaval@peanutbuttervibes.com) |
2022-01-08 14:55:32 +0100 | max22- | (~maxime@2a01cb08833598001efaefdacc745aec.ipv6.abo.wanadoo.fr) (Ping timeout: 240 seconds) |
2022-01-08 14:56:05 +0100 | tfeb | tfb |
2022-01-08 14:57:07 +0100 | riatre | (~quassel@2001:310:6000:f::5198:1) (Quit: http://quassel-irc.org) |
2022-01-08 14:57:16 +0100 | _xor | (~xor@dsl-50-5-233-169.fuse.net) |
2022-01-08 14:57:42 +0100 | riatre | (~quassel@2001:310:6000:f::5198:1) |
2022-01-08 15:05:31 +0100 | tfb | (~tfb@88.98.95.237) (Quit: died) |
2022-01-08 15:09:03 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-01-08 15:11:25 +0100 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) |
2022-01-08 15:13:07 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-01-08 15:13:10 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2022-01-08 15:15:22 +0100 | sirlensalot | (~sirlensal@ool-44c5f8c9.dyn.optonline.net) |
2022-01-08 15:18:36 +0100 | cosimone` | (~user@93-47-228-11.ip115.fastwebnet.it) |
2022-01-08 15:19:17 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2022-01-08 15:19:36 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Ping timeout: 268 seconds) |
2022-01-08 15:20:01 +0100 | ubert | (~Thunderbi@p200300ecdf09944400397d9ba615ef71.dip0.t-ipconnect.de) (Remote host closed the connection) |
2022-01-08 15:20:12 +0100 | matrox | (~bc8147f2@cerf.good1.com) (Quit: CGI:IRC) |
2022-01-08 15:20:33 +0100 | matrox | (~bc8147f2@cerf.good1.com) |
2022-01-08 15:21:05 +0100 | oweasel | (~frank1998@114-26-9-148.dynamic-ip.hinet.net) |
2022-01-08 15:21:13 +0100 | nek0 | (~nek0@nek0.eu) (Quit: The Lounge - https://thelounge.chat) |
2022-01-08 15:21:16 +0100 | xsperry | (~xs@user/xsperry) (Killed (NickServ (GHOST command used by aldkjsfasdf!~xs@cpe-188-129-71-242.dynamic.amis.hr))) |
2022-01-08 15:21:23 +0100 | xsperry | (~xs@user/xsperry) |
2022-01-08 15:22:22 +0100 | oweasel | (~frank1998@114-26-9-148.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-01-08 15:22:31 +0100 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) (Remote host closed the connection) |
2022-01-08 15:22:47 +0100 | oweasel | (~frank1998@114-26-9-148.dynamic-ip.hinet.net) |
2022-01-08 15:22:58 +0100 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) |
2022-01-08 15:23:48 +0100 | SummerSonw | (~The_viole@203.77.49.232) |
2022-01-08 15:24:10 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2022-01-08 15:26:06 +0100 | oweasel | (~frank1998@114-26-9-148.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-01-08 15:26:38 +0100 | max22- | (~maxime@2a01cb08833598001e8492dc42f658f2.ipv6.abo.wanadoo.fr) |
2022-01-08 15:27:32 +0100 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) (Ping timeout: 256 seconds) |
2022-01-08 15:30:01 +0100 | zincy | (~tom@2a00:23c8:970c:4801:5b6a:e81b:79dc:f684) (Ping timeout: 250 seconds) |
2022-01-08 15:30:17 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2022-01-08 15:31:11 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Read error: Connection reset by peer) |
2022-01-08 15:31:53 +0100 | gallup | (~gallup@192-222-138-215.qc.cable.ebox.net) |
2022-01-08 15:33:04 +0100 | nek0 | (~nek0@nek0.eu) |
2022-01-08 15:36:52 +0100 | CiaoSen | (~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
2022-01-08 15:37:17 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2022-01-08 15:38:11 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Read error: Connection reset by peer) |
2022-01-08 15:38:17 +0100 | sirlensalot | (~sirlensal@ool-44c5f8c9.dyn.optonline.net) (Quit: sirlensalot) |
2022-01-08 15:39:48 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2022-01-08 15:44:18 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2022-01-08 15:45:12 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Read error: Connection reset by peer) |
2022-01-08 15:45:14 +0100 | mikoto-chan | (~mikoto-ch@esm-84-240-99-143.netplaza.fi) |
2022-01-08 15:46:33 +0100 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) |
2022-01-08 15:49:25 +0100 | acidjnk | (~acidjnk@p200300d0c7271e7348f13af2a2732e1a.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2022-01-08 15:49:25 +0100 | acidjnk_new3 | (~acidjnk@p200300d0c7271e7348f13af2a2732e1a.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2022-01-08 15:51:06 +0100 | Midjak | (~Midjak@may53-1-78-226-116-92.fbx.proxad.net) |
2022-01-08 15:51:18 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2022-01-08 15:53:12 +0100 | <[itchyjunk]> | wahaha |
2022-01-08 15:53:13 +0100 | <[itchyjunk]> | https://bpa.st/LWBA |
2022-01-08 15:53:28 +0100 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) |
2022-01-08 15:54:12 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2022-01-08 15:54:50 +0100 | mikoto-chan | (~mikoto-ch@esm-84-240-99-143.netplaza.fi) (Quit: mikoto-chan) |
2022-01-08 15:54:51 +0100 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) (Remote host closed the connection) |
2022-01-08 15:55:17 +0100 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) |
2022-01-08 15:56:34 +0100 | <[exa]> | [itchyjunk]: go == (+) . (^2) |
2022-01-08 15:56:45 +0100 | gallup | aouestbillie |
2022-01-08 15:56:46 +0100 | <int-e> | dubious |
2022-01-08 15:56:57 +0100 | <[itchyjunk]> | hmmmm i should really learn function composition |
2022-01-08 15:57:05 +0100 | <int-e> | (should be a left fold :P) |
2022-01-08 15:57:09 +0100 | <[itchyjunk]> | you're just saying compose + with ^2 right? |
2022-01-08 15:57:21 +0100 | Everything | (~Everythin@37.115.210.35) |
2022-01-08 15:57:21 +0100 | <[exa]> | [itchyjunk]: or send a @pl to lambdabot :D :D |
2022-01-08 15:57:28 +0100 | <geekosaur> | function composition is one thing,, pointfree is … a readability tarpit |
2022-01-08 15:57:50 +0100 | <geekosaur> | I'd say ignore that for now |
2022-01-08 15:57:52 +0100 | <int-e> | also I'd use sum . map for this 99% of the time |
2022-01-08 15:57:52 +0100 | <[exa]> | +1 for foldl' though |
2022-01-08 15:57:54 +0100 | <[itchyjunk]> | ah great! |
2022-01-08 15:58:07 +0100 | <[itchyjunk]> | it says don't use map |
2022-01-08 15:58:23 +0100 | <int-e> | [itchyjunk]: Yeah I've seen that you're required to use foldr |
2022-01-08 15:58:36 +0100 | coot | (~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot) |
2022-01-08 15:58:37 +0100 | <int-e> | So take it as a complaint about the problem not your code :P |
2022-01-08 15:58:51 +0100 | <[itchyjunk]> | i used map to check the solution instead |
2022-01-08 15:58:54 +0100 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) (Remote host closed the connection) |
2022-01-08 15:59:02 +0100 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) |
2022-01-08 15:59:07 +0100 | <[itchyjunk]> | the foldr and foldl difference is eventually going to get me |
2022-01-08 15:59:09 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2022-01-08 15:59:22 +0100 | <[itchyjunk]> | i had nicely forgotten about - operator and it not being associative |
2022-01-08 15:59:26 +0100 | <int-e> | the same is true for wanting this to be a (strict, indeed) left fold |
2022-01-08 16:00:18 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2022-01-08 16:02:19 +0100 | mikoto-chan | (~mikoto-ch@esm-84-240-99-143.netplaza.fi) |
2022-01-08 16:09:39 +0100 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) (Remote host closed the connection) |
2022-01-08 16:10:06 +0100 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) |
2022-01-08 16:10:10 +0100 | <[itchyjunk]> | call me crazy but it works :D |
2022-01-08 16:10:11 +0100 | <[itchyjunk]> | https://bpa.st/B3QA |
2022-01-08 16:10:12 +0100 | wyrd | (~wyrd@gateway/tor-sasl/wyrd) (Ping timeout: 276 seconds) |
2022-01-08 16:11:05 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-01-08 16:11:06 +0100 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) (Remote host closed the connection) |
2022-01-08 16:11:12 +0100 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) |
2022-01-08 16:11:13 +0100 | <geekosaur> | not how I'd do it |
2022-01-08 16:11:57 +0100 | o-90 | (~o-90@gateway/tor-sasl/o-90) |
2022-01-08 16:12:03 +0100 | <[itchyjunk]> | you'ed use helper function instead of map? |
2022-01-08 16:13:01 +0100 | <[exa]> | why the zero case? |
2022-01-08 16:13:52 +0100 | <[itchyjunk]> | hmm |
2022-01-08 16:14:22 +0100 | o-90 | (~o-90@gateway/tor-sasl/o-90) () |
2022-01-08 16:14:34 +0100 | <[itchyjunk]> | ah i guess map takes care of the empty list case so it would be redundent? |
2022-01-08 16:14:51 +0100 | <geekosaur> | the fold does since it'd just return the 0 |
2022-01-08 16:15:07 +0100 | <[itchyjunk]> | ahh |
2022-01-08 16:15:29 +0100 | <geekosaur> | > foldr f z [] |
2022-01-08 16:15:31 +0100 | <lambdabot> | z |
2022-01-08 16:16:53 +0100 | CiaoSen | (~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2022-01-08 16:18:32 +0100 | cosimone` | (~user@93-47-228-11.ip115.fastwebnet.it) (Ping timeout: 256 seconds) |
2022-01-08 16:19:03 +0100 | cosimone` | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
2022-01-08 16:21:20 +0100 | <[itchyjunk]> | https://bpa.st/PYMA |
2022-01-08 16:21:30 +0100 | <[itchyjunk]> | I did the foldl differently using a helper |
2022-01-08 16:21:54 +0100 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) (Remote host closed the connection) |
2022-01-08 16:22:13 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2022-01-08 16:22:21 +0100 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) |
2022-01-08 16:22:22 +0100 | <geekosaur> | that's closer to how I'd do it. have they taught you about lambdas yet? |
2022-01-08 16:22:54 +0100 | <[itchyjunk]> | no. this isn't for a class :x i am grabbing random google exercises |
2022-01-08 16:23:10 +0100 | <[itchyjunk]> | but i know \x->x thingy from looking at random things |
2022-01-08 16:24:00 +0100 | <geekosaur> | so in place of such a simple "go" I'd just ise \x y -> x + 1 |
2022-01-08 16:24:18 +0100 | <geekosaur> | pr replace the y with _ since I'm not using it |
2022-01-08 16:25:13 +0100 | <[itchyjunk]> | oh neat! |
2022-01-08 16:25:21 +0100 | <bjs> | or just (+ 1) |
2022-01-08 16:26:13 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-01-08 16:26:16 +0100 | <geekosaur> | not quite since you need to discard the other one |
2022-01-08 16:26:19 +0100 | <bjs> | [itchyjunk]: I'd write `\_ x -> x + 1` here |
2022-01-08 16:26:43 +0100 | <geekosaur> | you can pointfree it with that and const, but meh |
2022-01-08 16:26:55 +0100 | <[itchyjunk]> | hm what did pointfree mean? |
2022-01-08 16:27:02 +0100 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) (Ping timeout: 256 seconds) |
2022-01-08 16:27:08 +0100 | <bjs> | [itchyjunk]: you can `const (+ 1)` or `\_ -> (+ 1)` |
2022-01-08 16:27:11 +0100 | <bjs> | then you don't mention "x" |
2022-01-08 16:27:26 +0100 | cosimone` | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Ping timeout: 268 seconds) |
2022-01-08 16:28:07 +0100 | <[itchyjunk]> | /o\ |
2022-01-08 16:28:20 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2022-01-08 16:28:37 +0100 | <bjs> | some people call it a "pointless" style because they're funny people :) |
2022-01-08 16:28:43 +0100 | <geekosaur> | that was also what we were discussing before with [08 14:56:34] <[exa]> [itchyjunk]: go == (+) . (^2) |
2022-01-08 16:29:05 +0100 | <geekosaur> | and I'm meh on it because of readability especially for beginners |
2022-01-08 16:29:13 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2022-01-08 16:30:06 +0100 | <[itchyjunk]> | ahh |
2022-01-08 16:30:24 +0100 | <[itchyjunk]> | i thought the point was referring to the . point |
2022-01-08 16:30:42 +0100 | <geekosaur> | a point is a variable, essentiallyy |
2022-01-08 16:30:51 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
2022-01-08 16:31:36 +0100 | <[itchyjunk]> | ah |
2022-01-08 16:32:02 +0100 | <geekosaur> | @pl \x y -> x + 1 |
2022-01-08 16:32:02 +0100 | <lambdabot> | const . (1 +) |
2022-01-08 16:32:19 +0100 | <geekosaur> | I don't exactly recommend that |
2022-01-08 16:33:15 +0100 | <geekosaur> | it's the sort of thing you come back 6 months later and wonder wtf you were drinking at the time |
2022-01-08 16:33:36 +0100 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) |
2022-01-08 16:33:45 +0100 | Nahra | (~user@static.161.95.99.88.clients.your-server.de) (Remote host closed the connection) |
2022-01-08 16:33:47 +0100 | <bjs> | I quite like point-free things, it really emphasises the declarative nature of things |
2022-01-08 16:34:20 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) |
2022-01-08 16:34:50 +0100 | [exa] | sees scrollback |
2022-01-08 16:35:00 +0100 | [exa] | . o O ( what have I opened ) |
2022-01-08 16:35:19 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2022-01-08 16:36:15 +0100 | <lechner> | it might be a littleclearer if point free did not involve dots! |
2022-01-08 16:36:31 +0100 | <geekosaur> | maybe I spent too much time trying to wrap my head around APL way back when™ but I'm less than impressed with pointfree style |
2022-01-08 16:36:49 +0100 | <razetime> | pointfree is nice in APL for describing short things. |
2022-01-08 16:37:15 +0100 | <razetime> | the problem was when they decided the everything should be pointfree in J(and then later realizing why that was bad) |
2022-01-08 16:37:30 +0100 | <geekosaur> | oh, that attitude predated J |
2022-01-08 16:37:47 +0100 | <geekosaur> | pretty much everything in APL was pointfree too |
2022-01-08 16:38:04 +0100 | <razetime> | I don't think so? |
2022-01-08 16:38:21 +0100 | <geekosaur> | maybe it was just the training materials I had on hand |
2022-01-08 16:38:34 +0100 | <razetime> | From what I know, J got trains first, which was later added to Dyalog APL and others |
2022-01-08 16:38:37 +0100 | <geekosaur> | they pointfree-d anything they could. granting that was less than in J |
2022-01-08 16:39:17 +0100 | <geekosaur> | but they made a big deal of it |
2022-01-08 16:39:47 +0100 | <lechner> | is "tacit" style a clearer term? https://en.wikipedia.org/wiki/Tacit_programming |
2022-01-08 16:40:12 +0100 | <razetime> | yes, tacit is the term used in general. In APL/J/K these are called trains. |
2022-01-08 16:40:37 +0100 | <lechner> | that page also calls it "pointless", with an undertone |
2022-01-08 16:41:13 +0100 | <hpc> | lambdabot's @pl command is a nod to "pointless" as well |
2022-01-08 16:41:23 +0100 | <lechner> | i see |
2022-01-08 16:41:28 +0100 | <razetime> | after about 10 symbols i usually just switch to a lambda. |
2022-01-08 16:41:42 +0100 | <razetime> | (⊢∘≢≥∘⍋⊢∘⍳∘≢,⊣) is relatively readable once you know train rules. |
2022-01-08 16:42:13 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2022-01-08 16:44:42 +0100 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) (Remote host closed the connection) |
2022-01-08 16:48:20 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2022-01-08 16:49:37 +0100 | <lechner> | naming things is one of the great privileges of language, and can make code easier to read, if less terse |
2022-01-08 16:49:50 +0100 | lavaman | (~lavaman@98.38.249.169) |
2022-01-08 16:53:28 +0100 | <lechner> | Hi, when encoding JSON with aeson and saving it as a file, who converts it to UTF-8 please? When injecting JSON into a Hasql.TH statement via Pg's 'json_populate_recordset', will the data get encoded twice? |
2022-01-08 16:54:09 +0100 | sebau1995 | (~sebau1995@138.117.21.68) |
2022-01-08 16:54:13 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
2022-01-08 16:54:30 +0100 | sebau1995 | (~sebau1995@138.117.21.68) (Client Quit) |
2022-01-08 16:54:41 +0100 | <geekosaur> | the I/O layer does, see hSetEncoding |
2022-01-08 16:55:00 +0100 | <lechner> | so it's late in the process |
2022-01-08 16:55:02 +0100 | <geekosaur> | I couldn't tell you about what in Hasql does it |
2022-01-08 16:55:07 +0100 | <lechner> | as it should be |
2022-01-08 16:55:12 +0100 | <geekosaur> | yes |
2022-01-08 16:56:32 +0100 | <lechner> | that mean aeson doesn't convert it, right? |
2022-01-08 16:57:33 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2022-01-08 16:57:35 +0100 | <lechner> | or encode it, to be exact |
2022-01-08 16:58:03 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-01-08 16:58:03 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-01-08 16:58:03 +0100 | wroathe | (~wroathe@user/wroathe) |
2022-01-08 16:58:23 +0100 | <geekosaur> | that I don't know. although if aeson gives you a String it should not be encoded |
2022-01-08 16:58:35 +0100 | <geekosaur> | if it's a Text then it may be (see text 2.0) |
2022-01-08 16:58:46 +0100 | SummerSonw | (~The_viole@203.77.49.232) (Ping timeout: 256 seconds) |
2022-01-08 16:59:09 +0100 | <lechner> | that's only internal though, isn't it? |
2022-01-08 16:59:17 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
2022-01-08 16:59:26 +0100 | ProfSimm | (~ProfSimm@87.227.196.109) |
2022-01-08 16:59:28 +0100 | <lechner> | externally Text still represents code points? |
2022-01-08 16:59:28 +0100 | <Clint> | the question is how you're saving it to a file |
2022-01-08 17:00:01 +0100 | <geekosaur> | I think they're sending it to a database. that *should* be a binary protocol |
2022-01-08 17:00:01 +0100 | <Clint> | because it's the f.ex. String/Text->ByteString step that matters |
2022-01-08 17:00:27 +0100 | <lechner> | actually, i am not saving it at all. i want to send it to Postgres, but in Perl it leads to double encoding |
2022-01-08 17:00:29 +0100 | <geekosaur> | but I don't know where in that pipeline the conversion would happen, as Clint said |
2022-01-08 17:00:38 +0100 | <lechner> | i am migrating all my code |
2022-01-08 17:00:56 +0100 | <lechner> | you will be happy to hear! |
2022-01-08 17:01:11 +0100 | <lechner> | i think haskell is fine |
2022-01-08 17:01:20 +0100 | <lechner> | i love this language |
2022-01-08 17:01:45 +0100 | <geekosaur> | anyway I would probaly not encode it until I discovered it caused problems, since there should already be a proper encoding layer in place |
2022-01-08 17:02:09 +0100 | <razetime> | i just sarted haskell today with the book "Real World Haskell" |
2022-01-08 17:02:14 +0100 | <razetime> | I like its approach so far |
2022-01-08 17:02:20 +0100 | <lechner> | congrats! |
2022-01-08 17:02:58 +0100 | <lechner> | in perl i turn off all I/O layers |
2022-01-08 17:03:54 +0100 | <lechner> | but as usual haskell does the right thing (TM) |
2022-01-08 17:04:08 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2022-01-08 17:04:16 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2022-01-08 17:04:44 +0100 | <lechner> | Clint: thanks! |
2022-01-08 17:05:45 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2022-01-08 17:05:50 +0100 | <geekosaur> | if they're doing t right then encoding should be the last thing that happens before handing the SQL or data off to libpq |
2022-01-08 17:05:53 +0100 | Vajb | (~Vajb@2001:999:50:e6be:1e98:9376:d93e:4506) |
2022-01-08 17:06:01 +0100 | ProfSimm | (~ProfSimm@87.227.196.109) (Remote host closed the connection) |
2022-01-08 17:06:33 +0100 | xlei | (~akans@pool-68-129-84-118.nycmny.fios.verizon.net) (Ping timeout: 256 seconds) |
2022-01-08 17:08:34 +0100 | <lechner> | it can be confusing because UTF-8 is part of the JSON spec https://datatracker.ietf.org/doc/html/rfc8259#section-8.1 |
2022-01-08 17:09:13 +0100 | <lechner> | but aeson will work well! |
2022-01-08 17:09:14 +0100 | Vajb | (~Vajb@2001:999:50:e6be:1e98:9376:d93e:4506) (Read error: Connection reset by peer) |
2022-01-08 17:09:40 +0100 | Vajb | (~Vajb@2001:999:50:e6be:1e98:9376:d93e:4506) |
2022-01-08 17:09:40 +0100 | Vajb | (~Vajb@2001:999:50:e6be:1e98:9376:d93e:4506) (Read error: Connection reset by peer) |
2022-01-08 17:09:48 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2022-01-08 17:10:09 +0100 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2022-01-08 17:10:42 +0100 | <lechner> | thank you all for building this fine language. i wish i hadk found it ten years earlier |
2022-01-08 17:11:05 +0100 | ouestbillie | (~gallup@192-222-138-215.qc.cable.ebox.net) (Ping timeout: 256 seconds) |
2022-01-08 17:11:39 +0100 | aouestbillie | (~gallup@192-222-138-215.qc.cable.ebox.net) (Ping timeout: 256 seconds) |
2022-01-08 17:13:27 +0100 | zmt00 | (~zmt00@user/zmt00) |
2022-01-08 17:16:45 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Ping timeout: 256 seconds) |
2022-01-08 17:17:02 +0100 | Vajb | (~Vajb@2001:999:50:e6be:1e98:9376:d93e:4506) |
2022-01-08 17:18:10 +0100 | roboguy | (~roboguy@user/roboguy) |
2022-01-08 17:18:11 +0100 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) |
2022-01-08 17:19:39 +0100 | <lechner> | wow, APL is symbolic https://en.wikipedia.org/wiki/APL_syntax_and_symbols |
2022-01-08 17:20:22 +0100 | jakalx | (~jakalx@base.jakalx.net) |
2022-01-08 17:24:41 +0100 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) (Ping timeout: 256 seconds) |
2022-01-08 17:27:41 +0100 | shapr | (~user@98.54.1.142) |
2022-01-08 17:30:18 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2022-01-08 17:30:18 +0100 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2022-01-08 17:30:22 +0100 | allbery_b | geekosaur |
2022-01-08 17:32:09 +0100 | <geekosaur> | very symbolic. and used a lot of overprints |
2022-01-08 17:32:11 +0100 | <razetime> | yes, APL has its roots in math notation so it uses symbols. |
2022-01-08 17:32:27 +0100 | <razetime> | overprints? |
2022-01-08 17:32:47 +0100 | <geekosaur> | type a symbol, backspace over it, type another symbol on top |
2022-01-08 17:33:35 +0100 | <geekosaur> | think quote-quad for a common example |
2022-01-08 17:34:05 +0100 | <razetime> | ⍞? |
2022-01-08 17:34:14 +0100 | stef204 | (~stef204@user/stef204) |
2022-01-08 17:34:15 +0100 | <razetime> | well, i just have keyboard layout for it |
2022-01-08 17:34:28 +0100 | <geekosaur> | in unicode they gave them all distinct symbols because overprinting terminals are kinda rare these days |
2022-01-08 17:34:38 +0100 | <hpc> | on typewriters you might write a 0 by writing O backspace / |
2022-01-08 17:34:39 +0100 | <geekosaur> | but they started out on ttys |
2022-01-08 17:35:04 +0100 | <geekosaur> | but originally you did quote-quad as quad backspace quote |
2022-01-08 17:35:19 +0100 | <geekosaur> | and lamp was cap backspace circle |
2022-01-08 17:35:34 +0100 | <razetime> | bash has ~/.inputrc which allows an overprinting like setup. |
2022-01-08 17:35:59 +0100 | <razetime> | lamp is AltGr-, in the newer layouts |
2022-01-08 17:37:14 +0100 | <geekosaur> | damn I had fun experimenting with that stuff. parents weren't so happy when they got slapped with a $600 CPU time bill though (I'd had no idea they did that) |
2022-01-08 17:38:22 +0100 | <razetime> | wow, you must've been using the timesharing machines from the I.P. Sharp times |
2022-01-08 17:38:42 +0100 | <geekosaur> | they had fancy APL terminals by the time I was playing with it |
2022-01-08 17:38:52 +0100 | <geekosaur> | still did the overprinting thing |
2022-01-08 17:39:15 +0100 | <razetime> | that's like.. >40 years ago? |
2022-01-08 17:39:27 +0100 | <geekosaur> | this was 1981-82, I spent half days my senior HS year at CWRU |
2022-01-08 17:39:53 +0100 | <geekosaur> | so yes, 40 years ago |
2022-01-08 17:41:13 +0100 | <razetime> | very cool! Most people I encounter in the array community nowadays come up from older demo videos. |
2022-01-08 17:41:37 +0100 | <razetime> | it must've been something to try out apl in those times |
2022-01-08 17:41:50 +0100 | coot | (~coot@89-64-85-93.dynamic.chello.pl) |
2022-01-08 17:43:43 +0100 | xlei | (~akans@pool-108-54-97-84.nycmny.fios.verizon.net) |
2022-01-08 17:44:24 +0100 | <geekosaur> | also played with SPITBOL (IBM SNOBOL compiler), SAIL (variant of ALGOL-60 from Stanford), SIMULA, and I think there were a few others but can't recall them now |
2022-01-08 17:44:46 +0100 | <geekosaur> | took me a while to remember the name of SAIL, all I was recalling was that it was an ALGOL derivative |
2022-01-08 17:47:52 +0100 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) |
2022-01-08 17:49:01 +0100 | <razetime> | wonder how many of those still have implementations |
2022-01-08 17:49:48 +0100 | <geekosaur> | dunno. this was all on a DECsystem 20/60, they pulled the plug on the last of those years ago |
2022-01-08 17:49:52 +0100 | slowButPresent | (~slowButPr@user/slowbutpresent) |
2022-01-08 17:50:09 +0100 | <geekosaur> | oh, a bit of BLISS-10. which led to my learning about how PDP10s worked |
2022-01-08 17:51:16 +0100 | <geekosaur> | and explained why everything but SNOBOL was based on 6s instead of 8s |
2022-01-08 17:52:15 +0100 | <geekosaur> | on the other hand that meant I understood the TENEX directive in FTP when I discovered that a few years later |
2022-01-08 17:53:10 +0100 | shapr | (~user@98.54.1.142) (Ping timeout: 256 seconds) |
2022-01-08 17:53:16 +0100 | <razetime> | i only recognize SNOBOL from there(and ALGOL, i guess) |
2022-01-08 17:53:55 +0100 | xlei | (~akans@pool-108-54-97-84.nycmny.fios.verizon.net) (Quit: ZNC 1.9.x-git-167-81df4dec - https://znc.in) |
2022-01-08 17:54:07 +0100 | <geekosaur> | SIMULA's still used, I think |
2022-01-08 17:54:16 +0100 | ouestbillie | (~gallup@modemcable057.194-20-96.mc.videotron.ca) |
2022-01-08 17:54:16 +0100 | aouestbillie | (~gallup@modemcable057.194-20-96.mc.videotron.ca) |
2022-01-08 17:54:40 +0100 | <geekosaur> | simulation language generally considered to be the first object oriented language, using the actor model |
2022-01-08 17:54:44 +0100 | xlei | (~akans@pool-108-54-97-84.nycmny.fios.verizon.net) |
2022-01-08 17:55:39 +0100 | <geekosaur> | SNOBOL was replaced by Icon in much the same way APL was replaced by J then K |
2022-01-08 17:57:33 +0100 | edr | (~edr@user/edr) (Ping timeout: 250 seconds) |
2022-01-08 17:57:45 +0100 | edr | (~edr@enlo.co) |
2022-01-08 17:57:45 +0100 | edr | (~edr@enlo.co) (Changing host) |
2022-01-08 17:57:45 +0100 | edr | (~edr@user/edr) |
2022-01-08 17:57:59 +0100 | polux | (~polux@51.15.169.172) (Ping timeout: 250 seconds) |
2022-01-08 17:58:13 +0100 | polux | (~polux@51.15.169.172) |
2022-01-08 17:58:23 +0100 | <geekosaur> | now I'm trying to imagine how different the programming world would be today if Unicon (Icon with a focus on Unix programming) had come along early enough to displace Perl |
2022-01-08 17:58:43 +0100 | <razetime> | APL hasn't quite been replaced yet, but BQN seems like a worthy successor now |
2022-01-08 17:58:51 +0100 | xsarnik | (xsarnik@lounge.fi.muni.cz) (Ping timeout: 250 seconds) |
2022-01-08 17:59:06 +0100 | xsarnik | (xsarnik@lounge.fi.muni.cz) |
2022-01-08 17:59:16 +0100 | <razetime> | K is very different from the other two and my personal favourit |
2022-01-08 17:59:17 +0100 | n3t | (~n3t@user/n3t) (Ping timeout: 250 seconds) |
2022-01-08 18:00:22 +0100 | n3t | (n3t@s45.mydevil.net) |
2022-01-08 18:01:20 +0100 | kawpuh | (~kawpuh@66.42.81.80) (Ping timeout: 252 seconds) |
2022-01-08 18:01:30 +0100 | kawpuh | (~kawpuh@66.42.81.80) |
2022-01-08 18:01:53 +0100 | nerdypepper | (~nerdypepp@user/nerdypepper) (Ping timeout: 250 seconds) |
2022-01-08 18:02:41 +0100 | nerdypepper | (~nerdypepp@user/nerdypepper) |
2022-01-08 18:02:56 +0100 | nhatanh02 | (~satori@123.24.172.30) |
2022-01-08 18:03:41 +0100 | c_wraith | (~c_wraith@adjoint.us) (Ping timeout: 245 seconds) |
2022-01-08 18:03:52 +0100 | c_wraith | (~c_wraith@adjoint.us) |
2022-01-08 18:04:55 +0100 | Philonous | (~Philonous@user/philonous) (Ping timeout: 250 seconds) |
2022-01-08 18:04:55 +0100 | clever | (~clever@99.192.114.98) (Ping timeout: 250 seconds) |
2022-01-08 18:05:09 +0100 | clever | (~clever@99.192.114.98) |
2022-01-08 18:05:21 +0100 | Philonous | (~Philonous@user/philonous) |
2022-01-08 18:06:39 +0100 | AWizzArd | (~code@user/awizzard) (Ping timeout: 250 seconds) |
2022-01-08 18:06:45 +0100 | AWizzArd | (~code@gehrels.uberspace.de) |
2022-01-08 18:06:46 +0100 | razetime | (~quassel@49.207.213.63) (Ping timeout: 256 seconds) |
2022-01-08 18:07:56 +0100 | Patternmaster | (~georg@li1192-118.members.linode.com) (Ping timeout: 252 seconds) |
2022-01-08 18:08:10 +0100 | Patternmaster | (~georg@li1192-118.members.linode.com) |
2022-01-08 18:08:16 +0100 | xerox | (~edi@user/edi) (Ping timeout: 245 seconds) |
2022-01-08 18:08:25 +0100 | xerox | (~edi@user/edi) |
2022-01-08 18:10:04 +0100 | <EvanR> | A -> a, is Applicative. What are the requirements for A -> (B,a) to be Applicative... also what is this |
2022-01-08 18:10:45 +0100 | <[exa]> | EvanR: Monoid B? |
2022-01-08 18:11:01 +0100 | <EvanR> | that's why I was thinking, but didn't know if I was missing a more general thing |
2022-01-08 18:11:06 +0100 | <EvanR> | s/why/what/ |
2022-01-08 18:11:06 +0100 | Vajb | (~Vajb@2001:999:50:e6be:1e98:9376:d93e:4506) (Read error: Connection reset by peer) |
2022-01-08 18:11:07 +0100 | <monochrom> | Usually we want B to be a monoid. Then you have ReaderT A (Writer B). |
2022-01-08 18:11:15 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2022-01-08 18:12:17 +0100 | <EvanR> | ok, mempty is "required" for pure |
2022-01-08 18:13:25 +0100 | <monochrom> | For foo<*>bar, "use <> to combine the two B's" is more general than "always prefer the B from foo" and "always prefer the B from bar". |
2022-01-08 18:13:41 +0100 | fluxit | (~fluxit@techsmix.net) (Ping timeout: 245 seconds) |
2022-01-08 18:14:12 +0100 | <monochrom> | and is pivotal to associative laws of Applicative anyway. |
2022-01-08 18:14:36 +0100 | <EvanR> | crazy how Monoid keeps cropping up |
2022-01-08 18:14:53 +0100 | elvishjerricco | (sid237756@helmsley.irccloud.com) (Ping timeout: 250 seconds) |
2022-01-08 18:15:02 +0100 | elvishjerricco | (sid237756@id-237756.helmsley.irccloud.com) |
2022-01-08 18:15:18 +0100 | <EvanR> | Applicative itself is a form of Monoid in some category, forgot the details |
2022-01-08 18:15:44 +0100 | tabemann | (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) (Remote host closed the connection) |
2022-01-08 18:16:09 +0100 | tabemann | (~travisb@172-13-49-137.lightspeed.milwwi.sbcglobal.net) |
2022-01-08 18:16:13 +0100 | <geekosaur> | "strong lax monoidal functor" (looked it up to double check) |
2022-01-08 18:16:44 +0100 | fluxit | (~fluxit@techsmix.net) |
2022-01-08 18:18:21 +0100 | andreas303 | (andreas303@ip227.orange.bnc4free.com) (Ping timeout: 250 seconds) |
2022-01-08 18:18:46 +0100 | andreas303 | (andreas303@ip227.orange.bnc4free.com) |
2022-01-08 18:21:49 +0100 | vysn | (~vysn@user/vysn) (Ping timeout: 240 seconds) |
2022-01-08 18:23:26 +0100 | Everything | (~Everythin@37.115.210.35) (Quit: leaving) |
2022-01-08 18:24:10 +0100 | <EvanR> | if I have type f and type g which are both Applicative, is the composition f `O` g Applicative |
2022-01-08 18:24:30 +0100 | <[exa]> | :k Compose |
2022-01-08 18:24:30 +0100 | <lambdabot> | error: |
2022-01-08 18:24:30 +0100 | <lambdabot> | Not in scope: type constructor or class ‘Compose’ |
2022-01-08 18:24:34 +0100 | <[exa]> | ayay |
2022-01-08 18:24:41 +0100 | <geekosaur> | % :k Compose |
2022-01-08 18:24:41 +0100 | <yahb> | geekosaur: ; <interactive>:1:1: error: Not in scope: type constructor or class `Compose' |
2022-01-08 18:24:52 +0100 | <geekosaur> | % import Data.Compose |
2022-01-08 18:24:52 +0100 | <yahb> | geekosaur: ; <no location info>: error:; Could not find module `Data.Compose'; Perhaps you meant Data.Complex (from base-4.15.0.0) |
2022-01-08 18:24:57 +0100 | <EvanR> | oof |
2022-01-08 18:25:01 +0100 | <[exa]> | EvanR: basically https://hackage.haskell.org/package/base-4.16.0.0/docs/Data-Functor-Compose.html#t:Compose |
2022-01-08 18:25:04 +0100 | <geekosaur> | % import Control.Category |
2022-01-08 18:25:04 +0100 | <yahb> | geekosaur: |
2022-01-08 18:25:11 +0100 | <geekosaur> | oh |
2022-01-08 18:25:14 +0100 | <geekosaur> | % :k Compose |
2022-01-08 18:25:14 +0100 | <yahb> | geekosaur: ; <interactive>:1:1: error: Not in scope: type constructor or class `Compose' |
2022-01-08 18:25:28 +0100 | <EvanR> | that's cool, that they compose |
2022-01-08 18:25:45 +0100 | <geekosaur> | pretty sure they compose, but monads don't in general |
2022-01-08 18:25:54 +0100 | neurocyte0917 | (~neurocyte@user/neurocyte) (Read error: Connection reset by peer) |
2022-01-08 18:26:39 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:1c21:9777:b34f:a2a4) |
2022-01-08 18:26:52 +0100 | <EvanR> | let see what else Compose can do |
2022-01-08 18:26:53 +0100 | neurocyte0917 | (~neurocyte@IP-094046083160.dynamic.medianet-world.de) |
2022-01-08 18:26:53 +0100 | neurocyte0917 | (~neurocyte@IP-094046083160.dynamic.medianet-world.de) (Changing host) |
2022-01-08 18:26:53 +0100 | neurocyte0917 | (~neurocyte@user/neurocyte) |
2022-01-08 18:27:51 +0100 | Erutuon | (~Erutuon@user/erutuon) |
2022-01-08 18:27:58 +0100 | Jing | (~hedgehog@240e:390:7c53:a7e1:8d38:5b59:3c2d:440) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-01-08 18:28:07 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-01-08 18:28:35 +0100 | <EvanR> | Functor, Foldable, Traversable, Semigroup, Monoid, |
2022-01-08 18:28:42 +0100 | <[exa]> | Alternative! |
2022-01-08 18:29:00 +0100 | <EvanR> | somehow two Contravariants isn't contravariant? |
2022-01-08 18:29:20 +0100 | <[exa]> | I'd guess that's a Functor |
2022-01-08 18:29:31 +0100 | a1paca | (~a1paca@user/a1paca) (Ping timeout: 245 seconds) |
2022-01-08 18:29:35 +0100 | <EvanR> | oh... and we can't get to the same instance two ways |
2022-01-08 18:30:13 +0100 | <[exa]> | I'd say that the order is set by order of composing the types |
2022-01-08 18:30:20 +0100 | a1paca | (~a1paca@user/a1paca) |
2022-01-08 18:30:22 +0100 | <[exa]> | but that's a wild guess |
2022-01-08 18:31:09 +0100 | wyrd | (~wyrd@gateway/tor-sasl/wyrd) |
2022-01-08 18:31:12 +0100 | <EvanR> | no.. |
2022-01-08 18:32:13 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
2022-01-08 18:34:23 +0100 | xlei | (~akans@pool-108-54-97-84.nycmny.fios.verizon.net) (Ping timeout: 256 seconds) |
2022-01-08 18:39:17 +0100 | <EvanR> | Compose would be cool to have in lambdabot |
2022-01-08 18:40:53 +0100 | <polyphem> | % import Data.Functor.Compose |
2022-01-08 18:40:53 +0100 | <yahb> | polyphem: |
2022-01-08 18:40:56 +0100 | <geekosaur> | @let import Data.Functor Compose |
2022-01-08 18:40:56 +0100 | <lambdabot> | Parse failed: Parse error: Compose |
2022-01-08 18:41:02 +0100 | <geekosaur> | @let import Data.Functor.Compose |
2022-01-08 18:41:03 +0100 | <lambdabot> | Defined. |
2022-01-08 18:41:06 +0100 | <geekosaur> | there ya go |
2022-01-08 18:42:37 +0100 | xlei | (~akans@pool-71-190-222-100.nycmny.fios.verizon.net) |
2022-01-08 18:46:59 +0100 | raym | (~raym@user/raym) |
2022-01-08 18:47:17 +0100 | lavaman | (~lavaman@98.38.249.169) |
2022-01-08 18:47:58 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:1c21:9777:b34f:a2a4) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-01-08 18:48:02 +0100 | stef204 | (~stef204@user/stef204) (Ping timeout: 268 seconds) |
2022-01-08 18:52:23 +0100 | stef204 | (~stef204@user/stef204) |
2022-01-08 18:52:58 +0100 | waleee | (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) |
2022-01-08 18:59:58 +0100 | haritz | (~hrtz@user/haritz) (Read error: Connection reset by peer) |
2022-01-08 19:02:42 +0100 | zaquest | (~notzaques@5.130.79.72) (Remote host closed the connection) |
2022-01-08 19:03:44 +0100 | <EvanR> | > ((\x -> ("a",Sum x)) <> (\y -> ("b", Sum y))) 2 |
2022-01-08 19:03:45 +0100 | <lambdabot> | ("ab",Sum {getSum = 4}) |
2022-01-08 19:03:51 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
2022-01-08 19:04:18 +0100 | <EvanR> | :t Compose (\x -> ("a",Sum x)) <> Compose (\y -> ("b", Sum y)) |
2022-01-08 19:04:19 +0100 | <lambdabot> | Semigroup (Compose ((->) a) ((,) [Char]) (Sum a)) => Compose ((->) a) ((,) [Char]) (Sum a) |
2022-01-08 19:05:24 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:1c21:9777:b34f:a2a4) |
2022-01-08 19:05:25 +0100 | <EvanR> | > getCompose (Compose (\x -> ("a",Sum x)) <> Compose (\y -> ("b", Sum y))) 2 |
2022-01-08 19:05:26 +0100 | <lambdabot> | error: |
2022-01-08 19:05:26 +0100 | <lambdabot> | • No instance for (Semigroup |
2022-01-08 19:05:26 +0100 | <lambdabot> | (Compose ((->) Integer) ((,) [Char]) (Sum Integer))) |
2022-01-08 19:05:30 +0100 | <EvanR> | :( |
2022-01-08 19:06:40 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-01-08 19:06:40 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-01-08 19:06:40 +0100 | wroathe | (~wroathe@user/wroathe) |
2022-01-08 19:07:47 +0100 | haritz | (~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220) |
2022-01-08 19:07:48 +0100 | haritz | (~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220) (Changing host) |
2022-01-08 19:07:48 +0100 | haritz | (~hrtz@user/haritz) |
2022-01-08 19:08:04 +0100 | <EvanR> | > getCompose (Compose (\x -> ("a",Sum x)) <> Compose (\y -> ("b", Sum y))) (Sum 2) |
2022-01-08 19:08:05 +0100 | <lambdabot> | error: |
2022-01-08 19:08:06 +0100 | <lambdabot> | • No instance for (Semigroup |
2022-01-08 19:08:06 +0100 | <lambdabot> | (Compose ((->) (Sum Integer)) ((,) [Char]) (Sum (Su... |
2022-01-08 19:09:58 +0100 | <EvanR> | fixing that, it seems the problem is there's no instance specifically for (Sum Int -> (String, Sum Int)) |
2022-01-08 19:11:07 +0100 | <xerox> | @unmtl State (Sum Int) String |
2022-01-08 19:11:07 +0100 | <lambdabot> | Sum Int -> (String, Sum Int) |
2022-01-08 19:12:30 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
2022-01-08 19:12:42 +0100 | <EvanR> | > getCompose (liftA2 (<>) (Compose (\x -> ("a",x))) (Compose (\y -> ("b",y)))) (Sum 2) |
2022-01-08 19:12:43 +0100 | <lambdabot> | ("ab",Sum {getSum = 4}) |
2022-01-08 19:13:39 +0100 | <EvanR> | if monoiding directly doesn't work, switch to applicative |
2022-01-08 19:14:12 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2022-01-08 19:14:37 +0100 | xlei | (~akans@pool-71-190-222-100.nycmny.fios.verizon.net) (Ping timeout: 256 seconds) |
2022-01-08 19:14:53 +0100 | xlei_ | (~akans@pool-71-125-19-142.nycmny.fios.verizon.net) |
2022-01-08 19:15:01 +0100 | <EvanR> | this is really cool, should save writing a lot of Applicative instances |
2022-01-08 19:15:08 +0100 | emad_ | (~emad@156.214.64.147) |
2022-01-08 19:15:40 +0100 | little_mac | (~little_ma@2601:410:4300:3ce0:e09f:2436:e1e3:cca8) |
2022-01-08 19:16:21 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-01-08 19:17:23 +0100 | emad_ | (~emad@156.214.64.147) (Client Quit) |
2022-01-08 19:17:25 +0100 | waleee | (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 240 seconds) |
2022-01-08 19:17:46 +0100 | emad | (~emad@156.214.64.147) |
2022-01-08 19:19:51 +0100 | waleee | (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) |
2022-01-08 19:21:17 +0100 | xlei_ | (~akans@pool-71-125-19-142.nycmny.fios.verizon.net) (Ping timeout: 240 seconds) |
2022-01-08 19:22:40 +0100 | xlei | (~akans@pool-71-125-19-142.nycmny.fios.verizon.net) |
2022-01-08 19:23:43 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-01-08 19:23:43 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-01-08 19:23:43 +0100 | wroathe | (~wroathe@user/wroathe) |
2022-01-08 19:23:57 +0100 | xlei | (~akans@pool-71-125-19-142.nycmny.fios.verizon.net) (Client Quit) |
2022-01-08 19:25:45 +0100 | xlei | (~akans@pool-71-125-19-142.nycmny.fios.verizon.net) |
2022-01-08 19:28:05 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:1c21:9777:b34f:a2a4) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-01-08 19:31:01 +0100 | CiaoSen | (~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2022-01-08 19:33:12 +0100 | econo | (uid147250@user/econo) |
2022-01-08 19:34:02 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
2022-01-08 19:36:15 +0100 | dyeplexer | (~dyeplexer@user/dyeplexer) (Remote host closed the connection) |
2022-01-08 19:36:16 +0100 | doyougnu | (~doyougnu@c-73-25-202-122.hsd1.or.comcast.net) (Remote host closed the connection) |
2022-01-08 19:39:50 +0100 | juhp | (~juhp@128.106.188.82) (Read error: Connection reset by peer) |
2022-01-08 19:40:19 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:8d43:554e:d62c:915d) |
2022-01-08 19:59:46 +0100 | ProfSimm | (~ProfSimm@87.227.196.109) |
2022-01-08 20:10:18 +0100 | nhatanh02 | (~satori@123.24.172.30) (Ping timeout: 256 seconds) |
2022-01-08 20:12:24 +0100 | jakalx | (~jakalx@base.jakalx.net) () |
2022-01-08 20:13:40 +0100 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) (Remote host closed the connection) |
2022-01-08 20:14:15 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2022-01-08 20:14:30 +0100 | coolnickname | (uid531864@user/coolnickname) |
2022-01-08 20:15:46 +0100 | jakalx | (~jakalx@base.jakalx.net) |
2022-01-08 20:17:06 +0100 | user01 | (~aj@154.0.137.32) |
2022-01-08 20:19:37 +0100 | little_mac | (~little_ma@2601:410:4300:3ce0:e09f:2436:e1e3:cca8) (Ping timeout: 240 seconds) |
2022-01-08 20:21:05 +0100 | little_mac | (~little_ma@c-24-127-188-93.hsd1.mi.comcast.net) |
2022-01-08 20:21:38 +0100 | deadmarshal | (~deadmarsh@95.38.113.27) (Ping timeout: 256 seconds) |
2022-01-08 20:26:39 +0100 | zzz | (~z@user/zero) |
2022-01-08 20:29:08 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
2022-01-08 20:29:10 +0100 | zero | (~z@user/zero) (Ping timeout: 268 seconds) |
2022-01-08 20:29:10 +0100 | zzz | zero |
2022-01-08 20:29:37 +0100 | <ProfSimm> | Let's imagine a hypothetical autocompletion feature where when you type a function you see a drop-down of all valid values on each argument. |
2022-01-08 20:30:09 +0100 | <ProfSimm> | So when you have a function that takes prime numbers as input, you see a dropdown of primes. |
2022-01-08 20:30:17 +0100 | <ProfSimm> | I wonder how feasible this is |
2022-01-08 20:30:26 +0100 | texasmynsted | (~texasmyns@99.96.221.112) (WeeChat 3.3) |
2022-01-08 20:30:53 +0100 | <polyphem> | ProfSimm: and a function that takes Integer ? |
2022-01-08 20:31:20 +0100 | <ProfSimm> | polux: list of all integers. Well it'll be lazily computed as you scroll. And you can type it to jump around the list |
2022-01-08 20:31:32 +0100 | n3rdy1 | (~n3rdy1@2600:1700:4570:3480::41) |
2022-01-08 20:31:49 +0100 | <ProfSimm> | polux: gets a bit tricky if it takes a double. |
2022-01-08 20:32:05 +0100 | <ProfSimm> | polux: that would need a box that scrolls in two directions. Mantissa and exponent. |
2022-01-08 20:32:23 +0100 | <ProfSimm> | :D |
2022-01-08 20:32:25 +0100 | cosimone` | (~user@93-47-228-11.ip115.fastwebnet.it) |
2022-01-08 20:33:40 +0100 | <polyphem> | ProfSimm: and a function that takes a complex number ? |
2022-01-08 20:33:46 +0100 | <ProfSimm> | polux: I was thinking about this in the context of implementing a record as a function taking fieldname as input. And needing autocompletion on that argument therefore. |
2022-01-08 20:34:01 +0100 | <ProfSimm> | polyphem: more dimensions |
2022-01-08 20:34:08 +0100 | <polyphem> | hehe |
2022-01-08 20:34:43 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Ping timeout: 268 seconds) |
2022-01-08 20:35:24 +0100 | <polyphem> | autocompletion is done vie prefix trees |
2022-01-08 20:35:33 +0100 | <polyphem> | s/vie/via/ |
2022-01-08 20:35:45 +0100 | matrox | (~bc8147f2@cerf.good1.com) (Quit: CGI:IRC (Session timeout)) |
2022-01-08 20:38:03 +0100 | <monochrom> | So I type in fmap... |
2022-01-08 20:39:43 +0100 | coot | (~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot) |
2022-01-08 20:40:25 +0100 | coot | (~coot@89-64-85-93.dynamic.chello.pl) |
2022-01-08 20:44:47 +0100 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) |
2022-01-08 20:45:19 +0100 | wyrd | (~wyrd@gateway/tor-sasl/wyrd) (Quit: leaving) |
2022-01-08 20:47:25 +0100 | Sgeo | (~Sgeo@user/sgeo) |
2022-01-08 20:58:11 +0100 | <lechner> | Hi, do I have to use hasql-transactions to have transactions with hasql? |
2022-01-08 20:59:09 +0100 | n3t | (n3t@s45.mydevil.net) (Changing host) |
2022-01-08 20:59:09 +0100 | n3t | (n3t@user/n3t) |
2022-01-08 21:01:42 +0100 | wyrd | (~wyrd@gateway/tor-sasl/wyrd) |
2022-01-08 21:01:50 +0100 | vglfr | (~vglfr@88.155.96.35) |
2022-01-08 21:04:03 +0100 | <[itchyjunk]> | https://bpa.st/SOHA |
2022-01-08 21:04:08 +0100 | cosimone` | (~user@93-47-228-11.ip115.fastwebnet.it) (Ping timeout: 256 seconds) |
2022-01-08 21:04:46 +0100 | cosimone` | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
2022-01-08 21:07:38 +0100 | juhp | (~juhp@128.106.188.82) |
2022-01-08 21:07:55 +0100 | <EvanR> | I type in the first character of the source code for an MMO |
2022-01-08 21:08:13 +0100 | Inst | (~delicacie@c-98-208-218-119.hsd1.fl.comcast.net) (Ping timeout: 240 seconds) |
2022-01-08 21:08:23 +0100 | <EvanR> | 🤑 |
2022-01-08 21:11:29 +0100 | emad | (~emad@156.214.64.147) (Quit: Leaving) |
2022-01-08 21:11:30 +0100 | vglfr | (~vglfr@88.155.96.35) (Read error: Connection reset by peer) |
2022-01-08 21:11:52 +0100 | emad | (~emad@156.214.64.147) |
2022-01-08 21:12:09 +0100 | vglfr | (~vglfr@88.155.96.35) |
2022-01-08 21:12:34 +0100 | user01 | (~aj@154.0.137.32) () |
2022-01-08 21:12:57 +0100 | cosimone` | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Ping timeout: 268 seconds) |
2022-01-08 21:22:26 +0100 | Inst | (~delicacie@c-98-208-218-119.hsd1.fl.comcast.net) |
2022-01-08 21:23:06 +0100 | <Inst> | do you know where i can find a good tutorial on haskell type signatures? |
2022-01-08 21:23:16 +0100 | <Inst> | like, i'm fed up with meeting crap like ~ and forall |
2022-01-08 21:24:45 +0100 | <[itchyjunk]> | Hm, i have having a little brain dead movement. I have a function that takes 2 ints. but if the list doesn't have enough, it will only get one of the int. I am trying to figure out how to deal with this situation. go x _ = x isn't it :x |
2022-01-08 21:26:55 +0100 | <polyphem> | patttern match on all cases : go [] = ... ; go (x:y:xs) ; go [x] = error ... |
2022-01-08 21:27:18 +0100 | <bjs> | [itchyjunk]: is go the function that takes a list or the function that takes the 2 ints? |
2022-01-08 21:28:46 +0100 | <[itchyjunk]> | https://bpa.st/ZPXQ |
2022-01-08 21:28:49 +0100 | <[itchyjunk]> | takes 2 ints. |
2022-01-08 21:28:52 +0100 | zaquest | (~notzaques@5.130.79.72) |
2022-01-08 21:29:07 +0100 | <[itchyjunk]> | I am trying to understand why foldr1 didn't have the non exhaustive pattern issue but foldl1 does |
2022-01-08 21:29:10 +0100 | <[itchyjunk]> | ;_; |
2022-01-08 21:29:34 +0100 | xmyst | (~xmyst@ip5f5ac363.dynamic.kabel-deutschland.de) |
2022-01-08 21:30:30 +0100 | <bjs> | [itchyjunk]: did you mean minListl not minList at the bottom line? |
2022-01-08 21:30:30 +0100 | vglfr | (~vglfr@88.155.96.35) (Read error: Connection reset by peer) |
2022-01-08 21:30:39 +0100 | <[itchyjunk]> | ! |
2022-01-08 21:30:40 +0100 | <[itchyjunk]> | dangit |
2022-01-08 21:31:04 +0100 | <[itchyjunk]> | that was the bug? |
2022-01-08 21:31:07 +0100 | <[itchyjunk]> | /o\ |
2022-01-08 21:31:07 +0100 | lavaman | (~lavaman@98.38.249.169) |
2022-01-08 21:31:15 +0100 | vglfr | (~vglfr@88.155.96.35) |
2022-01-08 21:31:28 +0100 | <[itchyjunk]> | works now.. |
2022-01-08 21:32:21 +0100 | little_mac | (~little_ma@c-24-127-188-93.hsd1.mi.comcast.net) (Remote host closed the connection) |
2022-01-08 21:33:31 +0100 | <EvanR> | Inst, tutorials... better go straight to the documentation |
2022-01-08 21:33:45 +0100 | <Inst> | back to haskell report 2010 it is, then |
2022-01-08 21:34:07 +0100 | <EvanR> | or the ghc manual |
2022-01-08 21:34:24 +0100 | <geekosaur> | the report won't have either forall or ~ |
2022-01-08 21:34:24 +0100 | <EvanR> | if you're stuck on really advanced stuff |
2022-01-08 21:35:48 +0100 | little_mac | (~little_ma@2601:410:4300:3ce0:b17c:f0c6:752d:8263) |
2022-01-08 21:35:53 +0100 | <c_wraith> | the ghc manual is really quite readable |
2022-01-08 21:38:06 +0100 | <geekosaur> | mostly. iirc the stuff about ~ is less so |
2022-01-08 21:40:01 +0100 | <EvanR> | Inst, a ~ b is a Constraint that means a and b are the same type |
2022-01-08 21:40:18 +0100 | <Inst> | thank you so much |
2022-01-08 21:40:29 +0100 | <Inst> | trying to search through HPFFP |
2022-01-08 21:40:49 +0100 | ouestbillie | (~gallup@modemcable057.194-20-96.mc.videotron.ca) (Ping timeout: 256 seconds) |
2022-01-08 21:40:49 +0100 | aouestbillie | (~gallup@modemcable057.194-20-96.mc.videotron.ca) (Ping timeout: 256 seconds) |
2022-01-08 21:41:04 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:1c21:9777:b34f:a2a4) |
2022-01-08 21:41:27 +0100 | <EvanR> | it goes in the same place as other constraints like Ord a, which means a has (to have) an Ord instance |
2022-01-08 21:42:02 +0100 | <geekosaur> | in general if you're seeing ~ as a constraint then you've kinda blown past the stuff most Haskell introductory courses cover |
2022-01-08 21:42:03 +0100 | <Inst> | i'm more looking for an authoritative reference on type signatures |
2022-01-08 21:42:25 +0100 | <EvanR> | it's complicated because there have been so many extensions |
2022-01-08 21:42:57 +0100 | <EvanR> | and some of them are really beyond everyday use case |
2022-01-08 21:43:32 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:1c21:9777:b34f:a2a4) (Client Quit) |
2022-01-08 21:43:47 +0100 | xff0x | (~xff0x@2001:1a81:5298:9f00:c8df:ae8c:ee9b:1cca) (Ping timeout: 268 seconds) |
2022-01-08 21:43:50 +0100 | <c_wraith> | and there are things like type families that will look like nothing new in a type signature, but actually are very different. |
2022-01-08 21:44:13 +0100 | <c_wraith> | I kind of wish they had a different syntax, but it's far from clear what other syntax was available |
2022-01-08 21:44:19 +0100 | xff0x | (~xff0x@2001:1a81:5298:9f00:374f:4390:4780:3d6) |
2022-01-08 21:44:35 +0100 | vglfr | (~vglfr@88.155.96.35) (Read error: Connection reset by peer) |
2022-01-08 21:44:36 +0100 | <c_wraith> | especially with the ability to hide them behind a type alias |
2022-01-08 21:45:29 +0100 | vglfr | (~vglfr@88.155.96.35) |
2022-01-08 21:46:02 +0100 | <[itchyjunk]> | oh a~b means there is a type equivalence ? interesting! |
2022-01-08 21:46:10 +0100 | <[itchyjunk]> | is this the precursor to HoTT stuff? |
2022-01-08 21:46:24 +0100 | <c_wraith> | No, it's mostly a result of adding GADTs to the language |
2022-01-08 21:46:38 +0100 | <[itchyjunk]> | hmm |
2022-01-08 21:46:43 +0100 | <c_wraith> | when you pattern match on a GADT constructor, you can add evidence to the current context that two types are equivalent |
2022-01-08 21:46:57 +0100 | <c_wraith> | the ~ syntax was added as a way to express that independently |
2022-01-08 21:47:04 +0100 | <[itchyjunk]> | algebriac datatypes. haven't come across those yet |
2022-01-08 21:47:41 +0100 | <c_wraith> | you've certainly come across algebraic datatypes. just not generalized ones. (all uses `data' to create a type create algebraic types) |
2022-01-08 21:47:43 +0100 | <geekosaur> | you probably have, just announced. but GADTs (generalized algebraic datatypes) are a bit different |
2022-01-08 21:48:54 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
2022-01-08 21:49:00 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
2022-01-08 21:49:01 +0100 | <geekosaur> | *unannounced |
2022-01-08 21:49:08 +0100 | <geekosaur> | hm, how did I do that |
2022-01-08 21:49:34 +0100 | <c_wraith> | I do it all the time. It's way too easy. |
2022-01-08 21:52:13 +0100 | vglfr | (~vglfr@88.155.96.35) (Read error: Connection reset by peer) |
2022-01-08 21:52:31 +0100 | vglfr | (~vglfr@88.155.96.35) |
2022-01-08 21:55:42 +0100 | rond_ | (~rond_@2a01:115f:943:5e00:3fb6:23a4:a917:27c7) (Quit: Client closed) |
2022-01-08 21:56:17 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2022-01-08 21:56:17 +0100 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2022-01-08 21:56:20 +0100 | allbery_b | geekosaur |
2022-01-08 21:57:47 +0100 | johnw | (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Quit: ZNC - http://znc.in) |
2022-01-08 21:59:17 +0100 | <Inst> | EvanR: I took a preview of "type-level programming" |
2022-01-08 21:59:47 +0100 | <Inst> | immediately starts talking about cardinality and stuff, I'm faintly familiar with cardinality from popular science interpretations of Cantor, but your type-level stuff is really "wild" |
2022-01-08 22:00:32 +0100 | <Inst> | https://leanpub.com/thinking-with-types/ |
2022-01-08 22:01:15 +0100 | <EvanR> | cardinality is either the number of values a type has, infinite, or you just jumped the shark and went to set theory, which is down the hall and to the left |
2022-01-08 22:02:20 +0100 | wyrd | (~wyrd@gateway/tor-sasl/wyrd) (Quit: leaving) |
2022-01-08 22:02:28 +0100 | TonyStone | (~TonyStone@2603-7080-8607-c36a-9cdb-69bc-753b-1e50.res6.spectrum.com) (Remote host closed the connection) |
2022-01-08 22:02:58 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
2022-01-08 22:04:03 +0100 | wyrd | (~wyrd@gateway/tor-sasl/wyrd) |
2022-01-08 22:04:12 +0100 | wyrd | (~wyrd@gateway/tor-sasl/wyrd) (Client Quit) |
2022-01-08 22:06:18 +0100 | wyrd | (~wyrd@gateway/tor-sasl/wyrd) |
2022-01-08 22:06:31 +0100 | wyrd | (~wyrd@gateway/tor-sasl/wyrd) (Client Quit) |
2022-01-08 22:07:00 +0100 | wyrd | (~wyrd@gateway/tor-sasl/wyrd) |
2022-01-08 22:07:56 +0100 | <[itchyjunk]> | lol |
2022-01-08 22:14:01 +0100 | Garbanzo | (~Garbanzo@2602:304:6eac:dc10::46) |
2022-01-08 22:14:33 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:1c21:9777:b34f:a2a4) |
2022-01-08 22:14:49 +0100 | ouestbillie | (~gallup@192-222-138-215.qc.cable.ebox.net) |
2022-01-08 22:14:49 +0100 | aouestbillie | (~gallup@192-222-138-215.qc.cable.ebox.net) |
2022-01-08 22:17:05 +0100 | Inst | (~delicacie@c-98-208-218-119.hsd1.fl.comcast.net) (Ping timeout: 256 seconds) |
2022-01-08 22:22:29 +0100 | zebrag | (~chris@user/zebrag) |
2022-01-08 22:24:12 +0100 | wyrd | (~wyrd@gateway/tor-sasl/wyrd) (Quit: leaving) |
2022-01-08 22:30:36 +0100 | mikoto-chan | (~mikoto-ch@esm-84-240-99-143.netplaza.fi) (Read error: Connection reset by peer) |
2022-01-08 22:32:37 +0100 | sagax | (~sagax_nb@user/sagax) |
2022-01-08 22:32:49 +0100 | emad | (~emad@156.214.64.147) (Quit: Leaving) |
2022-01-08 22:33:51 +0100 | mikoto-chan | (~mikoto-ch@esm-84-240-99-143.netplaza.fi) |
2022-01-08 22:35:43 +0100 | Guest3 | (~Guest3@88.220.154.34) |
2022-01-08 22:35:59 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4) |
2022-01-08 22:38:57 +0100 | emf | (~emf@2620:10d:c090:400::5:9fd9) (Ping timeout: 240 seconds) |
2022-01-08 22:43:29 +0100 | anderson | (~ande@user/anderson) (Ping timeout: 252 seconds) |
2022-01-08 22:43:36 +0100 | shapr | (~user@2601:7c0:c202:5190:6f6c:93b7:78e9:4fee) |
2022-01-08 22:44:57 +0100 | anderson | (~ande@user/anderson) |
2022-01-08 22:46:19 +0100 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2022-01-08 22:49:37 +0100 | ncopa3 | (~ncopa@gbr2-dev1.alpinelinux.org) (Ping timeout: 250 seconds) |
2022-01-08 22:49:56 +0100 | ncopa3 | (~ncopa@gbr2-dev1.alpinelinux.org) |
2022-01-08 22:53:23 +0100 | haskl | (~haskl@user/haskl) (Ping timeout: 252 seconds) |
2022-01-08 22:53:42 +0100 | haskl | (~haskl@user/haskl) |
2022-01-08 22:55:51 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
2022-01-08 22:56:33 +0100 | nshepperd | (~nshepperd@li364-218.members.linode.com) (Ping timeout: 250 seconds) |
2022-01-08 22:56:36 +0100 | Square | (~a@user/square) (Ping timeout: 245 seconds) |
2022-01-08 22:56:52 +0100 | nshepperd | (nshepperd@2600:3c03::f03c:92ff:fe28:92c9) |
2022-01-08 22:57:14 +0100 | TonyStone | (~TonyStone@2603-7080-8607-c36a-9cdb-69bc-753b-1e50.res6.spectrum.com) |
2022-01-08 22:57:30 +0100 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) (Quit: leaving) |
2022-01-08 22:57:40 +0100 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) |
2022-01-08 22:59:27 +0100 | Square | (~a@user/square) |
2022-01-08 23:00:16 +0100 | jgeerds | (~jgeerds@55d4bbed.access.ecotel.net) |
2022-01-08 23:01:38 +0100 | dminuoso | (~dminuoso@user/dminuoso) (Ping timeout: 252 seconds) |
2022-01-08 23:02:21 +0100 | acidjnk_new3 | (~acidjnk@p200300d0c7271e2764e98499ffbb1b91.dip0.t-ipconnect.de) |
2022-01-08 23:02:21 +0100 | acidjnk | (~acidjnk@p200300d0c7271e2764e98499ffbb1b91.dip0.t-ipconnect.de) |
2022-01-08 23:03:25 +0100 | dminuoso | (~dminuoso@user/dminuoso) |
2022-01-08 23:05:39 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.4) |
2022-01-08 23:06:29 +0100 | TonyStone | (~TonyStone@2603-7080-8607-c36a-9cdb-69bc-753b-1e50.res6.spectrum.com) (Remote host closed the connection) |
2022-01-08 23:06:48 +0100 | roboguy | (~roboguy@user/roboguy) () |
2022-01-08 23:09:04 +0100 | <little_mac> | cause theres an ai that can code does that mean someone can make a robot that can improve its self |
2022-01-08 23:09:07 +0100 | <little_mac> | oh no |
2022-01-08 23:09:40 +0100 | <little_mac> | a robot sleeping at night would be just its cpu re-compiling all its code and imporving |
2022-01-08 23:12:46 +0100 | zer0bitz_ | (~zer0bitz@196.244.192.61) (Read error: Connection reset by peer) |
2022-01-08 23:13:13 +0100 | <EvanR> | riddle me this |
2022-01-08 23:13:26 +0100 | <EvanR> | :t head |
2022-01-08 23:13:27 +0100 | <lambdabot> | [a] -> a |
2022-01-08 23:13:58 +0100 | <EvanR> | well, imagine we're talking about Foldable. And you want to implement a 'safe head' using a fold. |
2022-01-08 23:14:15 +0100 | <EvanR> | by returning a Maybe. |
2022-01-08 23:14:35 +0100 | <EvanR> | how to do this without wrapping and unwrapping maybes |
2022-01-08 23:14:39 +0100 | TonyStone | (~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) |
2022-01-08 23:14:47 +0100 | <EvanR> | wait, foldr |
2022-01-08 23:15:19 +0100 | wyrd | (~wyrd@gateway/tor-sasl/wyrd) |
2022-01-08 23:15:47 +0100 | <EvanR> | duh |
2022-01-08 23:16:02 +0100 | <geekosaur> | yeh, I didn't see the problem |
2022-01-08 23:18:04 +0100 | <EvanR> | I should have asked this about getting a maybe minimum |
2022-01-08 23:18:26 +0100 | <EvanR> | in which case you gotta traverse through all the values |
2022-01-08 23:23:19 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:8d43:554e:d62c:915d) (Remote host closed the connection) |
2022-01-08 23:24:24 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:8d43:554e:d62c:915d) |
2022-01-08 23:26:02 +0100 | dsrt^ | (~dsrt@wsip-98-188-246-242.mc.at.cox.net) |
2022-01-08 23:26:56 +0100 | <geekosaur> | conceivably the unwraps/rewraps get optimized if ghc is smart enough to fuse the whole thing |
2022-01-08 23:27:30 +0100 | <geekosaur> | hm, guess not since it'll sometimes be Nothing and sometimes Just. feh |
2022-01-08 23:28:49 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:8d43:554e:d62c:915d) (Remote host closed the connection) |
2022-01-08 23:31:28 +0100 | coot | (~coot@89-64-85-93.dynamic.chello.pl) (Ping timeout: 256 seconds) |
2022-01-08 23:31:33 +0100 | alMalsamo | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 276 seconds) |
2022-01-08 23:32:33 +0100 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2022-01-08 23:32:54 +0100 | <Rembane> | Will catMaybes make it faster? |
2022-01-08 23:33:27 +0100 | <geekosaur> | no? |
2022-01-08 23:33:57 +0100 | TonyStone | (~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) (Ping timeout: 240 seconds) |
2022-01-08 23:34:02 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-01-08 23:34:21 +0100 | <geekosaur> | hm, actually if there is any value in the list then only the first time is it Nothing. this might fuse after all |
2022-01-08 23:35:44 +0100 | <geekosaur> | and then "wrapping"/"unwrapping" is just writing/reading the correct offset |
2022-01-08 23:36:51 +0100 | <geekosaur> | which will be fixed because it's fused |
2022-01-08 23:37:27 +0100 | <geekosaur> | not sure ghc is smart enough to unroll the list once to get something fusible though |
2022-01-08 23:37:28 +0100 | <EvanR> | that... sounds slick... if it works |
2022-01-08 23:38:19 +0100 | <geekosaur> | that might be a question for #ghc |
2022-01-08 23:39:42 +0100 | <geekosaur> | hm, in fact it doesn't even need tounroll, just jump into the middle the first time through |
2022-01-08 23:40:01 +0100 | <geekosaur> | bypass the unwrap and comparison and store the value |
2022-01-08 23:41:01 +0100 | xmyst | (~xmyst@ip5f5ac363.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds) |
2022-01-08 23:41:39 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:8d43:554e:d62c:915d) |
2022-01-08 23:47:17 +0100 | TonyStone | (~TonyStone@2603-7080-8607-c36a-9cdb-69bc-753b-1e50.res6.spectrum.com) |
2022-01-08 23:50:34 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2022-01-08 23:55:21 +0100 | Hayek1 | (~xxx@rrcs-173-196-3-254.west.biz.rr.com) |
2022-01-08 23:55:25 +0100 | Brumaire | (~quassel@81-64-14-121.rev.numericable.fr) (Ping timeout: 240 seconds) |
2022-01-08 23:55:58 +0100 | Hayek | (~xxx@rrcs-173-196-3-254.west.biz.rr.com) (Read error: Connection reset by peer) |
2022-01-08 23:56:24 +0100 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 256 seconds) |
2022-01-08 23:57:50 +0100 | alMalsamo | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-01-08 23:59:37 +0100 | shapr | (~user@2601:7c0:c202:5190:6f6c:93b7:78e9:4fee) (Remote host closed the connection) |