< 1582503877 380335 :imode!~linear@unaffiliated/imode QUIT :Ping timeout: 258 seconds < 1582506927 382848 :imode!~linear@unaffiliated/imode JOIN :#esoteric < 1582508684 403513 :arseniiv!~arseniiv@136.169.210.57 QUIT :Ping timeout: 258 seconds < 1582511171 939174 :oerjan!oerjan@sprocket.nvg.ntnu.no JOIN :#esoteric < 1582511642 161188 :zzo38!~zzo38@host-24-207-50-7.public.eastlink.ca PRIVMSG #esoteric :The TeXbook mentions that sometimes you will not want to defer a \write. However, it does not mention that you might want to defer a \write without shipping out the page. But, I have figured out a way to do a similar thing anyways (with some restrictions), involving alternating marks and penalties in an insertion, and then using \vsplit to extract the marks. < 1582512509 357682 :xkapastel!uid17782@gateway/web/irccloud.com/x-knbwzmytqyldxvsm QUIT :Quit: Connection closed for inactivity < 1582513764 206807 :tromp!~tromp@2a02:a210:ca3:2800:5dd3:51d5:19bf:f6db QUIT :Remote host closed the connection < 1582516025 293439 :tromp!~tromp@2a02:a210:ca3:2800:5dd3:51d5:19bf:f6db JOIN :#esoteric < 1582516305 267876 :tromp!~tromp@2a02:a210:ca3:2800:5dd3:51d5:19bf:f6db QUIT :Ping timeout: 272 seconds < 1582517870 817518 :zzo38!~zzo38@host-24-207-50-7.public.eastlink.ca PRIVMSG #esoteric :I found there is a DjVu driver for Ghostscript, and I read somewhere that it supports the pdfmark command (well, some uses of it; some pdfmarks are not supported in DjVu, which is good because I think they should not belong anyways), but the license of DjVu driver for Ghostscript is incompatible not only with Ghostscript but also with itself. Also, I don't know if it can be overridden the foreground/background mode. < 1582519674 967326 :tromp!~tromp@2a02:a210:ca3:2800:9170:f357:da9a:b36b JOIN :#esoteric < 1582519943 943272 :tromp!~tromp@2a02:a210:ca3:2800:9170:f357:da9a:b36b QUIT :Ping timeout: 252 seconds < 1582522477 176302 :b_jonas!~x@catv-176-63-13-190.catv.broadband.hu QUIT :Quit: leaving < 1582523046 925763 :FreeFull!~freefull@defocus/sausage-lover QUIT : < 1582524600 373590 :imode!~linear@unaffiliated/imode QUIT :Ping timeout: 258 seconds < 1582526163 972294 :tromp!~tromp@2a02:a210:ca3:2800:9170:f357:da9a:b36b JOIN :#esoteric < 1582526433 953053 :tromp!~tromp@2a02:a210:ca3:2800:9170:f357:da9a:b36b QUIT :Ping timeout: 252 seconds < 1582529029 360489 :ArthurStrong!~ArthurStr@slow.wreckage.volia.net QUIT :Quit: leaving < 1582529454 590927 :Lord_of_Life_!~Lord@unaffiliated/lord-of-life/x-0885362 JOIN :#esoteric < 1582529591 717212 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 QUIT :Ping timeout: 258 seconds < 1582529591 766285 :Lord_of_Life_!~Lord@unaffiliated/lord-of-life/x-0885362 NICK :Lord_of_Life < 1582529985 368270 :Sgeo!~Sgeo@ool-18b982ad.dyn.optonline.net QUIT :Read error: Connection reset by peer < 1582530011 875278 :Sgeo!~Sgeo@ool-18b982ad.dyn.optonline.net JOIN :#esoteric < 1582531052 968208 :tromp!~tromp@2a02:a210:ca3:2800:9170:f357:da9a:b36b JOIN :#esoteric < 1582534163 232328 :wib_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 JOIN :#esoteric < 1582534568 268186 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover JOIN :#esoteric < 1582536291 434720 :oerjan!oerjan@sprocket.nvg.ntnu.no QUIT :Quit: Nite < 1582536787 303229 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover QUIT :Ping timeout: 272 seconds < 1582536952 201804 :ArthurStrong!~ArthurStr@slow.wreckage.volia.net JOIN :#esoteric < 1582537845 934510 :tromp!~tromp@2a02:a210:ca3:2800:9170:f357:da9a:b36b QUIT :Ping timeout: 240 seconds < 1582537848 406250 :spruit11!~unknown@ip56522cc1.speed.planet.nl QUIT :Ping timeout: 258 seconds < 1582538001 78245 :tromp!~tromp@ip-213-127-95-129.ip.prioritytelecom.net JOIN :#esoteric < 1582538052 286155 :tromp_!~tromp@2a02:a210:ca3:2800:c01a:1e24:7427:6ac9 JOIN :#esoteric < 1582538052 336973 :tromp!~tromp@ip-213-127-95-129.ip.prioritytelecom.net QUIT :Read error: Connection reset by peer < 1582538635 678736 :kritixilithos!~kritixili@gateway/tor-sasl/kritixilithos JOIN :#esoteric < 1582539270 855994 :cpressey!~cpressey@5.133.242.4 JOIN :#esoteric < 1582539276 839373 :wib_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :If values of a type can have multiple possible representation of the same value, so I have a function that takes any representation to a canonical one, sometimes that's called a "canonical" value, sometimes a "normalized" value. when should I use which of those two words? and what's the verb form of "canonical", analogous to "normalize"? < 1582539338 356835 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I use the verb canonicalize < 1582539347 508721 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I don't know how many other people do < 1582539435 597758 :wib_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :I'm asking because I want to name some function in a program that I'm writing of course < 1582539441 396302 :wib_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :cpressey: I see < 1582539723 196387 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Oh, -march=native makes a huge difference for Eigen, why didn't I think of that sooner. < 1582539808 603466 :int-e!~noone@int-e.eu PRIVMSG #esoteric :With thatr insight, lapack+openblas is still a bit faster, but only like 20% rather than by a factor of 2. < 1582539896 942254 :wib_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :int-e: yes, because then you get to use more than just SSE2. but be careful, there's also a binary incompatibility issue if you link files compiled to Eigen with different optimization switches, < 1582539903 651056 :ArthurStrong!~ArthurStr@slow.wreckage.volia.net QUIT :Quit: leaving < 1582539927 882712 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Yeah, not an issue here. < 1582539956 867449 :int-e!~noone@int-e.eu PRIVMSG #esoteric :I've just been tinkering with http://www.research.ibm.com/haifa/ponderthis/challenges/February2020.html ... it's a just a single self-contained program. < 1582539972 544790 :wib_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :and if you want to avoid that, you either need to set EIGEN_MAX_ALIGN_BYTES and EIGEN_MAX_STATIC_ALIGN_BYTES explicitly, or else be aware of which types can have different requirements depending on the switches. < 1582539975 555592 :int-e!~noone@int-e.eu PRIVMSG #esoteric :And the linear algebra is the boring bit. < 1582540000 579182 :wib_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :int-e: try also -fno-math-errno < 1582540039 293457 :wib_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :to make sure that the sqrt function doesn't try to check the flag and update errno taht is < 1582540065 656872 :wib_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :ah, Markov chain stuff. < 1582540069 859341 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Oh. But there should not be any no sqrt calls. < 1582540098 232047 :int-e!~noone@int-e.eu PRIVMSG #esoteric :It's just LU decomposition (that's the slow bit) and matrix multiplication. < 1582540164 312989 :wib_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :int-e: ok. I didn't know your particular case, I'm just saying this for the future < 1582540187 553671 :wib_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :it doesn't come up too often anyway < 1582540189 506808 :int-e!~noone@int-e.eu PRIVMSG #esoteric :And I can probably speed this up significantly using https://en.wikipedia.org/wiki/Sherman%E2%80%93Morrison_formula < 1582540230 384487 :int-e!~noone@int-e.eu PRIVMSG #esoteric :But I will focus on strategy first :) < 1582540258 193412 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Though the stupid thing just found an eligible solution. < 1582540296 705546 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(value: 66.97870495509361888) < 1582540325 250297 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Well, not all of those digits are correct. < 1582540398 796390 :kritixilithos!~kritixili@gateway/tor-sasl/kritixilithos QUIT :Remote host closed the connection < 1582540405 300912 :wib_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :int-e: oh, and obviously, get a recent enough version of Eigen < 1582540419 171329 :wib_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :and a non-ancient compiler < 1582540422 671863 :kritixilithos!~kritixili@gateway/tor-sasl/kritixilithos JOIN :#esoteric < 1582540425 22680 :wib_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :but I think you figured that out yourself < 1582540643 966359 :int-e!~noone@int-e.eu PRIVMSG #esoteric :I didn't pay attention to that... for most stuff Debian unstable is fairly up-to-date. Seems to have worked out in this case as well. < 1582541066 976442 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Suppose we have a set of functions that map syntax to syntax. (You could call these functions "macros".) Further, we want to characterize some of these functions as "hygienic" and others as "not hygienic". I propose that the difficulty of doing this depends on the data structure we choose for representing syntax. < 1582541225 893364 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :By "syntax" I mean, a chunk of a program. So, we could represent syntax as character strings. But then this characterization is difficult. < 1582541260 876225 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :If we represent syntax with S-expressions, it's a little less difficult. If we represent it with ASTs, it should be less difficult still. < 1582541449 259029 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I don't think I've said anything really earth-shattering so far. But now, I propose: if we represent syntax with ABTs, it should be even less difficult still to make this characterization. < 1582542397 113170 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Now, would de Bruijn indices make it even easier still? Perhaps - I don't know. But even if they do, that doesn't invalidate the chain of reasoning so far. < 1582542552 694277 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I'd like to treat ABTs as an abstraction, and whether that abstraction is implemented by alpha-conversion (performed as needed on demand), or by de Bruijn indices (rewritten as needed on demand), is an implementation detail. < 1582543083 680864 :kritixilithos!~kritixili@gateway/tor-sasl/kritixilithos QUIT :Ping timeout: 240 seconds < 1582543117 868544 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :int-e: ^ this is why "I like ABTs", if you care. < 1582543235 301111 :rain1!~debian@unaffiliated/rain1 JOIN :#esoteric < 1582543556 672464 :kritixilithos!~kritixili@gateway/tor-sasl/kritixilithos JOIN :#esoteric < 1582543814 241234 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :So if you think of an ABT as an abstract data type, it has operations to create primitive ABTs, and operations to build new ABTs from existing ABTs, and each one of these operations is guaranteed to preserve the binding structure. < 1582543873 503765 :int-e!~noone@int-e.eu PRIVMSG #esoteric :cpressey: Sure, and that's fine. < 1582543897 651787 :int-e!~noone@int-e.eu PRIVMSG #esoteric :cpressey: I called it a design pattern the other day, basically because of that view. < 1582544439 686502 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :int-e: I see. I'd like to think there is a little more structure here than what I think of as a design pattern, but maybe not. "hygienic macro" feels like a design pattern though; no two hygienic macro systems seem they same, they all feel so ad-hoc. I'd like to see a better theoretical underpinning here, I think that's why I'm interested in it. < 1582544766 189241 :rain1!~debian@unaffiliated/rain1 PRIVMSG #esoteric :hi < 1582544794 810269 :rain1!~debian@unaffiliated/rain1 PRIVMSG #esoteric :a good theoretical basis for hygiene is the scope sets system < 1582544847 578311 :rain1!~debian@unaffiliated/rain1 PRIVMSG #esoteric :just like you can partially reduce lambda terms under binders etc. with beta reduction. the scope sets system lets you partially expand code with macros < 1582545071 377263 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :rain1: Thanks, I'll look into that. < 1582547463 686527 :kritixilithos!~kritixili@gateway/tor-sasl/kritixilithos QUIT :Ping timeout: 240 seconds < 1582547547 515696 :int-e!~noone@int-e.eu PRIVMSG #esoteric :cpressey: I mean its' obviously not useless... It solves one problem that plain de Bruijn indices have: it's easy to mess up the index of a bound variable because one entered another binder. < 1582547959 758796 :wib_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :also with de Bruijn indexes, it's harder to see all occurances of a variable < 1582547975 249039 :wib_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :at least for humans. < 1582548022 306857 :wib_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :and you have to renumber everything when you want to change the program to introduce a new binding in the middle < 1582548232 465150 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Which is a solvable problem as well if you introduce a dual for abstraction that removes a variable from scope. < 1582548418 11662 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(Removal works by index when working with de Bruijn indices. Say /2.t which means indices 0,1,2,3 inside t are mapped to 0,1,3,4... outside t. / is supposed to be the opposite of \.) < 1582548542 874211 :int-e!~noone@int-e.eu PRIVMSG #esoteric :And you have laws to push those around: /2.\t = \/3.t and /2.(t u) = (/2.t)(/2.u), or /2./5.t = /6./2.t < 1582551081 183104 :int-e!~noone@int-e.eu PRIVMSG #esoteric :tromp_: https://www.isa-afp.org/entries/Goodstein_Lambda.html < 1582551097 979924 :int-e!~noone@int-e.eu PRIVMSG #esoteric :tromp_: (I did update Goodstein.hs as well) < 1582551777 224601 :tromp_!~tromp@2a02:a210:ca3:2800:c01a:1e24:7427:6ac9 PRIVMSG #esoteric :thx, int-e < 1582552286 854868 :Frater_EST!adrianbibl@172.242.0.73 JOIN :#esoteric < 1582552451 940641 :xkapastel!uid17782@gateway/web/irccloud.com/x-ztkecfubpsdhomhw JOIN :#esoteric < 1582552978 188642 :wib_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 QUIT :Remote host closed the connection < 1582553131 181417 :sprocklem!~sprocklem@unaffiliated/sprocklem QUIT :Ping timeout: 255 seconds < 1582553133 177780 :kritixilithos!~kritixili@gateway/tor-sasl/kritixilithos JOIN :#esoteric < 1582554553 342714 :rain1!~debian@unaffiliated/rain1 QUIT :Quit: Lost terminal < 1582556484 170520 :sprocklem!~sprocklem@unaffiliated/sprocklem JOIN :#esoteric < 1582557588 567972 :sftp!~sftp@unaffiliated/sftp QUIT :Ping timeout: 260 seconds < 1582558458 277859 :kspalaiologos!~kspalaiol@176.221.122.71 JOIN :#esoteric < 1582559665 97098 :sprocklem!~sprocklem@unaffiliated/sprocklem QUIT :Ping timeout: 255 seconds < 1582560199 95570 :sprocklem!~sprocklem@unaffiliated/sprocklem JOIN :#esoteric < 1582560337 369644 :imode!~linear@unaffiliated/imode JOIN :#esoteric < 1582560994 297795 :arseniiv!~arseniiv@95.105.14.199.dynamic.ufanet.ru JOIN :#esoteric < 1582562037 63909 :xkapastel!uid17782@gateway/web/irccloud.com/x-ztkecfubpsdhomhw QUIT :Quit: Connection closed for inactivity < 1582563175 126287 :sprocklem!~sprocklem@unaffiliated/sprocklem QUIT :Ping timeout: 255 seconds < 1582563486 290060 :Frater_EST!adrianbibl@172.242.0.73 QUIT :Remote host closed the connection < 1582564752 592378 :kritixilithos!~kritixili@gateway/tor-sasl/kritixilithos QUIT :Quit: quit < 1582565385 668157 :cpressey!~cpressey@5.133.242.4 QUIT :Quit: WeeChat 1.4 < 1582567261 268717 :LKoen!~LKoen@lstlambert-657-1-123-43.w92-154.abo.wanadoo.fr JOIN :#esoteric < 1582568133 764891 :kspalaiologos!~kspalaiol@176.221.122.71 QUIT :Quit: Leaving < 1582569712 460308 :sftp!~sftp@unaffiliated/sftp JOIN :#esoteric < 1582570326 365556 :b_jonas!~x@catv-176-63-14-122.catv.broadband.hu JOIN :#esoteric < 1582572495 173760 :sprocklem!~sprocklem@unaffiliated/sprocklem JOIN :#esoteric < 1582572726 212387 :Lord_of_Life_!~Lord@unaffiliated/lord-of-life/x-0885362 JOIN :#esoteric < 1582572831 827295 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 QUIT :Ping timeout: 258 seconds < 1582572832 355401 :Lord_of_Life_!~Lord@unaffiliated/lord-of-life/x-0885362 NICK :Lord_of_Life < 1582573015 468074 :imode!~linear@unaffiliated/imode QUIT :Ping timeout: 258 seconds < 1582573368 3195 :Melvar!~melvar@dslb-178-005-215-076.178.005.pools.vodafone-ip.de QUIT :Ping timeout: 256 seconds < 1582574128 271718 :Melvar!~melvar@dslb-178-005-215-076.178.005.pools.vodafone-ip.de JOIN :#esoteric < 1582575175 286001 :rain1!~debian@unaffiliated/rain1 JOIN :#esoteric < 1582576028 108599 :FreeFull!~freefull@defocus/sausage-lover JOIN :#esoteric < 1582579201 143802 :grumble!~grumble@freenode/staff/grumble QUIT :Quit: Some software updates just make me want to cURL up in a corner and sob. < 1582579319 934283 :grumble!~grumble@freenode/scarf/grumble JOIN :#esoteric < 1582579411 449345 :grumble!~grumble@freenode/scarf/grumble QUIT :Changing host < 1582579411 501687 :grumble!~grumble@freenode/staff/grumble JOIN :#esoteric < 1582581133 305128 :rain1!~debian@unaffiliated/rain1 QUIT :Ping timeout: 272 seconds < 1582584126 481140 :LKoen!~LKoen@lstlambert-657-1-123-43.w92-154.abo.wanadoo.fr QUIT :Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.” < 1582585332 311938 :b_jonas!~x@catv-176-63-14-122.catv.broadband.hu PRIVMSG #esoteric :oh and by the way, the IOCCC has closed 10 days ago < 1582585497 245484 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Giving a whole new meaning to "March". < 1582585577 754119 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(deadline is 2020-Mar-15 06:26:49 UTC) < 1582585616 847297 :b_jonas!~x@catv-176-63-14-122.catv.broadband.hu PRIVMSG #esoteric :oh < 1582585623 44704 :b_jonas!~x@catv-176-63-14-122.catv.broadband.hu PRIVMSG #esoteric :I'm stupid about time and date again < 1582585624 31392 :b_jonas!~x@catv-176-63-14-122.catv.broadband.hu PRIVMSG #esoteric :sorry < 1582585663 973478 :b_jonas!~x@catv-176-63-14-122.catv.broadband.hu PRIVMSG #esoteric :I blame month names. just use numbers, and write them in %02d format, not %d nor roman numerals. < 1582586303 640727 :b_jonas!~x@catv-176-63-14-122.catv.broadband.hu PRIVMSG #esoteric :wtf there's now RAM with over 4 GB clock speed? how do they ever make that work? < 1582586331 673045 :b_jonas!~x@catv-176-63-14-122.catv.broadband.hu PRIVMSG #esoteric :(admittedly it's expensive, but still) < 1582586467 17785 :b_jonas!~x@catv-176-63-14-122.catv.broadband.hu PRIVMSG #esoteric :I'd like fast RAM, but I didn't know it went that high < 1582586849 383988 :zzo38!~zzo38@host-24-207-50-7.public.eastlink.ca PRIVMSG #esoteric :Why is the temperature of my computer going up higher now than it usually does? Still it isn't going above the "high" (+60.0 C) number, at least. < 1582587487 422261 :tromp_!~tromp@2a02:a210:ca3:2800:c01a:1e24:7427:6ac9 QUIT :Remote host closed the connection < 1582587711 938413 :tromp!~tromp@2a02:a210:ca3:2800:c01a:1e24:7427:6ac9 JOIN :#esoteric < 1582588058 412361 :b_jonas!~x@catv-176-63-14-122.catv.broadband.hu PRIVMSG #esoteric :zzo38: the new flu from China