Logs: liberachat/#haskell
| 2021-06-20 04:49:33 | <Axman6> | I remember there being some truck for recursive functions but it's not clear where to find it |
| 2021-06-20 04:50:12 | <Axman6> | trick* |
| 2021-06-20 04:52:03 | → | pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net) |
| 2021-06-20 04:56:54 | <glguy> | Axman6: you'll do something like: let f = memo \x -> ... stuff ... f z .... |
| 2021-06-20 04:57:44 | mnrmnaugh | is now known as ox- |
| 2021-06-20 04:58:51 | <Axman6> | so I currently have this: dlog' :: ElementModP -> Int |
| 2021-06-20 04:58:52 | <Axman6> | dlog' (ElementMod e0) = go 1 0 where go !x !n = if e0 == x then n else go ((x*g) `mod` p) (n+1) |
| 2021-06-20 04:59:40 | <Axman6> | I tried this: dlog''' (ElementMod e) = memoFix (\go (a,n) -> if a == e then n else go ((a*g) `mod` p, n+1)) (1,0) |
| 2021-06-20 04:59:59 | <Axman6> | but even calling the same thingexpression twice with that takes the same amount of time each time |
| 2021-06-20 05:00:37 | × | jackhill quits (~jackhill@kalessin.dragonsnail.net) (Remote host closed the connection) |
| 2021-06-20 05:01:29 | <Axman6> | wondering if I should try multiplying by g^-1 and counting backwards, so to speak |
| 2021-06-20 05:01:52 | → | ddellacosta joins (~ddellacos@86.106.121.100) |
| 2021-06-20 05:02:05 | → | wei2912 joins (~wei2912@112.199.250.21) |
| 2021-06-20 05:02:06 | × | favonia quits (~favonia@user/favonia) (Ping timeout: 264 seconds) |
| 2021-06-20 05:04:26 | → | favonia joins (~favonia@user/favonia) |
| 2021-06-20 05:04:44 | → | doyougnu joins (~user@c-73-25-202-122.hsd1.or.comcast.net) |
| 2021-06-20 05:05:49 | <glguy> | Axman6: what expression did you call twice? |
| 2021-06-20 05:06:07 | <Axman6> | dlog' (ElementMod (expFast g 4000000 p)) |
| 2021-06-20 05:06:11 | <glguy> | I mean you don't "call expressions" but what did you do |
| 2021-06-20 05:06:16 | × | ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 252 seconds) |
| 2021-06-20 05:06:31 | <glguy> | dlog' isn't being memorized |
| 2021-06-20 05:06:34 | <glguy> | memoized |
| 2021-06-20 05:06:46 | <glguy> | it just happens to be using memoization internally in its implementation |
| 2021-06-20 05:06:55 | <Axman6> | indeed |
| 2021-06-20 05:07:09 | <qrpnxz> | accumulating number epic-style IO edition: |
| 2021-06-20 05:07:11 | <qrpnxz> | newIORef 0 >>= \n -> foldMap (liftA2 (>>) (modifyIORef n . (+)) (putStrLn . show)) [1..144] >> readIORef n |
| 2021-06-20 05:07:25 | <qrpnxz> | yay! |
| 2021-06-20 05:08:04 | <qrpnxz> | i went full galaxy brain with that liftA2 (>>) |
| 2021-06-20 05:08:16 | <qrpnxz> | i'm thinking applicative! |
| 2021-06-20 05:09:52 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 2021-06-20 05:10:10 | → | sheepduck joins (~sheepduck@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com) |
| 2021-06-20 05:10:50 | × | chaosite quits (~chaosite@user/chaosite) (Ping timeout: 252 seconds) |
| 2021-06-20 05:12:02 | <Axman6> | I think I have something that's working... by using a slightly different algorithm |
| 2021-06-20 05:12:25 | <Axman6> | (and lots of RAM) |
| 2021-06-20 05:13:13 | × | sheepduck quits (~sheepduck@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com) (Remote host closed the connection) |
| 2021-06-20 05:13:26 | <Axman6> | hmm, ok, this is super slow... |
| 2021-06-20 05:13:50 | → | unyu joins (~pyon@user/pyon) |
| 2021-06-20 05:14:47 | <Axman6> | I'm trying dlogDown = memo $ \e -> if e == 1 then 0 else 1 + dlogDown ((e*g') `mod` p) (where g' = g^-1 so counting down instead of up, which avoids needing to pass around n... but probably makes a massive thunk) |
| 2021-06-20 05:15:38 | <Axman6> | ok, 35GB is too much... |
| 2021-06-20 05:19:03 | × | doyougnu quits (~user@c-73-25-202-122.hsd1.or.comcast.net) (Ping timeout: 265 seconds) |
| 2021-06-20 05:22:55 | <Axman6> | ok! I ended up sort of memoising it myself, but now have: if I have computed n, the lookup for n+1 is very fast |
| 2021-06-20 05:23:46 | × | favonia quits (~favonia@user/favonia) (Ping timeout: 268 seconds) |
| 2021-06-20 05:24:06 | → | favonia joins (~favonia@user/favonia) |
| 2021-06-20 05:24:14 | ox- | is now known as mnrmnaugh |
| 2021-06-20 05:24:17 | <Axman6> | glguy: https://gist.github.com/axman6/96475e7068f724f87db36a2a4e6c8758 |
| 2021-06-20 05:24:45 | × | Cajun quits (~Cajun@ip98-163-211-112.no.no.cox.net) (Quit: Client closed) |
| 2021-06-20 05:26:06 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 2021-06-20 05:27:48 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds) |
| 2021-06-20 05:30:54 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 2021-06-20 05:30:58 | × | elf_fortrez quits (~elf_fortr@adsl-64-237-239-58.prtc.net) (Ping timeout: 246 seconds) |
| 2021-06-20 05:32:10 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Quit: FinnElija) |
| 2021-06-20 05:32:33 | × | favonia quits (~favonia@user/favonia) (Ping timeout: 265 seconds) |
| 2021-06-20 05:32:58 | → | favonia joins (~favonia@user/favonia) |
| 2021-06-20 05:34:56 | → | chaosite joins (~chaosite@user/chaosite) |
| 2021-06-20 05:35:18 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 2021-06-20 05:35:28 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 258 seconds) |
| 2021-06-20 05:36:04 | → | ddellacosta joins (~ddellacos@86.106.121.100) |
| 2021-06-20 05:39:04 | × | teaSlurper quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 2021-06-20 05:39:24 | → | laguneucl joins (~Pitsikoko@2a02:587:dc0b:ff00:91aa:a5de:def3:b2bc) |
| 2021-06-20 05:40:27 | × | ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 258 seconds) |
| 2021-06-20 05:41:34 | → | sheepduck joins (~sheepduck@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com) |
| 2021-06-20 05:45:02 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-06-20 05:45:44 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 2021-06-20 05:47:58 | × | sheepduck quits (~sheepduck@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com) (Remote host closed the connection) |
| 2021-06-20 05:48:15 | → | Guest9 joins (~Guest9@103.250.145.119) |
| 2021-06-20 05:49:16 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds) |
| 2021-06-20 05:51:38 | × | favonia quits (~favonia@user/favonia) (Ping timeout: 244 seconds) |
| 2021-06-20 05:52:23 | → | favonia joins (~favonia@user/favonia) |
| 2021-06-20 05:59:27 | → | sheepduck joins (~sheepduck@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com) |
| 2021-06-20 06:00:19 | × | UpstreamSalmon quits (uid12077@id-12077.stonehaven.irccloud.com) (Quit: Connection closed for inactivity) |
| 2021-06-20 06:03:54 | × | sheepduck quits (~sheepduck@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com) (Remote host closed the connection) |
| 2021-06-20 06:04:18 | → | sheepduck joins (~sheepduck@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com) |
| 2021-06-20 06:04:52 | ← | texasmynsted parts (~texasmyns@99.96.221.112) (WeeChat 3.1) |
| 2021-06-20 06:08:34 | × | chexum quits (~chexum@gateway/tor-sasl/chexum) (Quit: -) |
| 2021-06-20 06:08:37 | <Rembane> | tomsmeding: A year ago the Pałka paper was the state of the art. I haven't really followed the field since then. What parts do you think are most ad hoc? |
| 2021-06-20 06:10:03 | <Guest9> | anyone uses spreadsheet? |
| 2021-06-20 06:10:09 | <Guest9> | or database? |
| 2021-06-20 06:10:38 | <Axman6> | I think most of us have probably used spreadsheets and databases at some point. maybe ask your question and we can help you? |
| 2021-06-20 06:10:52 | → | chexum joins (~chexum@gateway/tor-sasl/chexum) |
| 2021-06-20 06:13:12 | <Guest9> | i want to store data for 2 projects(A & B), data is not so big that it cant be visually impossible to see. around 20 columns -100 rows for each project. Out of 20 let us says 10+ columns are same across A & B. 5+ columns are slightly different (or can be derived from vice versa) & rest columns(~5) are completely different. |
| 2021-06-20 06:13:46 | <Guest9> | in this case, while entering data, i feel Master sheet containing both A & B project data is quite useful. |
| 2021-06-20 06:14:00 | → | Cajun joins (~Cajun@ip98-163-211-112.no.no.cox.net) |
| 2021-06-20 06:14:09 | <Axman6> | could a cnv be enough? |
| 2021-06-20 06:14:10 | <Guest9> | (instead of separating worksheet for A & B projects initially) |
| 2021-06-20 06:14:13 | <Axman6> | csv* |
| 2021-06-20 06:14:42 | <Guest9> | but when data is ready and i want to send to others, i need to separate them into each file/spreadsheet |
| 2021-06-20 06:14:46 | <Guest9> | so what is best way out? |
| 2021-06-20 06:14:52 | <Guest9> | the story doesnt end here. |
| 2021-06-20 06:15:15 | <Guest9> | when others suggest me some changes, sometimes it is better to work on master sheet |
| 2021-06-20 06:15:17 | → | ddellacosta joins (~ddellacos@86.106.121.100) |
| 2021-06-20 06:15:53 | <Guest9> | while sometimes (based on type of feedback/comments from others), it is better to work on master sheet so that i can have both project A & B in front of my eyes in a single page. |
| 2021-06-20 06:16:40 | <Guest9> | s/when others..../when others suggest me some changes, sometimes it is better to work on INDIVIDUAL sheet (INSTEAD OF MASTER) |
| 2021-06-20 06:17:17 | <Guest9> | am i making some sense? |
| 2021-06-20 06:17:35 | <Guest9> | Axman6 yes, csv is fine too. |
| 2021-06-20 06:18:02 | <Guest9> | but i dont know any csv editor, either i have seen google docs or office excel or at most libereoffice calc |
| 2021-06-20 06:18:32 | <Axman6> | is therer anything wrong with those? excel/libreoffice should be find for making edits to csvs |
| 2021-06-20 06:18:48 | <Guest9> | ok |
| 2021-06-20 06:19:36 | × | ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 252 seconds) |
| 2021-06-20 06:20:40 | → | Deide joins (~Deide@wire.desu.ga) |
| 2021-06-20 06:20:40 | × | Deide quits (~Deide@wire.desu.ga) (Changing host) |
All times are in UTC.