Logs: freenode/#haskell
| 2020-11-26 01:02:32 | <ski> | (and i wonder how to best represent stuff like "maximal munch". to a large extent, i think i'd prefer it, if `p' parses `s' and `q' parses `t' implies that `p * q' parses `s ++ t') |
| 2020-11-26 01:02:33 | × | erisco quits (~erisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 256 seconds) |
| 2020-11-26 01:03:37 | <monochrom> | Nondeterminism comes into the equation because it is a very good way of understanding any implementation strategy. |
| 2020-11-26 01:03:43 | <sarahzrf> | i like the earley library |
| 2020-11-26 01:04:28 | <monochrom> | CFG tools are mostly unsupportive of negative specification because set subtraction of two CFLs seldom give you a CFL. |
| 2020-11-26 01:04:55 | <monochrom> | Whereas RLs are closed under set subtraction, so regex tools are much happier with it. |
| 2020-11-26 01:05:43 | <monochrom> | and intersection too. CFLs not closed under intersection, RLs closed under intersection. |
| 2020-11-26 01:05:44 | × | erisco_ quits (~erisco@208.98.222.65) (Read error: Connection reset by peer) |
| 2020-11-26 01:05:51 | → | erisco joins (~erisco@d24-57-249-233.home.cgocable.net) |
| 2020-11-26 01:06:25 | → | conal joins (~conal@64.71.133.70) |
| 2020-11-26 01:06:49 | × | m0rphism quits (~m0rphism@HSI-KBW-095-208-098-207.hsi5.kabel-badenwuerttemberg.de) (Ping timeout: 264 seconds) |
| 2020-11-26 01:07:16 | <monochrom> | How to discover two CFLs that don't intersect to a CFL: |
| 2020-11-26 01:07:43 | <monochrom> | Always remember that the poster child non-CFL example is { a^n b^n c^n | n natural } |
| 2020-11-26 01:08:01 | hackage | network 3.1.2.1 - Low-level networking interface https://hackage.haskell.org/package/network-3.1.2.1 (KazuYamamoto) |
| 2020-11-26 01:08:05 | <monochrom> | So simply come up with two CFLs that intersect to that. This is within your reach. :) |
| 2020-11-26 01:10:50 | <koz_> | monochrom: Ah yes, that wonderful example that came up on my ToC assignment. |
| 2020-11-26 01:11:28 | <ski> | { aᵐ⋅bᵐ⋅cⁿ | m,n : ℕ } ∩ { aᵐ⋅bⁿ⋅cⁿ | m,n : ℕ } |
| 2020-11-26 01:11:29 | <ski> | ? |
| 2020-11-26 01:11:35 | <monochrom> | Yeah! |
| 2020-11-26 01:11:42 | <ski> | cool :) |
| 2020-11-26 01:11:53 | → | elliott__ joins (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) |
| 2020-11-26 01:12:13 | <monochrom> | Generally, if a language has to synchronize three things, you can bet it has a problem. |
| 2020-11-26 01:12:34 | <koz_> | And that's even before we get to the fact that nondeterminism actually adds power to CFGs (but not RLs). |
| 2020-11-26 01:12:43 | <monochrom> | Synchronizing just two things, we know how to CFG it, it's just another "matching parentheses". |
| 2020-11-26 01:13:03 | × | treotmnor quits (~treotmnor@218.73.97.199) (Quit: Leaving) |
| 2020-11-26 01:14:26 | × | xsarnik0 quits (xsarnik@gateway/shell/fi.muni.cz/x-rkntrcrlbmfefbac) (Quit: Ping timeout (120 seconds)) |
| 2020-11-26 01:15:07 | <koz_> | sarahzrf: Earley parsers are quite cool, because their asymptotics are tied directly to matrix multiplication. |
| 2020-11-26 01:15:25 | × | comerijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 2020-11-26 01:15:30 | <shachaf> | Hmm, is there some sort of dual-context-free that has intersection but not union? |
| 2020-11-26 01:15:57 | <shachaf> | Like there are NFAs and dual NFAs that make unions and intersections respectively easy. |
| 2020-11-26 01:16:16 | × | madog quits (~madog@163.ip-51-254-203.eu) (Ping timeout: 240 seconds) |
| 2020-11-26 01:16:39 | <koz_> | shachaf: You lose intersection closure _very_ quickly with most recognizers. |
| 2020-11-26 01:16:57 | <koz_> | (like, whichever way you increase expressive power tends to kill you) |
| 2020-11-26 01:17:27 | <shachaf> | Hmm, but maybe concatenation isn't supported either. |
| 2020-11-26 01:17:36 | <shachaf> | But I'm curious what this is like. |
| 2020-11-26 01:17:40 | <koz_> | So I doubt such a thing exists, or at least in any meaningful sense as a 'dual' to CFGs. |
| 2020-11-26 01:18:14 | → | madog joins (~madog@163.ip-51-254-203.eu) |
| 2020-11-26 01:19:45 | × | Fractalis quits (~Fractalis@c-174-54-165-158.hsd1.pa.comcast.net) (Ping timeout: 240 seconds) |
| 2020-11-26 01:20:33 | × | Nahra quits (~Nahra@unaffiliated/nahra) (Ping timeout: 260 seconds) |
| 2020-11-26 01:22:03 | × | FreeBirdLjj quits (~freebirdl@101.228.42.108) (Remote host closed the connection) |
| 2020-11-26 01:22:10 | → | Nahra joins (~Nahra@unaffiliated/nahra) |
| 2020-11-26 01:22:19 | × | jedws quits (~jedws@101.184.150.93) (Read error: Connection reset by peer) |
| 2020-11-26 01:23:38 | → | Jonkimi727406120 joins (~Jonkimi@113.87.161.66) |
| 2020-11-26 01:23:42 | → | hnOsmium0001 joins (uid453710@gateway/web/irccloud.com/x-kfwargodivspffqj) |
| 2020-11-26 01:24:16 | → | jedws joins (~jedws@101.184.150.93) |
| 2020-11-26 01:25:48 | × | cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 260 seconds) |
| 2020-11-26 01:26:48 | → | christo joins (~chris@81.96.113.213) |
| 2020-11-26 01:28:25 | × | matta quits (~user@24-113-169-116.wavecable.com) (Ping timeout: 264 seconds) |
| 2020-11-26 01:29:14 | ski | . o O ( <https://en.wikipedia.org/wiki/Categorial_grammar>,<https://en.wikipedia.org/wiki/Montague_grammar>,<https://en.wikipedia.org/wiki/Pregroup_gramm> ) |
| 2020-11-26 01:30:04 | × | Deide quits (~Deide@217.155.19.23) (Quit: Seeee yaaaa) |
| 2020-11-26 01:31:18 | × | christo quits (~chris@81.96.113.213) (Ping timeout: 256 seconds) |
| 2020-11-26 01:31:25 | × | jedws quits (~jedws@101.184.150.93) (Ping timeout: 264 seconds) |
| 2020-11-26 01:31:39 | <shachaf> | Instead of "dual NFA" I should say "existential NFA" for the normal kind and "universal NFA" for the weird dual kind. |
| 2020-11-26 01:32:45 | → | guest1126 joins (~user@49.5.6.87) |
| 2020-11-26 01:33:59 | × | justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Quit: WeeChat 2.9) |
| 2020-11-26 01:34:09 | <ski> | are there any adjunctions present, involving them ? |
| 2020-11-26 01:34:17 | → | justanotheruser joins (~justanoth@unaffiliated/justanotheruser) |
| 2020-11-26 01:36:00 | → | xsarnik0 joins (xsarnik@gateway/shell/fi.muni.cz/x-qqlqhiysrvqfxaju) |
| 2020-11-26 01:36:07 | → | Deide joins (~Deide@217.155.19.23) |
| 2020-11-26 01:37:14 | × | falafel_ quits (~falafel@2601:547:1303:b30:7811:313f:d0f3:f9f4) (Ping timeout: 264 seconds) |
| 2020-11-26 01:37:25 | × | Lord_of_Life_ quits (~Lord@46.217.220.129) (Ping timeout: 240 seconds) |
| 2020-11-26 01:37:27 | → | Lord_of_Life joins (~Lord@46.217.221.184) |
| 2020-11-26 01:39:11 | → | sand_dull joins (~theuser@c-73-149-95-105.hsd1.ct.comcast.net) |
| 2020-11-26 01:42:52 | → | Jajik joins (xchlup2@gateway/shell/fi.muni.cz/x-nixiositsvhijnwj) |
| 2020-11-26 01:45:45 | → | falafel_ joins (~falafel@2601:547:1303:b30:7811:313f:d0f3:f9f4) |
| 2020-11-26 01:46:24 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 2020-11-26 01:46:24 | × | thc202 quits (~thc202@unaffiliated/thc202) (Ping timeout: 240 seconds) |
| 2020-11-26 01:48:13 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds) |
| 2020-11-26 01:48:50 | → | jedws joins (~jedws@101.184.180.34) |
| 2020-11-26 01:49:14 | → | christo joins (~chris@81.96.113.213) |
| 2020-11-26 01:49:19 | → | Guest10117 joins (~vollenwei@4e69b241.skybroadband.com) |
| 2020-11-26 01:52:19 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2020-11-26 01:53:05 | × | jedws quits (~jedws@101.184.180.34) (Ping timeout: 240 seconds) |
| 2020-11-26 01:53:53 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
| 2020-11-26 01:54:16 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 2020-11-26 01:54:48 | × | Guest10117 quits (~vollenwei@4e69b241.skybroadband.com) (Ping timeout: 272 seconds) |
| 2020-11-26 01:57:58 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 2020-11-26 01:58:05 | × | sand_dull quits (~theuser@c-73-149-95-105.hsd1.ct.comcast.net) (Ping timeout: 256 seconds) |
| 2020-11-26 01:59:14 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 272 seconds) |
| 2020-11-26 02:01:54 | × | Jonkimi727406120 quits (~Jonkimi@113.87.161.66) (Ping timeout: 256 seconds) |
| 2020-11-26 02:04:05 | → | Jonkimi727406120 joins (~Jonkimi@113.87.161.66) |
| 2020-11-26 02:06:13 | × | Rudd0^ quits (~Rudd0@185.189.115.98) (Ping timeout: 264 seconds) |
| 2020-11-26 02:07:08 | × | cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving) |
| 2020-11-26 02:09:33 | × | Jeanne-Kamikaze quits (~Jeanne-Ka@66.115.189.157) (Ping timeout: 260 seconds) |
| 2020-11-26 02:11:17 | <koz_> | shachaf: Do you have a formal definition of these NFAs? |
| 2020-11-26 02:15:13 | <koz_> | Suppose I wanted to write a package that adds http://hackage.haskell.org/package/optics-core-0.3.0.1/docs/Optics-At-Core.html#t:Ixed definitions for, say, massiv arrays. However, the only way I can see to provide these instances is orphans, or asking massiv to cart around optics as a dep by integrating optics. Am I missing some third way? |
| 2020-11-26 02:16:11 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2020-11-26 02:16:46 | <monochrom> | asking optics to card around massiv :) |
| 2020-11-26 02:16:52 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 2020-11-26 02:16:57 | <koz_> | monochrom: _Fourth_ way, you pedant. :P |
| 2020-11-26 02:17:12 | <monochrom> | My view is that this is one of those times orphaning is desirable. |
| 2020-11-26 02:17:44 | <koz_> | monochrom: Yeah, I can't think of a way to do this without orphaning or newtypes. |
| 2020-11-26 02:17:51 | <koz_> | And newtypes would kinda defeat the whole exercise. |
| 2020-11-26 02:17:55 | → | ocamler joins (3263cbdb@50.99.203.219) |
| 2020-11-26 02:18:55 | <ocamler> | hello friends! I have a probably simple question, I have a function which is wraps the state monad: `solve :: [(Int, Int)] -> ST s [Int]` which is called from `main :: IO ()`, how can I get these types to match? |
| 2020-11-26 02:20:23 | <koz_> | ST s [Int] would need to be runST'd to get out the [Int]. |
| 2020-11-26 02:20:46 | <koz_> | (and state monad /= ST) |
| 2020-11-26 02:21:10 | <ocamler> | oh oops right, wow I never knew there is a runST, is that still considered pure? |
| 2020-11-26 02:21:18 | <monochrom> | yes |
| 2020-11-26 02:21:36 | <koz_> | ocamler: It's the effect describing (locally) mutable state. |
All times are in UTC.