< 1533945769 909905 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1533945771 338796 :imode1!~imode@unaffiliated/imode QUIT :Ping timeout: 240 seconds < 1533945790 766645 :imode!~imode@unaffiliated/imode JOIN :#esoteric < 1533945801 292903 :bradcomp!~bradcomp@38.104.142.186 QUIT :Ping timeout: 240 seconds < 1533946074 767110 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Ping timeout: 272 seconds < 1533946207 891129 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric :fungot: YEOOIIOOIOA < 1533946208 33041 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :arseniiv: where? i only see 5 < 1533946233 18599 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric :fungot: there's more < 1533946233 308215 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :arseniiv: ok then... seems udage is turing tarpit. power and expressiveness are independent. < 1533946406 756506 :boily!~alexandre@cable-192.222.236.157.electronicbox.net PRIVMSG #esoteric :YEOOIIOOIOA??? < 1533946518 631985 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru QUIT :Ping timeout: 256 seconds < 1533946757 167773 :erkin!~erkin@unaffiliated/erkin QUIT :Remote host closed the connection < 1533948797 906943 :xkapastel!uid17782@gateway/web/irccloud.com/x-cizxpsdyancyzkgt QUIT :Quit: Connection closed for inactivity < 1533948933 98303 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :How would I implement seeking for a specific ecliptic longitude of a body (or of a Arabic Part)? < 1533949007 583391 :aloril!~aloril@mobile-access-5d6aa5-174.dhcp.inet.fi QUIT :Ping timeout: 244 seconds < 1533949146 77811 :imode!~imode@unaffiliated/imode QUIT :Quit: WeeChat 2.2 < 1533949192 251890 :xkapastel!uid17782@gateway/web/irccloud.com/x-rxlprjpoaecymjze JOIN :#esoteric < 1533949250 406634 :aloril!~aloril@mobile-access-5d6aa5-174.dhcp.inet.fi JOIN :#esoteric < 1533949667 81728 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :(Arabic parts have three parameters (called the "personal-point", "significator", and "trigger"). Some use rulers, lords, houses, constants, dispositors, and other Arabic parts, as their parameters. I do not intend to implement any other than the bodies that swe_calc() can calculate, as well as the Asc, MC, and constants 0 Aries and 0 Libra. Note that if the "personal-point" is held constant, you are effectively seeking an aspect.) < 1533949784 469258 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :(Also, many use reversals, and some use stranger things such as "Lord of New or Full Moon Prior to Birth", "Cusp of House Uranus Occupies", "Use Jupiter if Saturn is combust", "Asc + Moon - (Sun + 144 + Pi)", etc. I don't know what most of these mean, and I also don't care and do not intend to implement any of these things.) < 1533950103 376009 :Stryyker12!~Stryyker@180.68.70.197 JOIN :#esoteric < 1533950118 505752 :Stryyker12!~Stryyker@180.68.70.197 QUIT :Remote host closed the connection < 1533950727 973779 :ais523!~ais523@unaffiliated/ais523 QUIT :Remote host closed the connection < 1533950800 433119 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1533951539 913828 :benoliver99925!~benoliver@14.63.122.35 JOIN :#esoteric < 1533951592 5031 :benoliver99925!~benoliver@14.63.122.35 QUIT :Killed (Sigyn (Spam is off topic on freenode.)) < 1533951851 351769 :boily!~alexandre@cable-192.222.236.157.electronicbox.net QUIT :Quit: IMPORT CHICKEN < 1533952242 728845 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1533952547 662966 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Ping timeout: 268 seconds < 1533953304 500060 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :I don't like W3C's "Secure Contexts". I read a definition it is one of the four: * An origin using an authenticated scheme (https: or wss:) * An origin on the local computer using IP addresses in 127/8 (IPv4) or ::1/128 (IPv6) * An origin on the local computer using a scheme that the browser considers authenticated (file: and possibly packaged browser extensions) * An origin that the user has "configured as a trustworthy origin", through a us < 1533953328 521623 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :My own opinion is that only the last one should be considered as a trustworthy origin and the others should not be. > 1533954434 708268 PRIVMSG #esoteric :14[[07Arrows14]]4 10 02https://esolangs.org/w/index.php?diff=57310&oldid=57308 5* 03HereToAnnoy 5* (+1338) 10Langauge update (also, is there a grid table or do I have to make really long wikitables every time a program is written in this?) > 1533954462 200070 PRIVMSG #esoteric :14[[07Arrows14]]4 M10 02https://esolangs.org/w/index.php?diff=57311&oldid=57310 5* 03HereToAnnoy 5* (+13) 10everytime i finish something < 1533955565 594118 :u0_a101!~u0_a101@c-73-118-33-160.hsd1.fl.comcast.net QUIT :Ping timeout: 240 seconds < 1533955748 796527 :u0_a101!~u0_a101@c-73-118-33-160.hsd1.fl.comcast.net JOIN :#esoteric < 1533955815 928141 :ais523!~ais523@unaffiliated/ais523 QUIT :Remote host closed the connection < 1533955889 874923 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1533958713 684015 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1533958977 673864 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Ping timeout: 240 seconds < 1533959183 991421 :nero7!~nero@node-4c2.pool-125-25.dynamic.totbb.net JOIN :#esoteric < 1533959208 563725 :nero7!~nero@node-4c2.pool-125-25.dynamic.totbb.net QUIT :Killed (Sigyn (Spam is off topic on freenode.)) < 1533960327 206944 :ais523!~ais523@unaffiliated/ais523 QUIT :Quit: quit < 1533960523 895174 :sleepnap!~thomas@2603:3015:260e:1900:8319:87ab:f00:d5de PART :#esoteric < 1533961996 644081 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1533962244 481557 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Ping timeout: 244 seconds < 1533962570 875322 :Nakato!~Nakato@pl40180.ag0304.nttpc.ne.jp JOIN :#esoteric < 1533962589 681028 :Nakato!~Nakato@pl40180.ag0304.nttpc.ne.jp NICK :Guest27715 < 1533962671 561806 :Guest27715!~Nakato@pl40180.ag0304.nttpc.ne.jp QUIT :Remote host closed the connection < 1533965229 923502 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1533965357 661981 :ProClifo!~ProClifo@216.244.221.183 JOIN :#esoteric < 1533965530 792410 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Ping timeout: 272 seconds < 1533965633 465149 :ProClifo!~ProClifo@216.244.221.183 QUIT :Ping timeout: 248 seconds < 1533966297 483617 :bads!~bads@187.69.117.71 JOIN :#esoteric < 1533966321 744856 :bads!~bads@187.69.117.71 NICK :Guest55883 < 1533966401 382376 :Guest55883!~bads@187.69.117.71 QUIT :Remote host closed the connection < 1533969268 778517 :S_Gautam!uid286066@gateway/web/irccloud.com/x-xiujlkpmmzyvwrkw QUIT :Quit: Connection closed for inactivity < 1533969455 579681 :jeggott0!~jeggott@i121-116-173-114.s41.a002.ap.plala.or.jp JOIN :#esoteric < 1533969522 293845 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1533969546 868991 :jeggott0!~jeggott@i121-116-173-114.s41.a002.ap.plala.or.jp QUIT :Remote host closed the connection < 1533969793 458364 :u0_a101!~u0_a101@c-73-118-33-160.hsd1.fl.comcast.net PRIVMSG #esoteric :any thoughts on baseline syntax needed for a relatively useful out-of-the-box language? I'm thinking var declaration/assignment, arithmetic ops, conditional evaluation, some kind of collection, functions, parens for eval order... < 1533969801 272582 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Ping timeout: 240 seconds < 1533969823 660653 :u0_a101!~u0_a101@c-73-118-33-160.hsd1.fl.comcast.net PRIVMSG #esoteric :braces for block scope, function bodies, loops, conditional eval < 1533969851 946935 :u0_a101!~u0_a101@c-73-118-33-160.hsd1.fl.comcast.net PRIVMSG #esoteric :comparison ops < 1533969910 17554 :u0_a101!~u0_a101@c-73-118-33-160.hsd1.fl.comcast.net PRIVMSG #esoteric :datatypes maybe bool, number, string, collection, function < 1533969998 7690 :u0_a101!~u0_a101@c-73-118-33-160.hsd1.fl.comcast.net PRIVMSG #esoteric :any of that unneccessary? anything important missing? < 1533970142 648947 :u0_a101!~u0_a101@c-73-118-33-160.hsd1.fl.comcast.net PRIVMSG #esoteric :i'm shooting for something reasonably expressive and multi-paradigm, pleasant to use, not something crazy like bf < 1533970445 768562 :u0_a101!~u0_a101@c-73-118-33-160.hsd1.fl.comcast.net PRIVMSG #esoteric :...but at the same time as minimal as it can be, for example one kind of loop should be enough (probably a while loop), and one kind of collection (maybe like lua's table?) < 1533971644 701091 :erdic!~erdic@unaffiliated/motley QUIT :Ping timeout: 256 seconds < 1533971696 491806 :erdic!~erdic@unaffiliated/motley JOIN :#esoteric < 1533972197 998772 :xkapastel!uid17782@gateway/web/irccloud.com/x-rxlprjpoaecymjze QUIT :Quit: Connection closed for inactivity < 1533972742 968457 :S_Gautam!uid286066@gateway/web/irccloud.com/x-edmzjxptdeqdxdgx JOIN :#esoteric < 1533973109 601094 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1533973716 646618 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :I think you should need macros and byte arrays. And then is probably good enough I suppose < 1533973739 906715 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :You might not need boolean type though, but perhaps can help to have null < 1533975211 978284 :u0_a101!~u0_a101@c-73-118-33-160.hsd1.fl.comcast.net PRIVMSG #esoteric :zzo38: are you thinking preprocessor macros, or something else? < 1533975258 163829 :u0_a101!~u0_a101@c-73-118-33-160.hsd1.fl.comcast.net PRIVMSG #esoteric :null is a good idea, can probably do away with booleans, null will be falsey and everything else truthy < 1533975513 747647 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :Yes, that can work. Null is false and everything else can be true. About macros, I thought they could be either preprocessor macros or perhaps dynamic macros (depending on how the rest of the programming language is working); you don't need both < 1533975906 928542 :XorSwap!~XorSwap@wnpgmb016qw-ppp-103-253.dynamic.bellmts.net QUIT :Quit: the creeping crawling chaos will return. < 1533975924 697686 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :I believe you though that one kind of loop will be enough (probably a while loop), and one kind of collection. Possibly the suitable flow-controls can be: if/else, while, goto, and return; nothing else is needed I think. I don't know what is you think though; you can figure out what you like to do it. < 1533976094 909958 :erdic!~erdic@unaffiliated/motley QUIT :Ping timeout: 272 seconds < 1533976128 76585 :erdic!~erdic@unaffiliated/motley JOIN :#esoteric < 1533976438 934593 :erdic!~erdic@unaffiliated/motley QUIT :Ping timeout: 260 seconds < 1533976834 51531 :erdic!~erdic@unaffiliated/motley JOIN :#esoteric < 1533976895 233540 :DrJ23!~DrJ@i210-161-191-59.s02.a015.ap.plala.or.jp JOIN :#esoteric < 1533976953 378752 :DrJ23!~DrJ@i210-161-191-59.s02.a015.ap.plala.or.jp QUIT :Remote host closed the connection < 1533977912 271399 :u0_a101!~u0_a101@c-73-118-33-160.hsd1.fl.comcast.net PRIVMSG #esoteric :zzo38: i think you're right... not sure if goto is needed, but probably either goto or break/continue < 1533977936 141963 :u0_a101!~u0_a101@c-73-118-33-160.hsd1.fl.comcast.net PRIVMSG #esoteric :should be a way to break out of loops without return < 1533978000 451204 :u0_a101!~u0_a101@c-73-118-33-160.hsd1.fl.comcast.net PRIVMSG #esoteric :it makes me wonder if loops are really necessary, maybe something like a self-recursive function instead < 1533978070 668536 :GeekDude!~G33kDude@unaffiliated/g33kdude QUIT :Ping timeout: 256 seconds < 1533978235 445483 :GeekDude!~G33kDude@unaffiliated/g33kdude JOIN :#esoteric < 1533978313 932154 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :Perhaps, but while and goto (and if/else and return) can make it convenient to program, even though they are not strictly needed. < 1533978390 824349 :u0_a101!~u0_a101@c-73-118-33-160.hsd1.fl.comcast.net PRIVMSG #esoteric :yeah, for sure < 1533978529 775712 :u0_a101!~u0_a101@c-73-118-33-160.hsd1.fl.comcast.net PRIVMSG #esoteric :zzo38: sent you a link :) < 1533978620 735468 :SopaXorzTaker!~SopaXorzT@unaffiliated/sopaxorztaker JOIN :#esoteric < 1533978701 303493 :Guest74037!~realz@77.107.45.40 JOIN :#esoteric < 1533978982 878077 :Guest74037!~realz@77.107.45.40 QUIT :Ping timeout: 272 seconds < 1533979616 419856 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Remote host closed the connection < 1533980343 567834 :jwhisnant21!~jwhisnant@219.144.223.176 JOIN :#esoteric < 1533980376 679092 :jwhisnant21!~jwhisnant@219.144.223.176 QUIT :Killed (Sigyn (Spam is off topic on freenode.)) < 1533980517 892783 :S_Gautam!uid286066@gateway/web/irccloud.com/x-edmzjxptdeqdxdgx QUIT :Quit: Connection closed for inactivity < 1533980769 768290 :S_Gautam!uid286066@gateway/web/irccloud.com/x-nstxodqgrnmcclzs JOIN :#esoteric < 1533981110 991247 :erdic!~erdic@unaffiliated/motley QUIT :Ping timeout: 272 seconds < 1533981236 933400 :atslash!~atslash@static.231.107.9.5.clients.your-server.de JOIN :#esoteric < 1533981854 5657 :erdic!~erdic@unaffiliated/motley JOIN :#esoteric < 1533981898 590133 :GeekDude!~G33kDude@unaffiliated/g33kdude QUIT :Ping timeout: 244 seconds < 1533981984 904845 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1533982049 538750 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Remote host closed the connection < 1533982065 675061 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1533982067 406223 :GeekDude!~G33kDude@unaffiliated/g33kdude JOIN :#esoteric < 1533982115 631786 :erdic!~erdic@unaffiliated/motley QUIT :Ping timeout: 244 seconds < 1533983477 309820 :erkin!~erkin@unaffiliated/erkin JOIN :#esoteric < 1533984266 660504 :Random2!~Random@115.52.175.77 JOIN :#esoteric < 1533984394 639169 :Random2!~Random@115.52.175.77 QUIT :Remote host closed the connection < 1533985259 311853 :erdic!~erdic@unaffiliated/motley JOIN :#esoteric < 1533986630 508319 :vans12!~vans@189.98.36.104 JOIN :#esoteric < 1533987013 606637 :vans12!~vans@189.98.36.104 QUIT :Ping timeout: 244 seconds < 1533988469 807882 :wob_jonas!b03f18f2@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.242 JOIN :#esoteric < 1533988841 297143 :wob_jonas!b03f18f2@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.242 PRIVMSG #esoteric :u0_a101: you can try to look at https://esolangs.org/wiki/Mouse or ... uh, there was some low-level language intended to be used as an embedded language that can directly access the memory space of the parent process and with like five types of registers and three-letter commands. < 1533988888 303837 :wob_jonas!b03f18f2@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.242 PRIVMSG #esoteric :zzo38: what was that latter language and wasn't it one of yours? < 1533989454 857602 :wob_jonas!b03f18f2@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.242 PRIVMSG #esoteric :https://esolangs.org/wiki/CLCLC-INTERCAL WTF, a dialect of Intercal without the unary bitwise operators? that's so strange < 1533990724 889169 :SopaXorzTaker!~SopaXorzT@unaffiliated/sopaxorztaker QUIT :Remote host closed the connection < 1533990788 926015 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru JOIN :#esoteric < 1533991134 940754 :rain2!~rain1@unaffiliated/rain1 PRIVMSG #esoteric :idea UTF-0 UTF-1 < 1533991897 193108 :wob_jonas!b03f18f2@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.242 QUIT :Quit: http://www.kiwiirc.com/ - A hand crafted IRC client < 1533992375 421768 :erdic!~erdic@unaffiliated/motley QUIT :Ping timeout: 240 seconds < 1533992600 252969 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :how would you make that < 1533992629 978 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :unary would be easy but stupid, but utf-0? < 1533993092 130410 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :UTF--1+i < 1533993111 936640 :erdic!~erdic@unaffiliated/motley JOIN :#esoteric < 1533993118 922087 :SopaXorzTaker!~SopaXorzT@unaffiliated/sopaxorztaker JOIN :#esoteric < 1533993132 478938 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric :Taneb: (rofl) < 1533993197 298029 :xkapastel!uid17782@gateway/web/irccloud.com/x-sfqsixzxkofhwaqi JOIN :#esoteric < 1533995259 592013 :MDude!~MDude@97-127-137-99.cdrr.qwest.net QUIT :Ping timeout: 244 seconds < 1533995527 986483 :BenLand100!~BenLand10@84.95.37.143.forward.012.net.il JOIN :#esoteric < 1533995735 25794 :BenLand100!~BenLand10@84.95.37.143.forward.012.net.il QUIT :Remote host closed the connection < 1533997120 253820 :ForexTrader!~ForexTrad@186.139.40.155 JOIN :#esoteric < 1533997141 724529 :ForexTrader!~ForexTrad@186.139.40.155 QUIT :Killed (Sigyn (Spam is off topic on freenode.)) < 1533997476 835441 :SopaXorzTaker!~SopaXorzT@unaffiliated/sopaxorztaker QUIT :Remote host closed the connection < 1533997941 921189 :Metacity13!~Metacity@220.76.87.103 JOIN :#esoteric < 1533997969 248972 :Metacity13!~Metacity@220.76.87.103 QUIT :Remote host closed the connection < 1534000643 101073 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :There was an UTF-1, but it wasn't 1 as in "one bit", it was 1 as in "first". It's an appendix in the original (1993) ISO-10646, it's a multibyte encoding somewhat similar to UTF-8 except worse. < 1534000796 437255 :int-e!~noone@int-e.eu PRIVMSG #esoteric :`quote worse < 1534000797 146648 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :350) elliott: actually, it's worse right now, I'm in the USA where the solution to counterfeiting problems is "add more ink" eventually all US bills will just be solid green \ 385) No nasty sounds for a while now. Going to turn off and on and see if the numbers get worse. \ 524) You know how the arrow pierces your skin, rearranging and randomizing vital internal structure? Monads are like that, only < 1534000831 206974 :int-e!~noone@int-e.eu PRIVMSG #esoteric :`quote 524 < 1534000831 936035 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :524) You know how the arrow pierces your skin, rearranging and randomizing vital internal structure? Monads are like that, only worse. < 1534000844 601690 :int-e!~noone@int-e.eu PRIVMSG #esoteric :so much hate < 1534001022 808395 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric :(( < 1534001058 422169 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric :I’ll never try burritos then < 1534001067 190151 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric :if monads are also like them < 1534001135 847734 :AnotherTest!~turingcom@d51A46C74.access.telenet.be JOIN :#esoteric < 1534001447 452107 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :Burritos and monads are both quite nice < 1534001467 173193 :int-e!~noone@int-e.eu PRIVMSG #esoteric :I wouldn't want to confuse the two. < 1534001468 572595 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :Although I tend to overfill them < 1534001477 986736 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :And that just ends up messy < 1534001597 897962 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :You should try to not have too many at the same time, too, to avoid bloat < 1534001950 238289 :int-e!~noone@int-e.eu PRIVMSG #esoteric :So to paraphrase, monads are like burritos; if you stack them too high, the result is inevitably a mess? < 1534001966 912741 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :Yes < 1534001986 259326 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :Also a burrito inside a burrito is sometimes but generally not a burrito itself! < 1534003155 481020 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric :is there a ListT burrito which wasn’t done right until some time in the past? < 1534003930 989961 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Cale knows all about that I believe < 1534005093 317400 :steveeJ20!~steveeJ@170.78.50.30 JOIN :#esoteric < 1534005345 321498 :steveeJ20!~steveeJ@170.78.50.30 QUIT :Ping timeout: 248 seconds < 1534005994 906677 :Cale!~cale@2607:fea8:995f:fb71:699c:a716:1b3e:6b38 PRIVMSG #esoteric :Yeah, the ListT in MTL was (and is) incorrect. < 1534006021 170495 :alercah!~alercah@unaffiliated/alercah PRIVMSG #esoteric :wait, really? < 1534006042 760798 :alercah!~alercah@unaffiliated/alercah PRIVMSG #esoteric :rofl < 1534006080 954398 :Cale!~cale@2607:fea8:995f:fb71:699c:a716:1b3e:6b38 PRIVMSG #esoteric :Yeah, the things it produces are not law-abiding monads unless the monad you give it is commutative, which few monads are. < 1534006166 558895 :alercah!~alercah@unaffiliated/alercah PRIVMSG #esoteric :XD < 1534006168 208587 :alercah!~alercah@unaffiliated/alercah PRIVMSG #esoteric :amazing < 1534006495 854873 :majestic25!~majestic@115.167.10.56 JOIN :#esoteric < 1534006826 260653 :majestic25!~majestic@115.167.10.56 QUIT :Ping timeout: 256 seconds < 1534007131 586320 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :how common is it for someone to make a monad named Nock for the lulz? < 1534007144 225081 :sebbu2!~sebbu@unaffiliated/sebbu JOIN :#esoteric < 1534007318 403338 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :What is such monad meaning? < 1534007336 274945 :sebbu!~sebbu@unaffiliated/sebbu QUIT :Ping timeout: 256 seconds < 1534007658 601329 :int-e!~noone@int-e.eu PRIVMSG #esoteric :@google "you could have invented hylomorphisms" < 1534007659 757000 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :No Result Found. < 1534007669 472625 :int-e!~noone@int-e.eu PRIVMSG #esoteric :@google google < 1534007670 482876 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :https://www.google.com/ < 1534008509 748870 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :zzo38: its up to you to decide that. sometimes, there are names in want of things. < 1534008943 838680 :int-e!~noone@int-e.eu PRIVMSG #esoteric :`? zzo38 < 1534008944 893229 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :zzo38 is not actually the next version of fungot, much as it may seem. < 1534008952 501514 :int-e!~noone@int-e.eu PRIVMSG #esoteric :fungot: oh < 1534008953 79660 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :int-e: i tried /topic in a .c file and see what happens :) they are probably talking more like 100 lines here, and then ' fnord' :p. but that doesn't help < 1534008990 866782 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(I have not "chatted" with fungot in a while) < 1534008991 82298 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :int-e: where is the acid? where is it? bye! < 1534009005 888555 :int-e!~noone@int-e.eu PRIVMSG #esoteric :fungot: why are you leaving so soon? < 1534009006 332383 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :int-e: where is lisppaste? i've posted this before i do, be lazy and not check for the extent of your mathematical background. the 1st chapter of sicp. < 1534009879 423789 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric :fungot: I know where the acid is but I won’t tell you :P < 1534009879 638991 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :arseniiv: are *all* concatenative languages functional? ( no, i'm sure) < 1534009880 587894 :MDude!~MDude@97-127-137-99.cdrr.qwest.net JOIN :#esoteric < 1534009937 509440 :int-e!~noone@int-e.eu PRIVMSG #esoteric :it's so surreal when fungot almost makes sense < 1534009938 29261 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :int-e: well the exercise does describe named let adequately i think?) for the ' most jewish' towns in the red river valley, austin, and state indices could be stored < 1534010002 885793 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric :fungot: btw have you gained conscience already < 1534010003 229827 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :arseniiv: well i could find about it online. but for people who are technically freelancers, but always doubted they really exist in simple examples. :( < 1534010019 618009 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric :yes < 1534010331 663810 :ErrantEgo0!~ErrantEgo@211.210.6.208 JOIN :#esoteric < 1534010442 402950 :ErrantEgo0!~ErrantEgo@211.210.6.208 QUIT :Remote host closed the connection < 1534010472 29345 :variable!~variable@freebsd/developer/variable JOIN :#esoteric < 1534010795 913492 :SopaXorzTaker!~SopaXorzT@unaffiliated/sopaxorztaker JOIN :#esoteric < 1534010812 922726 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric :fungot: как ты относишься к кириллице? < 1534010813 206308 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :arseniiv: i've heard minion is perpetually disgruntled." i have quite a nice learning environment... < 1534010844 441564 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric :I feared it’d be worse < 1534010988 498746 :erkin!~erkin@unaffiliated/erkin QUIT :Remote host closed the connection < 1534011259 482893 :int-e!~noone@int-e.eu PRIVMSG #esoteric :arseniiv: it might be if fungot actually took context into account < 1534011259 657965 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :int-e: was that a question in " the call/ cc's < 1534012034 254915 :variable!~variable@freebsd/developer/variable QUIT :Quit: Found 1 in /dev/zero < 1534012268 703677 :Sgeo__!~Sgeo@ool-18b98dd9.dyn.optonline.net JOIN :#esoteric < 1534012514 15781 :Sgeo_!~Sgeo@ool-18b98dd9.dyn.optonline.net QUIT :Ping timeout: 276 seconds < 1534012552 691819 :Sgeo_!~Sgeo@ool-18b98dd9.dyn.optonline.net JOIN :#esoteric < 1534012737 672657 :Sgeo__!~Sgeo@ool-18b98dd9.dyn.optonline.net QUIT :Ping timeout: 240 seconds < 1534013369 145604 :Cale!~cale@2607:fea8:995f:fb71:699c:a716:1b3e:6b38 QUIT :Read error: Connection reset by peer < 1534013582 927163 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :Are you good at the computer game I put on here a while ago? < 1534014155 663292 :xset!~xset@128-74-25-231.broadband.corbina.ru JOIN :#esoteric < 1534014177 86859 :xset!~xset@128-74-25-231.broadband.corbina.ru QUIT :Killed (Sigyn (Spam is off topic on freenode.)) < 1534014900 404145 :imode!~imode@unaffiliated/imode JOIN :#esoteric < 1534015000 306249 :int-e!~noone@int-e.eu PRIVMSG #esoteric :high score 80 in the default mode... I don't think that's good < 1534015084 44037 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric :zzo38: where to find it? < 1534015233 300760 :int-e!~noone@int-e.eu PRIVMSG #esoteric : http://zzo38computer.org/GAMES/MEGAPANE.ZIP < 1534015367 589126 :u0_a101!~u0_a101@c-73-118-33-160.hsd1.fl.comcast.net PRIVMSG #esoteric :.exe :( < 1534015653 228850 :int-e!~noone@int-e.eu PRIVMSG #esoteric :runs in dosbox < 1534015678 258470 :int-e!~noone@int-e.eu PRIVMSG #esoteric :it's quaint < 1534015997 876988 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :I will add some more options later < 1534016016 610838 :atslash!~atslash@static.231.107.9.5.clients.your-server.de QUIT :Quit: This computer has gone to sleep < 1534016868 481102 :SopaXorzTaker!~SopaXorzT@unaffiliated/sopaxorztaker QUIT :Remote host closed the connection < 1534017401 610298 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric :int-e: zzo38: 35! < 1534017420 162208 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric :also, basic, really? :o < 1534017473 800541 :int-e!~noone@int-e.eu PRIVMSG #esoteric :arseniiv: are you complaining because it's not esoteric enough? :P < 1534017501 417703 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric :no, no < 1534017558 201752 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric :I haven’t seen a classical (Q?)Basic code in, let me think… forever < 1534017630 786266 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric :ah, non-classic, no line numbers < 1534017638 770020 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric :but still not VB either < 1534017667 102657 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric :my first real programs were in VB6(( < 1534017673 629358 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :Yes, it is written in BASIC. The source codes are public domain so you can do what you want with it (although the executable file may be copyright by Microsoft). That is what I use when writing programs on DOS (for native programs on Linux I use C). While there are some free BASIC compilers, they should be enhanced to support some of the commands they currently don't and support real mode < 1534017715 39252 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric :zzo38: also interesting game idea < 1534017754 254732 :int-e!~noone@int-e.eu PRIVMSG #esoteric :uh I accidently reached 311 < 1534017763 381794 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric ::oo < 1534017800 480115 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(and I mean that... I felt out of control the whole time) < 1534017840 397934 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric :44 at the second time < 1534017852 408185 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric :I think it’s pointless for me to continue :D < 1534017897 681567 :int-e!~noone@int-e.eu PRIVMSG #esoteric :http://int-e.eu/~bf3/tmp/mph.png < 1534017979 404948 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(this is not a random file name: mph = mega pane highscore) < 1534018002 115949 :int-e!~noone@int-e.eu PRIVMSG #esoteric :arseniiv: 44 is a more normal score :) < 1534018049 703960 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric :I feel a bit too slow for this game still < 1534018104 810651 :int-e!~noone@int-e.eu PRIVMSG #esoteric :I like the solitaire mode that you get if you press "T" once < 1534018131 590619 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(where the board moves up every 8 moves you make) < 1534018135 334618 :erkin!~erkin@unaffiliated/erkin JOIN :#esoteric < 1534018158 378975 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric :oh, I’ve missed that! < 1534018371 980519 :int-e!~noone@int-e.eu PRIVMSG #esoteric :actually this part of the game is quite advanced... you can select a preset (0-9), change the settings, save it, and then it'll start recording highscores for that setting < 1534018409 939612 :int-e!~noone@int-e.eu PRIVMSG #esoteric :reminds me remotely of the good old blockout game < 1534018420 605322 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric :50 on default solitaire < 1534019020 23012 :FreeFull!~freefull@defocus/sausage-lover QUIT :Quit: Rebooting for new kernel < 1534019076 769078 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1534019153 331010 :FreeFull!~freefull@defocus/sausage-lover JOIN :#esoteric < 1534019323 302572 :Cale!~cale@2607:fea8:995f:fb71:5845:6ffc:b0b5:2bc7 JOIN :#esoteric < 1534019778 852883 :lutki_!~lutki_@190-37-221-90.dyn.dsl.cantv.net JOIN :#esoteric < 1534019884 534832 :lutki_!~lutki_@190-37-221-90.dyn.dsl.cantv.net QUIT :Remote host closed the connection < 1534020476 90425 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :@messages? < 1534020476 332902 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :Sorry, no messages today. < 1534020762 12289 :int-e!~noone@int-e.eu PRIVMSG #esoteric :> let act i j = lift (tell [i]) `mplus` lift (tell [j]); x = snd . runWriter . runListT in (x (act 1 2 >> (act 3 4 >> act 5 6)), x ((act 1 2 >> act 3 4) >> act 5 6)) < 1534020763 879301 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric : error: < 1534020763 979911 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric : Variable not in scope: runListT :: a1 -> Writer c a0 < 1534020776 592163 :int-e!~noone@int-e.eu PRIVMSG #esoteric :@let import Control.Monad.List < 1534020777 678081 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric : Defined. < 1534020779 60462 :int-e!~noone@int-e.eu PRIVMSG #esoteric :> let act i j = lift (tell [i]) `mplus` lift (tell [j]); x = snd . runWriter . runListT in (x (act 1 2 >> (act 3 4 >> act 5 6)), x ((act 1 2 >> act 3 4) >> act 5 6)) < 1534020781 286283 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric : ([1,2,3,4,5,6,5,6,3,4,5,6,5,6],[1,2,3,4,3,4,5,6,5,6,5,6,5,6]) < 1534020856 666241 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric :no messages today my love is gone away, the λ-bot stands forlorn a symbol of the dawn < 1534020893 559391 :u0_a101!~u0_a101@c-73-118-33-160.hsd1.fl.comcast.net PRIVMSG #esoteric :qq < 1534020941 787702 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric :int-e: is @let global to all lambdabot? < 1534020957 236174 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric :all of* < 1534020977 877616 :int-e!~noone@int-e.eu PRIVMSG #esoteric :@undef < 1534020978 205649 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :Undefined. < 1534020979 614202 :int-e!~noone@int-e.eu PRIVMSG #esoteric :arseniiv: yes < 1534020991 517522 :u0_a101!~u0_a101@c-73-118-33-160.hsd1.fl.comcast.net PRIVMSG #esoteric :zzo38: something you said earlier had me briefly playing with the idea of a super-goto that could also pass values, and be returned to, receiving a value... but i gave up on that after about 30 minutes < 1534021016 415422 :ErrantEgo14!~ErrantEgo@118-86-119-13.kakt.j-cnet.jp JOIN :#esoteric < 1534021016 921976 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :That seem would be difficult to implement, it seem to me. < 1534021038 950010 :u0_a101!~u0_a101@c-73-118-33-160.hsd1.fl.comcast.net PRIVMSG #esoteric :yeah, i think you'd have to keep a stack of them to return < 1534021057 857754 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric :int-e: what one does when some imports are interfering with something, is there a way to un-import? < 1534021100 360384 :ErrantEgo14!~ErrantEgo@118-86-119-13.kakt.j-cnet.jp QUIT :Remote host closed the connection < 1534021102 684704 :u0_a101!~u0_a101@c-73-118-33-160.hsd1.fl.comcast.net PRIVMSG #esoteric :actually goto seems hard to implement in general... how do you handle skipping past a var declaration, etc < 1534021145 574954 :int-e!~noone@int-e.eu PRIVMSG #esoteric :arseniiv: @undef resets all @let commands < 1534021157 503677 :int-e!~noone@int-e.eu PRIVMSG #esoteric :@where L.hs < 1534021157 821912 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :what lambdabot has in scope is at http://silicon.int-e.eu/lambdabot/State/Pristine.hs < 1534021182 972712 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :Yes, I do know of difficulties of implementing goto, but one way is to just disallow jumping past a variable declaration. Some programming language expect variable declarations at the beginning of a block, and if you cannot jump into a block then that is automatically the case. < 1534021194 175062 :int-e!~noone@int-e.eu PRIVMSG #esoteric :arseniiv: @let adds stuff to a file L.hs; @undef copies Pristine.hs to L.hs, overwriting all @let changes < 1534021217 584577 :int-e!~noone@int-e.eu PRIVMSG #esoteric :it's all very well designed and userfriendly. :P < 1534021218 949976 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric :u0_a101: all declarations within a block could be treated as its inseparable traits, occurring in the same code with runnable instructions only because of a, let’s say, “bad” design < 1534021257 727445 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric :int-e: it's all very well designed and userfriendly. :P => I see :::: < 1534021274 979935 :int-e!~noone@int-e.eu PRIVMSG #esoteric :@let import qualified Control.Monad.List as CML < 1534021276 131306 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric : Defined. < 1534021290 650503 :int-e!~noone@int-e.eu PRIVMSG #esoteric :> let t = lift . tell . (:[]); a i j = t i `mplus` t j; x = snd . runWriter . CML.runListT in (x (a 1 2 >> (t 3 >> t 4)), x ((a 1 2 >> t 3) >> t 4)) < 1534021292 437542 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric : ([1,2,3,4,3,4],[1,2,3,3,4,4]) < 1534021351 168005 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric :there could be an interesting er… game when someone privately sends @undef to lambdabot in the heat of someone else building a complex machiery in the chat < 1534021379 156864 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Anyway this is how ListT is broken: The order of effects of the base monad may change with the bracketing of >> (or >=>), breaking the corresponding associative law. < 1534021416 257430 :int-e!~noone@int-e.eu PRIVMSG #esoteric :arseniiv: it has caused surprisingly few problems so far... people cope. < 1534021423 923991 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :Yes, so it only transforms some monads and not all of them. < 1534021438 143143 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :So it is not a real monad transfomer and only is partial < 1534021476 462612 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric :int-e: seems reasonable. Also I was half-joking :D < 1534021494 22781 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric ::t StateT IO < 1534021495 248519 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :error: < 1534021495 248568 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric : • Data constructor not in scope: IO :: s -> m (a, s) < 1534021495 488028 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric : • Perhaps you meant ‘In’ (imported from Lambdabot.Plugin.Haskell.Eval.Trusted) < 1534021512 173124 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric ::k StateT IO < 1534021512 969590 :u0_a101!~u0_a101@c-73-118-33-160.hsd1.fl.comcast.net PRIVMSG #esoteric :arseniiv: so, hoisting var declarations to top of block basically? i'f im understanding you right? < 1534021513 386476 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :error: < 1534021513 621255 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric : • Expecting one more argument to ‘IO’ < 1534021513 621333 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric : Expected a type, but ‘IO’ has kind ‘* -> *’ < 1534021519 802024 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric ::k StateT IO Integer < 1534021520 880880 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :error: < 1534021520 976400 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric : • Expecting one more argument to ‘IO’ < 1534021521 121860 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric : Expected a type, but ‘IO’ has kind ‘* -> *’ < 1534021525 322301 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric ::k StateT (IO Integer) < 1534021526 572345 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :(* -> *) -> * -> * < 1534021544 994599 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric ::k IO Integer < 1534021546 240722 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :* < 1534021573 86233 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric :u0_a101: yep, or think of declarations inside a runnable block like a nops < 1534021598 618686 :int-e!~noone@int-e.eu PRIVMSG #esoteric :arseniiv: http://hackage.haskell.org/package/logict is "ListT done properly" borrowing from Cont (Codensity, Yoneda, yada-yada). < 1534021634 430584 :int-e!~noone@int-e.eu PRIVMSG #esoteric :It also gets rid of the lists. < 1534021663 100695 :u0_a101!~u0_a101@c-73-118-33-160.hsd1.fl.comcast.net PRIVMSG #esoteric :arseniiv: hmm, interesting idea :) < 1534021677 855632 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I've been having my own thoughts about things like error handling, backtracking, select(2), and the like < 1534021690 421480 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I think that there's a way to do it correctly, from a programmer's point of view < 1534021700 867636 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :You could also disallow jumping to a label if there is a variable declaration between the goto and label < 1534021701 78582 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric :they are “runned” before all explicit runnable statements do, notwithstanding goto jumps, like a finalizer in try…finally statements is run after something almost always, even if something was thrown < 1534021701 984610 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and monads are heavily involved, but it's not quite the same < 1534021724 842717 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I think what you need is to collapse the whole mess of monads and monad transformers into a single universal monad that does everything < 1534021776 978470 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :(unless the declaration in inside of a block that you are jumping out of.) < 1534021807 893661 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric :u0_a101: also it combines well with freedom to declare things precisely where you need them, and with lexical scoping too < 1534021852 129140 :u0_a101!~u0_a101@c-73-118-33-160.hsd1.fl.comcast.net PRIVMSG #esoteric :zzo38: i think this is what lua does < 1534021867 808571 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :Maybe; I don't know much about what Lua does. < 1534021869 899104 :u0_a101!~u0_a101@c-73-118-33-160.hsd1.fl.comcast.net PRIVMSG #esoteric :can't jump past var declaration < 1534021870 335527 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :one big inspiration is that ? from Rust is basically just do-notation, but nicer < 1534021870 457785 :ais523!~ais523@unaffiliated/ais523 QUIT :Remote host closed the connection < 1534021882 332775 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1534021884 619264 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric : Rust's x = a? is equivalent to Haskell's x <- a < 1534021894 607204 :u0_a101!~u0_a101@c-73-118-33-160.hsd1.fl.comcast.net PRIVMSG #esoteric :also label must be visible to goto, lexically < 1534021899 179425 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :or, well, except that Rust ? only supports Option and Either, making it easier to implement < 1534021927 43954 :arseniiv!~arseniiv@136.169.131.121.dynamic.ufanet.ru PRIVMSG #esoteric :int-e: seems I heard of it. Ah I wish I used Haskell more frequently < 1534021929 132746 :FireFly!znc@freenode/staff/firefly PRIVMSG #esoteric :I guess ? is a postfix operator here? < 1534021946 964489 :FireFly!znc@freenode/staff/firefly PRIVMSG #esoteric :or, hmm < 1534021950 241229 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :Well, you should be allowed to jump past a variable declaration as long as you are jumping outside of the block where that variable declaration is. And, yes, of course the label must be visible to goto, too. < 1534021961 587938 :FireFly!znc@freenode/staff/firefly PRIVMSG #esoteric :or is that, including the assignment, a single syntactic form? < 1534022001 112139 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :FireFly: yes, it's a postfix operator < 1534022083 602062 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :in Rust, it's results in x if its argument is Ok(x), x if its argument is Just(x), and if neither of those is the case, it exits the entire function, returning its argument unchanged < 1534022093 397533 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(assuming I got the syntax right there, I don't really know Rust) < 1534022116 166637 :alercah!~alercah@unaffiliated/alercah PRIVMSG #esoteric :the semantics are not quite right < 1534022120 869768 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but I personally see ? as more of a "convert the rest of the function into a lambda" operator < 1534022163 617141 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :like, { f; a?; g } ends up being converted to { f; a.map(|| g) } < 1534022176 94692 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :err < 1534022188 704500 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :{ f; x = a?; g } ends up being converted to { f; a.map(|x| g) } < 1534022203 555291 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :where |x| is "lambda x." < 1534022213 522086 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :this is exactly the same thing Haskell do-notation does < 1534022231 329858 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :or, well, it's not /quite/ the same; do-notation is flatMap (i.e. >>=), not regular map < 1534022248 185843 :int-e!~noone@int-e.eu PRIVMSG #esoteric :smalltalk forever < 1534022280 712202 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(I believe that's where the || notation comes from.) < 1534022305 648029 :FireFly!znc@freenode/staff/firefly PRIVMSG #esoteric :ah interesting, I associate it with Ruby < 1534022335 191739 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :anyway, it strikes me that most existing languages/APIs are very bad at common tasks like waiting for one of two unrelated events to happen < 1534022335 784738 :FireFly!znc@freenode/staff/firefly PRIVMSG #esoteric :ais523: hmm < 1534022363 58454 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :"wait until someone clicks the mouse or a particular socket receives a network packet" is very difficult with most programming frameworks < 1534022367 628646 :FireFly!znc@freenode/staff/firefly PRIVMSG #esoteric :ACTION nods < 1534022367 831050 :int-e!~noone@int-e.eu PRIVMSG #esoteric :ais523: erlang should be good at that < 1534022388 537389 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :well, the general solution involves a multiple threads and a blocking queu < 1534022394 129965 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :*blocking queue < 1534022412 915680 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :Yes, and SDL is also bad at that since not all events are SDL events and SDL can't give you a file descriptor for its events (although Xlib can). < 1534022414 672965 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I think this is the main reason threading became popular < 1534022423 897625 :FireFly!znc@freenode/staff/firefly PRIVMSG #esoteric :The most recent case of "that sounds like monadic bind" for me is JS and "await" I think (well, I guess promises in general) < 1534022437 745573 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :FireFly: yes, promises are a special case of this pattern too < 1534022506 685363 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :JavaScript also has generator functions too < 1534022517 368759 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I think a well-designed language would use promises for all input, and have an any() operator/function that returned the value of whichever promise completed first, and blocked until one of them did < 1534022520 497469 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :with appropriate error handling < 1534022540 556247 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :what we get instead is a lot of ad-hoc select/poll/epoll calls < 1534022565 662699 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the UNIX way is to make everything a file descriptor; that's workable, but as zzo38 says, most libraries abstract things away from that model and have no way to abstract-invert them back into it < 1534022576 186949 :sebbu2!~sebbu@unaffiliated/sebbu NICK :sebbu < 1534022588 142527 :int-e!~noone@int-e.eu PRIVMSG #esoteric :haskell isn't terrible for this either... depending on your taste, using STM or using its light-weight threads (possibly hidden behind an abstraction like the 'parallel' package) < 1534022617 15229 :FireFly!znc@freenode/staff/firefly PRIVMSG #esoteric :JS has a Promise.all which is a [Promise a] -> Promise [a] function that waits for all of them to complete; a buncha libraries had a Promise.race but I don't think it ended up being a standard thing ("wait until any settles, then settle with its value") < 1534022627 961319 :FireFly!znc@freenode/staff/firefly PRIVMSG #esoteric :But you could implement it as a library function of course < 1534022652 900392 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :FireFly: well, this is what an event loop is, effectively < 1534022654 370479 :FireFly!znc@freenode/staff/firefly PRIVMSG #esoteric :in that case you could do like, const thing = await Promise.race([thing1, thing2]) which is kinda decent? < 1534022655 803745 :int-e!~noone@int-e.eu PRIVMSG #esoteric :It's the OS interface that tends to be awful. (select, epoll... OS threads are usually too expensive) < 1534022658 412211 :FireFly!znc@freenode/staff/firefly PRIVMSG #esoteric :API-wise < 1534022664 630278 :FireFly!znc@freenode/staff/firefly PRIVMSG #esoteric :ais523: sure < 1534022667 221578 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :you'd want the other, unfinished promises to continue though < 1534022678 101835 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :this is what LogicT calls msplit < 1534022681 449368 :FireFly!znc@freenode/staff/firefly PRIVMSG #esoteric :hm this is true < 1534022682 283568 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ais523: This sounds similar to the language I was talking about recently with things that affect the rest of the scope. < 1534022702 88335 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I guess "head" would be a good name, because list terminology seems to be what people have settled on for monads < 1534022702 380296 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :JSZM uses generator functions for all I/O (it does not implement I/O itself; the application program must handle it; JSZM is only a library) < 1534022728 951757 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Which ended up being pretty SSAy, which is similar to CPS/monads. < 1534022739 812440 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :Not all monads are list monads, although some have features like list monads, so in that case I suppose "head" seem good < 1534022752 708933 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :zzo38: right, this is just about naming < 1534022779 673524 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :Yes, for monads that are like list monads you can use the names for those features like those for lists. < 1534022781 456946 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :people find "map" quite intuitive on general monads, for example < 1534022831 660845 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :Yes, that applies to all monads. < 1534022880 624801 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :naming things makes them easier to learn; I think most people have more of an intuitive idea of "flatMap" (i.e. map then flatten) than they do of ">>=", even though they're the same operation < 1534022891 212563 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(btw, is there a standard name for monad flattening?) < 1534022902 299752 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Multiplication? < 1534022934 406643 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :@hoogle Monad m => m (m x) -> m x < 1534022935 36810 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :Control.Monad join :: (Monad m) => m (m a) -> m a < 1534022935 129097 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :Streaming join :: Monad m => m (m a) -> m a < 1534022935 264785 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :Haxl.Prelude join :: Monad m => m (m a) -> m a < 1534022939 886838 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oh, "join" < 1534022962 946540 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh, in Haskell. Sure. < 1534022965 924728 :FireFly!znc@freenode/staff/firefly PRIVMSG #esoteric :I mean, "flatten" would make sense to me if you call flatMap that? < 1534022971 180750 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :right < 1534022981 569155 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I guess "join" sort-of makes sense on lists but it seems misleading for other things < 1534023005 82098 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But there's this spawn :: IO a -> IO (IO a) thing < 1534023007 826696 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :@source Control.Monad.join < 1534023008 59654 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :Unknown command, try @list < 1534023013 535476 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :@src Control.Monad.join < 1534023013 936636 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :Source not found. Take a stress pill and think things over. < 1534023014 217715 :int-e!~noone@int-e.eu PRIVMSG #esoteric ::t (runIdentity .) . traverse . (Identity .) < 1534023014 282111 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Which spawns a thing in a thread and gives you and IO value you can use to wait for the result. < 1534023015 558472 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :Traversable t => (a -> b) -> t a -> t b < 1534023016 708218 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :@src Control.Monad join < 1534023016 967169 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :Source not found. My mind is going. I can feel it. < 1534023025 492181 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :There the name "join" matches the use of "join" in multithreading. < 1534023026 185853 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :Still "join" is one of those operation of all monads, not only lists < 1534023056 446396 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :shachaf: the thread "join" is bizarrely named too, though; it's more like "wait for termination and take the value" < 1534023069 163846 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :zzo38: yes < 1534023069 889132 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Yes. < 1534023082 600785 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But it's funny that it ends up working in that context. < 1534023082 736480 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I personally think of monads as being formed of map, join, return < 1534023085 961578 :int-e!~noone@int-e.eu PRIVMSG #esoteric :@src join < 1534023086 205067 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :join x = x >>= id < 1534023091 69894 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(not part of the class) < 1534023113 870994 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :haha, because Haskell treats >>= as the primitive, join is implemented by flatMap id < 1534023115 598986 :FireFly!znc@freenode/staff/firefly PRIVMSG #esoteric :ais523: I mean, it kind of makes sense as a name, since you have two threads of execution, and it joins them into one, by waiting for one of them to terminate? < 1534023115 761558 :int-e!~noone@int-e.eu PRIVMSG #esoteric :@src [] (>>=) < 1534023116 89954 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :xs >>= f = concatMap f xs < 1534023116 766733 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Yes, that's the standard definition. < 1534023121 908072 :int-e!~noone@int-e.eu PRIVMSG #esoteric :@src Maybe (>>=) < 1534023122 256498 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :(Just x) >>= k = k x < 1534023122 313582 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :Nothing >>= _ = Nothing < 1534023128 781208 :FireFly!znc@freenode/staff/firefly PRIVMSG #esoteric :well "joins" in the sense of a drawn graph < 1534023137 113722 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yes, it's the opposite of "fork" < 1534023165 342557 :int-e!~noone@int-e.eu PRIVMSG #esoteric :so join xs = xs >>= id = concatMap id xs = concat (map id xs) = concat xs < 1534023180 610252 :int-e!~noone@int-e.eu PRIVMSG #esoteric :for lists. < 1534023233 324541 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm, I assume Haskell doesn't have a Lazy monad because it's lazy anyway? < 1534023243 680577 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :laziness is a monad too, though < 1534023271 959943 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :actually I guess it's just the identity monad in Haskell < 1534023276 251190 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Agda has a partiality monad. < 1534023288 228306 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I guess that's pretty different. < 1534024316 782937 :AnotherTest!~turingcom@d51A46C74.access.telenet.be QUIT :Ping timeout: 272 seconds < 1534024395 629176 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :I think someone mention that a new feature in GHC can be made to treat both >>= and join as primitive and whichever one you do not define will be defined automatically by other one. < 1534025062 83006 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Remote host closed the connection < 1534025670 617399 :erkin!~erkin@unaffiliated/erkin QUIT :Remote host closed the connection < 1534026796 639447 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1534027064 670496 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Ping timeout: 256 seconds < 1534028238 71323 :w3stside15!~w3stside@89-64-31-215.dynamic.chello.pl JOIN :#esoteric < 1534028328 475532 :w3stside15!~w3stside@89-64-31-215.dynamic.chello.pl QUIT :Remote host closed the connection < 1534029503 434258 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1534029761 409426 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Ping timeout: 248 seconds < 1534031657 778032 :gareth__24!~gareth__@softbank221040034087.bbtec.net JOIN :#esoteric < 1534031686 968429 :gareth__24!~gareth__@softbank221040034087.bbtec.net QUIT :Remote host closed the connection