Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→
Page 1 .. 404 405 406 407 408 409 410 411 412 413 414 .. 17996
1,799,598 events total
2021-06-11 19:39:18 × matijja quits (~matijja@193.77.181.201) (Client Quit)
2021-06-11 19:40:27 × haltux quits (~haltux@a89-154-181-47.cpe.netcabo.pt) (Ping timeout: 268 seconds)
2021-06-11 19:41:07 fluffyballoon joins (~fluffybal@2620:72:0:6480::10f7)
2021-06-11 19:44:08 matijja joins (~matijja@193.77.181.201)
2021-06-11 19:44:12 <DigitalKiwi> https://vallandingham.me/images/vis/birds_book_front.jpg
2021-06-11 19:44:58 <sm[m]> https://twitter.com/kmett/status/1403428202173796353
2021-06-11 19:45:06 Guest10 joins (~Guest10@201.219.236.40)
2021-06-11 19:45:25 <DigitalKiwi> no, wait, what xerox said is closer but i meant https://smile.amazon.com/Algorithm-Design-Haskell-Richard-Bird-ebook/dp/B08BKXJ1N3
2021-06-11 19:45:36 <edwardk> heya sm[m]. on the plus side i don't need to split my attention any more
2021-06-11 19:45:42 xsperry joins (~as@user/xsperry)
2021-06-11 19:45:52 <DigitalKiwi> what did you do to get k-line lol
2021-06-11 19:46:05 <edwardk> DigitalKiwi: fucked if i know
2021-06-11 19:46:11 <sm[m]> hooray edwardk , what a relief.
2021-06-11 19:46:48 <edwardk> sm[m]: i've been playing with it. it seems like they k-lined my username? but i can still connect with a wrong username and auth as me? wat?
2021-06-11 19:47:05 Guest50 joins (~Guest50@70.39.165.194)
2021-06-11 19:48:10 MoC joins (~moc@user/moc)
2021-06-11 19:48:28 × Guest10 quits (~Guest10@201.219.236.40) (Quit: Connection closed)
2021-06-11 19:48:42 <Guest50> What'd I miss?
2021-06-11 19:49:18 <psygo> DigitalKiwi, nice recommendation, thanks, but I guess that book is dealing more with the algorithmic side of things, right?
2021-06-11 19:50:21 MoC_ joins (~moc@user/moc)
2021-06-11 19:51:29 teaSlurper joins (~chris@81.96.113.213)
2021-06-11 19:51:55 NieDzejkob joins (~quassel@195.149.98.3)
2021-06-11 19:51:57 × Unode quits (~Unode@194.94.44.220) (Quit: Not that cable)
2021-06-11 19:52:58 Unode joins (~Unode@194.94.44.220)
2021-06-11 19:53:01 × MoC quits (~moc@user/moc) (Ping timeout: 244 seconds)
2021-06-11 19:53:06 Guest50 is now known as danm
2021-06-11 19:54:20 MoC_ is now known as MoC
2021-06-11 19:54:59 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-11 19:55:58 Guest10 joins (~Guest10@201.219.236.40)
2021-06-11 19:56:37 <DigitalKiwi> psygo: i haven't read it :D
2021-06-11 19:58:14 × Andros quits (~Andros@176.116.80.1) (Quit: Leaving)
2021-06-11 19:58:15 <psygo> Me neither. I just inferred that from the TOC.
2021-06-11 19:58:31 × ordinate quits (~ordinate@c-68-38-144-3.hsd1.in.comcast.net) (Read error: Connection reset by peer)
2021-06-11 19:58:42 × Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection)
2021-06-11 19:58:45 <edwardk> i can't tell if its worse that i got banned, or that i got incompetently banned.
2021-06-11 19:59:02 peterhil joins (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi)
2021-06-11 19:59:16 Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net)
2021-06-11 19:59:33 ozataman joins (~ozataman@71.190.112.58)
2021-06-11 20:00:10 wonko joins (~wjc@62.115.229.50)
2021-06-11 20:00:18 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2021-06-11 20:00:28 × danm quits (~Guest50@70.39.165.194) (Ping timeout: 250 seconds)
2021-06-11 20:03:22 safinaskar joins (~safinaska@109-252-90-89.nat.spd-mgts.ru)
2021-06-11 20:04:18 × Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 252 seconds)
2021-06-11 20:04:36 × ozataman quits (~ozataman@71.190.112.58) (Quit: Textual IRC Client: www.textualapp.com)
2021-06-11 20:04:55 ozataman joins (~ozataman@71.190.112.58)
2021-06-11 20:05:08 × juhp quits (~juhp@128.106.188.66) (Ping timeout: 264 seconds)
2021-06-11 20:05:18 <safinaskar> hi! as you probably remember i need parsing lib (preferably monadic) with unbiased choice and ability to do semantic error checking (i. e. "division by zero" or "undefined id") interleaved with parsing. i just now understand that such a lib will necessary be arrow-based, not monadic!
2021-06-11 20:05:25 tapas is now known as topos
2021-06-11 20:06:20 <safinaskar> so, now my question is: is there some lib for arrow parsing (CFG) with non-biased choice and ability to do semantic checking while parsing?
2021-06-11 20:07:12 juhp joins (~juhp@128.106.188.66)
2021-06-11 20:09:04 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-06-11 20:12:11 Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net)
2021-06-11 20:12:18 × dhil quits (~dhil@195.213.192.47) (Ping timeout: 264 seconds)
2021-06-11 20:15:23 × chomwitt quits (~Pitsikoko@2a02:587:dc02:b00:98b0:cd42:bd6f:8295) (Ping timeout: 252 seconds)
2021-06-11 20:22:23 × neceve quits (~quassel@2a02:c7f:607e:d600:a95a:ecd2:e57a:3130) (Ping timeout: 268 seconds)
2021-06-11 20:23:27 × teaSlurper quits (~chris@81.96.113.213) (Remote host closed the connection)
2021-06-11 20:24:31 × econo quits (uid147250@user/econo) ()
2021-06-11 20:25:30 <dminuoso> safinaskar: As it has been pointed out earlier, it's probably a bad idea to do semantic checking during parsing. What's wrong with just doing a separate pass?
2021-06-11 20:25:44 dhil joins (~dhil@80.208.56.181)
2021-06-11 20:26:18 <safinaskar> dminuoso: this would mean i need to construct full ast
2021-06-11 20:26:25 <safinaskar> i don't want this
2021-06-11 20:26:51 × peterhil quits (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 252 seconds)
2021-06-11 20:27:08 × psygo quits (~philippe@201-95-112-120.dsl.telesp.net.br) (Quit: leaving)
2021-06-11 20:27:09 <safinaskar> well, i want to write proof checker. its whole purpose is to *check* input. so, if there is no (semantic) errors, it will output nothing
2021-06-11 20:27:35 econo joins (uid147250@user/econo)
2021-06-11 20:28:13 <dminuoso> I could come up with a number of reasons why separating parsing from operations on the parsed data is a good idea, but you seem to have made up your mind. *shrugs*
2021-06-11 20:28:19 teaSlurper joins (~chris@81.96.113.213)
2021-06-11 20:29:01 <safinaskar> also i still want some parser lib for throw-away cases, where i simply want to write some one-off haskell program
2021-06-11 20:29:17 <safinaskar> parsec will not go for such cases, because it has no non-biased choice
2021-06-11 20:30:07 <dminuoso> Out of curiosity, why do you insist on having non-biased choice?
2021-06-11 20:31:12 × wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-06-11 20:31:13 dminuoso idly wonders, couldn't you use megaparsec's ParsecT over Logic?
2021-06-11 20:31:29 × Guest10 quits (~Guest10@201.219.236.40) (Quit: Connection closed)
2021-06-11 20:32:32 <safinaskar> dminuoso: biased choice means that we have PEG semantics. unbiased choice means CFG semantics. i love CFG, no PEG. why? well, first, because of duck principle: i learned CFG first. second, most programming languages specified using CFG, not PEG
2021-06-11 20:32:57 × teaSlurper quits (~chris@81.96.113.213) (Ping timeout: 265 seconds)
2021-06-11 20:33:12 <safinaskar> also, i used bison a lot (with c++), it is based on CFG
2021-06-11 20:33:24 <safinaskar> i simply love CFG, it seems more natural for me
2021-06-11 20:33:50 <safinaskar> you don't have to think in which order to give productions
2021-06-11 20:34:08 <safinaskar> finally, there was one serious indecent
2021-06-11 20:34:54 <dminuoso> So yeah, why not use ParsecT+LogicT?
2021-06-11 20:36:20 <safinaskar> dminuoso: as well as i understand megaparsec uses biased choice
2021-06-11 20:36:22 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-06-11 20:36:57 <safinaskar> s/indecent/incident/
2021-06-11 20:37:29 <dminuoso> And LogicT gives you fair conjunction/disjunction.
2021-06-11 20:39:22 <safinaskar> so, incident. i wanted to parse text using this CFG: https://paste.debian.net/1200908/ . i simply translated this CFG to parsec code (despite parsec is based on PEG, not CFG) and happily wrote a lot of text and parsed it using this parsec-based parser. Then i suddenly discovered that this CFG is ambiguous! So, all this text was unreliable! Starting
2021-06-11 20:39:22 <safinaskar> from that moment i don't trust parsec anymore
2021-06-11 20:39:39 <safinaskar> dminuoso: well, your solution sounds interesting
2021-06-11 20:39:40 × azeem quits (~azeem@dynamic-adsl-78-13-238-239.clienti.tiscali.it) (Read error: Connection reset by peer)
2021-06-11 20:39:57 <safinaskar> dminuoso: you mean parsect over logict or vice versa?
2021-06-11 20:40:06 azeem joins (~azeem@dynamic-adsl-78-13-238-239.clienti.tiscali.it)
2021-06-11 20:40:56 <dminuoso> Mmm, not sure which way. `LogicT (ParsecT ...)` might have horrific performance. But hey, you wanted to have your cake and eat it too. Can't also demand it tastes very well.
2021-06-11 20:41:28 <dminuoso> But I think it should be `LogicT (ParsecT ...)`
2021-06-11 20:42:58 <safinaskar> dminuoso: but i just understand that unbiased choice with semantic checking is not possible with monads. it is possible with arrows only. i proved this. :) so that logict+parsect solution should not work
2021-06-11 20:43:07 <dminuoso> safinaskar: Oh also, you could just use happy/alex I guess. It's at least something you haven't listed yet it seems.
2021-06-11 20:43:19 <dminuoso> if you're happy with bison, it might suit you well
2021-06-11 20:44:27 <dminuoso> safinaskar: You proved this? We have LogicT as a monad transformer!
2021-06-11 20:44:38 haltux joins (~haltux@a89-154-181-47.cpe.netcabo.pt)
2021-06-11 20:45:08 <dminuoso> Perhaps Oleg et al are wrong then *shrugs* http://okmij.org/ftp/papers/LogicT.pdf
2021-06-11 20:48:27 hendursa1 joins (~weechat@user/hendursaga)
2021-06-11 20:48:48 <safinaskar> i want to implicitly have location info with every terminal and nonterminal (but on top level only! i. e. location info should not be stored deeply inside ast). as well as i understand, happy don't allow this. In happy i need to explicitly pass around location info. At least ghc's happy parser passes locations around explicitly

All times are in UTC.