←2020-02-21 2020-02-22 2020-02-23→ ↑2020 ↑all
00:18:01 -!- ArthurStrong has joined.
00:44:50 -!- longname has quit (Ping timeout: 240 seconds).
00:51:40 -!- longname has joined.
00:58:48 -!- xkapastel has joined.
01:18:48 -!- tromp has quit (Remote host closed the connection).
01:55:08 -!- oerjan has joined.
01:55:49 -!- tromp has joined.
02:00:31 -!- tromp has quit (Ping timeout: 272 seconds).
02:10:56 -!- imode has joined.
02:11:44 <oerjan> no pressure, schlock
02:14:19 -!- tromp has joined.
02:17:52 <oerjan> although i'm guessing the boloceade people maybe aren't going to be helpful, at least at that step
02:18:53 -!- tromp has quit (Ping timeout: 272 seconds).
02:21:55 <oerjan> <cpressey> Do you like zygohistomorphic prepromorphisms? <-- . o O ( did shachaf and cpressey swap nicks )
02:27:29 <oerjan> egelbot: 1 - 2 + 3
02:27:34 <egelbot> 2
02:27:46 <oerjan> ok that's right
02:27:55 <oerjan> egelbot: 10 * 10 / 2 * 2
02:27:59 <egelbot> 25
02:28:58 <oerjan> and that's dubious. although some people like it that way.
02:29:23 <oerjan> egelbot: 1 - 2 - 3
02:29:36 <egelbot> -4
02:31:24 <oerjan> it accidentally works to have addition have lower precedence than subtraction, because (a + b) - c = a + (b - c)
02:31:55 <oerjan> so that's probably what's happening
02:34:06 <oerjan> multiplication lower than division would also work in a true field, but i think rounding may break that solution here
02:34:14 <oerjan> egelbot: 10 / 3
02:34:25 <egelbot> 3
02:35:33 <oerjan> egelbot: 10 * (2 / 5)
02:35:33 <egelbot> 0
02:35:42 <oerjan> egelbot: 10 * 2 / 5
02:35:42 <egelbot> 4
02:40:47 -!- spruit11 has quit (Ping timeout: 265 seconds).
02:41:31 -!- spruit11 has joined.
02:43:26 <oerjan> @tell spruit11 ocaml has precedence decided by the first character, although it still manages to give * and / the same one afair.
02:43:27 <lambdabot> Consider it noted.
02:43:32 <oerjan> oh you returned
03:24:21 <spruit11> Oh year, sure. I could add it, it's 'just' adding a field to my operator table with explicit priority numbers.
03:24:35 <spruit11> I just don't think I should at this moment.
03:28:11 <oerjan> hm
03:29:11 <oerjan> egelbot: 2*3+4
03:29:11 <egelbot> 10
03:30:41 <spruit11> Most stuff works as expected, it's the same priority precedence which is different. But honestly, I think most people parenthesize those anyway.
03:31:07 <spruit11> And I like the scheme of having a fixed order for newly introduced operators.
03:31:23 <spruit11> I don't feel it's worth it for this 'corner case'.
03:31:34 <spruit11> *to change it
03:38:17 <spruit11> I.e., this is a very specific corner. What if I add ** and ++ (and,or) for Boolean connectives?
03:38:59 <spruit11> Dunno.
03:58:28 -!- xkapastel has quit (Quit: Connection closed for inactivity).
04:01:42 <oerjan> okay
04:02:34 -!- tromp has joined.
04:05:31 <ArthurStrong> Hi all! What would you recommend to read in the vein of Gödel, Escher, Bach?
04:05:52 <ArthurStrong> I think you all should know something :)
04:07:11 -!- tromp has quit (Ping timeout: 272 seconds).
04:07:46 <kmc> ArthurStrong: GEB is a pretty sprawly book. which parts interest you most -- the math, the philosophy, Hofstadter's style?
04:09:25 <ArthurStrong> kmc: whatever connected to math.logic and theorem proving
04:34:09 -!- tromp has joined.
04:36:44 -!- tromp_ has joined.
04:38:51 -!- tromp has quit (Ping timeout: 272 seconds).
04:41:23 -!- tromp_ has quit (Ping timeout: 272 seconds).
05:52:43 <zzo38> I don't know what other book, but I think Godel, Escher, Bach is good. I know Hofstadter wrote other books, but I haven't read them so I cannot comment about it.
05:52:54 <ArthurStrong> zzo38: OK
05:56:39 -!- tromp has joined.
06:01:49 -!- tromp has quit (Ping timeout: 272 seconds).
06:10:03 <zzo38> GURPS rules for Biology skill specifies that you must specialize by planet type. I thought it might make more sense to specialize by planet, and later found out that another (official) book mentions the same thing.
06:25:49 -!- tromp has joined.
06:30:57 -!- tromp has quit (Ping timeout: 272 seconds).
06:33:43 <int-e> hi fungot
06:33:43 <fungot> int-e: i actually wrote an lalr(1) parser generator for scheme based on using regular array code, but there are some
06:52:18 -!- xkapastel has joined.
07:02:44 -!- ArthurStrong has quit (Quit: leaving).
07:27:58 -!- Lord_of_Life_ has joined.
07:29:40 -!- Lord_of_Life has quit (Ping timeout: 248 seconds).
07:29:40 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
07:31:46 -!- aloril has quit (Ping timeout: 255 seconds).
07:45:12 -!- aloril has joined.
07:59:30 -!- tromp has joined.
07:59:52 <zzo38> How to determine what Linux kernel options are present in the current system?
08:04:52 <Hooloovo0> what kind of kernel options?
08:05:09 <Hooloovo0> often there's /proc/config.gz which will tell you how it was configured
08:05:55 <Hooloovo0> there's also kernel command line options which would be in /proc/cmdline
08:06:45 <zzo38> I don't have /proc/config.gz in my computer
08:07:00 <Hooloovo0> if config.gz isn't there, there's still a possibility it's in the kernel, but not advertised, I think the linux source has a tool to extract it
08:07:49 <Hooloovo0> what are you trying to do?
08:08:09 <zzo38> I just want to see how it was configured
08:09:36 <int-e> There may also be a config-* file corresponding to your kernel image in /boot/ ... though you have to trust the distribution on that.
08:09:45 -!- imode has quit (Ping timeout: 272 seconds).
08:10:20 <zzo38> OK, I found it
08:10:20 <Hooloovo0> good point
08:10:29 <zzo38> That file is present
08:10:46 <Hooloovo0> scripts/extract-ikconfig could do it, but that's moot
08:12:08 <int-e> \$ grep CONFIG_IKCONFIG /boot/config-\$(uname -r)
08:12:08 <int-e> # CONFIG_IKCONFIG is not set
08:12:18 <int-e> wouldn't work anyway (Debian here)
08:54:56 -!- arseniiv has joined.
08:57:45 <int-e> oerjan: The dinos have a doomsday device :)
08:59:12 <oerjan> [citation needed]
08:59:36 <int-e> Well, Schlockmercenary.
08:59:51 <int-e> Also a bit of a pun.
09:00:03 <oerjan> OKAY (i don't get it)
09:00:57 <oerjan> ah.
09:01:16 <int-e> The effect is almost the same though ;)
09:01:58 <oerjan> also those are not the dinos. (my headcanon says they're logically "ceans", although that's not been said in comic)
09:02:01 -!- LKoen has joined.
09:02:38 <int-e> Sure look like dinos to me.
09:02:47 <int-e> Does that make me racist?
09:03:02 <oerjan> (all boloceade people look the same to you?)
09:05:44 <int-e> No? I'm not sure that's required though.
09:05:58 <oerjan> the dinos are the ones with feathers hth
09:06:09 <int-e> Actually that topic came up earlier: https://mobile.twitter.com/SeS73123646/status/1230841180633653248?p=p
09:07:04 <int-e> oerjan: You may have a point there though... I am mixing those up.
09:07:35 <int-e> The variance within the species?! feels greater than the differences of the species.
09:07:40 <oerjan> ah dagsson. the one comic i used to carefully skip over back when the VG newspaper had a comic webpage
09:08:37 <oerjan> (they might have one again, i haven't checked)
09:08:52 <int-e> What's a newspaper?
09:09:19 * oerjan beats int-e with his cane O======
09:09:38 <int-e> Oh no.
09:10:07 <oerjan> GET OFF MY LAWN
09:10:24 <int-e> The editing distance between oerjan and oldman *could* be bigger.
09:11:00 <oerjan> tru
09:11:02 <int-e> Soon we won't have lawns anymore either.
09:13:25 <oerjan> what? but then what will our cattle eat?
09:14:09 <int-e> Algea.
09:14:32 <oerjan> ic
09:14:55 <oerjan> `? alg ii
09:14:57 <HackEso> alg ii? ¯\(°​_o)/¯
09:15:00 <oerjan> hum
09:15:04 <oerjan> `wisdom alg
09:15:06 <HackEso> shor's algorithm//Shor's algorithm allows a quantum computer to factor large integers, such as 21. Taneb thought of it.
09:15:21 <oerjan> `wisdom alg
09:15:22 <HackEso> alg. ii//Algae II, the successor class to Algae I. Discusses hydroponics and such.
09:15:27 <oerjan> there you go
09:20:05 <int-e> `cwlprits alg. ii
09:20:18 <HackEso> boil̈y boil̈y oerjän hppavilion[1̈]
09:20:31 <int-e> `quote boily
09:20:32 <HackEso> 908) <olsner> boily: the man eating chicken is just a normal man, it's quite common to eat chicken in some parts of the world \ 909) <elliott> ~eval 1+2 <cuttlefish> Error (127): <elliott> this is a great bot boily i love it \ 918) <boily> not only there is no God, but try to find an APL keyboard on Sunday. \ 921) <boily> ais523: I'm not sure my grasp of the English language is getting better by visiting this channel.. \ 923) <boily> had a f
09:20:32 -!- egelbot has quit (Read error: Connection reset by peer).
09:21:47 -!- int-e has left ("REMINISCING CHICKEN").
09:21:47 -!- int-e has joined.
09:29:19 -!- oerjan has quit (Quit: Nite).
09:30:30 -!- LKoen has quit (Remote host closed the connection).
09:35:21 -!- LKoen has joined.
10:15:12 -!- LKoen has quit (Remote host closed the connection).
10:22:02 -!- LKoen has joined.
10:27:32 -!- LKoen has quit (Remote host closed the connection).
10:32:06 -!- LKoen has joined.
11:25:47 -!- LKoen has quit (Remote host closed the connection).
11:33:56 -!- LKoen has joined.
11:48:01 -!- LKoen has quit (Remote host closed the connection).
11:49:13 -!- LKoen has joined.
12:05:38 -!- arseniiv has quit (Read error: Connection reset by peer).
12:10:25 -!- arseniiv has joined.
12:24:01 -!- kspalaiologos has joined.
12:49:35 <tromp> int-e: i've been trying to get short blc programs for the infinite laver table
12:50:12 <tromp> my best attempts are in laver1.lam and laver2.lam
12:50:43 <tromp> former uses church numerals; latter uses some cross between scott and church numerals
12:51:39 <tromp> both versions need explicit lists
12:54:03 <esowiki> [[Nybblang]] M https://esolangs.org/w/index.php?diff=70020&oldid=70013 * PythonshellDebugwindow * (+48) /* Commands */
13:01:18 <int-e> Nice, but I don't think I'll go down that rabbit hole.
13:09:19 <esowiki> [[Nybblang]] M https://esolangs.org/w/index.php?diff=70021&oldid=70020 * PythonshellDebugwindow * (+112) /* Turing-Complete Nybblang */
13:09:56 <esowiki> [[Nybblang]] M https://esolangs.org/w/index.php?diff=70022&oldid=70021 * PythonshellDebugwindow * (+13) /* Turing-Complete Nybblang */
13:11:09 <esowiki> [[User:Asasnat]] https://esolangs.org/w/index.php?diff=70023&oldid=69981 * Asasnat * (+26)
13:19:14 -!- xkapastel has quit (Quit: Connection closed for inactivity).
13:19:45 -!- mniip has quit (Ping timeout: 619 seconds).
13:22:23 -!- xkapastel has joined.
13:24:07 -!- LKoen has quit (Remote host closed the connection).
13:24:28 -!- mniip has joined.
13:27:56 -!- Women has joined.
13:29:29 <b_jonas> YAY! Order of the Stick (Giant in the Playground, giantitp) phpbb forum is back
13:29:32 <b_jonas> http://www.giantitp.com/index.html#oXsSwf27fSs6vscZlMX
13:32:31 <Women> :(
13:32:46 -!- Women has left.
13:33:08 <arseniiv> tromp: latter uses some cross between scott and church numerals => are they those where S n z' s' = s' n (n z' s')?
13:35:32 <arseniiv> I read somewhere about these and they were called Church—Scott in obvious manner :D
13:37:09 <tromp> arseniiv: succ = \n\s\z. s z n; -- without the z on right these would be Scott numerals
13:38:40 <arseniiv> tromp: ah, interesting! What there is from Church, though?
13:39:44 <tromp> instead of applying f n times to z, they apply f sign(n) times to z
13:40:39 <arseniiv> oh
13:41:02 <tromp> hmm, that doesn't look right
13:41:52 <tromp> have to rethink that
13:45:15 <tromp> what they have from Church is that the successor case has the z argument available
13:55:55 <esowiki> [[Mindwhipper]] https://esolangs.org/w/index.php?diff=70024&oldid=70019 * Asasnat * (+39)
13:59:45 <int-e> tromp: But what you wrote lacks the actual recursive call; the caller could just apply the s to z themselves. \n\s\z. s (n s z) n would make a bit more sense to me, but that's what arseniiv had, only with the two arguments s and z swapped.
14:00:18 <int-e> so I'm a bit confused :)
14:01:08 <arseniiv> yeah I’m too but I thought I had misunderstood something
14:01:23 <int-e> \n\s\z. s z n might be a Scott encoding with a bit of extra Curry.
14:01:31 <tromp> oh, i thought Scott numerals lacked recursion
14:01:50 <int-e> They do.
14:01:58 <int-e> But Church is all about the recursion to my mind.
14:02:49 <tromp> so i forego the recursion because in laver you need to apply predecessor, which is easier with the non-recursive Scott numerals
14:03:41 <tromp> so now i can get pred without recursion, and use recursion for indexing a list
14:04:30 <arseniiv> right, that’s precisely the reason behind Church—Scott \n \z \s. s n (n z s)
14:04:36 <int-e> The extra z doesn't introduce recursion though, so I don't see the Church angle.
14:05:21 <tromp> like i said it's not Church style. it just has in common that both cases use the 2nd argument
14:05:31 <arseniiv> hm Church—Scott is worse than Church because of typing issues and is worse than Scott because of nonlinearity. Though I’m yet to get why linearity matters here
14:05:54 <tromp> i just stick z in there to save a few bits elsewhere
14:06:09 <int-e> tromp: I'd call it a (variant) Scott encoding
14:06:17 <arseniiv> tromp: but why z and not n?
14:06:51 <arseniiv> as far I understand z will not be useful(?)
14:06:51 <int-e> The variant allows you to write n s z instead of n (s z) z.
14:07:11 <int-e> And you can get the Scott behavior back by doing n (\_. s) z.
14:07:40 <int-e> So it's essentially the same?
14:07:52 <int-e> But incompatible, of course.
14:07:56 <tromp> yes, sorry for mentioning Church; it's just a Scott variant
14:08:28 <int-e> Okay. Glad we cleared that up :)
14:09:01 <tromp> so here's where the extra z comes in handy
14:09:07 <tromp> i can now define laver = \a. a (\b\a1. go a1 (idx b))
14:09:31 <int-e> arseniiv: These weird encoding tricks come up a lot when squeezing lambda terms.
14:09:36 <tromp> whereas with pure Scott i would need laver = \a\b. a (\a1. go a1 (idx b)) b
14:10:31 <int-e> arseniiv: Along with things like picking the right argument order, and doing some funny transformations on folds (which can be justified by free theorems).
14:10:35 <tromp> the former allow me to never show the 2nd argument to laver
14:11:07 <tromp> yes, i also put the tail before the head in my cons to save bits
14:12:22 <arseniiv> interesting
14:31:10 -!- LKoen has joined.
14:52:31 <int-e> Funny though, I don't remember ever wanting to just swap the arguments of a Church numeral.
15:02:09 <b_jonas> dual SIM cards sure drains the battery of my mobile phone so quickly, though at least it also charges quickly too
15:08:27 <esowiki> [[WII2D]] M https://esolangs.org/w/index.php?diff=70025&oldid=69335 * PythonshellDebugwindow * (+1) /* Hello, World! */ Now the program ends
15:18:07 <arseniiv> b_jonas: though at least it also charges quickly too => isn’t that more a symptom of the battery’s age?
15:20:03 <arseniiv> sometimes I drink green tea adding some milk to it. Tastes unusually
15:30:22 <b_jonas> arseniiv: more like of how the battery is a small one in first place in this model
15:31:11 <b_jonas> it's not that old, I bought the phone in 2018-11 according to https://www.perlmonks.com/?node_id=1225327 , so that's one year and a few months
15:31:18 -!- tromp has quit (Remote host closed the connection).
15:31:35 <arseniiv> ah
15:46:46 -!- tromp has joined.
15:54:48 -!- kspalaiologos2 has joined.
15:54:51 <int-e> fungot: do you speak lapack?
15:54:52 <fungot> int-e: i'm actually thinking more about the actual integer values.
15:55:43 -!- kspalaiologos2 has quit (Client Quit).
15:56:49 <int-e> (Just look at this matrix... http://www.netlib.org/lapack/lug/node26.html ... I get that it's all very regular, but limiting all identifiers to 6 letters is feels kind of crazy from today's perspective.)
16:06:26 -!- tromp has quit (Remote host closed the connection).
16:24:51 <arseniiv> <fungot> int-e: i'm actually thinking more about the actual integer values. => ring the bells, fungot being sensible again!
16:24:52 <fungot> arseniiv: by the time that k6-2 acted up, could you post some of the srfi-s." fnord
16:25:49 <int-e> arseniiv: Heh I didn't actually read the reply. fungot: So sorry!
16:25:49 <fungot> int-e: drscheme doesn't support ( fnord list-lib)...) x) ( 1 1))
16:25:59 <arseniiv> fungot: btw what do you think, does M-Audio Code 49 keyboard have some merit over M-Audio Oxygen 49 or not?
16:25:59 <int-e> fungot: No need to rub it in though.
16:25:59 <fungot> arseniiv: and anyway i can't actually feel the vibration, i'm not supposed to register a type ( stm t), and suddenly firefox has nothing better to do
16:25:59 <fungot> int-e: it's also ironic that you appear so eager to deny it.
16:26:09 <int-e> HAHA
16:26:55 <int-e> `complain fungot's a big meanie!
16:26:55 <fungot> int-e: if you can call it this way, forcer. i think this language is evil indeed... i like the
16:26:57 <HackEso> Complaint filed. Thank you.
16:27:31 <arseniiv> fungot: you’re totally right about firefox, but what do you mean by vibration? Is one of them built not robust enough, or do you intrinsically feel MIDI data as vibrations?
16:27:32 <fungot> arseniiv: these headphones suck. forget it) as the basis; any number of such functions as above, each keeping their own local state... the value of the stack
16:32:41 <int-e> http://www.netlib.org/lapack/lug/node65.html is fun.
16:40:26 -!- longname has quit (Read error: Connection reset by peer).
16:41:19 -!- Frater_EST has joined.
16:42:20 -!- longname has joined.
16:45:18 -!- tromp has joined.
17:12:27 -!- myname has quit (Ping timeout: 260 seconds).
17:32:09 <tromp> ok, i switched to pure Scott numerals
17:32:20 <tromp> turns out you don't need a list index function in that caqse
17:33:19 <tromp> as long as your cons puts the tail before the head
17:33:54 -!- Lord_of_Life has quit (Read error: Connection reset by peer).
17:33:59 <tromp> i.e. cons = \h\t\z.z t h
17:34:09 <int-e> is it just me or does that sound a bit dirty
17:34:23 <tromp> in that case the n'th element of a list is simply list n
17:34:47 <tromp> all is fair in war and codegolf:-)
17:36:08 <tromp> now my infinite laver is down to 223 bits
17:36:26 -!- Lord_of_Life has joined.
17:37:37 <tromp> and further down to 215 by switching laver arg order!
17:49:18 <tromp> and i have to say, the laver2 diagram looks awesome
17:49:39 <tromp> paste test:
17:49:44 <tromp> ┬──────────
17:49:44 <tromp> ┼─────┬────
17:49:44 <tromp> ┼─────┼─┬──
17:49:46 <tromp> │ ──┬─┼ ┼ ┬
17:49:48 <tromp> │ ┬─┼─┼ │ │
17:49:50 <tromp> │ │ ├─┘ │ │
17:49:52 <tromp> │ ├─┘ │ │
17:49:54 <tromp> └─┤ │ │
17:49:56 <tromp> └─────┤ │
17:49:58 <tromp> └─┘
17:50:00 <tromp> hmm, doesn't look good in my IRC client
17:50:12 <tromp> (that was just the pred function)
17:55:47 <int-e> looks fine for me, but I'd still prefer a pastebin.
18:13:50 -!- myname has joined.
18:19:14 -!- xkapastel has quit (Quit: Connection closed for inactivity).
18:52:09 <tromp> https://pastebin.com/9wFrMpm0
18:53:24 <int-e> weird. https://pastebin.com/raw/9wFrMpm0 looks better for me.
18:53:58 <int-e> hah, so much recursion
18:54:09 <tromp> yes, the Y's stand out:-)
18:54:14 <int-e> (the \x. x x part is easy to recognize)
18:54:46 <int-e> nice flag.
19:13:09 -!- Frater_EST has quit (Remote host closed the connection).
19:22:39 <int-e> tromp: Hah, those diagrams don't really work when there are no applications at all.
19:23:41 <int-e> (Though that's a limitation of the program more than the diagrams.)
19:25:34 <FireFly> the line-drawing glyphs look pretty good to me, http://xen.firefly.nu/up/2020-02-22_202521.png
19:26:04 <int-e> tromp: I mean, http://paste.debian.net/1131572/ would make perfect sense, wouldn't it?
19:26:08 <FireFly> would maybe look better with some extra horizontal lines
19:27:31 <int-e> FireFly: they represent lambda-terms, so there isn't really any room for *more* horizontal lines?
19:28:48 <FireFly> I meant more that ─┬─ might look better than just ┬ (or maybe ╶┬╴)
19:28:59 <FireFly> to make it a bit more pronounced
19:29:22 <int-e> FireFly: Well, ideally it would be using a square font.
19:29:28 <FireFly> *nod*
19:29:36 -!- Lord_of_Life_ has joined.
19:29:38 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
19:30:56 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
19:35:22 <int-e> tromp: Oh, the ASCII and pbm versions actually deal with that case more gracefully.
19:37:11 <int-e> And now I'm confused... I obviously messed up my test(s).
19:47:15 <int-e> tromp: So never mind, false alarm.
19:49:05 <int-e> The only idea that remains is that one could stick an extra ╵ under the root of the `boxchar` variant of diagrams, and that's too minor to worry about.
20:16:48 -!- arseniiv has quit (Read error: Connection reset by peer).
20:17:08 -!- arseniiv has joined.
20:31:14 <tromp> the boxchar has a root, but the alternative Boxchar omits is for aesthetic reasons
20:31:23 -!- ais523 has joined.
20:33:29 -!- imode has joined.
20:50:13 -!- LKoen has quit (Remote host closed the connection).
20:54:45 -!- kspalaiologos has quit (Ping timeout: 258 seconds).
21:35:31 <int-e> Hmm, stumbled over Fortran's column major array storage, fun.
21:36:25 <int-e> But I've now successfully used lapack to solve a system of linear equations. Progress. :)
22:41:25 <zzo38> I don't know how it is working in Fortran, but the Microsoft BASIC compiler usually uses column major arrays but there is also an option for row major storage; I think FreeBASIC is row major only.
22:44:38 <zzo38> FireFly: In your picture still the lines are not lined up very well; on my computer (I use Fixed as the font) the lines are perfectly lined up properly, and are not fuzzy, either.
22:45:26 <FireFly> there's a minor font issue, yeah. my primary font doesn't cover some of the glyphs IIRC, for unknown reasons... I have a patched version of the font somwehere, but am not using it currently on this machine
22:48:59 <zzo38> Are you combining two fonts that don't match? Can the combination be changed?
22:53:16 <b_jonas> int-e: I recommend Eigen. it has a much more modern interface, and can do most of the things that BLAS+LAPACK can do
22:53:58 <b_jonas> including solving systems of linear equations
22:54:48 <fizzie> I recommend Eigen too, although I'm not particularly familiar with it.
22:55:07 <fizzie> Certainly you get less "ooh, that's so retro" experiences with it than BLAS/LAPACK though.
22:58:15 -!- grumble has quit (Quit: cause when we raise our flagon to another dead dragon there is just one drink we need).
22:59:17 <int-e> maybe next time
23:00:15 -!- grumble has joined.
23:02:45 <int-e> I don't actually mind the retro feeling. What I do mind is that the documentation (the LAPACK user's guide) doesn't cover the actual API (it gives you concepts and corresponding function names)... for that you have to go to the actual Fortran source files (as far as I can see). Once you realise that, I think it becomes quite usable. (example: http://www.netlib.org/lapack/double/dgetrs.f )
23:05:09 <b_jonas> int-e: the docs are in a somewhat bad state, yes
23:13:32 <arseniiv> re BLAS/LAPACK/Eigen: and what thing does Numpy uses as a backend? (if it doesn’t use its own implementation)
23:16:05 <fizzie> My undestanding is that it uses the BLAS/LAPACK interfaces, so you can sawp the implementation to thinks like Intel MKL or OpenBLAS.
23:16:19 <fizzie> s/thinks/things/ blah
23:16:34 <fizzie> fungot: What do you use for linear algebra?
23:16:34 <fungot> fizzie: the problem is creating the word lists that are complicated." i didn't want to fix a bug or not
23:16:52 <arseniiv> fizzie: oh, interesting! Didn’t expect it may use these
23:17:15 <fizzie> https://markus-beuckelmann.de/blog/boosting-numpy-blas.html for a random blog post about it.
23:23:43 <arseniiv> also a week or two ago I surfed posts with names “… considered harmful” and ended up reading something about named tesors which is a suggestion to use named tensor indices in (particularly, ML) code using tensory computations as it may benefit such and such. And I thought: uh, wait, seriously you haven’t done it already? Penrose already invented abstract index notation years ago (and even that was suspiciously late, I think: the idea is so simp
23:23:43 <arseniiv> le!)
23:30:05 <arseniiv> though there was an interesting point in the named tensor post which isn’t obviously related to abstract index notation: a suggestion to make only some indices visible to some code. Though that’s not too unrelated: we can treat “ground tensors” as structs with fields, all public, which one can cast to “tensor interfaces”, which can have less members. I’d add covariance/contravariance as a further improvement, but I don’t know at all if
23:30:05 <arseniiv> this would have any sense in real code. Maybe that would only harm
23:33:34 <arseniiv> ta-ta!
23:33:36 -!- arseniiv has quit (Quit: gone completely :o).
23:41:52 <b_jonas> and, by the way, Eigen can both provide a BLAS implementation and use a different BLAS implementation for optimizing its own operations
←2020-02-21 2020-02-22 2020-02-23→ ↑2020 ↑all