Logs on 2022-05-27 (liberachat/#haskell)
| 00:00:52 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 258 seconds) |
| 00:02:08 | → | zebrag joins (~chris@user/zebrag) |
| 00:02:20 | tremon | is now known as tremon_ |
| 00:08:50 | → | euandreh joins (~euandreh@2804:14c:33:966c:2059:6e22:1326:6607) |
| 00:16:03 | <Axman6> | we already have #haskell-in-depth mostly for that sort of discussion, FYI |
| 00:21:01 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 00:21:01 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit) |
| 00:22:45 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 00:23:37 | × | jollygood2 quits (www-data@2607:5300:60:8be::1) (Quit: CGI:IRC (Ping timeout)) |
| 00:24:50 | <Axman6> | geekosaur: I was going to say I thought IBM already did that, but it's their "i" virtual instruction set, where pointers are defined to be 128 bits and translated to the native size on the host |
| 00:26:27 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 260 seconds) |
| 00:29:26 | × | vysn quits (~vysn@user/vysn) (Ping timeout: 255 seconds) |
| 00:32:49 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:3962:822c:3b35:6c99) (Remote host closed the connection) |
| 00:40:41 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 255 seconds) |
| 00:40:59 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:3962:822c:3b35:6c99) |
| 00:41:36 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 00:44:51 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 00:46:23 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 00:47:43 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5) |
| 00:47:53 | × | vicfred quits (~vicfred@user/vicfred) (Quit: Leaving) |
| 00:50:08 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 255 seconds) |
| 00:51:17 | × | stackdroid18 quits (14094@user/stackdroid) (Quit: hasta la vista... tchau!) |
| 00:54:45 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection) |
| 00:55:53 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 00:57:13 | × | xff0x quits (~xff0x@b133147.ppp.asahi-net.or.jp) (Ping timeout: 258 seconds) |
| 01:02:56 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 01:02:56 | × | gentauro quits (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
| 01:03:11 | → | gentauro joins (~gentauro@user/gentauro) |
| 01:07:37 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 01:07:37 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 01:07:37 | → | wroathe joins (~wroathe@user/wroathe) |
| 01:10:00 | → | benin joins (~benin@183.82.205.79) |
| 01:14:10 | → | gurkenglas joins (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de) |
| 01:20:50 | → | wroo^ joins (~wroo@173-160-91-30-atlanta.hfc.comcastbusiness.net) |
| 01:23:29 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 01:26:38 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit) |
| 01:28:41 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 01:31:15 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection) |
| 01:34:35 | × | ec quits (~ec@gateway/tor-sasl/ec) (Quit: ec) |
| 01:37:30 | → | xff0x joins (~xff0x@125x102x200x106.ap125.ftth.ucom.ne.jp) |
| 01:41:53 | × | gurkenglas quits (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de) (Ping timeout: 246 seconds) |
| 01:44:13 | × | mixfix41 quits (~sdenynine@user/mixfix41) (Ping timeout: 256 seconds) |
| 01:44:38 | → | [_] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 01:45:23 | → | andrey__ joins (~andrey@p200300dbcf0c4300976b5d73a51b6ad8.dip0.t-ipconnect.de) |
| 01:47:17 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 255 seconds) |
| 01:47:59 | × | andrey_ quits (~andrey@p200300dbcf12d50000223011ec3a0f6f.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
| 01:49:08 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 01:50:41 | × | causal quits (~user@50.35.83.177) (Quit: WeeChat 3.5) |
| 01:58:42 | → | POGtastic joins (~mike@2601:1c0:6000:fe1:319d:5717:f15a:5d14) |
| 01:59:52 | × | pgib quits (~textual@173.38.117.71) (Ping timeout: 244 seconds) |
| 02:00:05 | × | Kaiepi quits (~Kaiepi@156.34.47.253) (Ping timeout: 256 seconds) |
| 02:01:38 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 02:02:38 | → | anon15041149 joins (~anon15041@host-80-41-95-245.as13285.net) |
| 02:04:27 | <POGtastic> | Howdy all. I'm writing a Lisp interpreter, and I'm looking at how to implement `set!`. All Lisp expressions are of type Expr. My pure `eval` function is of type `Map String Expr` -> Expr -> Expr; the map stores variables, and we eval the expression to another expression. I *think* that I want to change this so that I return a tuple (Expr, Map String Expr) - the result, and the new state. However, |
| 02:04:29 | <POGtastic> | this doesn't quite like up with the State monad - the State monad is along the lines of `s -> (a, s)`, and instead I want something of `a -> (a, s)`. Is there such a pattern? |
| 02:08:17 | <EvanR> | I suspect you don't mean a -> (a, s) |
| 02:08:43 | <sm2n> | POGtastic: I think s -> (a, s) is what you want. The environment is the state you're passing around |
| 02:08:45 | <EvanR> | since that is letterphonically (technical term) the same as s -> (a,s) |
| 02:09:05 | <jackdk> | `eval :: Map String Expr -> Expr -> (Expr, Map String Expr)` sounds right for now (you might need something richer once you start dealing with scope) |
| 02:09:13 | <sm2n> | You probably just also want a function a -> s -> (a, s) |
| 02:09:23 | <sm2n> | (which is basically what your eval is) |
| 02:09:53 | <Axman6> | @unmtl State s a |
| 02:09:53 | <lambdabot> | s -> (a, s) |
| 02:09:54 | <POGtastic> | jackdk: Scope is achieved by `union`ing maps of local scope with the outer scope. |
| 02:10:10 | <sm2n> | Anyway, I have a question: does anyone know how to hook up Cabal and Alex (and Happy)? I appear to be in cabal hell of sorts |
| 02:10:25 | <sm2n> | (or if anyone knows of a working somewhat minimal example) |
| 02:10:31 | <Axman6> | sm2n: not without knowing anything about your project or the errors you're getting |
| 02:10:35 | <Axman6> | @where paste |
| 02:10:35 | <lambdabot> | Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com |
| 02:10:36 | <jackdk> | POGtastic: how do you know which map to write back into when performing a `(set!)`? |
| 02:10:43 | <sm2n> | sure, I'll do that |
| 02:10:51 | <POGtastic> | jackdk: oh no, I've bamboozled myself |
| 02:10:53 | <EvanR> | dynamic scope xD |
| 02:10:58 | <anon15041149> | is my base case here fine? https://paste.tomsmeding.com/Ih9Sefze |
| 02:12:02 | <anon15041149> | I need to use recursion and not just power n k = n^k |
| 02:12:16 | <jackdk> | anon15041149: what about raising numbers that aren't 0? |
| 02:13:16 | <anon15041149> | jackdk: for example? |
| 02:13:28 | <jackdk> | anon15041149: 6^0 |
| 02:13:47 | <Axman6> | > 6^0 |
| 02:13:49 | <lambdabot> | 1 |
| 02:13:57 | <monochrom> | It is possible that the base case can assert that generally power anything 0 = 1. |
| 02:13:58 | <anon15041149> | power n 0 = 1 |
| 02:14:23 | <monochrom> | Another way to put it is that you just have to do induction on the exponent. |
| 02:15:05 | <POGtastic> | thinking some more - should I reverse the arguments of `eval`? Having `eval :: Exp -> Map String Expr -> (Expr, Map String Expr)` means that I can call `state (eval expr)` and get a `State (Map String Expr) Expr`, I think |
| 02:15:52 | <POGtastic> | (not that it matters since there's `flip`, but that would require more flips and reverses than missy elliot |
| 02:16:58 | <sm2n> | https://paste.tomsmeding.com/7WZjeEEO |
| 02:16:59 | × | waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 255 seconds) |
| 02:17:06 | <anon15041149> | monochrom: Oh I think I got it |
| 02:17:39 | <anon15041149> | https://paste.tomsmeding.com/svjkwWS1 |
| 02:18:46 | [_] | is now known as [itchyjunk] |
| 02:18:58 | × | POGtastic quits (~mike@2601:1c0:6000:fe1:319d:5717:f15a:5d14) (Quit: WeeChat 3.5) |
| 02:19:15 | × | Unicorn_Princess quits (~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Remote host closed the connection) |
| 02:19:56 | <EvanR> | > 0^0 |
| 02:19:57 | <lambdabot> | 1 |
| 02:20:01 | <EvanR> | \o/ |
| 02:20:13 | <Axman6> | you CAN make somethign from nothing! |
| 02:20:17 | <Axman6> | something too |
| 02:22:12 | <Clint> | sm2n: Tiger/Main.hs ≠ Main.hs ? |
| 02:22:38 | <anon15041149> | EvanR: is that the right solution using recursion? |
| 02:22:58 | <monochrom> | Yes. |
| 02:23:07 | <anon15041149> | monochrom: thanks :) |
| 02:23:52 | → | frost joins (~frost@user/frost) |
| 02:29:32 | → | jargon joins (~jargon@184.101.87.126) |
| 02:31:49 | <anon15041149> | I'm kinda stuck on the ilog3 question :/ |
| 02:33:22 | <Axman6> | what's "the ilog3 question"? |
| 02:33:45 | <EvanR> | integer log... 3 |
| 02:33:57 | <Axman6> | 1 |
| 02:34:00 | <Axman6> | NEXT! |
| 02:34:23 | <Axman6> | actually, 0 |
| 02:34:23 | <anon15041149> | https://paste.tomsmeding.com/GMuMIFhS |
| 02:34:35 | × | wroo^ quits (~wroo@173-160-91-30-atlanta.hfc.comcastbusiness.net) (Ping timeout: 258 seconds) |
| 02:34:57 | <EvanR> | I object to the notion that div rounds down for you |
| 02:35:21 | <EvanR> | but I may just be channeling old school professor len blanks |
| 02:35:36 | <Axman6> | "2/3 = 0.666 (gets rounded down to 0)" ... "ilog3 2 ==> 1" does not compute for me |
| 02:36:52 | <Axman6> | > let haskellyiLog3 = length . takeWhile (> 3) . iterate (`div` 3) in haskellyiLog3 7 |
| 02:36:54 | <lambdabot> | 1 |
| 02:37:06 | <EvanR> | > div (-2) 3 |
| 02:37:08 | <lambdabot> | -1 |
| 02:37:15 | <Axman6> | > let haskellyiLog3 = length . takeWhile (> 1) . iterate (`div` 3) . abs in haskellyiLog3 7 |
| 02:37:17 | <lambdabot> | 2 |
| 02:37:23 | <Axman6> | > let haskellyiLog3 = length . takeWhile (> 1) . iterate (`div` 3) . abs in haskellyiLog3 2 |
| 02:37:24 | <lambdabot> | 1 |
| 02:37:56 | <Axman6> | oh I misread the example, nevermind my first comment |
| 02:38:03 | <Axman6> | > let haskellyiLog3 = length . takeWhile (> 1) . iterate (`div` 3) . abs in haskellyiLog3 20 |
| 02:38:05 | <lambdabot> | 3 |
| 02:38:16 | <Axman6> | anon15041149: don't use that ;) |
| 02:39:41 | <anon15041149> | Axman6: dw I can't read |
| 02:40:01 | <Axman6> | I SAID: DON'T USE THAT :P |
| 02:40:38 | <sm2n> | Clint: no |
| 02:46:38 | <Axman6> | > let haskellyiLog3 = length . takeWhile (> 1) . iterate (`div` 3) . abs in haskellyiLog3 9 |
| 02:46:40 | <lambdabot> | 2 |
| 02:47:00 | <Axman6> | > let haskellyiLog3 = length . takeWhile (> 2) . iterate (`div` 3) . abs in haskellyiLog3 9 |
| 02:47:03 | <lambdabot> | 2 |
| 02:49:20 | <anon15041149> | ilog3 0 = 0 \n ilog3 x = 1 + ilog3 (div x 3) |
| 02:54:15 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 02:54:15 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 02:54:15 | finn_elija | is now known as FinnElija |
| 03:01:59 | × | jargon quits (~jargon@184.101.87.126) (Remote host closed the connection) |
| 03:08:20 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 03:11:07 | × | kenaryn quits (~aurele@cre71-h03-89-88-44-27.dsl.sta.abo.bbox.fr) (Quit: leaving) |
| 03:11:30 | <anon15041149> | noob question but how does this evaluate? https://paste.tomsmeding.com/7ejbgQz0 |
| 03:11:42 | <anon15041149> | what does the result++str do? |
| 03:12:09 | <Axman6> | > "Hello, " ++ "world!" |
| 03:12:11 | <lambdabot> | "Hello, world!" |
| 03:12:36 | <Axman6> | that is a very slow way to write that function though |
| 03:12:52 | <Axman6> | O(n^2) concatenations |
| 03:13:12 | <Axman6> | ish |
| 03:13:13 | <anon15041149> | what about the paste bin? can you explain what is happening? |
| 03:13:32 | <Axman6> | why don't you try to explain to me what's happening? |
| 03:13:48 | <Axman6> | how does repeatString 3 "ABC" evaluate? |
| 03:13:57 | <anon15041149> | ABCABCABC |
| 03:14:03 | <Axman6> | repeatString 3 "ABC" => ??? |
| 03:14:06 | <Axman6> | no, one step at a time |
| 03:14:06 | <anon15041149> | what type is result? |
| 03:14:10 | <anon15041149> | oh |
| 03:14:21 | <Axman6> | repeatString 3 "ABC" => repeatHelper 3 "ABC" |
| 03:14:23 | <Axman6> | => ??? |
| 03:14:29 | <Axman6> | => ??? |
| 03:14:31 | → | jargon joins (~jargon@184.101.87.126) |
| 03:14:53 | × | russruss quits (~russruss@my.russellmcc.com) (Ping timeout: 256 seconds) |
| 03:14:57 | <Axman6> | (missed the "" above, oops) |
| 03:15:09 | <anon15041149> | reslt is "" ? |
| 03:15:17 | <Axman6> | yep |
| 03:15:50 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 03:16:15 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 03:16:15 | <Axman6> | resultHelper 3 "ABC" "" => if (3 == 0) then "" else repeatHelper (3-1) str (""++"ABC") -- do you agree? |
| 03:16:24 | → | russruss joins (~russruss@my.russellmcc.com) |
| 03:16:56 | <Axman6> | repeatHelper* |
| 03:17:21 | <anon15041149> | I'm just writing it out, I will put it into a paste bin |
| 03:21:01 | <anon15041149> | Yes |
| 03:21:38 | <anon15041149> | I got stuck after 2 |
| 03:22:02 | <anon15041149> | https://paste.tomsmeding.com/vjqIYr1I |
| 03:22:32 | <anon15041149> | shouldn't str be "ABC" |
| 03:25:45 | <anon15041149> | Axman6: ?? |
| 03:27:14 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 246 seconds) |
| 03:28:22 | <monochrom> | Ugh please don't use a helper for this. The helper makes things worse. |
| 03:28:43 | × | MironZ quits (~MironZ@nat-infra.ehlab.uk) (K-Lined) |
| 03:29:21 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 03:29:31 | <monochrom> | Your helper is on its way to becoming an inefficent quadratic-time algorithm actually. |
| 03:29:59 | <anon15041149> | ok but I'm lecture 2 from the mooc |
| 03:30:19 | <anon15041149> | and they are talking about helpers |
| 03:30:43 | <monochrom> | Some other problems benefit from helpers. Not this one. |
| 03:30:58 | <monochrom> | Reversing a list benefits greatly from a helper. Not this one. |
| 03:31:12 | <anon15041149> | monochrom: can you help explain the evaluation? |
| 03:31:39 | <monochrom> | No. I refuse to help with this helper version. It would be a crime. |
| 03:32:10 | <anon15041149> | Please? |
| 03:34:15 | <anon15041149> | monochrom: please can you help |
| 03:37:43 | → | dsrt^ joins (~dsrt@173-160-91-30-atlanta.hfc.comcastbusiness.net) |
| 03:39:12 | → | coot joins (~coot@213.134.190.95) |
| 03:44:08 | <hololeap> | anon15041149: do you have a deadline or something? |
| 03:45:13 | <hololeap> | it might be hard to rush this stuff, depending on your background |
| 03:46:57 | → | nate1 joins (~nate@98.45.169.16) |
| 03:49:40 | <hololeap> | learn it like you would a foreign language :D |
| 03:51:41 | <hololeap> | what was the book that was mentioned somewhat recently about calculating theta time for haskell functions? |
| 03:52:01 | × | nate1 quits (~nate@98.45.169.16) (Ping timeout: 258 seconds) |
| 03:52:03 | <EvanR> | help me monochrom kenobi |
| 03:52:05 | <maerwald[m]> | Their teacher doesn't speak english well, that's why they didn't follow the lecture (supposedly) |
| 03:52:26 | <hololeap> | I've been there :( |
| 03:53:34 | <hololeap> | having your questions fall flat because of a language barrier sucks |
| 03:54:28 | <sm> | ha I've experienced that with many teachers sharing my same first |
| 03:54:28 | <sm> | language |
| 03:54:53 | <hololeap> | excatly, it alread is difficult and when there is a language barrier it just feels hopeless... |
| 03:55:36 | <hololeap> | it's a good way to learn to shut up and take the D |
| 03:55:56 | <hololeap> | no double entendre intended |
| 03:56:57 | <monochrom> | They have successfully done "power n k = n * recursive call" without a spurrious helper. repeatString is similar. At this point the teacher has nothing to do with this. |
| 03:57:47 | <maerwald[m]> | It's always the teachers fault |
| 03:58:40 | <hololeap> | right we should just pay thousands of dollars to be self-educated |
| 03:58:57 | <hololeap> | because the teacher shouldn't have to know how to teach |
| 03:59:51 | <hololeap> | obviously it's a double edged sword |
| 03:59:57 | <maerwald[m]> | I think you'd have to start with paying them better |
| 04:01:07 | × | dsrt^ quits (~dsrt@173-160-91-30-atlanta.hfc.comcastbusiness.net) (Ping timeout: 260 seconds) |
| 04:01:08 | <maerwald[m]> | Why would the top of the class go into teaching if the pay is shoddy. I mean some still do, but yeah |
| 04:01:30 | → | gdown joins (~gavin@h69-11-149-231.kndrid.broadband.dynamic.tds.net) |
| 04:01:35 | <monochrom> | Hell I am not top of the class, just above average. :) |
| 04:01:58 | <monochrom> | But I taught evaluation here: http://www.cs.utoronto.ca/~trebla/CSCC24-2022-Summer/01-haskell-basic.html#ev |
| 04:02:13 | <monochrom> | But it's really just plug and chug and just doing algebra. |
| 04:02:35 | <monochrom> | Hudak's book spends approximately the same short time on this. |
| 04:02:55 | <maerwald[m]> | Afair some high school teachers in france make half of what a junior software dev does per year |
| 04:03:06 | <hololeap> | monochrom, but we know you are good at answering questions :) |
| 04:03:10 | <maerwald[m]> | It's a disgrace |
| 04:03:58 | <hololeap> | some teachers just don't have the langauge down to understand someone who already doesn't know what they are talking about |
| 04:07:20 | <monochrom> | I would be sympathetic to "the teacher didn't explain", but I'm indifferent to "the teach didn't speak clearly" for the following reason. |
| 04:07:53 | <monochrom> | Presumably even if you didn't hear anything, there has been tons of code and some written notes. |
| 04:08:10 | <monochrom> | The student could have shown us those and ask us to fill in the gaps. |
| 04:08:14 | <monochrom> | In addition. |
| 04:08:38 | <maerwald[m]> | I told them to go over the lecture notes ;) |
| 04:08:48 | <EvanR> | Freenode U |
| 04:08:51 | <monochrom> | My languages are only English and Chinese. Yet one day I ran into a CS MSc thesis in Polish in my research area, I could read it perfectly. |
| 04:10:07 | <EvanR> | indeed I can understand physics papers from early 20th century in english or german equally |
| 04:10:12 | <maerwald[m]> | My suspicion is they didn't make notes thinking the teacher will hand them out. But not all do |
| 04:10:17 | <monochrom> | Generally arbitrary Polish is unguessable, but Polish in a specific context writing about a very narrow topic that I already know something about? You can basically use the math formulas and domain knowledge to reverse engineer the rest. I don't buy the "language barrier" theory. |
| 04:10:17 | <EvanR> | (equally bad) |
| 04:12:01 | <EvanR> | I will prove monochrom right by reading a random monad tutorial written in chinese |
| 04:12:11 | <EvanR> | should come pretty natural |
| 04:12:59 | <monochrom> | I also ran into a Prof from Singapore who had, well, the Singapore accent, so he pronounced "library" funny, namely, don't raise the "li", raise the "ry" instead. |
| 04:13:08 | <hololeap> | why can't my monoid be parsed? |
| 04:13:28 | <maerwald[m]> | Senglish is cute lah |
| 04:13:46 | <monochrom> | That was no barrier because consider the whole sentence, e.g., "so you call <funny word> functions", you expect "library" there. |
| 04:14:12 | <hololeap> | (pretend I'm somebody who just came here and asked this) |
| 04:14:38 | <sm> | hololeap: |
| 04:14:38 | <sm> | @where paste !! |
| 04:14:39 | <lambdabot> | Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com |
| 04:14:43 | <sm> | :) |
| 04:14:51 | <monochrom> | Yeah, that. :) |
| 04:15:35 | <hololeap> | ok, but what if they (I) was responded to with "I don't understand your question" and they just chose a different student |
| 04:15:56 | <hololeap> | it would be a little discouraging, right? |
| 04:16:21 | <monochrom> | I am not afraid to state "I don't understand your question" tbh. |
| 04:16:51 | <monochrom> | People need carrot-stick to learn to ask proper questions, too. |
| 04:17:07 | <hololeap> | but the implication was that "I don't understand your question because my command of your language is not strong enough, so I choose an easier question, that I can answer" |
| 04:17:19 | → | Guest580 joins (~Gambino@user/polo) |
| 04:17:39 | <sm> | hololeap: I haven't read the whole thread but I agree that the responses in here can sometimes be a little brisk and scary, no offense to anyone |
| 04:18:07 | <hololeap> | sm, no I'm talking about teachers in college, specifically that don't know the spoken langauge very well |
| 04:18:17 | <sm> | ah ok |
| 04:18:41 | <monochrom> | And it is not hard at all. My students may start with a vague question that I may or may not understand, but they don't even wait for me to respond, they immediately know to continue with "actually can I show you my code?". It's that easy. |
| 04:18:54 | sm | starts the day offering carrots and ends it double wielding sticks, maybe lecturers are like this too ? |
| 04:18:59 | <hololeap> | I'm just saying that speaking the language in a technical fasion is one half, but understanding n00b questions is the other |
| 04:19:40 | <hololeap> | monochrom: but they know you _could_ answer the question but just aren't choosing to! |
| 04:19:57 | <maerwald[m]> | I understood the question behind the question, which was "can you write the code for me?" |
| 04:20:11 | <hololeap> | that is _way_ better than someone who you suspect can't understand it! |
| 04:23:47 | → | treeshateorcs[m] joins (~treeshate@2001:470:69fc:105::1:41c4) |
| 04:24:05 | × | anon15041149 quits (~anon15041@host-80-41-95-245.as13285.net) (Remote host closed the connection) |
| 04:24:15 | → | anon15041149 joins (~anon15041@host-80-41-95-245.as13285.net) |
| 04:24:28 | <anon15041149> | monochrom: what did you mean by this? "They have successfully done "power n k = n * recursive call" without a spurrious helper. repeatString is similar. At this point the teacher has nothing to do with this." |
| 04:25:58 | × | phma quits (~phma@host-67-44-208-207.hnremote.net) (Read error: Connection reset by peer) |
| 04:28:11 | → | phma joins (~phma@host-67-44-208-124.hnremote.net) |
| 04:29:54 | → | andrey_ joins (~andrey@p508d494e.dip0.t-ipconnect.de) |
| 04:31:34 | <Axman6> | repeatString and power are basically exactly the same function, if you squint a bit |
| 04:32:54 | × | andrey__ quits (~andrey@p200300dbcf0c4300976b5d73a51b6ad8.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
| 04:34:05 | <anon15041149> | https://paste.tomsmeding.com/5qFs8Qux but it's fine |
| 04:35:33 | <anon15041149> | I hope I didn't upset monochrom |
| 04:37:18 | <anon15041149> | he wasn't helping because he didn't like the fact there was a helper was inefficient |
| 04:37:22 | <Axman6> | that looks good - being able to do this is a pretty important skill for debugging haskell code |
| 04:38:26 | <anon15041149> | Axman6: yeah, it's clearer when you write out each step, I wish there was a programme that did that for you lol, just to quickly see what's happening at each evaluation stafe |
| 04:38:29 | <anon15041149> | stage* |
| 04:39:00 | <Axman6> | Evaluating Haskell functions is all about substitution, taking the definition on the left of the = and replacing it with the right, substituting variables with the values passed in. if you can do that - on paper or in a text file - you'll find you can answer all the "how does this work" questions |
| 04:39:16 | <Axman6> | there are programs that do that IIRC. can't remember where though |
| 04:40:23 | <maerwald[m]> | Doesn't yahb have some limited functionality for that? |
| 04:46:04 | <Axman6> | yahb has been dead for a while now :( |
| 04:48:53 | <Axman6> | I would love it if we could move the ownership of lambdabot and yahb to the haskell infrastructure team. it's mission critical! |
| 04:49:39 | <hololeap> | what happened to yahb? |
| 04:50:03 | × | jludwig quits (~justin@li657-110.members.linode.com) (Quit: ZNC - https://znc.in) |
| 04:50:04 | <hololeap> | I know it's been "dead" for a while, whatever that means |
| 04:51:02 | → | jludwig joins (~justin@li657-110.members.linode.com) |
| 04:52:25 | × | jludwig quits (~justin@li657-110.members.linode.com) (Changing host) |
| 04:52:25 | → | jludwig joins (~justin@user/jludwig) |
| 04:54:26 | × | coot quits (~coot@213.134.190.95) (Quit: coot) |
| 04:54:41 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
| 04:54:43 | → | allbery_b joins (~geekosaur@xmonad/geekosaur) |
| 04:54:46 | allbery_b | is now known as geekosaur |
| 04:56:39 | → | coot joins (~coot@213.134.190.95) |
| 04:58:02 | × | zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!) |
| 04:58:43 | × | anon15041149 quits (~anon15041@host-80-41-95-245.as13285.net) (Remote host closed the connection) |
| 04:58:56 | → | anon15041149 joins (~anon15041@host-80-41-95-245.as13285.net) |
| 05:00:27 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 05:00:40 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 05:01:40 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 05:02:53 | → | Vajb joins (~Vajb@2001:999:600:879a:e69c:7638:2849:8a14) |
| 05:06:35 | <Axman6> | I haven't seen mniip for a while |
| 05:13:24 | × | biberu quits (~biberu@user/biberu) (Read error: Connection reset by peer) |
| 05:13:57 | × | Guest580 quits (~Gambino@user/polo) (Read error: Connection reset by peer) |
| 05:14:10 | × | shailangsa quits (~shailangs@host109-152-9-235.range109-152.btcentralplus.com) (Ping timeout: 240 seconds) |
| 05:16:14 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine) |
| 05:19:04 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 05:19:49 | → | biberu joins (~biberu@user/biberu) |
| 05:27:04 | × | jpds1 quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds) |
| 05:28:49 | <treeshateorcs[m]> | hello everyone, sorry for the noob question, but can i create macos native apps with haskell? |
| 05:29:43 | → | jpds1 joins (~jpds@gateway/tor-sasl/jpds) |
| 05:32:44 | → | Guest6540 joins (~Gambino@pool-100-34-212-74.phlapa.fios.verizon.net) |
| 05:34:33 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 05:39:54 | × | Guest6540 quits (~Gambino@pool-100-34-212-74.phlapa.fios.verizon.net) (Quit: Textual IRC Client: www.textualapp.com) |
| 05:41:37 | → | vysn joins (~vysn@user/vysn) |
| 05:44:55 | → | michalz joins (~michalz@185.246.204.119) |
| 05:46:11 | → | Lycurgus joins (~juan@user/Lycurgus) |
| 05:46:59 | <Lycurgus> | treeshateorcs[m], yes if you compile it there |
| 05:47:34 | × | jargon quits (~jargon@184.101.87.126) (Remote host closed the connection) |
| 05:53:10 | <Axman6> | treeshateorcs[m]: that depends how you define "apps"makingmacOS .app's is technically possible but difficult. making programs that run on macOS is trivial and people do it every day |
| 05:55:49 | × | Lycurgus quits (~juan@user/Lycurgus) (Quit: Exeunt juan@acm.org) |
| 05:57:28 | → | shailangsa joins (~shailangs@host86-186-136-116.range86-186.btcentralplus.com) |
| 05:58:07 | → | aliosablack joins (~chomwitt@2a02:587:dc05:e000:904f:df51:bc87:e667) |
| 06:12:38 | <shachaf> | Is there a nice way to split a list into two halves in one pass? |
| 06:14:47 | <[Leary]> | If it doesn't need to be the first and second halves, you can get the odd and even halves without needing to be too clever. |
| 06:15:02 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 255 seconds) |
| 06:17:33 | <shachaf> | Yes, but if it does. |
| 06:17:36 | <shachaf> | But I think I have it. |
| 06:17:39 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 06:17:53 | <int-e> | > let splitH xs = go xs xs where go (_:_:xs) (x:zs) = first (x:) (go xs zs); go _ zs = ([], zs) in splitH [1..3] |
| 06:17:55 | <lambdabot> | ([1],[2,3]) |
| 06:18:05 | <shachaf> | λ> let evens [] = []; evens [x] = [x]; evens (x:_:xs) = x:evens xs |
| 06:18:15 | <shachaf> | λ> let split i = go (evens i) i where go [] xs = ([],xs); go (_:es) (x:xs) = let (l,r) = go es xs in (x:l,r) |
| 06:18:22 | <shachaf> | Oh, int-e beat me to it. |
| 06:18:32 | <int-e> | No, I did something different |
| 06:18:40 | <int-e> | or did I? |
| 06:18:58 | <int-e> | I didn't, you're using 'evens' as a helper to match half the length |
| 06:19:11 | <shachaf> | Yep, pretty much the same thing, except yours is more direct. |
| 06:19:32 | <shachaf> | I had previously written "zipWith const xs (evens xs)" to get the first half, was why I had this function. |
| 06:19:53 | <int-e> | (well, there's an off-by-one difference for lists of odd length) |
| 06:20:12 | <shachaf> | Right, but you can just choose what to do there. |
| 06:22:04 | → | christiansen joins (~christian@83-95-137-75-dynamic.dk.customer.tdc.net) |
| 06:35:38 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
| 06:41:53 | → | singaporee joins (~singapore@vps-e326d58d.vps.ovh.ca) |
| 06:42:57 | → | simeon joins (~pi@dslb-088-069-178-224.088.069.pools.vodafone-ip.de) |
| 06:43:58 | × | gdown quits (~gavin@h69-11-149-231.kndrid.broadband.dynamic.tds.net) (Remote host closed the connection) |
| 06:48:17 | <simeon> | Why is it that in ghci :t [1] returns Num a => [a], but if I define x = [1] in an .hs file and load it in ghci, :t x returns [Integer]? |
| 06:49:20 | <opqdonut> | defaulting |
| 06:50:15 | <opqdonut> | or: the dreaded monomorphism restriction |
| 06:50:25 | <opqdonut> | this might help: https://wiki.haskell.org/Monomorphism_restriction |
| 06:51:47 | <simeon> | but doesn't ghci do defaulting as well? I thought that it was even more aggressive in that respect (with ExtendedDefaultRules and such) |
| 06:52:39 | <opqdonut> | good question. it might not apply the defaulting when using :t, only when evaluating stuff? |
| 06:53:55 | <opqdonut> | right, ghci does have defaulting, but it doesn't have the monomorphism rstriction? |
| 06:56:28 | × | coot quits (~coot@213.134.190.95) (Read error: Connection reset by peer) |
| 06:56:40 | → | coot joins (~coot@213.134.190.95) |
| 06:56:53 | × | singaporee quits (~singapore@vps-e326d58d.vps.ovh.ca) (Ping timeout: 255 seconds) |
| 06:57:36 | → | singaporee joins (~singapore@36.72.111.36) |
| 07:00:19 | <simeon> | yeah, so with :set -XMonomorphismRestriction let x = [1]; :t x returns [Integer] |
| 07:00:52 | → | vpan joins (~0@212.117.1.172) |
| 07:01:10 | <simeon> | but :t [1] always returns the more general type no matter whether it's enabled or not |
| 07:04:36 | → | cfricke joins (~cfricke@user/cfricke) |
| 07:05:00 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
| 07:08:25 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 07:19:34 | × | jpds1 quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds) |
| 07:19:59 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 246 seconds) |
| 07:20:39 | → | jpds1 joins (~jpds@gateway/tor-sasl/jpds) |
| 07:23:35 | × | zaquest quits (~notzaques@5.130.79.72) (Remote host closed the connection) |
| 07:25:10 | → | zaquest joins (~notzaques@5.130.79.72) |
| 07:28:09 | × | tcard quits (~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp) (Quit: Leaving) |
| 07:28:42 | → | _ht joins (~quassel@231-169-21-31.ftth.glasoperator.nl) |
| 07:29:09 | → | nschoe joins (~quassel@178.251.84.79) |
| 07:29:10 | × | shriekingnoise quits (~shrieking@201.231.16.156) (Quit: Quit) |
| 07:31:04 | × | stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds) |
| 07:32:54 | → | tcard joins (~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp) |
| 07:37:05 | × | Chai-T-Rex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 07:37:05 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 07:37:18 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 07:37:45 | → | Chai-T-Rex joins (~ChaiTRex@user/chaitrex) |
| 07:40:10 | → | stiell_ joins (~stiell@gateway/tor-sasl/stiell) |
| 07:45:14 | × | coot quits (~coot@213.134.190.95) (Quit: coot) |
| 07:45:20 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 07:48:10 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 07:48:28 | → | nate1 joins (~nate@98.45.169.16) |
| 07:53:17 | × | nate1 quits (~nate@98.45.169.16) (Ping timeout: 260 seconds) |
| 07:53:22 | → | arjun joins (~arjun@user/arjun) |
| 07:57:23 | → | jollygood2 joins (www-data@2607:5300:60:8be::1) |
| 08:00:40 | → | bahamas joins (~lucian@188.27.148.107) |
| 08:02:21 | × | zaquest quits (~notzaques@5.130.79.72) (Read error: Connection reset by peer) |
| 08:02:46 | → | zaquest joins (~notzaques@5.130.79.72) |
| 08:02:56 | → | coot joins (~coot@213.134.190.95) |
| 08:03:28 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:3962:822c:3b35:6c99) (Remote host closed the connection) |
| 08:05:09 | × | singaporee quits (~singapore@36.72.111.36) (Ping timeout: 244 seconds) |
| 08:08:27 | × | bahamas quits (~lucian@188.27.148.107) (Ping timeout: 260 seconds) |
| 08:11:14 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 08:13:36 | → | jgeerds joins (~jgeerds@55d45f48.access.ecotel.net) |
| 08:15:22 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 258 seconds) |
| 08:23:44 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 255 seconds) |
| 08:33:17 | → | Kaiepi joins (~Kaiepi@156.34.47.253) |
| 08:35:43 | → | littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 08:44:34 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 08:47:34 | × | littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
| 08:50:14 | → | littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 08:50:46 | → | zeenk joins (~zeenk@2a02:2f04:a104:ef00:10:581:f80f:b980) |
| 09:00:10 | × | Inst[m] quits (~instrmatr@2001:470:69fc:105::1:903e) (Quit: You have been kicked for being idle) |
| 09:03:52 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:5051:4e02:b5d9:aa15) |
| 09:04:25 | → | littlebo1eep joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 09:06:34 | × | littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
| 09:08:08 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:5051:4e02:b5d9:aa15) (Ping timeout: 250 seconds) |
| 09:11:50 | × | biberu quits (~biberu@user/biberu) (Read error: Connection reset by peer) |
| 09:12:09 | → | biberu joins (~biberu@user/biberu) |
| 09:12:37 | → | phma_ joins (~phma@host-67-44-208-124.hnremote.net) |
| 09:12:48 | × | arjun quits (~arjun@user/arjun) (Remote host closed the connection) |
| 09:13:10 | → | arjun joins (~arjun@user/arjun) |
| 09:15:33 | × | phma quits (~phma@host-67-44-208-124.hnremote.net) (Ping timeout: 258 seconds) |
| 09:23:05 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 09:24:10 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 09:30:04 | × | littlebo1eep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
| 09:44:57 | → | littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 09:47:45 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 09:48:06 | × | xff0x quits (~xff0x@125x102x200x106.ap125.ftth.ucom.ne.jp) (Ping timeout: 276 seconds) |
| 09:56:13 | × | cfricke quits (~cfricke@user/cfricke) (Read error: Connection reset by peer) |
| 09:58:32 | → | cfricke joins (~cfricke@user/cfricke) |
| 10:05:40 | → | CiaoSen joins (~Jura@p200300c95731a0002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 10:08:36 | → | briandaed joins (~briandaed@109.95.143.129.r.toneticgroup.pl) |
| 10:17:01 | → | gurkenglas joins (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de) |
| 10:23:00 | × | jollygood2 quits (www-data@2607:5300:60:8be::1) (Quit: CGI:IRC (EOF)) |
| 10:32:34 | × | littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
| 10:33:31 | → | notzmv joins (~zmv@user/notzmv) |
| 10:42:29 | → | littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 10:42:39 | → | ubert joins (~Thunderbi@p200300ecdf3b99a7e4ef9cea09a026ef.dip0.t-ipconnect.de) |
| 10:43:34 | → | razetime joins (~quassel@117.254.34.35) |
| 10:47:46 | × | phma_ quits (~phma@host-67-44-208-124.hnremote.net) (Read error: Connection reset by peer) |
| 10:48:45 | → | phma_ joins (~phma@2001:5b0:211c:55f8:2664:c781:c87b:c562) |
| 10:49:34 | → | xff0x joins (~xff0x@b133147.ppp.asahi-net.or.jp) |
| 10:54:06 | → | mncheckm joins (~mncheck@193.224.205.254) |
| 10:56:43 | × | mncheck quits (~mncheck@193.224.205.254) (Ping timeout: 256 seconds) |
| 11:05:49 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 11:08:57 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 11:09:56 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds) |
| 11:10:25 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 11:11:14 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 11:13:34 | × | littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
| 11:16:32 | → | littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 11:17:13 | phma_ | is now known as phma |
| 11:17:56 | → | zer0bitz joins (~zer0bitz@2001:2003:f444:8f00:d47c:b2d:c58e:501b) |
| 11:34:11 | × | shailangsa quits (~shailangs@host86-186-136-116.range86-186.btcentralplus.com) (Remote host closed the connection) |
| 11:39:47 | × | xff0x quits (~xff0x@b133147.ppp.asahi-net.or.jp) (Ping timeout: 240 seconds) |
| 11:43:19 | → | __monty__ joins (~toonn@user/toonn) |
| 11:48:27 | × | jgeerds quits (~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 240 seconds) |
| 11:49:16 | <anon15041149> | Axman6: is this possible without importing genericLength? https://paste.tomsmeding.com/W1laDnJC |
| 11:49:58 | → | nate1 joins (~nate@98.45.169.16) |
| 11:50:17 | <geekosaur> | you've already used fromIntegral once |
| 11:51:38 | <anon15041149> | Ok? |
| 11:51:53 | <geekosaur> | do you understand what it does? |
| 11:52:19 | → | xff0x joins (~xff0x@b133147.ppp.asahi-net.or.jp) |
| 11:52:31 | <anon15041149> | converts and Int into Float I think |
| 11:52:38 | <anon15041149> | but it doesn't work when I use it there |
| 11:52:47 | <geekosaur> | how are you using it? |
| 11:53:03 | <geekosaur> | my guess is you get your parentheses wrong (or missing entirely) |
| 11:54:08 | <anon15041149> | https://paste.tomsmeding.com/x0KzeKwd |
| 11:55:01 | × | nate1 quits (~nate@98.45.169.16) (Ping timeout: 258 seconds) |
| 11:55:01 | → | alx741 joins (~alx741@host-186-3-154-11.netlife.ec) |
| 11:55:29 | <geekosaur> | fromIntegral doesnot do the `length` for you |
| 11:55:39 | <geekosaur> | you apply it to the *result* of `length` |
| 11:56:02 | <anon15041149> | how do you do that? |
| 11:56:22 | <geekosaur> | uh. this sounds like you haven't been through the basics yet |
| 11:56:37 | <anon15041149> | It's a syntax issue |
| 11:56:45 | → | jollygood2 joins (~bc8147f2@cerf.good1.com) |
| 11:56:45 | × | alx741 quits (~alx741@host-186-3-154-11.netlife.ec) (Read error: Connection reset by peer) |
| 11:57:55 | <maerwald[m]> | geekosaur: it's still the assignment from yesterday and they didn't listen to the lecture; ) |
| 11:58:13 | → | alx741 joins (~alx741@host-186-3-154-11.netlife.ec) |
| 11:58:45 | <anon15041149> | The assignment is over, I'm already too late |
| 11:58:55 | → | pavonia joins (~user@user/siracusa) |
| 11:58:55 | <anon15041149> | I've done the first 2 sets of the mooc |
| 11:58:59 | <geekosaur> | I know it's still that assignment, I recognize the data type |
| 11:59:06 | <anon15041149> | Yes |
| 11:59:09 | <anon15041149> | I know |
| 11:59:15 | <anon15041149> | but I've run out of time |
| 11:59:22 | <geekosaur> | fromIntegral (length i1) |
| 11:59:26 | × | alx741 quits (~alx741@host-186-3-154-11.netlife.ec) (Client Quit) |
| 11:59:38 | <geekosaur> | or: (fromIntegral . length) i1 |
| 11:59:55 | <anon15041149> | how does the full stop work? is that an operator? |
| 12:00:03 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 12:01:59 | <geekosaur> | yes |
| 12:02:07 | <geekosaur> | it's the composition operator |
| 12:02:18 | <geekosaur> | (f . g) x = f (g x) |
| 12:02:19 | <anon15041149> | https://stackoverflow.com/questions/2486564/what-does-a-fullstop-or-period-or-dot-mean-in-haskell |
| 12:02:39 | <geekosaur> | it lets us compose functions to make bigger functions |
| 12:03:54 | <geekosaur> | (or chain functions together, but Haskellers prefer the more mathy "compose") |
| 12:05:30 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 12:06:32 | <hpc> | it's the closest thing in ascii to the notation for https://en.wikipedia.org/wiki/Function_composition |
| 12:11:47 | × | jollygood2 quits (~bc8147f2@cerf.good1.com) (Quit: CGI:IRC (Error)) |
| 12:12:11 | → | jollygood2 joins (~bc8147f2@cerf.good1.com) |
| 12:12:11 | <maerwald[m]> | Teaching through fear 😄 |
| 12:12:16 | × | ubert quits (~Thunderbi@p200300ecdf3b99a7e4ef9cea09a026ef.dip0.t-ipconnect.de) (Ping timeout: 258 seconds) |
| 12:12:25 | × | jollygood2 quits (~bc8147f2@cerf.good1.com) (Client Quit) |
| 12:12:47 | → | jollygood2 joins (~bc8147f2@cerf.good1.com) |
| 12:15:03 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 12:15:45 | <anon15041149> | hoping my course work allows me to pass this class |
| 12:16:13 | → | shailangsa joins (~shailangs@host86-186-136-116.range86-186.btcentralplus.com) |
| 12:17:04 | × | littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
| 12:20:27 | × | raym quits (~raym@user/raym) (Ping timeout: 260 seconds) |
| 12:20:54 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 12:21:01 | → | raym joins (~raym@user/raym) |
| 12:26:37 | <geekosaur> | @where cis194 |
| 12:26:37 | <lambdabot> | https://www.seas.upenn.edu/~cis194/spring13/lectures.html |
| 12:27:16 | <geekosaur> | might be worth going through this, especially if you're getting the same kind of incomprehensible TAs I did when I was in college :) |
| 12:29:31 | × | stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
| 12:29:31 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Read error: Connection reset by peer) |
| 12:29:31 | × | jpds1 quits (~jpds@gateway/tor-sasl/jpds) (Read error: Connection reset by peer) |
| 12:30:50 | → | stiell_ joins (~stiell@gateway/tor-sasl/stiell) |
| 12:31:40 | <exarkun> | in cis194 homework 6 exercise 2 it directs you to implement implement an O(n) fibonacci function using "standard recursion pattern(s) from the Prelude as appropriate". What does it mean by "recursion patterns"? |
| 12:32:21 | <geekosaur> | map, foldl, foldr, etc. |
| 12:32:49 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 12:33:11 | <exarkun> | Are "pattern" and "function" synonyms? Or are only some functions patterns? |
| 12:33:34 | <geekosaur> | think "design pattern" |
| 12:34:28 | → | waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 12:34:51 | <exarkun> | Hmmmm |
| 12:35:08 | <exarkun> | Oookay |
| 12:35:24 | → | jpds1 joins (~jpds@gateway/tor-sasl/jpds) |
| 12:35:24 | × | joo-_ quits (~joo-_@fsf/member/joo--) (Read error: Connection reset by peer) |
| 12:36:28 | <geekosaur> | there's a common misapprehension that a "design pattern" is anything that can't be expressed directly in a language and represents a shortcoming. really it's any recurrent pattern of code |
| 12:36:42 | <geekosaur> | we use things like maps and folds very often, so they're Haskell design patterns |
| 12:37:16 | <geekosaur> | the alternative would be writing them out by hand every time, which *would* be an example of that misapprehension |
| 12:38:21 | → | CHUD joins (~CHUD@host-80-41-95-245.as13285.net) |
| 12:39:00 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 12:39:11 | → | joo-_ joins (~joo-_@80-62-116-159-mobile.dk.customer.tdc.net) |
| 12:39:11 | × | joo-_ quits (~joo-_@80-62-116-159-mobile.dk.customer.tdc.net) (Changing host) |
| 12:39:11 | → | joo-_ joins (~joo-_@fsf/member/joo--) |
| 12:41:21 | × | vpan quits (~0@212.117.1.172) (Quit: Leaving.) |
| 12:43:10 | × | `2jt quits (~jtomas@182.red-88-17-61.dynamicip.rima-tde.net) (Quit: Leaving) |
| 12:45:21 | × | hololeap quits (~hololeap@user/hololeap) (Remote host closed the connection) |
| 12:48:16 | → | MajorBiscuit joins (~MajorBisc@86-88-79-148.fixed.kpn.net) |
| 12:50:51 | → | hololeap joins (~hololeap@user/hololeap) |
| 12:51:49 | × | CHUD quits (~CHUD@host-80-41-95-245.as13285.net) (Remote host closed the connection) |
| 12:53:38 | → | ubert joins (~Thunderbi@p200300ecdf3b99a7f84e44c270da9848.dip0.t-ipconnect.de) |
| 12:53:42 | → | Infinite joins (~Infinite@49.39.121.239) |
| 12:54:07 | × | ubert quits (~Thunderbi@p200300ecdf3b99a7f84e44c270da9848.dip0.t-ipconnect.de) (Client Quit) |
| 13:01:03 | × | azimut_ quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
| 13:02:14 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 13:07:37 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:5051:4e02:b5d9:aa15) |
| 13:12:00 | × | _xor quits (~xor@72.49.198.103) (Quit: bbiab) |
| 13:12:06 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:5051:4e02:b5d9:aa15) (Ping timeout: 250 seconds) |
| 13:14:53 | × | razetime quits (~quassel@117.254.34.35) (Ping timeout: 255 seconds) |
| 13:15:35 | → | vicfred joins (~vicfred@user/vicfred) |
| 13:27:32 | × | MajorBiscuit quits (~MajorBisc@86-88-79-148.fixed.kpn.net) (Quit: WeeChat 3.4) |
| 13:37:11 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 13:37:11 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 13:37:11 | → | wroathe joins (~wroathe@user/wroathe) |
| 13:37:44 | <telser_> | Is there anyone around here that could review a stackage-content PR? |
| 13:41:58 | × | vysn quits (~vysn@user/vysn) (Ping timeout: 258 seconds) |
| 13:44:30 | → | goran[m] joins (~goranoour@2001:470:69fc:105::2:1b44) |
| 13:47:27 | tremon_ | is now known as tremon |
| 13:48:51 | stilgart_ | is now known as stilgart |
| 13:49:24 | × | Infinite quits (~Infinite@49.39.121.239) (Quit: Client closed) |
| 13:53:03 | → | unit73e joins (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) |
| 13:58:56 | → | shriekingnoise joins (~shrieking@201.231.16.156) |
| 14:00:33 | → | causal joins (~user@50.35.83.177) |
| 14:03:01 | → | Infinite joins (~Infinite@49.39.121.239) |
| 14:06:14 | → | jgeerds joins (~jgeerds@55d45f48.access.ecotel.net) |
| 14:11:11 | → | mvk joins (~mvk@2607:fea8:5ce3:8500::ba9a) |
| 14:21:50 | × | Infinite quits (~Infinite@49.39.121.239) (Ping timeout: 252 seconds) |
| 14:23:43 | → | polo joins (~money@user/polo) |
| 14:28:34 | × | polo quits (~money@user/polo) (Remote host closed the connection) |
| 14:28:54 | → | polo joins (~money@user/polo) |
| 14:28:55 | × | polo quits (~money@user/polo) (Excess Flood) |
| 14:29:19 | → | polo joins (~money@user/polo) |
| 14:29:21 | × | polo quits (~money@user/polo) (Excess Flood) |
| 14:29:40 | → | polo joins (~money@user/polo) |
| 14:29:42 | × | polo quits (~money@user/polo) (Excess Flood) |
| 14:30:02 | → | polo joins (~money@user/polo) |
| 14:36:40 | × | TonyStone quits (~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) (Remote host closed the connection) |
| 14:38:28 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 14:38:30 | × | jgeerds quits (~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 240 seconds) |
| 14:38:39 | → | TonyStone joins (~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) |
| 14:40:29 | → | srz joins (~srz@157.92.6.58) |
| 14:40:37 | → | srz_ joins (~srz@157.92.6.58) |
| 14:42:07 | × | srz_ quits (~srz@157.92.6.58) (Remote host closed the connection) |
| 14:42:08 | × | srz quits (~srz@157.92.6.58) (Remote host closed the connection) |
| 14:43:54 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 14:47:12 | × | coot quits (~coot@213.134.190.95) (Quit: coot) |
| 14:48:02 | × | polo quits (~money@user/polo) (Ping timeout: 255 seconds) |
| 14:48:37 | → | coot joins (~coot@213.134.190.95) |
| 15:02:13 | → | Unicorn_Princess joins (~Unicorn_P@93-103-228-248.dynamic.t-2.net) |
| 15:07:26 | × | kritzefitz quits (~kritzefit@debian/kritzefitz) (Remote host closed the connection) |
| 15:07:39 | → | kritzefitz joins (~kritzefit@debian/kritzefitz) |
| 15:08:31 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:5051:4e02:b5d9:aa15) |
| 15:11:47 | × | christiansen quits (~christian@83-95-137-75-dynamic.dk.customer.tdc.net) (Ping timeout: 246 seconds) |
| 15:18:15 | × | waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Quit: WeeChat 3.5) |
| 15:19:59 | × | nschoe quits (~quassel@178.251.84.79) (Ping timeout: 255 seconds) |
| 15:22:15 | × | coot quits (~coot@213.134.190.95) (Quit: coot) |
| 15:22:31 | × | img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 15:23:31 | → | img joins (~img@user/img) |
| 15:24:27 | → | Tuplanolla joins (~Tuplanoll@91-159-68-39.elisa-laajakaista.fi) |
| 15:27:59 | × | cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.5) |
| 15:28:27 | → | JannisO joins (~JannisO@89.233.88.60) |
| 15:29:53 | × | img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 15:30:56 | → | img joins (~img@user/img) |
| 15:31:36 | × | arjun quits (~arjun@user/arjun) (Ping timeout: 258 seconds) |
| 15:33:28 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 15:37:34 | × | JannisO quits (~JannisO@89.233.88.60) (Remote host closed the connection) |
| 15:37:51 | → | JannisO joins (~JannisO@89.233.88.60) |
| 15:39:24 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 15:41:36 | × | JannisO quits (~JannisO@89.233.88.60) (Remote host closed the connection) |
| 15:41:53 | → | JannisO joins (~JannisO@89.233.88.60) |
| 15:42:43 | × | img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 15:43:45 | → | img joins (~img@user/img) |
| 15:44:10 | → | vysn joins (~vysn@user/vysn) |
| 15:46:07 | × | img quits (~img@user/img) (Client Quit) |
| 15:47:33 | × | martin02 quits (~silas@141.84.69.76) (Ping timeout: 276 seconds) |
| 15:47:33 | → | img joins (~img@user/img) |
| 15:47:57 | → | king_gs joins (~Thunderbi@2806:103e:29:5eb8:48de:d3eb:9d44:3d55) |
| 15:51:00 | → | Guest|47 joins (~Guest|47@49.37.147.228) |
| 15:51:28 | → | nate1 joins (~nate@98.45.169.16) |
| 15:52:07 | × | Guest|47 quits (~Guest|47@49.37.147.228) (Client Quit) |
| 15:54:26 | × | JannisO quits (~JannisO@89.233.88.60) (Remote host closed the connection) |
| 15:54:43 | → | JannisO joins (~JannisO@89.233.88.60) |
| 15:56:10 | × | cheater quits (~Username@user/cheater) (Read error: Connection reset by peer) |
| 15:56:29 | × | nate1 quits (~nate@98.45.169.16) (Ping timeout: 256 seconds) |
| 15:56:57 | → | cheater joins (~Username@user/cheater) |
| 15:57:04 | × | hololeap quits (~hololeap@user/hololeap) (Ping timeout: 240 seconds) |
| 15:59:52 | → | martin02 joins (~silas@141.84.69.76) |
| 16:01:31 | × | Cale quits (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) (Ping timeout: 244 seconds) |
| 16:03:13 | × | JannisO quits (~JannisO@89.233.88.60) (Remote host closed the connection) |
| 16:03:30 | → | JannisO joins (~JannisO@89.233.88.60) |
| 16:10:45 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:5051:4e02:b5d9:aa15) (Remote host closed the connection) |
| 16:15:15 | → | Cale joins (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) |
| 16:20:03 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 16:21:19 | × | elkcl quits (~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru) (Ping timeout: 240 seconds) |
| 16:21:35 | → | elkcl joins (~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru) |
| 16:21:48 | × | shapr quits (~user@pool-173-73-44-186.washdc.fios.verizon.net) (Remote host closed the connection) |
| 16:25:04 | → | zebrag joins (~chris@user/zebrag) |
| 16:26:31 | × | gurkenglas quits (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de) (Ping timeout: 256 seconds) |
| 16:29:16 | × | JannisO quits (~JannisO@89.233.88.60) (Remote host closed the connection) |
| 16:29:33 | → | JannisO joins (~JannisO@89.233.88.60) |
| 16:30:14 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:5051:4e02:b5d9:aa15) |
| 16:32:44 | → | fantasia joins (~fi@197.244.205.32) |
| 16:38:03 | → | GiacomoC joins (~GiacomoC@host-95-250-241-5.retail.telecomitalia.it) |
| 16:42:06 | × | JannisO quits (~JannisO@89.233.88.60) (Remote host closed the connection) |
| 16:42:23 | → | JannisO joins (~JannisO@89.233.88.60) |
| 16:44:03 | × | JannisO quits (~JannisO@89.233.88.60) (Remote host closed the connection) |
| 16:44:20 | → | JannisO joins (~JannisO@89.233.88.60) |
| 16:45:10 | → | favonia joins (~favonia@user/favonia) |
| 16:48:04 | × | JannisO quits (~JannisO@89.233.88.60) (Remote host closed the connection) |
| 16:48:21 | → | JannisO joins (~JannisO@89.233.88.60) |
| 16:50:01 | × | JannisO quits (~JannisO@89.233.88.60) (Remote host closed the connection) |
| 16:50:18 | → | JannisO joins (~JannisO@89.233.88.60) |
| 16:53:08 | × | anon15041149 quits (~anon15041@host-80-41-95-245.as13285.net) (Remote host closed the connection) |
| 16:53:17 | × | benin quits (~benin@183.82.205.79) (Ping timeout: 246 seconds) |
| 16:53:26 | → | anon15041149 joins (~anon15041@host-80-41-95-245.as13285.net) |
| 16:54:00 | → | Guest|62 joins (~Guest|62@c-71-205-105-44.hsd1.co.comcast.net) |
| 16:54:35 | → | benin joins (~benin@2401:4900:2323:6c4b:5923:ae7:d378:d557) |
| 16:54:59 | → | econo joins (uid147250@user/econo) |
| 16:57:40 | × | anon15041149 quits (~anon15041@host-80-41-95-245.as13285.net) (Ping timeout: 252 seconds) |
| 16:59:40 | × | GiacomoC quits (~GiacomoC@host-95-250-241-5.retail.telecomitalia.it) (Quit: Ping timeout (120 seconds)) |
| 17:02:18 | × | dcoutts_ quits (~duncan@host109-149-15-56.range109-149.btcentralplus.com) (Ping timeout: 276 seconds) |
| 17:02:50 | <Guest|62> | Hey again all. Still working on this Haskell build. I've got the project to compile successfully now, but when i do `cabal install`, i get: |
| 17:02:51 | <Guest|62> | \ |
| 17:02:51 | <Guest|62> | https://paste.tomsmeding.com/c4PLCLfN |
| 17:03:29 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
| 17:04:04 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 17:04:54 | → | arjun joins (~arjun@user/arjun) |
| 17:05:25 | <geekosaur> | did you run `cabal update` first? (and are you running `cabal install` from the right directory/folder?) |
| 17:06:20 | → | zincy joins (~zincy@2a00:23c8:970c:4801:5ce3:174f:85c3:8411) |
| 17:06:55 | <dmj`> | Guest|62: --allow-newer ;) |
| 17:06:56 | → | benin8 joins (~benin@183.82.25.126) |
| 17:07:10 | <geekosaur> | that doesn't look like that error |
| 17:07:20 | <geekosaur> | especially since it has an "any" in it |
| 17:07:57 | <geekosaur> | it looks like it has required dependencies but can't find them in the hackage index, which is why I asked about `cabal update` |
| 17:07:57 | <Guest|62> | I did do `cabal update` prior to `cabal build` and i do think im running `cabal install` from the right dir. Running it from the dir that contains `cabal.project` |
| 17:08:07 | <geekosaur> | hm |
| 17:08:19 | → | waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 17:08:19 | <dmj`> | those deps potentially exist, but at older versions, --allow-newer will have the affect of jailbreaking the cabal file |
| 17:08:58 | × | benin quits (~benin@2401:4900:2323:6c4b:5923:ae7:d378:d557) (Ping timeout: 258 seconds) |
| 17:08:59 | benin8 | is now known as benin |
| 17:09:25 | <Guest|62> | hmm i did a `cabal install --allow-newer` and get the same error |
| 17:09:28 | → | christiansen joins (~christian@83-95-137-75-dynamic.dk.customer.tdc.net) |
| 17:10:30 | <dmj`> | Guest|62: then do a ' cabal exec -- ghc-pkg list resource-pool' for example |
| 17:10:38 | <dmj`> | and see what version is in your ghc-pkg list |
| 17:11:04 | <Guest|62> | ```Resolving dependencies... |
| 17:11:05 | <Guest|62> | (no packages)``` |
| 17:11:33 | <Guest|62> | so i did notice that the cabal.project file did not contain these packages |
| 17:11:51 | <geekosaur> | they wouldn't be there unless you were vendoring them |
| 17:12:01 | → | eraziel joins (~eraziel@modemcable169.17-58-74.mc.videotron.ca) |
| 17:12:07 | <geekosaur> | normally you'd get them from hackage |
| 17:12:41 | <Guest|62> | ahh ok! i think im too used to npm. This is the first Haskell project i've tried to build. Forgive my ignorance:( |
| 17:13:04 | <dmj`> | Guest|62: can you paste your cabal file |
| 17:13:12 | <eraziel> | is it possible to define nested subcommands with optparse-applicative ? |
| 17:13:16 | <sclv> | note that if you can build you don't really need to install -- you just build the binary and execute it directly from the path as given by `cabal list-bin` |
| 17:13:20 | <eraziel> | kinda like the aws cli is doing: aws eks update-kubeconfig --name clustername |
| 17:14:05 | <Guest|62> | dmj`: https://paste.tomsmeding.com/44ZE1Ayv |
| 17:14:24 | <dmj`> | eraziel: yes |
| 17:15:01 | <Guest|62> | sclv: ahh yeah i tried looking for where the bin was stored... i was seeing symlinks, and i couldnt run it |
| 17:15:01 | <eraziel> | do you have an example somewhere ? I can't find anything, I think I might be searching the wrong terms |
| 17:15:28 | <dmj`> | Guest|62: is that your cabal.project file? |
| 17:15:45 | <Guest|62> | yessir dmj` |
| 17:15:55 | <sclv> | `cabal install` ignores the project file altogether, so it looks like that project, with all those pinned deps, wasn't written to be used with it at all -- just with build |
| 17:16:20 | → | jgeerds joins (~jgeerds@55d45f48.access.ecotel.net) |
| 17:16:29 | <Guest|62> | so `cabal lisk-bin` just gives me: |
| 17:16:29 | <Guest|62> | `cabal: One target is required, none provided` |
| 17:16:57 | × | fantasia quits (~fi@197.244.205.32) (K-Lined) |
| 17:17:28 | <dmj`> | Guest|62: can you paste your cabal file |
| 17:17:36 | <dmj`> | not the cabal.project one, but like the real one |
| 17:17:53 | <geekosaur> | eraziel, looks to me you just use a `command` like you would a `strOption` or etc., nesting them as needed |
| 17:18:31 | <Guest|62> | dmj`: ok my bad. I think this is the one you are referring? |
| 17:18:32 | <Guest|62> | https://github.com/kadena-io/chainweb-node/blob/master/chainweb.cabal |
| 17:18:46 | <Guest|62> | So im trying to build this `chainweb-node` crypto project called Kadena |
| 17:20:08 | <dmj`> | Guest|62: nix build |
| 17:20:27 | <maerwald[m]> | tapas: maybe can help ^ |
| 17:20:38 | × | arjun quits (~arjun@user/arjun) (Remote host closed the connection) |
| 17:21:56 | <eraziel> | geekosaur: `command`'s signature is `String -> ParserInfo a -> Mod CommandFields a`, I don't think you can nest those |
| 17:22:03 | <tapas> | In order, the following will be built (use -v for more details): |
| 17:22:03 | <tapas> | - chainweb-2.14 (lib:chainweb, exe:chainweb-node, exe:cwtool, test:chainweb-tests, bench:bench) (additional components to build) |
| 17:22:11 | <tapas> | confused as to why `list-bin` just can't handle this |
| 17:22:44 | <sclv> | it doesn't list all the bins -- you just need to pass it the target |
| 17:23:11 | <sclv> | arguably we could change it so it does list all the bins, :-) |
| 17:23:51 | <tapas> | but there's only 1 target |
| 17:23:54 | <tapas> | lmao |
| 17:24:01 | <tapas> | it's one project |
| 17:24:02 | <tapas> | 2 bins |
| 17:24:14 | <eraziel> | ahh nvm I got it, duh |
| 17:24:18 | <geekosaur> | eraziel, that is why you use it with `subparser` |
| 17:24:53 | <sclv> | the target is a specific binary -- there's four here. two executable stanzas plus a bench and a test |
| 17:25:14 | <sclv> | Guest|62: so `cabal list-bin exe:chainweb-node` or the like will probably work |
| 17:25:33 | <Guest|62> | hmmm `cabal: No or multiple targets given` |
| 17:26:24 | <tapas> | https://www.irccloud.com/pastebin/ebtRAgN2/ |
| 17:26:32 | <tapas> | this is so counterintuitive -.-' |
| 17:29:40 | × | JannisO quits (~JannisO@89.233.88.60) (Remote host closed the connection) |
| 17:29:57 | → | JannisO joins (~JannisO@89.233.88.60) |
| 17:31:37 | × | JannisO quits (~JannisO@89.233.88.60) (Remote host closed the connection) |
| 17:31:54 | → | JannisO joins (~JannisO@89.233.88.60) |
| 17:32:06 | × | hpc quits (~juzz@ip98-169-35-13.dc.dc.cox.net) (Ping timeout: 250 seconds) |
| 17:33:54 | → | hpc joins (~juzz@ip98-169-35-13.dc.dc.cox.net) |
| 17:37:59 | <dmj`> | Guest|62: the nix scripts are probably more maintained than the cabal build. The reason the cabal build is failing is most likely due to a pinned nixpkgs that is a little older |
| 17:38:21 | <dmj`> | and cabal's resolver is having a hard time reconciling tht |
| 17:40:53 | <Guest|62> | I can give it a go. I've avoided it because when i go to `our wiki` it brings me to the pact project... I sort of assumed I would just be building pact. |
| 17:44:53 | → | Guest46 joins (~Guest46@mv-213-141-53-146.telecable.es) |
| 17:45:43 | → | anon15041149 joins (~anon15041@host-80-41-95-245.as13285.net) |
| 17:50:06 | × | anon15041149 quits (~anon15041@host-80-41-95-245.as13285.net) (Ping timeout: 252 seconds) |
| 17:50:44 | <Guest|62> | lol just installing nix is proving to be a pain ;( |
| 17:51:31 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 258 seconds) |
| 17:51:46 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 17:52:04 | <Guest|62> | first wont let me install it as root, i create a user, su newuser, rerun multiuser install script, error with: |
| 17:52:05 | <Guest|62> | `/tmp/nix-binary-tarball-unpack.yOzs0Bxsfs/unpack/nix-2.8.1-aarch64-linux/install-multi-user: line 319: sudo: command not found` |
| 17:55:26 | × | JannisO quits (~JannisO@89.233.88.60) (Remote host closed the connection) |
| 17:55:43 | → | JannisO joins (~JannisO@89.233.88.60) |
| 17:55:51 | <maerwald> | yeah, good luck |
| 17:56:29 | <dmj`> | Guest|62: did you use the instructions? |
| 17:56:34 | <dmj`> | Guest|62: sh <(curl -L https://nixos.org/nix/install) --daemon |
| 17:57:35 | <Guest|62> | yep I walk through that interactive installer |
| 17:58:01 | <Guest|62> | https://paste.tomsmeding.com/hl7c5VGy |
| 17:58:20 | <Guest|62> | Starting to feel like I was destined to be a construction worker or something '=( |
| 17:58:50 | × | mncheckm quits (~mncheck@193.224.205.254) (Ping timeout: 255 seconds) |
| 18:00:11 | <int-e> | sudo: command not found <-- yeah, should not blindly assume that sudo is installed |
| 18:00:25 | <dmj`> | Guest|62: what distro are you on |
| 18:00:41 | <geekosaur> | or that it's in /usr/bin |
| 18:00:57 | <dminuoso> | λ ~/ which sudo #=> /run/wrappers/bin/sudo |
| 18:01:22 | <Guest|62> | int-e: docker base image is ubuntu:20.04 |
| 18:01:32 | <dminuoso> | Using nix inside a docker container. |
| 18:01:34 | <dminuoso> | Heh. |
| 18:01:46 | <geekosaur> | 20.04 should have it in /usr/bin |
| 18:01:52 | <maerwald> | Guest|62: at least it's honest work |
| 18:01:52 | <int-e> | yeah I'd want nix isolated from where it can do real harm as well |
| 18:01:54 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 18:02:15 | <int-e> | (that may be unfair. nix is an alien beast to me.) |
| 18:02:16 | <dminuoso> | int-e: funny, Im using nix precisely to avoid said harm. |
| 18:02:37 | stoned | is now known as Hash |
| 18:02:51 | <maerwald> | that *is* funny indeed :D |
| 18:03:09 | <Guest|62> | I should have probably mentioned that this stuff is far beyond my level of expertise (if that wasnt obvious enough) im just a lowly node.js engineer. |
| 18:03:15 | <exarkun> | using nix can definitely harm your tolerance for the way imperative, side-effect-y linux distributions work |
| 18:03:33 | <dminuoso> | exarkun: But only once you have crossed a certain threshold. |
| 18:03:41 | <dminuoso> | The point-of-no-return on the blackhole that nix is. |
| 18:03:45 | <maerwald> | Guest|62: I'm a trained brick layer. Nothing wrong with going back to construction if your health permits :p |
| 18:03:53 | <exarkun> | dminuoso: I guess this is known as "dose response". |
| 18:04:09 | <Guest|62> | maerwald: :') |
| 18:05:22 | <int-e> | geekosaur: tbf, it's not assuming anything about sudo's location: https://github.com/NixOS/nix/blob/master/scripts/install-multi-user.sh#L92 |
| 18:06:09 | <dminuoso> | exarkun: I think its a similar thing to kubernetes which is probably great technology that addresses a particular set of problems well. But it requires years of building up expertise on something that is almost, but not quite, entirely unlike traditional linux. |
| 18:06:18 | <maerwald> | exarkun: using nix harms my tolerance of ergonomic package managers and configuration languages. |
| 18:06:42 | <exarkun> | dminuoso: it may well be |
| 18:06:50 | <int-e> | But there may not be a sudo at all (as is the case here). It's a frequent guest on CVE (though tbf it seems to be /mostly/ misconfigurations): https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=sudo |
| 18:06:53 | exarkun | contains the k8s rant |
| 18:06:57 | × | vysn quits (~vysn@user/vysn) (Ping timeout: 260 seconds) |
| 18:07:31 | <dminuoso> | Every technology has their zealot defenders. :) |
| 18:08:13 | <dmj`> | Guest|62: are you using a nixos image? If so, you can avoid the installation step |
| 18:08:37 | <dminuoso> | maerwald: Ive come to the point that what I really care about is not nix-the-package-manager, but nixos. |
| 18:08:45 | <Guest|62> | dmj`: maybe that's the answer... Im using an ubuntu:20.04 image |
| 18:08:51 | <dminuoso> | And nixos has quite decent ergonomics for the most part |
| 18:09:05 | <maerwald> | uhm |
| 18:09:05 | <exarkun> | yea if you're going to use nix and docker, you may as well start with a nix-friendly docker image. |
| 18:09:08 | <dmj`> | Guest|62: https://hub.docker.com/r/nixos/nix |
| 18:09:35 | <int-e> | that's the first time I hear about nixos having decent ergonomics |
| 18:09:56 | <maerwald> | I've tried NixOS 4 times over the years. It was always awful. Sure, you can invest enough time in anything, but that's just sunk cost fallacy. |
| 18:10:05 | <exarkun> | it depends on what you mean by "ergonomics". |
| 18:10:17 | <exarkun> | It does some stuff extremely well. |
| 18:10:22 | <exarkun> | It does some stuff extremely poorly. |
| 18:10:24 | <int-e> | I think it's more about "decent". |
| 18:10:28 | <dminuoso> | At work we maintain an infrastructure of several hundred servers and VMs. |
| 18:10:38 | <maerwald> | it solves a difficult niche use case, but provides the worst possible ergonomics in the process |
| 18:10:39 | <Guest|62> | So the ultimate goal here for me, is to build the Kadena node from souce in a docker image, do any necessary configuration, and run the beast within the (same?) container. This is the standard procedure at the company I'm at. |
| 18:10:47 | <exarkun> | maerwald: The worst possible, you say? :) |
| 18:10:51 | <int-e> | I'm not in enough pain with the current situation to even be tempted to try nixos. |
| 18:10:53 | <dminuoso> | Managing all their lifetime well has been easiest with nixos by far. |
| 18:11:22 | <int-e> | Probably not doing enough serious software development. |
| 18:11:33 | <maerwald> | exarkun: yes... I've removed nix managed infrastructure before and replaced it with something simpler. Turns out the only reason it was put in place was because the former devops was a nix fanboy, but the business had zero use for it. |
| 18:11:48 | <exarkun> | maerwald: That seems orthogonal. |
| 18:11:59 | <exarkun> | I was mostly poking fun because I can think of several trivial ways to make nix worse. |
| 18:12:44 | <exarkun> | Anyway, sure, it's bad at many things and not the right tool for all problems. As usual. |
| 18:12:53 | <exarkun> | And it would have been better if it had used Haskell instead of inventing its own language. :) |
| 18:13:03 | <int-e> | And yeah, docker was mentioned... we have ways to isolate software installations for different tasks, why do we need to put them all into the same environment (fs etc)? |
| 18:13:17 | <dminuoso> | With nixos to manage the lifecycle of many servers means we can trivially roll out system updates, roll them back, rebuild machines identical in behavior, nuking a server and rebuilding it always gives us the same configuration state back. |
| 18:13:29 | <exarkun> | int-e: The premise of that question, I think, is that Docker comes with no drawbacks. |
| 18:13:43 | <exarkun> | int-e: But of course this isn't true - so it comes down to deciding which trade-offs make sense in a certain circumstance. |
| 18:13:47 | <int-e> | exarkun: Nah, it has its own drawbacks as well. |
| 18:13:50 | <maerwald> | dminuoso: that's not even the main advantage or use case of nix |
| 18:14:00 | <int-e> | I just don't see what would need to happen for nix to actually win. |
| 18:14:01 | <dminuoso> | maerwald: Like I said. For us it is. |
| 18:14:16 | <exarkun> | int-e: What does "win" mean? |
| 18:14:16 | <dminuoso> | A determinstic way to describe and manage our infrastructure. |
| 18:14:30 | <maerwald> | the main advantage is that you can share configuration across *different environments* and see similar results. If you control the environment anyway... it's rather pointless |
| 18:14:34 | <int-e> | exarkun: having a better balance of benefits vs. drawbacks |
| 18:14:56 | <int-e> | note, familiarity is likely to be a factor there. |
| 18:15:04 | <int-e> | I'm not familiar at all. |
| 18:15:43 | <int-e> | heterogeneous environments... noted |
| 18:15:46 | <exarkun> | I don't think there are a lot of universally "better" balances. We solve a very diverse set of problems with software. The same tool is not going to be right for all of them. |
| 18:16:08 | → | slack1256 joins (~slack1256@191.125.227.88) |
| 18:16:46 | <exarkun> | maerwald: Did you build a simpler functional Linux management tool, or is the simpler Nix replacement you mentioned above something like "Debian running Docker"? |
| 18:17:15 | <maerwald> | exarkun: what do you mean with "functional Linux management tool"? |
| 18:17:21 | <dminuoso> | maerwald: If you control the environment meaning what exactly? That you have a genie in a bottle that magically addresses all your lifecycle management problems? Can you easily orchestrate a system update across a hundred servers? Roll them back if need be? Rebuild them after a disaster scenario exactly to spec? What about auditors? |
| 18:17:31 | <exarkun> | maerwald: Just trying to imagine what your Nix replacement was |
| 18:17:53 | <exarkun> | maerwald: Do you have a Haskell DSL for configuring a Linux system? That would be neat. |
| 18:17:57 | <maerwald> | terraform + propellor |
| 18:18:05 | <exarkun> | Ah right Propeller, was trying to remember that name |
| 18:18:14 | → | gurkenglas joins (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de) |
| 18:18:15 | <unit73e> | It's possible to have a simple package manager that fits all but who's going to spend time with that? I just use arch |
| 18:18:39 | <maerwald> | unit73e: let us know when they figured out how to package GHC correctly |
| 18:18:45 | <dminuoso> | Yeah we've looked very deeply at Puppet, which we can equate with Propellor in terms of what it does and how it does that. |
| 18:18:45 | <unit73e> | lol |
| 18:18:45 | <EvanR> | I want my IT infrastructure to automatically heal itself even if thanos punches a hole in it |
| 18:18:55 | <maerwald> | dminuoso: nah, puppet is more advanced |
| 18:18:59 | <maerwald> | I wouldn't recommend propellor |
| 18:19:12 | <unit73e> | cabal used to be much worse tbh |
| 18:19:15 | → | bahamas joins (~lucian@84.232.141.167) |
| 18:20:28 | <dminuoso> | The way nixos is beneficial for us probably doesnt apply to when you only have a few servers to manage. Unless you already have the expertise, the learning curve is *definitely* not worth it for that task. |
| 18:20:55 | <dminuoso> | We're at 40 servers right now but steadily increasing |
| 18:21:36 | <dmj`> | Nix, or something like it that guarantees reproducible builds based on a merkle tree hash scheme is the solution imo, for dep. mgmt at the very least. Now getting Nix / NixOps / NixOS to act more like kubernetes is the hard part. Nixops doesn't support rolling deploys ootb afaict. |
| 18:22:20 | <dminuoso> | Yeah, I mean when you get to that scale you're pretty much in k8s waters |
| 18:22:39 | <maerwald> | it's easier to hire for k8s devs |
| 18:23:01 | <maerwald> | and I don't want to do either of those ;) |
| 18:23:21 | <exarkun> | it's easier to hire golang devs too |
| 18:23:23 | → | seriously joins (~seriously@ool-18bd5811.dyn.optonline.net) |
| 18:23:25 | <exarkun> | let's all use golang |
| 18:23:26 | <dminuoso> | Nixos has the benefit that we still have linux VMs, which means the bunch of more traditional linux admins we have can still log into machines, interact with systemd, and do things. |
| 18:23:45 | × | frost quits (~frost@user/frost) (Quit: Client closed) |
| 18:23:55 | <dminuoso> | With k8s your average linux administrator wont be able to apply almost any of their experience |
| 18:23:58 | <maerwald> | exarkun: well... if you're talking from a *business* perspective, golang may indeed be a better choice |
| 18:24:15 | <exarkun> | maerwald: it's true, a lot of businesses go a long way churning out crappy software |
| 18:24:23 | <dminuoso> | Not everybody has the freedom to just fire their team and hire hipster k8s devs *shrugs* |
| 18:24:25 | <exarkun> | and a lot of really nice software dies in the dark with failed businesses |
| 18:24:36 | <maerwald> | but most programmers have a hard time to distinguish between "I like to use this tech" and "this tech is important for the business" |
| 18:25:09 | <exarkun> | but also it's nice not to be miserable all day long, which is what a lot of good programmers would be if using golang, even if it is good for the business |
| 18:25:28 | <exarkun> | and maybe having miserable programmers is actually bad for business sometimes |
| 18:25:36 | <maerwald> | yes, I don't want to do golang, but I might recommend it to someone doing a startup |
| 18:25:55 | → | danyisill joins (~danny@2a02:2149:8b7e:c000:514a:5a34:fc40:cdf3) |
| 18:26:24 | <maerwald> | if all they got is 50k and 6 months to impress investors... and you tell them to find a Haskell dev |
| 18:26:26 | <maerwald> | uhm yeah |
| 18:26:29 | <seriously> | hey guys... can someone help explain this to me? let's say im in the GHCi; 1. I declare x = 20 :: Integer 2. If I check the type of x, it is "Integer" (:type x) 3. declare x 15 = 30 4. If I check the type of x, its now "x:: (Eq a, Num a, Num p) => a -> p" |
| 18:26:46 | <exarkun> | I won't claim any insight into how to advise a shoe-string startup on their path to success |
| 18:26:58 | <slack1256> | seriously: You shadowed a variable. |
| 18:27:31 | <exarkun> | seriously: ie, ghci will let you replace the first x with a new, totally unrelated x |
| 18:28:05 | <slack1256> | In fact the second `x` instance is a function (with a single defined equation). |
| 18:28:11 | <dmj`> | dminuoso: even hipster k8s devs struggle w/ k8s ime |
| 18:28:28 | → | mokee joins (~mokee@37.228.215.170) |
| 18:28:32 | <dmj`> | have to go outside and take a smoke break while the cluster is down |
| 18:29:10 | × | eraziel quits (~eraziel@modemcable169.17-58-74.mc.videotron.ca) (Quit: Client closed) |
| 18:29:55 | <maerwald> | what's a hipster k8s dev |
| 18:30:04 | <seriously> | slack1256 How is "x 20" a function ? And how could I explain it in words? |
| 18:30:06 | <int-e> | seriously: There's a hidden complication here: x 15 = 30 desugars into something like x a | a == 15 = 30, so that's why in addition to Num a dna Num b (for making 15 and 30) you also get Eq a. |
| 18:30:37 | <int-e> | :t let x (15 :: Integer) = 30 :: Integer in x |
| 18:30:38 | <lambdabot> | Integer -> Integer |
| 18:31:09 | <int-e> | :t let x 15 = 30 :: Integer in x -- (somewhat mysterious) Eq again |
| 18:31:11 | <lambdabot> | (Eq a, Num a) => a -> Integer |
| 18:31:22 | <seriously> | int-e ok that clears it up then! |
| 18:31:35 | <slack1256> | > x 15 = 30 |
| 18:31:37 | <lambdabot> | <hint>:1:6: error: parse error on input ‘=’ |
| 18:31:41 | <slack1256> | > let x 15 = 30 |
| 18:31:43 | <lambdabot> | <no location info>: error: not an expression: ‘let x 15 = 30’ |
| 18:31:53 | <int-e> | lambdabot needs an expression |
| 18:31:53 | <geekosaur> | have to use @let |
| 18:31:55 | × | mvk quits (~mvk@2607:fea8:5ce3:8500::ba9a) (Quit: Going elsewhere) |
| 18:31:59 | <int-e> | or that... |
| 18:32:00 | <slack1256> | @let x 15 = 30 |
| 18:32:02 | <lambdabot> | Defined. |
| 18:32:06 | <slack1256> | > x 15 |
| 18:32:08 | <lambdabot> | error: |
| 18:32:08 | <lambdabot> | Ambiguous occurrence ‘x’ |
| 18:32:08 | <lambdabot> | It could refer to |
| 18:32:17 | <slack1256> | >.> |
| 18:32:17 | <geekosaur> | also beware of shadowing single character variables, as they belong to simple-reflect normally |
| 18:32:20 | <int-e> | @undef |
| 18:32:20 | <lambdabot> | Undefined. |
| 18:32:21 | → | coot joins (~coot@213.134.190.95) |
| 18:32:22 | <int-e> | :t x |
| 18:32:24 | <lambdabot> | Expr |
| 18:32:33 | <geekosaur> | > L.x 15 |
| 18:32:35 | <lambdabot> | error: Not in scope: ‘L.x’ |
| 18:32:38 | <int-e> | > map f [x, y, z] |
| 18:32:39 | <geekosaur> | oh, undef'd |
| 18:32:41 | <geekosaur> | rip |
| 18:32:42 | <lambdabot> | error: |
| 18:32:42 | <lambdabot> | • Ambiguous type variable ‘b0’ arising from a use of ‘show_M718660257584... |
| 18:32:42 | <lambdabot> | prevents the constraint ‘(Show b0)’ from being solved. |
| 18:32:46 | <int-e> | hah. |
| 18:32:52 | <int-e> | > map f [x, y, z] :: [Expr] |
| 18:32:54 | <lambdabot> | [f x,f y,f z] |
| 18:32:55 | → | mvk joins (~mvk@2607:fea8:5ce3:8500::ba9a) |
| 18:33:00 | <slack1256> | @let seriously_func 15 = 30 |
| 18:33:02 | <lambdabot> | Defined. |
| 18:33:07 | <slack1256> | > seriously_func 15 |
| 18:33:09 | <lambdabot> | 30 |
| 18:33:26 | <slack1256> | OK, but what if I pass to `seriously_func` the value 17 ? |
| 18:33:26 | <int-e> | > seriously_func 42 |
| 18:33:28 | <lambdabot> | *Exception: /tmp/mueval8-0.hs:152:1-22: Non-exhaustive patterns in function ... |
| 18:33:32 | <seriously> | Ultimately I was trying to understand this line of code (from the wai libraries): app :: Application |
| 18:33:32 | <seriously> | app _request respond = respond $ responseBuilder status200 [] "Hello!" |
| 18:33:47 | <slack1256> | As int-e showed, it is not defined. You are missing equations. |
| 18:34:25 | <int-e> | geekosaur: sorry, yeah L.x would've worked |
| 18:34:56 | <int-e> | But I wanted to show off the predefined x (from simple-reflect) |
| 18:36:59 | × | JannisO quits (~JannisO@89.233.88.60) (Remote host closed the connection) |
| 18:37:16 | → | JannisO joins (~JannisO@89.233.88.60) |
| 18:37:42 | × | mokee quits (~mokee@37.228.215.170) (Quit: off) |
| 18:37:48 | → | slac11991 joins (~slack1256@181.43.228.252) |
| 18:38:02 | → | mokee joins (~mokee@37.228.215.170) |
| 18:39:58 | × | mokee quits (~mokee@37.228.215.170) (Client Quit) |
| 18:40:22 | → | mokee joins (~mokee@37.228.215.170) |
| 18:40:27 | × | slack1256 quits (~slack1256@191.125.227.88) (Ping timeout: 276 seconds) |
| 18:43:19 | slac11991 | is now known as slack1256 |
| 18:45:46 | × | JannisO quits (~JannisO@89.233.88.60) (Remote host closed the connection) |
| 18:46:03 | → | JannisO joins (~JannisO@89.233.88.60) |
| 18:48:31 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 18:49:48 | → | anon15041149 joins (~anon15041@host-80-41-95-245.as13285.net) |
| 18:50:24 | → | Guest4365 joins (~Guest43@197.148.45.199) |
| 18:51:01 | × | zincy quits (~zincy@2a00:23c8:970c:4801:5ce3:174f:85c3:8411) (Remote host closed the connection) |
| 18:51:13 | <Guest|62> | trying to build chainweb-node in the nix docker image is proving to be another struggle: |
| 18:51:13 | <Guest|62> | `error: Package ‘sbv-8.14’ in /nix/store/fa7d7b3920mzvbk9ad2nv14gp6n4xpvl-source/pkgs/development/haskell-modules/hackage-packages.nix:226984 is not supported on ‘aarch64-linux’, refusing to evaluate.` |
| 18:52:03 | × | _ht quits (~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection) |
| 18:52:27 | → | hololeap joins (~quassel@user/hololeap) |
| 18:52:34 | × | noteness quits (~noteness@user/noteness) (Ping timeout: 240 seconds) |
| 18:54:16 | × | anon15041149 quits (~anon15041@host-80-41-95-245.as13285.net) (Ping timeout: 252 seconds) |
| 18:54:39 | → | noteness joins (~noteness@user/noteness) |
| 18:55:20 | <dmj`> | Guest|62: are you on an m1 mac? |
| 18:56:06 | <Guest|62> | yup |
| 18:56:08 | <dmj`> | Guest|62: what does your Dockerfile look like |
| 18:56:53 | <Guest|62> | So I just used `FROM nixos/nix` and ran that so i could sandbox |
| 18:58:33 | × | JannisO quits (~JannisO@89.233.88.60) (Remote host closed the connection) |
| 18:58:44 | <Guest|62> | but essentially, i just cloned the chainweb-node repo, cd into it, echo'ed these lines: |
| 18:58:45 | <Guest|62> | `substituters = https://nixcache.chainweb.com https://cache.nixos.org/` |
| 18:58:45 | <Guest|62> | `trusted-public-keys = nixcache.chainweb.com:FVN503ABX9F8x8K0ptnc99XEz5SaA4Sks6kNcZn2pBY= cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=` |
| 18:58:46 | <Guest|62> | into the `/etc/nix/nix.conf` file |
| 18:58:46 | <Guest|62> | then run `nix-build` from the root chainweb-node dir |
| 18:58:50 | → | JannisO joins (~JannisO@89.233.88.60) |
| 18:59:08 | <Guest|62> | following the nix build instructions here: https://github.com/kadena-io/pact/wiki/Building-Kadena-Projects#building-with-nix |
| 19:00:02 | × | jollygood2 quits (~bc8147f2@cerf.good1.com) (Quit: CGI:IRC (Session timeout)) |
| 19:00:19 | → | Guest84 joins (~Guest84@102.89.32.131) |
| 19:02:05 | <Guest84> | Hello |
| 19:02:16 | <Guest84> | I'm new here |
| 19:02:31 | × | Guest4365 quits (~Guest43@197.148.45.199) (Quit: Client closed) |
| 19:02:46 | <Hash> | change your nickname |
| 19:02:57 | <Guest84> | Oh okay |
| 19:02:59 | <Hash> | Get a permanent one |
| 19:03:05 | <Hash> | register with /nickserv |
| 19:03:11 | <Hash> | read the libera.chat irc website |
| 19:03:20 | <Hash> | good luck and welcome |
| 19:04:51 | <Guest84> | Thank you |
| 19:06:56 | × | JannisO quits (~JannisO@89.233.88.60) (Remote host closed the connection) |
| 19:07:02 | → | Demmy joins (~Demmy@102.89.32.131) |
| 19:07:13 | → | JannisO joins (~JannisO@89.233.88.60) |
| 19:07:56 | <Demmy> | How do I register |
| 19:08:13 | <geekosaur> | /msg nickserv help register |
| 19:08:53 | → | zincy joins (~zincy@2a00:23c8:970c:4801:5ce3:174f:85c3:8411) |
| 19:09:00 | <Demmy> | soory where exactly |
| 19:09:16 | <Demmy> | I just joined with no password |
| 19:09:39 | <geekosaur> | if you type that into your client, nickserv will tell you how to register your nickname and associate a password with it |
| 19:09:55 | <geekosaur> | (/msg sends a private message) |
| 19:12:10 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 244 seconds) |
| 19:12:16 | × | Guest84 quits (~Guest84@102.89.32.131) (Quit: Client closed) |
| 19:16:22 | × | CiaoSen quits (~Jura@p200300c95731a0002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 19:19:46 | × | JannisO quits (~JannisO@89.233.88.60) (Remote host closed the connection) |
| 19:20:03 | → | JannisO joins (~JannisO@89.233.88.60) |
| 19:21:47 | × | zeenk quits (~zeenk@2a02:2f04:a104:ef00:10:581:f80f:b980) (Quit: Konversation terminated!) |
| 19:23:36 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.4) |
| 19:25:35 | <[exa]> | Hash: I remember all guests by number tho |
| 19:26:12 | <Hash> | That can be useful |
| 19:28:16 | <[exa]> | Demmy: btw registering on irc is only required if you really care that others don't accidentally/malevolently use your nickname. Gives a tiny bit of authentication but not required at all. |
| 19:28:33 | × | jgeerds quits (~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 276 seconds) |
| 19:29:14 | <geekosaur> | I'd also say it's not necessary if all you're planning to do is ask a couple of questions and move on |
| 19:30:26 | <[exa]> | anyway -- does anyone have any experience with Hasura? I'm reading that it can do remote joins (aka graph federation), but can't find any benchmarks / performance guesses etc |
| 19:30:55 | <monochrom> | Please don't just ask a couple of questions and move on. Please get addicted like the rest of us. >:) |
| 19:31:06 | <geekosaur> | also you might prefer element (matrix) to IRC especially if you're using webchat |
| 19:31:16 | <geekosaur> | it provides all the modern bells and whistles |
| 19:32:04 | <geekosaur> | (I use element on my phone, but hexchat on my desktop because I'm an old coot :) |
| 19:32:12 | <[exa]> | [90yo unix guy voice:] today irc clients have whistles? |
| 19:33:38 | <[exa]> | re Hasura -- the main question is basically how much data I could throw to it (and try to connect through the federated queries) and expect it not to explode or so |
| 19:34:04 | × | mokee quits (~mokee@37.228.215.170) (Quit: off) |
| 19:34:56 | × | hololeap quits (~quassel@user/hololeap) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 19:35:56 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 19:38:54 | × | HotblackDesiato quits (~HotblackD@gateway/tor-sasl/hotblackdesiato) (Remote host closed the connection) |
| 19:39:12 | → | HotblackDesiato joins (~HotblackD@gateway/tor-sasl/hotblackdesiato) |
| 19:42:47 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 255 seconds) |
| 19:42:58 | → | hololeap joins (~quassel@user/hololeap) |
| 19:45:29 | → | dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net) |
| 19:45:58 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Client Quit) |
| 19:46:51 | → | dcleonarski joins (~user@2804:d51:479c:4300:c312:71c1:ee9b:86ea) |
| 19:47:56 | × | bahamas quits (~lucian@84.232.141.167) (Ping timeout: 246 seconds) |
| 19:50:12 | × | JannisO quits (~JannisO@89.233.88.60) (Remote host closed the connection) |
| 19:50:29 | → | JannisO joins (~JannisO@89.233.88.60) |
| 19:51:32 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:5051:4e02:b5d9:aa15) (Remote host closed the connection) |
| 19:52:58 | → | nate1 joins (~nate@98.45.169.16) |
| 19:57:30 | × | nate1 quits (~nate@98.45.169.16) (Ping timeout: 240 seconds) |
| 19:57:59 | <monochrom> | w00t 9.2.3 |
| 20:07:26 | × | JannisO quits (~JannisO@89.233.88.60) (Remote host closed the connection) |
| 20:07:43 | → | JannisO joins (~JannisO@89.233.88.60) |
| 20:07:48 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:5051:4e02:b5d9:aa15) |
| 20:08:07 | → | obabo joins (~obabo@563BF107.catv.pool.telekom.hu) |
| 20:09:22 | <unit73e> | element interface is just super ugly. the protocol is fine but can't make a decent interface? |
| 20:09:29 | <unit73e> | ugly hexchat looks better to me |
| 20:09:39 | <unit73e> | make I should make my own |
| 20:09:49 | <geekosaur> | glirc? |
| 20:11:41 | <unit73e> | what's glirc? granted I haven't search matrix clients that much |
| 20:11:55 | <geekosaur> | IRC client written in Haskell |
| 20:12:11 | <geekosaur> | @hackage glirc |
| 20:12:11 | <lambdabot> | https://hackage.haskell.org/package/glirc |
| 20:12:28 | <unit73e> | one of those console ones. I'll give it try, thanks. |
| 20:13:28 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Remote host closed the connection) |
| 20:14:49 | → | jgeerds joins (~jgeerds@55d45f48.access.ecotel.net) |
| 20:15:17 | → | king_gs1 joins (~Thunderbi@187.201.97.18) |
| 20:15:35 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 20:15:39 | × | king_gs quits (~Thunderbi@2806:103e:29:5eb8:48de:d3eb:9d44:3d55) (Ping timeout: 258 seconds) |
| 20:15:40 | king_gs1 | is now known as king_gs |
| 20:18:04 | × | JannisO quits (~JannisO@89.233.88.60) (Remote host closed the connection) |
| 20:18:12 | → | Polo joins (~textual@user/polo) |
| 20:18:21 | → | JannisO joins (~JannisO@89.233.88.60) |
| 20:18:36 | × | obabo quits (~obabo@563BF107.catv.pool.telekom.hu) (Ping timeout: 276 seconds) |
| 20:20:16 | × | JannisO quits (~JannisO@89.233.88.60) (Remote host closed the connection) |
| 20:20:32 | → | JannisO joins (~JannisO@89.233.88.60) |
| 20:24:21 | × | JannisO quits (~JannisO@89.233.88.60) (Remote host closed the connection) |
| 20:24:38 | → | JannisO joins (~JannisO@89.233.88.60) |
| 20:26:05 | × | king_gs quits (~Thunderbi@187.201.97.18) (Ping timeout: 246 seconds) |
| 20:28:20 | × | JannisO quits (~JannisO@89.233.88.60) (Remote host closed the connection) |
| 20:28:23 | → | anon15041149 joins (~anon15041@host-80-41-95-245.as13285.net) |
| 20:28:47 | → | JannisO joins (~JannisO@89.233.88.60) |
| 20:29:04 | × | zincy quits (~zincy@2a00:23c8:970c:4801:5ce3:174f:85c3:8411) (Remote host closed the connection) |
| 20:31:22 | × | danyisill quits (~danny@2a02:2149:8b7e:c000:514a:5a34:fc40:cdf3) (Remote host closed the connection) |
| 20:32:03 | × | Guest|62 quits (~Guest|62@c-71-205-105-44.hsd1.co.comcast.net) (Quit: Connection closed) |
| 20:32:18 | × | Polo quits (~textual@user/polo) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 20:32:32 | × | anon15041149 quits (~anon15041@host-80-41-95-245.as13285.net) (Ping timeout: 252 seconds) |
| 20:35:13 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Quit: Leaving) |
| 20:35:16 | → | Polo joins (~textual@pool-100-34-212-74.phlapa.fios.verizon.net) |
| 20:35:17 | Polo | is now known as Guest7798 |
| 20:35:19 | → | king_gs joins (~Thunderbi@2806:103e:29:5eb8:48de:d3eb:9d44:3d55) |
| 20:36:21 | × | Guest7798 quits (~textual@pool-100-34-212-74.phlapa.fios.verizon.net) (Changing host) |
| 20:36:21 | → | Guest7798 joins (~textual@user/polo) |
| 20:38:13 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 20:39:44 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 246 seconds) |
| 20:40:03 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 20:40:14 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Client Quit) |
| 20:43:28 | → | yosef``` joins (~user@2409:8a55:e21b:5cf0:58b9:4cff:fea0:d9) |
| 20:43:42 | × | Demmy quits (~Demmy@102.89.32.131) (Quit: Client closed) |
| 20:45:04 | × | yosef`` quits (~user@user/yosef/x-3154124) (Ping timeout: 272 seconds) |
| 20:45:13 | × | Guest7798 quits (~textual@user/polo) (Read error: Connection reset by peer) |
| 20:46:35 | → | Guest5803 joins (~textual@user/polo) |
| 20:47:36 | → | nate1 joins (~nate@98.45.169.16) |
| 20:47:40 | Guest5803 | is now known as POLO |
| 20:53:24 | POLO | is now known as money |
| 20:54:54 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 20:57:26 | → | Midjak joins (~Midjak@82.66.147.146) |
| 20:58:44 | → | vysn joins (~vysn@user/vysn) |
| 21:03:10 | × | JannisO quits (~JannisO@89.233.88.60) (Remote host closed the connection) |
| 21:03:27 | → | JannisO joins (~JannisO@89.233.88.60) |
| 21:05:07 | × | JannisO quits (~JannisO@89.233.88.60) (Remote host closed the connection) |
| 21:05:21 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:5051:4e02:b5d9:aa15) (Remote host closed the connection) |
| 21:05:24 | → | JannisO joins (~JannisO@89.233.88.60) |
| 21:07:19 | × | JannisO quits (~JannisO@89.233.88.60) (Remote host closed the connection) |
| 21:07:28 | × | hueso quits (~root@user/hueso) (Read error: Connection reset by peer) |
| 21:07:35 | → | hueso_ joins (~root@user/hueso) |
| 21:07:37 | → | JannisO joins (~JannisO@89.233.88.60) |
| 21:09:17 | × | JannisO quits (~JannisO@89.233.88.60) (Remote host closed the connection) |
| 21:09:39 | → | JannisO joins (~JannisO@89.233.88.60) |
| 21:19:17 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 21:19:47 | × | slack1256 quits (~slack1256@181.43.228.252) (Ping timeout: 244 seconds) |
| 21:20:03 | × | Guest46 quits (~Guest46@mv-213-141-53-146.telecable.es) (Quit: Client closed) |
| 21:21:09 | → | Demmy joins (~Demmy@102.89.33.153) |
| 21:21:20 | × | vysn quits (~vysn@user/vysn) (Ping timeout: 255 seconds) |
| 21:24:26 | × | JannisO quits (~JannisO@89.233.88.60) (Remote host closed the connection) |
| 21:24:26 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 21:24:43 | → | JannisO joins (~JannisO@89.233.88.60) |
| 21:28:28 | × | JannisO quits (~JannisO@89.233.88.60) (Remote host closed the connection) |
| 21:28:50 | → | JannisO joins (~JannisO@89.233.88.60) |
| 21:30:30 | × | JannisO quits (~JannisO@89.233.88.60) (Remote host closed the connection) |
| 21:30:47 | → | JannisO joins (~JannisO@89.233.88.60) |
| 21:32:27 | × | JannisO quits (~JannisO@89.233.88.60) (Remote host closed the connection) |
| 21:32:44 | → | JannisO joins (~JannisO@89.233.88.60) |
| 21:32:56 | × | martin02 quits (~silas@141.84.69.76) (Ping timeout: 246 seconds) |
| 21:33:14 | × | coot quits (~coot@213.134.190.95) (Quit: coot) |
| 21:36:04 | × | michalz quits (~michalz@185.246.204.119) (Remote host closed the connection) |
| 21:38:43 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 21:38:56 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 21:40:56 | × | JannisO quits (~JannisO@89.233.88.60) (Remote host closed the connection) |
| 21:41:13 | → | JannisO joins (~JannisO@89.233.88.60) |
| 21:41:37 | × | dcleonarski quits (~user@2804:d51:479c:4300:c312:71c1:ee9b:86ea) (Ping timeout: 260 seconds) |
| 21:43:17 | × | JannisO quits (~JannisO@89.233.88.60) (Remote host closed the connection) |
| 21:43:34 | → | JannisO joins (~JannisO@89.233.88.60) |
| 21:45:14 | × | JannisO quits (~JannisO@89.233.88.60) (Remote host closed the connection) |
| 21:45:31 | → | JannisO joins (~JannisO@89.233.88.60) |
| 21:46:15 | → | martin02 joins (~silas@141.84.69.76) |
| 21:47:02 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 21:48:27 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 21:48:28 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 21:48:28 | → | wroathe joins (~wroathe@user/wroathe) |
| 21:48:43 | × | nate1 quits (~nate@98.45.169.16) (Ping timeout: 244 seconds) |
| 21:48:56 | → | dcoutts_ joins (~duncan@host109-149-15-56.range109-149.btcentralplus.com) |
| 21:51:34 | × | JannisO quits (~JannisO@89.233.88.60) (Remote host closed the connection) |
| 21:51:51 | → | JannisO joins (~JannisO@89.233.88.60) |
| 21:52:52 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 21:55:53 | → | anon15041149 joins (~anon15041@host-80-41-95-245.as13285.net) |
| 21:56:41 | → | zwro[m] joins (~zwromatri@2001:470:69fc:105::1d4) |
| 21:57:53 | × | anon15041149 quits (~anon15041@host-80-41-95-245.as13285.net) (Remote host closed the connection) |
| 21:58:09 | → | anon15041149 joins (~anon15041@host-80-41-95-245.as13285.net) |
| 21:59:00 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 21:59:49 | → | littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 22:00:56 | × | money quits (~textual@user/polo) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 22:02:22 | × | anon15041149 quits (~anon15041@host-80-41-95-245.as13285.net) (Ping timeout: 252 seconds) |
| 22:04:04 | × | littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
| 22:04:25 | → | Guest5473 joins (~textual@pool-100-34-212-74.phlapa.fios.verizon.net) |
| 22:06:11 | × | christiansen quits (~christian@83-95-137-75-dynamic.dk.customer.tdc.net) (Ping timeout: 246 seconds) |
| 22:07:13 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 22:07:19 | × | king_gs quits (~Thunderbi@2806:103e:29:5eb8:48de:d3eb:9d44:3d55) (Quit: king_gs) |
| 22:08:03 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Quit: Leaving) |
| 22:13:12 | × | JannisO quits (~JannisO@89.233.88.60) (Remote host closed the connection) |
| 22:13:29 | → | JannisO joins (~JannisO@89.233.88.60) |
| 22:14:49 | → | kenaryn joins (~aurele@89-88-44-27.abo.bbox.fr) |
| 22:17:27 | × | aliosablack quits (~chomwitt@2a02:587:dc05:e000:904f:df51:bc87:e667) (Ping timeout: 240 seconds) |
| 22:18:33 | × | gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 22:19:45 | → | trisolaran joins (~ye@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 22:20:23 | <trisolaran> | does haskell memory management has the notions of heap or stack memory like in C ? |
| 22:21:05 | <trisolaran> | ghc seems to compile haskell down to C code |
| 22:21:48 | × | Demmy quits (~Demmy@102.89.33.153) (Ping timeout: 252 seconds) |
| 22:22:01 | × | dolio quits (~dolio@130.44.130.54) (Quit: ZNC 1.8.2 - https://znc.in) |
| 22:23:50 | → | dolio joins (~dolio@130.44.130.54) |
| 22:24:06 | × | Guest5473 quits (~textual@pool-100-34-212-74.phlapa.fios.verizon.net) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 22:25:44 | <unit73e> | trisolaran, that's not a C characteristic, it's more of a modern OS characteristic |
| 22:26:25 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 22:26:31 | <unit73e> | but haskell uses memory management similar to Java garbage collector, sort off |
| 22:26:47 | <geekosaur> | ghc hasn't compiled down to C in a decade or so |
| 22:26:47 | × | Vajb quits (~Vajb@2001:999:600:879a:e69c:7638:2849:8a14) (Read error: Connection reset by peer) |
| 22:26:58 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 22:27:25 | <unit73e> | I don't know how haskell does GC but most likely is using heap for almost everything |
| 22:27:45 | <hpc> | ghc has a heap and a stack, but the stack is used for evaluating thunks rather than actually being all the functions you've entered in order |
| 22:27:56 | <geekosaur> | stack is used only for pattern matching and for external C calls |
| 22:28:08 | <trisolaran> | unit73e: so do haskell programmers reason their programs in terms of heaps and stacks like c programmers? I know there's GCs, but still people need to be aware of memory management i suppose |
| 22:28:33 | <gentauro> | trisolaran: they do in terms of `spaceleaks` :P |
| 22:28:38 | <hpc> | haskell devs use equational reasoning |
| 22:28:43 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 22:28:52 | <hpc> | getting down to what the machine does only really comes into play when you have a performance issue |
| 22:29:05 | <darkling> | I don't know... right now, I seem to be using dumb luck. :) |
| 22:29:05 | <gentauro> | trisolaran: and when it all goes bad, they add a lot of ! everywhere xD |
| 22:29:07 | <hpc> | or maybe if you're doing some particularly finnicky thing with ffi |
| 22:30:12 | <unit73e> | I wouldn't say the reasoning is similar to C because in C you're a lot more concerned were to put your data (heap vs stack) and memory leaks, while in haskell you will be more concerned if the data is in general being used efficiently, so like Java |
| 22:30:26 | <trisolaran> | I'm encouraged to think low level even while programming in a high level language |
| 22:30:40 | <trisolaran> | that's why i'm curious |
| 22:31:05 | → | whatsupdoc joins (uid509081@id-509081.hampstead.irccloud.com) |
| 22:31:18 | <hpc> | nah, think as high level as you can imo |
| 22:31:24 | <unit73e> | yeah I agree |
| 22:31:29 | <hpc> | (maybe with most languages "as high as you can" is still low level, but still) |
| 22:31:46 | <unit73e> | why be high level if you still have think low level? |
| 22:31:50 | <unit73e> | makes no sense to me |
| 22:31:55 | × | ec quits (~ec@gateway/tor-sasl/ec) (Quit: ec) |
| 22:32:07 | <unit73e> | the GC is there so you don't have to bother with memory management, for the most part |
| 22:32:13 | <darkling> | Being able to go down to that level is occasionally (and I mean occasionally) useful, but the higher-level abstraction is there to be helpful to you in the general case. |
| 22:32:41 | <unit73e> | of course knowing how the GC works and if you have leaks is useful |
| 22:32:49 | <unit73e> | maybe your question is more how do you know that |
| 22:33:31 | <trisolaran> | right, i think knowing more about the GC will reassure my mind |
| 22:33:56 | <unit73e> | you're on the right track about that, knowing the GC is important, imo |
| 22:34:34 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 22:35:08 | <unit73e> | I'm not aware of an updated document about that though, the best I got is an article from 2008, and it's similar to Java parallel gc |
| 22:36:00 | → | Guest6629 joins (~textual@pool-100-34-212-74.phlapa.fios.verizon.net) |
| 22:36:14 | <unit73e> | so this: https://wiki.haskell.org/GHC/Memory_Management |
| 22:36:53 | <darkling> | I don't think I've ever cared about the GC in any GC-based language I've used (although I have rolled my eyes to heaven a few times with Java). |
| 22:37:37 | <trisolaran> | I've read some tutorial on the GHC runtime system by ezyang which is quite helpful |
| 22:37:42 | <darkling> | Knowing the semantics of function parameters and pointers/references is more useful. |
| 22:37:46 | <unit73e> | I had to care because some administrator "geniuses" thought they could do a better job in than the defaults in Java servers. In Haskell I never cared. |
| 22:38:35 | <unit73e> | I believe hp2ps is still the standard profilling tool for those things? |
| 22:39:48 | <unit73e> | or just that option I forgot in ghc |
| 22:39:52 | × | rodental quits (~rodental@38.146.5.222) (Remote host closed the connection) |
| 22:39:57 | × | Guest6629 quits (~textual@pool-100-34-212-74.phlapa.fios.verizon.net) (Changing host) |
| 22:39:57 | → | Guest6629 joins (~textual@user/polo) |
| 22:40:05 | → | rodental joins (~rodental@38.146.5.222) |
| 22:40:08 | × | m1dnight quits (~christoph@78-22-9-5.access.telenet.be) (Ping timeout: 246 seconds) |
| 22:40:14 | <unit73e> | basically the equivalent to jvisualvm |
| 22:40:43 | <EvanR> | ghc-viz is cool, not sure if you could use it for production code |
| 22:42:32 | → | m1dnight joins (~christoph@78-22-9-5.access.telenet.be) |
| 22:42:56 | × | simeon quits (~pi@dslb-088-069-178-224.088.069.pools.vodafone-ip.de) (Ping timeout: 246 seconds) |
| 22:43:03 | → | simeon joins (~pi@dslb-088-069-178-224.088.069.pools.vodafone-ip.de) |
| 22:45:03 | <geekosaur> | http://ezyang.com/jfp-ghc-rts-draft.pdf perhaps? |
| 22:48:13 | × | trisolaran quits (~ye@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 258 seconds) |
| 22:49:43 | × | rodental quits (~rodental@38.146.5.222) (Remote host closed the connection) |
| 22:49:56 | → | rodental joins (~rodental@38.146.5.222) |
| 22:50:02 | × | seriously quits (~seriously@ool-18bd5811.dyn.optonline.net) (Ping timeout: 252 seconds) |
| 22:50:25 | → | anon15041149 joins (~anon15041@host-80-41-95-245.as13285.net) |
| 22:52:15 | × | unit73e quits (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) (Remote host closed the connection) |
| 22:52:46 | × | dcoutts_ quits (~duncan@host109-149-15-56.range109-149.btcentralplus.com) (Ping timeout: 250 seconds) |
| 22:52:52 | × | JannisO quits (~JannisO@89.233.88.60) (Remote host closed the connection) |
| 22:52:58 | → | littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 22:53:00 | → | unit73e joins (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) |
| 22:54:10 | × | unit73e quits (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) (Remote host closed the connection) |
| 22:54:33 | <EvanR> | in C you're concerned with memory leaks (among other things), in haskell you're concerned with space leaks :thonk: |
| 22:54:35 | → | JannisO joins (~JannisO@89.233.88.60) |
| 22:54:37 | × | Unicorn_Princess quits (~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Read error: Connection reset by peer) |
| 22:54:48 | × | anon15041149 quits (~anon15041@host-80-41-95-245.as13285.net) (Ping timeout: 252 seconds) |
| 22:55:17 | <EvanR> | as the traveler said time, space, and thought are all different manifestations of the same thing |
| 22:55:24 | → | Unicorn_Princess joins (~Unicorn_P@93-103-228-248.dynamic.t-2.net) |
| 22:55:33 | → | stackdroid18 joins (14094@user/stackdroid) |
| 22:56:04 | → | unit73e joins (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) |
| 22:56:38 | <maerwald[m]> | heh |
| 22:57:34 | × | tired- quits (~tired@user/tired) (Quit: /) |
| 22:58:59 | → | tired joins (~tired@user/tired) |
| 23:00:49 | × | JannisO quits (~JannisO@89.233.88.60) (Remote host closed the connection) |
| 23:02:35 | Guest6629 | is now known as POLO |
| 23:05:46 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 23:08:23 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 23:14:41 | × | ix quits (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Read error: Connection reset by peer) |
| 23:14:51 | → | ix joins (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) |
| 23:15:22 | → | dcleonarski joins (~user@2804:d51:479c:4300:c312:71c1:ee9b:86ea) |
| 23:18:57 | → | zeenk joins (~zeenk@2a02:2f04:a104:ef00:10:581:f80f:b980) |
| 23:19:03 | × | zeenk quits (~zeenk@2a02:2f04:a104:ef00:10:581:f80f:b980) (Client Quit) |
| 23:20:36 | × | POLO quits (~textual@user/polo) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 23:21:00 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 23:24:39 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection) |
| 23:37:12 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 23:40:55 | → | Guest5485 joins (~textual@pool-100-34-212-74.phlapa.fios.verizon.net) |
| 23:41:24 | × | Guest5485 quits (~textual@pool-100-34-212-74.phlapa.fios.verizon.net) (Changing host) |
| 23:41:24 | → | Guest5485 joins (~textual@user/polo) |
| 23:43:39 | × | Guest5485 quits (~textual@user/polo) (Client Quit) |
| 23:43:55 | → | Guest5840 joins (~textual@pool-100-34-212-74.phlapa.fios.verizon.net) |
| 23:44:11 | × | Guest5840 quits (~textual@pool-100-34-212-74.phlapa.fios.verizon.net) (Client Quit) |
| 23:44:49 | → | Gambino joins (~Gambino@user/polo) |
| 23:45:44 | → | nate1 joins (~nate@98.45.169.16) |
| 23:46:47 | × | jgeerds quits (~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 240 seconds) |
| 23:50:30 | × | nate1 quits (~nate@98.45.169.16) (Ping timeout: 276 seconds) |
| 23:55:26 | × | foul_owl quits (~kerry@23.82.193.89) (Quit: WeeChat 2.3) |
| 23:56:04 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 23:59:44 | → | dfip^ joins (~dfip@173-160-91-30-atlanta.hfc.comcastbusiness.net) |
All times are in UTC on 2022-05-27.