00:03:53 -!- arseniiv has quit (Ping timeout: 250 seconds). 00:04:28 -!- imode has quit (Ping timeout: 245 seconds). 00:14:48 -!- imode has joined. 00:20:16 Wy would co be time-reversing? 00:20:18 h 00:21:36 well, it normally produces duals 00:25:22 -!- atslash has quit (Ping timeout: 265 seconds). 00:26:40 -!- atslash has joined. 00:31:04 I guess time-reversing seems like an odd sort of dual here. 00:31:23 I like the way in 2-categories you have two different kinds of duals, which are called co and op. 00:31:39 -!- atslash has quit (Ping timeout: 265 seconds). 00:31:55 -!- atslash has joined. 00:44:14 -!- moonheart08 has joined. 00:50:02 -!- imode has quit (Ping timeout: 276 seconds). 00:59:52 -!- ais523 has quit (Quit: quit). 01:07:56 -!- moonheart08 has quit (Ping timeout: 240 seconds). 01:28:22 what's the practical use of "cubical type systems" guys? 01:28:45 easier to describe more complex types, rigorously? 01:28:47 what's a cubical type system 01:29:18 if i'm remembering correctly... something derived from homotopy type theory... 01:29:26 which is about types in the realm of homotopy 01:29:30 `quote lambda cube 01:29:31 886) FOUR SIMULTANEOUS TYPE SYSTEMS IN A SINGLE ROTATION OF THE LAMBDA CUBE 01:29:34 ok 01:29:36 no, it isnt lambda cube 01:29:40 unfortunately I don't understand HoTT at all 01:29:42 so cannot help you 01:30:02 from what I understand HoTT is defining types as a start and an end 01:30:11 and then you get all the types inbetween for free or something... 01:30:47 so imagine you have a type a -> b, and another type c -> d, well you can somehow get types inbetween these two... 01:31:04 i'm probably totally fucking botching the definition. :) 01:31:07 -!- imode has joined. 01:34:25 maybe shachaf understands HoTT 02:02:39 I sure don't understand cubical types. 02:02:46 Or HoTT. 02:02:56 HoTH 05:48:26 -!- imode has quit (Ping timeout: 240 seconds). 06:16:38 [[Keg]] https://esolangs.org/w/index.php?diff=66799&oldid=66643 * JonoCode9374 * (+84) /* Fibonacci sequence */ 06:44:59 fizzie, int-e, oerjan, re line length: (1) note that some irc clients (some versions of xchat) ask for that obsolete feature by default where the server puts a "-" or "+" character before the message, that takes an additional char, and 06:46:59 (2) use the environment variables $IRC_CHANNEL and $IRC_NICK to determine the length of the target; note that if $IRC_CHANNEL doesn't start with one of # or @ or + then it's a nick and $IRC_NICK will be the target of the reply 07:12:14 -!- b_jonas has quit (Quit: leaving). 08:03:05 -!- cpressey has joined. 08:06:01 Good morning. I almost almost almost have another esolang. 08:07:24 Is (almost almost) almost = almost (almost almost)? 08:10:40 It probably probably probably is. 08:14:07 shachaf: is that free association? 10:13:13 -!- morioka has joined. 10:28:48 shachaf: I think that those are two different things 10:35:51 -!- wib_jonas has joined. 10:35:54 `ftoc -13 10:35:55 ​-13.00°F = -25.00°C 11:12:33 -!- morioka has quit (Remote host closed the connection). 12:07:08 -!- arseniiv has joined. 12:28:49 @tell ais523 I think ^ is described a bit incomprehensive on Acyclic tag page: what does “one command at a time” mean if the pointer points to a string of commands and there is no sub-pointer to count commands in that string 12:28:49 Consider it noted. 12:29:30 hm maybe it was already noted… 12:29:37 I didn’t logread 13:56:15 -!- kspalaiologos has joined. 13:56:33 hello my fellow harp tuners 14:14:47 [[Special:Log/newusers]] create * Mechafinch * New user account 14:15:22 ```sport 14:15:23 ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: ``sport: not found 14:15:25 ``` sport 14:15:32 what's this tool for 14:15:33 `? sport 14:15:34 sport divides its input into irc-sized pieces and displays the nth (default first). The pipe version of `1. See also spore. 14:15:41 LOVE IT 14:15:56 No output. 14:17:51 ``` asmbf <<<"mov r4,.F/mov r1,.0/mov r2,r1/lbl 1/out r1/out r2/out 32/mov r3,r1/eq_ r3,.9/jnz r3,2/mov r3,r2/eq_ r3,.9/jnz r3,3/mov r3,r1/eq_ r3,r4/jnz r3,5/lbl 6/mov r3,r2/eq_ r3,r4/jnz r3,4/inc r2/jmp 1/lbl 2/sub r4,5/mov r1,r4/add r4,5/jmp 1/lbl 3/sub r4,5/mov r2,r4/add r4,5/jmp 1/lbl 4/inc r1/mov r2,.0/jmp 1/lbl 5/mov r3,r2/eq_ r3,r4/jz_ r3,6" 14:17:51 ​+>+[<[>>+>+<<<-]>>[<<+>>-]>[[-]>>>>>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<<<[-]++++++++++++++++++++++++++++++++++++++++++++++++>[-]<[>+<<+>-]<[>+<-]<]>+<<+<<[>>->+<<<-]>>>[<<<+>>>-]<[->+<<[>>>-<<+<-]>[<+>-]>>[<->[-]]<[<<<+>>>-]<]>>[-]<<<<[>>+>+<<<-]>>[<<+>>-]>[[-]>>.>.>>>++++++++++++++++++++++++++++++++.[-]<<[-]<<[>>+<<<+>-]<[>+<-]>>>>>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++<<[<<<<+>>>>- 14:17:58 amazing! 14:18:12 ``` cat /hackeso/bin/asmbf 14:18:13 cat: /hackeso/bin/asmbf: No such file or directory 14:18:17 ``` whereis asmbf 14:18:18 asmbf: /hackenv/bin/asmbf 14:18:27 ```cat /hackenv/bin/asmbf 14:18:27 ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: ``cat: not found 14:18:32 ``` cat /hackenv/bin/asmbf 14:18:33 tr / \\n | bfasm 14:19:05 ```asmbf <<<"mov r4,.F/mov r1,.0/mov r2,r1/lbl 1/out r1/out r2/out 32/mov r3,r1/eq_ r3,.9/jnz r3,2/mov r3,r2/eq_ r3,.9/jnz r3,3/mov r3,r1/eq_ r3,r4/jnz r3,5/lbl 6/mov r3,r2/eq_ r3,r4/jnz r3,4/inc r2/jmp 1/lbl 2/sub r4,5/mov r1,r4/add r4,5/jmp 1/lbl 3/sub r4,5/mov r2,r4/add r4,5/jmp 1/lbl 4/inc r1/mov r2,.0/jmp 1/lbl 5/mov r3,r2/eq_ r3,r4/jz_ r3,6" 14:19:06 ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: ``asmbf: not found 14:19:11 ``` asmbf <<<"mov r4,.F/mov r1,.0/mov r2,r1/lbl 1/out r1/out r2/out 32/mov r3,r1/eq_ r3,.9/jnz r3,2/mov r3,r2/eq_ r3,.9/jnz r3,3/mov r3,r1/eq_ r3,r4/jnz r3,5/lbl 6/mov r3,r2/eq_ r3,r4/jnz r3,4/inc r2/jmp 1/lbl 2/sub r4,5/mov r1,r4/add r4,5/jmp 1/lbl 3/sub r4,5/mov r2,r4/add r4,5/jmp 1/lbl 4/inc r1/mov r2,.0/jmp 1/lbl 5/mov r3,r2/eq_ r3,r4/jz_ r3,6" 14:19:11 ​+>+[<[>>+>+<<<-]>>[<<+>>-]>[[-]>>>>>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<<<[-]++++++++++++++++++++++++++++++++++++++++++++++++>[-]<[>+<<+>-]<[>+<-]<]>+<<+<<[>>->+<<<-]>>>[<<<+>>>-]<[->+<<[>>>-<<+<-]>[<+>-]>>[<->[-]]<[<<<+>>>-]<]>>[-]<<<<[>>+>+<<<-]>>[<<+>>-]>[[-]>>.>.>>>++++++++++++++++++++++++++++++++.[-]<<[-]<<[>>+<<<+>-]<[>+<-]>>>>>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++<<[<<<<+>>>>- 14:19:17 ``` asmbf <<<"mov r4,.F/mov r1,.0/mov r2,r1/lbl 1/out r1/out r2/out 32/mov r3,r1/eq_ r3,.9/jnz r3,2/mov r3,r2/eq_ r3,.9/jnz r3,3/mov r3,r1/eq_ r3,r4/jnz r3,5/lbl 6/mov r3,r2/eq_ r3,r4/jnz r3,4/inc r2/jmp 1/lbl 2/sub r4,5/mov r1,r4/add r4,5/jmp 1/lbl 3/sub r4,5/mov r2,r4/add r4,5/jmp 1/lbl 4/inc r1/mov r2,.0/jmp 1/lbl 5/mov r3,r2/eq_ r3,r4/jz_ r3,6" | sport 14:19:18 1/7:+>+[<[>>+>+<<<-]>>[<<+>>-]>[[-]>>>>>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<<<[-]++++++++++++++++++++++++++++++++++++++++++++++++>[-]<[>+<<+>-]<[>+<-]<]>+<<+<<[>>->+<<<-]>>>[<<<+>>>-]<[->+<<[>>>-<<+<-]>[<+>-]>>[<->[-]]<[<<<+>>>-]<]>>[-]<<<<[>>+>+<<<-]>>[<<+>>-]>[[-]>>.>.>>>++++++++++++++++++++++++++++++++.[-]<<[-]<<[>>+<<<+>-]<[>+<-]>>>>>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++<<[<<<<+>>>> 14:19:38 ``` asmbf <<<"mov r4,.F/mov r1,.0/mov r2,r1/lbl 1/out r1/out r2/out 32/mov r3,r1/eq_ r3,.9/jnz r3,2/mov r3,r2/eq_ r3,.9/jnz r3,3/mov r3,r1/eq_ r3,r4/jnz r3,5/lbl 6/mov r3,r2/eq_ r3,r4/jnz r3,4/inc r2/jmp 1/lbl 2/sub r4,5/mov r1,r4/add r4,5/jmp 1/lbl 3/sub r4,5/mov r2,r4/add r4,5/jmp 1/lbl 4/inc r1/mov r2,.0/jmp 1/lbl 5/mov r3,r2/eq_ r3,r4/jz_ r3,6" | sport 7 14:19:39 -!- kspalaiologos has quit (Killed (Sigyn (Spam is off topic on freenode.))). 14:19:39 7/7:<<<<<-<+>>>>>>-]<<<<<<[>>>>>>+<<<<<<-]>[>>>>-<<<<[-]]>>>>>>++++++<<<<<<+>>>>[<<<<[-]<+>>>>>-]<<<<<[>>>>>+<<<<<-]>[<<<[-]>[-]>>>>>>>>[<<<<<<<<+>+>>>>>>>-]<<<<<<<[>>>>>>>+<<<<<<<-]>[-]]>>>>>>[-]<<<<<<]<<<[>>+>+<<<-]>>[<<+>>-]>[[-]<<<[-]>[-]>>]<<] 14:22:12 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=66800&oldid=66762 * Mechafinch * (+363) /* Introductions */ 14:34:10 oops 14:48:16 oops 14:48:30 um 14:48:59 fizzie: ^ Sigyn k-lined kspalaiologos 14:53:00 Hmm, that's not great. 14:54:06 I guess the whitelisting doesn't (and can't) really cover the case of people talking to the bot, in addition to the bot talking to people. 14:54:40 yep 14:55:00 heck, it's just unlucky timing that this caught him before it caught me 14:55:09 Hmm, I think I'm too late for this: 14:55:09 I spam the channel way more than that 14:55:19 "If opped in your channel you can ask Sigyn to unkline an user, /msg Sigyn unkline , you have a dozen minutes to do so after the kill/kline, it only works if the user was banned due to abuse detected in your channel." 14:55:24 Guess it's still worth a try. 14:55:26 definitely too late, because the k-line isn't easy to undo 14:55:46 -!- ChanServ has set channel mode: +o fizzie. 14:55:54 oh 14:56:00 hmm 14:56:08 15:55 'kspalaiologos' does not match any recent bans from #esoteric 14:56:10 Unfortunate. 14:56:22 check if you've typoed his name, I always do 14:56:22 -!- fizzie has set channel mode: -o fizzie. 14:56:29 I copy-pasted. 14:56:41 not from my chat, I hope 14:56:50 No, from the k-line message. 14:56:53 it's been more than a dozen minutes, unfortunately 14:57:23 Yes, I was hoping "dozen" was the sort of very rough approximation. 14:57:51 at least kspalaiologos is still reading the logs 14:58:19 ideally we should teach one of our bots to recognize that particular spammer who was the reason why you invited Sigyn 14:59:45 -!- ornxka has changed nick to notabotiswear. 15:00:03 Do you know if those kills are temporary? Looking at the code, there's some references to a "duration". 15:00:20 -!- notabotiswear has changed nick to normalcomputerus. 15:00:52 -!- normalcomputerus has changed nick to ornxka. 15:00:57 fizzie: I don't know, maybe ask #freenode or FireFly 15:01:12 I think it looks like they are, but I can't tell how long they are because that depends how they're configured it. 15:01:39 I mean, of course it's temporary compared to the heat death of the universe, the question is the scale 15:02:42 Arguably that testing would've probably been better on #esoteric-blah, but I don't think we want to be kline-strict about that sort of thing. 15:02:53 exactly 15:03:11 kicking and banning for 15 minutes it is fine 15:03:20 which is why a bot that you control could do it 15:03:23 On the bright side, "(Killed (Sigyn (Spam is off topic on freenode.)))" looks like some kind of S-expression. At least there's that. 15:05:10 Should we ask Sigyn to leave for now? I don't even know if there's a standard self-service way to do that. 15:05:43 fizzie: kicking them probably makes them leave 15:05:50 if not, then kickbanning them should 15:06:22 Sounds plausible. Opinions? Is it too unsafe to have, given the sort of thing this channel does? 15:06:27 or you could ask nicely 15:06:39 Sigyn: fizzie would like to ask you to leave now 15:08:22 -!- kspalaiologos1 has joined. 15:08:26 what just happened 15:09:12 kspalaiologos1: the real kspalaiologos got k-lined. if you're the same person, you probably shouldn't sneak back in because freenode may get angry about k-line evasion 15:09:29 kspalaiologos1: Sigyn is a bot that tries to catch spammers, let me find in the channel logs where we discussed it 15:10:01 the heck is kline 15:10:09 started https://esolangs.org/logs/2019-10.html#ljbb 15:10:13 I've already taken a peek at the logs 15:10:24 kspalaiologos1: a ban from the whole network, as opposed to a ban that bans only from a channel 15:10:36 there are also lines with other letters that I don't follow 15:11:16 well 15:11:24 now I understand why so few people still sit on IRC 15:11:51 fizzie: the real target(s) never showed up :/ 15:11:52 https://esolangs.org/logs/2019-10.html#lKx and https://esolangs.org/logs/2019-10.html#lEq were the earlier spam 15:12:15 it 15:12:16 wasn't me 15:12:21 if you havent noticed 15:12:25 the real me was registered 15:12:26 ksp: yes, I know 15:12:32 it was quite obvious 15:12:42 why do you think its obvious 15:12:44 somebody took the bait 15:12:45 I'm just saying that after those things, fizzie got annoyed and invited Sigyn in 15:12:51 as you can see https://esolangs.org/logs/2019-10.html#ljbb 15:12:56 kspalaiologos1: I don't think anyone did 15:13:10 I remembed someone did after taking a peek at the logs 15:14:06 int-e: they may be waiting, it's only been two weeks; or they may have showed up but got scared of Sigyn and left 15:14:23 wib_jonas: there is that possibility. 15:14:28 well, I hate it that I'm recognized so much lol 15:14:51 int-e: there were four or five days when he didn't show up before the spam that made fizzie invite Sigyn 15:15:24 kspalaiologos1: it's not that I recognize you specifically, but I can distinguish you from someone who spams yellow JS JS JS 15:15:33 I didn't mean this 15:15:57 i constantly find people trying to annoy me, lie away my rep 15:16:11 it's sad, but well, happens 15:16:53 I've already sent a kind letter to the kline at freenode 15:17:09 will Sigyn trigger on any bfasm attempt now, I wonder 15:17:16 (and no, I won't try!) 15:17:27 pff 15:17:37 I hate when that happens 15:18:11 hopefully kspalaiologos will now be more cautious and experiment in either private message or some other channel 15:18:26 I didn't know I can get banned 15:19:30 I think I'll get unbanned eventually 15:19:32 though what channel there is where you can spam j-bot now I've no idea, because it doesn't seem to be in either #ijx or #jeval, the two botspam channels that we used to use 15:19:49 but it does accept private message, with slightly different confusing syntax 15:19:51 I'll see you back in around a week 15:20:00 -!- kspalaiologos1 has quit (Quit: leaving). 15:29:05 Yeah, let's maybe try ask Sigyn to leave (feel a bit bad for wasting Freenode op time for the whitelists, but I guess that's what they're there for) and if we get spam problems, investigate something a little less drastic. Just a shame there doesn't seem to be an easy way to get the benefits (outsourced spamminess detection, network-level kills from real spamming). 15:29:59 -!- ChanServ has set channel mode: +o fizzie. 15:30:02 -!- cpressey has quit (Quit: Not killed. Weekend tho.). 15:30:07 -!- fizzie has kicked Sigyn Really sorry about this, don't take it personally.... 15:30:15 -!- fizzie has set channel mode: -o fizzie. 15:30:59 -!- glguy has joined. 15:31:28 -!- diverger has quit (Read error: Connection reset by peer). 15:37:33 -!- diverger has joined. 15:57:17 -!- kspalaiologos has joined. 15:57:24 lol? 15:57:39 my IRC client was trying to reconnect me since 4pm every 10 seconds 15:57:52 and I'm in for some reason 16:01:47 kspalaiologos: We had help from a Freenode/Sigyn administrator to undo the kline. 16:02:04 alright 16:03:43 nice 16:09:40 kspalaiologos: You should have gotten a response to your support ticket from me. 16:13:26 hi glguy 16:13:43 Hello :) 16:13:46 -!- wib_jonas has quit (Remote host closed the connection). 16:13:54 I'll check 16:14:00 but I guess there is no need 16:15:04 It's just good to know if the responses aren't working in case you have some trouble in the future :) 16:29:36 -!- imode has joined. 16:30:40 -!- LKoen has joined. 16:43:56 How do natural languages get their names? 16:44:16 English, Francais, ... 16:47:29 from the people who nominally speak them, usually? 16:47:45 e.g. the English speak English 16:48:16 I think he was expecting the etymology behind the names. 16:49:42 Well, sure, but I would expect all the different peoples' names to have different etymologies, I don't think there's really a collective answer there 16:49:53 lf94: https://www.google.com/search?hl=en&q=etymology%20of%20the%20word%20english 16:50:06 the infobox is useful. 16:50:23 * FaeFly is looking at https://en.wikipedia.org/wiki/Anglo-Saxons#Ethnonym 16:51:01 I can see how that can be twisted into "English" 16:51:24 https://www.etymonline.com/word/English?ref=etymonline_crossreference 16:51:26 this is way better 16:51:29 oh https://en.wikipedia.org/wiki/Angles#Name is probably better 16:51:33 England -> English 16:51:38 sure 16:51:43 I'm sure of it 16:51:48 Internet 16:51:52 Interish 16:51:54 B) 16:52:01 Intrish 16:52:07 Onlinean? 16:52:21 huh, wasn't aware of the anglia penninsula. 16:52:27 s/nn/n 16:52:32 I'm defining "the language of internet citizens" 16:52:33 -!- LKoen has quit (Remote host closed the connection). 16:52:56 -!- LKoen has joined. 16:52:59 how can you define that which is all. 16:53:11 (I wonder if 'Onlinean' would be pronounced "online|ean" or "on|linnean") 16:54:16 -!- glguy has left. 16:54:32 https://www.etymonline.com/search?q=french 16:54:35 wow 16:54:44 They almost literally did "frenish" too 16:55:00 A similar contraction of -ish is in Dutch, Scotch, Welsh, 16:55:40 this website is fuckin' awesome 16:55:47 yes, etymonline si nice 16:55:49 is* 16:56:22 So if we "live" in the "realm" of say, an array or list programming paradigm... 16:56:33 listch could be a good language name 16:56:43 lisch 16:56:47 lish 16:56:48 lisp 16:56:50 :v 16:57:20 arrish 16:57:53 arrich is easier to hear 16:57:53 the swedish name for Sweden ("Sverige") stems from "Svea rike", which is lit. "realm of Svea" (the tribe that ended up uniting the different parts of modern-day sweden basically) 16:58:36 -!- LKoen has quit (Remote host closed the connection). 16:58:59 -!- LKoen has joined. 17:05:16 conveyich <- conveyor belt (array) based lang B) 17:05:51 otherwise known as mode. 17:06:14 imo if you called it conveyich it'd be easier to remember 17:06:33 convich 17:07:24 conveyor belt? reminds me of Rube 17:07:40 and Rubicon 17:08:45 lf94: we'll start a fork and call it conveyich. 17:09:01 then I can sell conveyich ++ premium features as mode for $19.99 + tax. 17:09:19 what could go wrong. 17:09:44 actually. 17:09:53 i would like to see pay-for language examples. 17:10:18 I've only seen things like lisp or scheme interpreters be paid-for 17:10:33 forth implementations have sometimes been paid-for. 17:11:08 I'm working on ways to specify and consume arrays. 17:11:55 i.e ` : range [ dup$ roll until $0 do dup$ $1 - repeat drop last ] ; 17:12:11 inserts the proper markers in the queue. 17:13:14 imode lists / matrix languages are the future I think 17:13:41 languages with semantics and implementations you can hold in your head are the future. 17:13:53 because you can't lose track of them. 17:17:02 -!- b_jonas has joined. 17:36:13 -!- ais523 has joined. 17:36:39 arseniiv: well, the point is that it doesn't push the string as a whole onto the queue, rather it pushes each command in the string onto the queue 17:37:56 ais523: ah. (But that one was obvious for me personally.) But maybe it would be good to rephrase differently anyway 17:38:07 [[Acyclic Tag]] https://esolangs.org/w/index.php?diff=66801&oldid=66796 * Ais523 * (+13) is this description of ^ clearer? 17:38:25 is that a better description? 17:38:45 ais523: I think yes! 17:40:36 anyway this reminds me my pages usually lack usual examples which would be useful to understand what do commands mean; your trace immediately gave me a clear image what ^ does 17:40:49 s/usual/useful 17:45:37 lf94: (1) sometimes you have to pay for the language standard, or learn from secondary sources. this is the case for Standard ML. 17:45:50 lf94: (2) paying for the compiler is more common: 17:46:38 large business users have to pay for microsoft's compiler 17:46:53 there's a commercial prolog implementation 17:47:02 you have to pay for Mathematica and for maple 17:47:11 Delphi 17:47:27 there's more but I don't recall all of that 17:47:30 I suppose icc has a commercial plan as well? 17:47:35 free software didn't use to be the norm in the past 17:47:40 back then, you payed for everything 17:47:57 p*ed anyway 17:48:03 by the way, there's a certain esoteric commercial model that you could do: 17:48:42 when microsoft offers a version of their compiler for individuals and small businesses, but makes large businesses pay, they use legal threats for that 17:48:59 they claim that it's illegal for you to use the compiler if you're a large business 17:49:26 for what definition of large business. 17:49:32 rather than that, an esolang could use documentation threats: document that if you use the free version and you're a large business, then every program runs into an undefined behaviour 17:49:56 lawful developers will fear to rely on that the compiler happens to work now, because if the docs say that it's undefined behavior, then it could break any time, 17:49:59 so they will pay 17:50:22 imode: dunno, Microsoft has a whole license agreement and whatnot for this 17:50:25 I don't know the details 17:50:37 imode: imagine 30 day trial period instead if you prefer, 17:50:43 same enforcement methods apply 17:50:56 E774 RANDOM COMPILER BUG. 17:51:03 hahahahahahahaha. 17:51:13 "hey my code does X when it should do Y" "have you paid the troll toll?" 17:51:27 it's literally a random compiler bug, something like 10% chance IIRC 17:51:32 however there is a command-line option to turn it off 17:51:47 (CLC-INTERCAL has /two/ random compiler bugs and the more obvious command-line option only turns one of them off) 17:52:02 that said, you normally have to turn it off in practice if you're doing anything remotely automated 17:52:14 b_jonas, "you have to pay for Mathematica" 17:52:15 yes, sure 17:52:25 I refuse to give money to Wolfram. 17:52:29 so do I 17:52:41 Mathematica is probably the best example, because they actually sell decent software, 17:52:49 the evil part is only how they sell it: 17:52:51 shame it's not by decent people, though. 17:52:58 how do they sell it though? 17:53:04 I'm not interested in financial part of Mathematica 17:53:06 -!- FreeFull has joined. 17:53:19 what's wrong with this 17:53:35 they give almost free copies to students, who learn the program it, and then, of those, then ones who turn out to be code monkeys and decide that they can only use a programming language if they were taught it at school, they will now have to buy Mathematica because they didn't take a Java course 17:53:48 it's like giving free drugs to children 17:54:24 Wolfram the founder is also a bit crazy, but he doesn't, like, personally develop the whole thing, so it doesn't matter 17:54:48 any paid language ecosystem will eventually fall prey to open source alternatives because the majority of interested individuals are predisposed to like "free and equivalent 17:54:49 during the (2,3) Turing machine thing, Wolfram asked me to write Mathematica versions of the code I'd written (fair enough given the context), and gave me a /trial/ version of Mathematica to do it on (not even a perpetual license), so I didn't end up using it much beyond translating the code 17:55:09 imode: that didn't happen to matlab 17:55:12 b_jonas: is this what they call edutainment 17:55:13 oh yeah, I forgot about matlab 17:55:18 matlab is the best fucking example 17:55:23 I see so many people using it for some reason 17:55:26 ais523: were you aware of wolfram's reputation at the time? 17:55:27 my opinion on Mathematica is that the language itself is pretty terrible (it's basically an esolang, but not a tarpit), but the standard library is excellent 17:55:34 despite that it has an actually better free software alternative, octave 17:55:37 I seriously don't get it 17:55:43 imode: well, I'd read /A New Kind of Science/ 17:55:52 ais523: yes, it's the standard library that is good 17:55:58 but you get the standard library for money 17:56:13 there are actually one or two clones of the core language I think 17:56:31 the core language isn't really that different from Lisp + pattern-matchinig 17:57:02 ais523: I won a student license of Mathematica once, but I think it was limited for one year or something 17:57:09 I didn't really use it for anything 17:57:44 the university has the free student copies that they use for marketing, plus there are illegal copies 17:57:56 b_jonas: Matlab has all those ready-made toolboxes for various domains and the option of generating efficient code for simulation from it... and a strong userbase. 17:57:58 mathematica is really good one though 17:58:11 paywall is quite big though 17:58:17 ("efficient" is certainly relative) 17:58:19 int-e: but it doesn't seem to me like people are using those ready-made toolboxes 17:58:27 the ones where I'm confused about using matlab that is 17:58:57 hmm, cpressey isn't here, he'd have an opinion on this stuff 18:00:10 I admit that I'm biased against matlab because of how it manages to have a huge artificial difficulty in the source code format, more serious than python's indentation or java's one class per file 18:00:21 matlab requires that you put every function in a separate file 18:00:30 that and the one-based indexing 18:00:54 Java doesn't actually have a one class per file restriction, it's just that you can't refer to a class from other files if its name doesn't match the filename 18:01:01 (because the compiler wouldn't know where to look for it) 18:01:09 you can put an entire Java program in one file if you want to 18:01:40 and it will compile to a merry collection of dozens of class file 18:01:41 s 18:02:04 and then you put those into a jar, or you can do some class loading magic yourself instead 18:06:11 I hat one-based indexing. 18:06:13 hate 18:06:38 basic, lua, matlab, gap, mathematica: I hate your stupid one-based indexes, and I hope you painfully stub your toe on an off-by-one error 18:07:00 int-e: but it doesn't seem to me like people are using those ready-made toolboxes => I think we had a course on fuzzy inference or something, with lab tasks (how are they called properly?..) written for IIRC such a toolbox. Though I hadn’t done them and I don’t like fuzzy math in any form anyway 18:08:04 some golfing languages use 1-based indexing, possibly so that they can use 0 to mean "last element", but it often seems to cause trouble there too 18:08:35 I blame English for this, if the word for "first" were based on the word for 0, the word for "second" were based on the word for 1, and so on, there wouldn't be any confusion 18:08:54 that and the one-based indexing => and Mathematica too :( 18:10:10 ais523: but they're not based on "one" and "two" either. people could just go 0:first, 1:second, 2:twoth, 3:threeth, 4:fourth, 5:fifth, 6:sixth, 7:seventh, 8:eightth 18:10:23 huh, 0-means-last... interesting. 18:10:33 unless nobody can pronounce "eightth", in which case it would have to be the traditional "eighth" instead 18:10:47 b_jonas: yes, but there'd be no real advantage to that 18:10:55 you should at least fix the off-by-one error in the process 18:11:19 I blame English for this, if the word for "first" were based on the word for 0, the word for "second" were based on the word for 1, and so on, there wouldn't be any confusion => how many languages do have that, though? 18:11:20 b_jonas: maybe the base should depend on the variable name. z[] would be zero-based, o[] would be one-based, m[] would be -1-based, t[] would be two- or three-based depending on the phase of the moon 18:11:26 f[] would be 42-based. 18:11:52 int-e: ouch 18:12:19 b_jonas: or “eighttp” 18:13:24 arseniiv: for all I know, /all/ natural languages get this wrong :-D 18:13:53 ais523: same with me, so I think this is a deeper problem 18:14:18 yes, it's apparently a universal default among languages, though that at least means there are no problems when translating indexes 18:14:42 in every language, you have to make it clear whether you're using one-based or zero-based, so translation of that part is mostly trivial 18:14:47 one. first. hmm. 18:14:51 no problem at all! 18:15:44 I don't think there's any wrong or right here, actually. 18:16:56 pretty esoteric question BTW: am I getting it right that ΓL(V) for a complex vector space V is way bigger that GL(V) ⊕ GL(V̄) (V conjugate here) due to shady automorphisms of C stemming from the axiom of choice? 18:17:46 When assigning the first item a number, do you do that before or after counting it? That's the main distinction between 0- and 1-based counting. 18:20:00 I think the trick is to see the items as size-1 things rather than size-0 things with size-1 gaps between them 18:20:11 the first item goes from 0 to 1, the second from 1 to 2, the third from 2 to 3, and so on 18:20:29 specifying the /end/ of an item when counting it on its own is perverse 18:20:40 but for a range, you specify the start of the start of the range, and end of the end of the range 18:21:33 I don't see the perversion. 18:25:03 ais523: oh, about indexing. you're in the UK, so you probably use public transport sometimes. you're on a bus (or train), and a lady asks where you have to get off if she wants to go to X. you know that (a) she has to get off after the bus has opened its doors three times and closed them twice (the bus is now between stops), (b) after the bus has opened its doors three times and closed them three times 18:25:09 (the bus is currently at a stop). how do you tell them when she has to get off? 18:26:50 bus stops are what keep making me uncertain that zero-based indexing is always the right choice. 18:27:05 on a train I would use the name of the stop, that's easier than counting (and I'd list the names of the stops in between if it were necessary to give an approximate count) 18:28:16 on a bus I wouldn't be confident of counting the stops correctly, in Birmingham bus stops are very frequent and are ignored by the driver unless someone inside or outside asks the bus to stop, so when there's a little-used stop it's easy to forget it exists 18:28:23 ais523: yeah, it's easy in civilized countries where you can rely on the bus or train always telling the passengers the name of the stop in easy to see ways 18:28:53 I don't buy that it's always like that though, because I've traveled to western europe, and even there people are sometimes uncertain about which stop the train is at 18:28:56 locals too 18:29:17 actually, when used I take the train home late at night, there was an above 50% probability that someone would miss their stop 18:29:27 Bus stops have a perfectly natural zero-based counting interpretation. 18:29:31 but the local train company is investing in new technology to make the name of the stop clearer 18:29:32 You get on the zero-th stop. 18:29:39 +at 18:30:26 anyway, if someone asks you /anything/ on the bus, it is almost certainly between stops; the dwell time at a stop is normally very short, and if it isn't, the environment inside the bus will be too chaotic to do much asking/answering of questions 18:30:35 ais523: *sigh* did they name two adjacent stops exactly identically, with the second one being the one where most people have to get off, like they did here on the M3 bus towards Nagyvárad tér at Népliget? 18:31:01 b_jonas: that's possible, but very few people use bus stop names here 18:31:07 normally they'll just describe the place where they get off 18:31:25 the bus stops /have/ names but they're not widely used, I think they exist only for administrative purposes 18:31:50 hmm 18:31:53 (the buses used to have an instruction "please tell the driver which stop you plan to get off at when buying your ticket", I managed to cause confusion by being one of the only people to actually follow this instruction) 18:32:05 how do you look up the timetable of buses on the internet if you're not in the bus stop where you want to get on yet? 18:32:16 because we use the name of the bus stop for that 18:32:30 of course, you don't have to remember the exact name, just choose it from the list of stops on the bus line 18:32:30 I finished my minesweeper 18:32:37 but I made it in malbolge just so it's harder 18:32:42 the first item goes from 0 to 1, the second from 1 to 2, the third from 2 to 3, and so on => yeah, one time I tried to make some notation for two interleaved Z’s, specifically to make off-by-1 harder^W easier to reason about 18:32:55 I'm using the same assembler for malbolge and brainfuck so possibly I could supply you with a runnable version 18:33:13 ais523: is that because tickets can have different prices depending on the destination? 18:33:15 for curious: https://github.com/KrzysztofSzewczyk/malbolge-chess/raw/master/minesweeper.7z 18:33:30 b_jonas: this is what our online timetables look like: https://nxbus.co.uk/files/NX-West-Midlands/current_timetables/2019-Timetables/1st-Sept-2019/6163tt01September2019.pdf 18:33:31 kspalaiologos: what? weren't you writing it in bf? 18:33:42 I did 18:33:50 but I compiled it to malbolge and optimized a bit by hand 18:33:51 the 63 route probably has over 100 stops but the timetable only lists a few important ones that most people will recognise 18:33:53 for a cool twist 18:34:02 ais523: I see 18:34:03 for stops in between, you interpolate 18:34:13 I can supply you a brainfuck version in a second 18:34:20 (the bus driver will only aim for consistent timings at stops actually listed in the timetable, if they get to one of those stops early they have to wait) 18:34:30 hmm 18:34:32 b_jonas: it's a sort of assembler 18:34:46 existence of zero is a pain here, as we would want names for “gap integers” to be symmetric wrt sign inversion, and then we almost ruin any sense of inventing them at all 18:34:56 ais523: I see 18:35:10 also, tickets used to have widely varying prices depending on destination, but the system was simplified many years ago now 18:36:38 there are basically only five types of adult ticket: one for a single short journey, one for a single journey of any length, a day ticket limited to one operator within a certain area, a day ticket limited to one operator but allowing you to use any of their buses no matter how far they go, and a day ticket that works on all the buses in the conurbation 18:37:21 this leads to only two things that need memorizing (how far a "short journey" is – in practice the bus drivers often seem to not know this or get it wrong; and where the boundaries of the areas for local day tickets are) 18:37:28 arseniiv: yeah if there is a mistake then it's using the same numbers for both points (fence posts) and intervals (fence segments) 18:38:15 arseniiv: once you conflate those you will make an arbitrary choice... and cause upset if you mix those two choices :) 18:38:33 I agreent-e 18:38:47 oh, also the prices on some of these drop after 9:30am, but that doesn't change where the ticket is usable 18:38:51 This year, I traveled on public transport in five different areas abroad, and at each place I knew at least a little how the pricing system works, but now I forgot most of it 18:38:53 Though I haven't read any of the context so I assume this is about array indexing. 18:38:57 it just depends on when you buy it 18:39:23 I wonder whether the inclusive choice (picking 1 for 0--1) is somehow psychologically more appealing. 18:39:32 the five places were Amsterdam, Rotterdam, London, Dortmund, and Köln 18:39:45 Because that could explain why so many (all?) natural languages agree on that. 18:39:49 int-e: shachaf: I agree with all of us also. We only need to think up appropriate names and decide would they be for things or intervals 18:40:04 in Amsterdam, Rotterdam and London, I used pre-charged proxy cards for paying 18:40:18 https://blog.nelhage.com/2015/08/indices-point-between-elements/ describes it pretty well. 18:40:19 maybe because of there was no concept of zero for so long 18:40:32 I'll be using one of those in Gävle too later this year, now that I think of it 18:41:27 shachaf: and I totally agree with that pointer view on zero-based indices in programming languages. 18:41:54 in Amsterdam, the system is that prices for metro and tram vary depending on source and destination stations, so you have to check in and out with the card, in the stations for metro but the vehicle on trams; but on bus, there's a single fair, so you only check in with the card, not out 18:42:01 London has a system similar to that 18:42:26 but it's a bit confusing because london has three different types of urban rail lines, not just two like in other places 18:43:06 -!- Phantom_Hoover has joined. 18:43:10 (C got that one wrong for variable-sized arrays at the end of structs.) 18:43:13 Dortmund and Köln were more confusing. no proxy card, but paper tickets, 18:43:55 int-e: How do you mean? 18:44:08 but the vending machines were a pain: sometimes they don't accept bank card, only cash, and only low denomination cash too; sometimes they pre-validate your ticket and sometimes they don't and I couldn't tell when they'd do which one, I wasted at least one ticket on that 18:44:15 (Or maybe I'm confusing myself?) 18:45:23 Oh, this was an older version of C that didn't have variable sized arrays so you would be forced to write T foo[1]; instead. 18:45:50 in Budapest, day tickets and other time-based tickets are always pre-validated, whereas single tickets and other distance-based tickets aren't... well, that's not quite true, HÉV tickets are for specific stations... 18:45:54 it's all confusing 18:46:03 I'm probably still confused. Will check, but not now. 18:46:35 indices pointing between elements is practical, I agree, but we could accidentally start these from 1 too and not break anything, so there should be a stronger argument for 0-based. Personally I like 0-based naturals too, but these for obvious combinatorial/foundation-theoretic reasons 18:46:42 C99 has "flexible array members", struct T { ...; char array[]; }; 18:47:07 Birmingham doesn't require explicit ticket validation; tickets might be checked anywhere on the route (start, during, end, multiple times, not at all), and might or might not be marked when checked to prevent you reusing them 18:47:10 wow vararg struct 18:47:11 maybe because of there was no concept of zero for so long => how would that influence me? there was a concept of zero when I was born, and when the textbooks I've read were written 18:47:21 arseniiv: 0 is at distance 0 from the start! 18:47:26 Indices pointing between elements should definitely start at 0. 18:47:47 For an array with n elements there are n+1 indices, going from 0 to n. 18:48:12 int-e: and something unknown is at distance 0 from the end :( 18:48:18 ais523: that's how train tickets work here, so in exchange you always have to specify the two ends of the journey and the route 18:48:20 That reminds me of this diagram I made once: https:/slbkbs.org/ranksel.svg 18:48:27 though it’s an argument equally against 1-based too :D 18:49:03 arseniiv: C does this a lot... pointers are allowed to point just after the end of an array (that is, *at* the end of the array in the distance view), but you are not allowed to dereference them. 18:49:21 For an array with n elements there are n+1 indices, going from 0 to n. => yes that rings true for me 18:49:34 Yes, which is very reasonable. 18:49:38 arseniiv: So C gets it right, it just describes it in an awful way. 18:49:45 :P 18:49:56 But what happens if your last array element is at UINTPTR_MAX? 18:49:57 https://github.com/KrzysztofSzewczyk/malbolge-chess/raw/master/minesweeper.bf 18:49:58 so how should we denote index numbers 18:49:59 brainfuck version 18:49:59 (:P because I wrote earlier that there is no right or wrong here) 18:49:59 b_jonas: I guess bus tickets are validated in the sense that they can only be purchased at the start of the journey, and have the time at which they're purchased on them, that's basically a form of validation 18:50:07 requires unbuffered input (e.g. the DOS getch()) 18:50:13 it's quite fast actually 18:50:20 ais523: that's how single tickets worked in Germany, which confused me 18:50:22 (exception: you can buy day tickets for future days, or even for unspecified future days, in the latter case you have to mark the day on them yourself before you start using them) 18:50:23 int-e: There may be no right way, but surely there are wrong ways? 18:50:23 or for that reason, element… names 18:50:25 it's 1:1 equivalent of what I've got with Brainfuck 18:50:44 α β γ δ like the old nomenclature for aminoacids? 18:50:46 ais523: and day tickets sometimes worked that way, but sometimes you had to validate them the first time you use them to set the start time 18:50:51 shachaf: True, but I was only considering the two reasonable options for counting. 18:51:10 0 α 1 β 2 γ 3 δ 4 18:51:11 For counting fence segments, that is. 18:51:14 ais523: but my problem is that it wasn't clear for me from the vending machine interface what I'll get before I pay 18:51:28 on the trains, single tickets can be bought in advance, and there are flexible options that can be used at any time during the day in question 18:51:36 those often aren't validated at all on short journeys 18:51:50 ais523: yes, that's how trains in Germany work 18:51:57 on longer journeys it's quite likely that a member of the train company will come round while you're sitting on the train and validate it mid-journey 18:52:19 ais523: right, and I think that job is called controller 18:52:21 (to prevent you using it on a second journey in the same directoin later that day) 18:52:23 or ticket inspector? 18:52:34 "conductor" is the most commonly seen word in English, but I think it's a historical relic and not accurate 18:52:40 "ticket inspector" would be clear 18:52:44 it's a cultural thing though... other countries have gates at platforms where you show your ticket or invalidate it with some machine. 18:53:03 when entering and leaving 18:53:06 Obviously if you write a loop it should loop over values that computers represent naturally, like integers, rather than Greek letters. 18:53:10 ais523: oddly, on some trams in Rotterdam, there are three separate jobs for the driver, the conductor, and the ticket inspector 18:53:16 https://en.wiktionary.org/wiki/conductor#Noun definition 3 18:53:32 int-e: the UK has those too, but only at some stations 18:53:37 and the conductor sits behind a huge circular desk that takes up way too much place of the train 18:53:40 of the tram 18:53:44 they're expensive to run because you need a contingency plan for if someone turns up without a valid ticket 18:53:51 and thus can't get through the gate 18:53:52 that would never work here, because the trams are so full 18:53:58 I thought people were bad conductors. 18:54:25 BTW what does an invariant and reasonably symmetric definition of https://en.wikipedia.org/wiki/Cross-ratio looks like? I’ll reinvent it myself but if anybody knows it’ll be quicker 18:55:20 Hmm, I knew meanings 2, 3, 4. But not the more generic meaning 1? 18:55:32 yes, London, Amsterdam, Rotterdam all have automatic gates for the metro stations that read the proxy cards 18:55:37 well, not quite 18:55:54 normally this means that when you have a ticket barrier, you need an employee on the platform side of the barrier with tickekt-selling equipment 18:55:54 int-e: they didn't seem to provide any useful service, so yes 18:56:17 b_jonas: I used meaning 4 of course. 18:56:32 More specifically the electrical one. 18:56:34 int-e: basically they sometimes had a microphone, and sometimes yelled at people or told where we are, all of which the automated system with recorded voice also did, but the conductor could preempt it 18:56:58 I mean, suppose we have some vector space V without inner product; then we take four coplanar lines from there and we should be able to get their cross ratio 18:57:11 in some stations in London, there's someone who operates a public address system and simply tells the passengers where to move to stop them getting in each others' way 18:57:34 because the crowds can be so large that you can't rely on everyone in them to act sensibly without instructions 18:57:51 I guess that's comparable to the type of conductor b_jonas is talking about? except for platforms rather than on the tram 18:58:24 mind you, the most annoying speaker system I've met is in the Amsterdam Schiphol airport. they have captions everywhere that it's a "silent airport" so there are no announcements on the speaker about airplanes starting, you should look at the displays instead, 18:58:57 but the airport has long corridors with walking strips, and there are speakers that say "Mind your step" every time someone is near the end of one of those strips 18:59:14 I thought people were bad conductors. => why, that’s mainly because of skin resistance. If the skin is wet or wounded, it plummets 18:59:17 so you hear "Mind your step" in the same voice repeated a hundred of times when you're there 18:59:26 I don't understand how that's supposed to help anyone 18:59:47 arseniiv: what do you mean by "invariant" 18:59:52 ais523: yes, probably 19:00:15 arseniiv: Oh yeah there's a Darwin award for that. 19:00:34 int-e: it shouldn’t use distances (which aren’t here, after all), it shouldn’t use coordinates 19:00:38 arseniiv: https://darwinawards.com/darwin/darwin1999-50.html 19:00:46 ais523: here we have people continuously guarding platforms on on metro M4, because that's the only one that's driver-less. 19:00:53 basically they replace the drivers. 19:01:19 it sort of makes sense, because in an exceptional situation, they have to act in the stations anyway, not anywhere else 19:01:34 right, at the moment person-trapped-in-door-detection technology is not cost-effective enough to be good enough to be safe without a person checking for that 19:01:47 so even though it takes about as many employees as there would be drivers, it works better 19:01:52 and they're probably payed less than drivers too 19:02:05 in the UK it's usual for the person in question to travel on the train, but they could be on the platform 19:02:49 that said, it's only metros that have the principle of "emergencies mostly happen at stations", on long-range train lines they're more likely to happen somewhere else, so the human supervision definitely needs to be on the train in that situation 19:03:18 (actually, some really big stations, like Birmingham New Street, have their own staff that check the trains for safety before leaving, that gives the staff on the train a break) 19:03:57 oh yeah, in London, one of the three urban rail types is driverless, but still has conductors on some carriages 19:04:46 IIRC not consistently, it's driverless on some lines but not others 19:05:58 ais523: it's not just that. it's more like that trains are rarer, so there are much fewer trains than train stations, so it would be expensive to have someone man every station; whereas there are about as many metro trains as metro stops. 19:06:06 well, still not quite 19:06:10 but the ratio is better 19:06:15 in general it's unwise to expect consistency from London transport, because a) most of the lines were built at different times, taking new technology into account; b) not all the lines are upgraded at the same time; c) many lines need to make compromises due to the presence of other lines 19:06:19 probably more than half as many metro trains than metro stations 19:06:36 also on trains, the conductor doubles as the ticket inspector between stops 19:06:50 if you count trains vs. stations it may be comparable; but if you count trains vs. platforms, there are many more platforms 19:06:57 (for metros, that is) 19:06:59 ais523: yes, you can see that from how narrow some of the passenger tunnels are 19:07:05 they wouldn't allow building such narrow ones these days 19:08:39 but you can see the inconsistency here too: that's why all stops of metro M4 have elevators, but no stops of the other metros do 19:08:41 London is basically like a foreign country, to people living elsewhere in the UK 19:09:28 ais523: yeah, and I only ever visited London so far 19:15:08 maybe I'll see more if you organize that #esoteric meeting 19:24:38 although with so many people leaving and returning, I don't know if UK people are still the pluarlity in here 19:25:04 I don't recall where some of the newcomers and returning esolangers live 19:39:32 -!- LKoen has quit (Remote host closed the connection). 19:55:11 -!- LKoen has joined. 19:56:20 -!- LKoen has quit (Client Quit). 20:06:07 -!- ais523 has quit (Quit: quit). 20:06:37 -!- kspalaiologos has quit (Quit: Leaving). 20:32:45 -!- tromp has joined. 20:35:56 -!- tromp_ has quit (Ping timeout: 252 seconds). 20:42:49 -!- zzo38 has joined. 20:52:37 -!- ChicoBN has joined. 20:53:04 hi 20:53:32 -!- ARCUN has joined. 20:54:07 -!- ChicoBN has left. 20:55:55 Is it possible, to modify a C compiler such as gcc, in order for it to compile a variant or derivative of C? 20:57:35 -!- oerjan has joined. 21:01:20 ARCUN: yes, of course 21:01:25 Yes, but I don't know how difficult it is. 21:01:27 in fact gcc already compiles many variants or derivatives of C 21:01:47 (Probably, how difficult it is, depend on the variant of C) 21:01:47 it supports several revisions of the C spec and numerous non-standard extensions, not to mention C++ and Objective C 21:02:31 Yes, some of the GNU extensions I think is good and I use them, such as writing ?: with nothing in between, and supporting zero-length arrays. 21:03:21 what does ?: with nothing in between do? 21:03:46 I was thinking of modifying it so that an esolang looking similar to that of an obfuscated C program 21:03:49 x?:y means x?x:y 21:04:03 With a few quirks 21:05:26 C99 has flexible array members. Why do you need zero-length arrays? 21:06:34 -!- ARCUN has quit (Remote host closed the connection). 21:07:13 I don't really like flexible arrays, and I think zero-length arrays is clearer and fits with everything else, rather than being something separate. 21:09:15 x?:y means x?x:y <-- without reevaluation, presumably. 21:09:39 Yes. 21:10:44 shachaf: to allocate a struct with a variable array element that's empty 21:11:39 What do you mean? 21:11:43 That is one use of zero-length arrays, yes. But, there are also some other possibilities 21:11:54 and proper sizeof computations, perhaps. still haven't checked what the issue was there. 21:13:53 int-e: Do you like this? https://www.researchgate.net/profile/Alexander_Nadel/publication/325968980_Chronological_Backtracking/links/5b3a08e84585150d23ee95c8/Chronological-Backtracking.pdf 21:15:07 by default, no 21:15:23 OK. 21:15:32 -!- hppavilion[1] has joined. 21:15:38 Unrelatedly, what do you think of this chronological backtracking thing? 21:15:48 "In particular, the decision level of the variables in the assignment trail is no longer monotonously increasing." 21:16:44 I noticed in the log the discussion of the one-based indexing in Lua, BASIC, Mathematica, etc. In BASIC you can start arrays at whatever integer index you want, but strings start at 1. 21:17:38 `cat bin/asmbf 21:17:39 tr / \\n | bfasm 21:18:22 `sled bin/asmbf//s/^/print_args_or_input "$@" |/ 21:18:24 bin/asmbf//print_args_or_input "$@" |tr / \\n | bfasm 21:20:22 zzo38: yes, it's partly the strings that bother me, partly the indexed property interfaces I access, which are sometimes 1-based and sometimes 0-based 21:20:26 `bfasm mov r4,.F/mov r1,.0/mov r2,r1/lbl 1/out r1/out r2/out 32/mov r3,r1/eq_ r3,.9/jnz r3,2/mov r3,r2/eq_ r3,.9/jnz r3,3/mov r3,r1/eq_ r3,r4/jnz r3,5/lbl 6/mov r3,r2/eq_ r3,r4/jnz r3,4/inc r2/jmp 1/lbl 2/sub r4,5/mov r1,r4/add r4,5/jmp 1/lbl 3/sub r4,5/mov r2,r4/add r4,5/jmp 1/lbl 4/inc r1/mov r2,.0/jmp 1/lbl 5/mov r3,r2/eq_ r3,r4/jz_ r3,6 21:20:52 hum 21:21:10 No output. 21:21:42 curious 21:23:01 oerjan: try starting with `asmbf rather than `bfasm 21:23:48 b_jonas: What indexed property interfaces is that? 21:24:17 shachaf: it's always good to revisit design decisions 21:25:07 oh duh 21:25:17 `asmbf mov r4,.F/mov r1,.0/mov r2,r1/lbl 1/out r1/out r2/out 32/mov r3,r1/eq_ r3,.9/jnz r3,2/mov r3,r2/eq_ r3,.9/jnz r3,3/mov r3,r1/eq_ r3,r4/jnz r3,5/lbl 6/mov r3,r2/eq_ r3,r4/jnz r3,4/inc r2/jmp 1/lbl 2/sub r4,5/mov r1,r4/add r4,5/jmp 1/lbl 3/sub r4,5/mov r2,r4/add r4,5/jmp 1/lbl 4/inc r1/mov r2,.0/jmp 1/lbl 5/mov r3,r2/eq_ r3,r4/jz_ r3,6 21:25:18 ​+>+[<[>>+>+<<<-]>>[<<+>>-]>[[-]>>>>>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<<<[-]++++++++++++++++++++++++++++++++++++++++++++++++>[-]<[>+<<+>-]<[>+<-]<]>+<<+<<[>>->+<<<-]>>>[<<<+>>>-]<[->+<<[>>>-<<+<-]>[<+>-]>>[<->[-]]<[<<<+>>>-]<]>>[-]<<<<[>>+>+<<<-]>>[<<+>>-]>[[-]>>.>.>>>++++++++++++++++++++++++++++++++.[-]<<[-]<<[>>+<<<+>-]<[>+<-]>>>>>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++<<[<<<<+>>>>- 21:25:37 `1 asmbf mov r4,.F/mov r1,.0/mov r2,r1/lbl 1/out r1/out r2/out 32/mov r3,r1/eq_ r3,.9/jnz r3,2/mov r3,r2/eq_ r3,.9/jnz r3,3/mov r3,r1/eq_ r3,r4/jnz r3,5/lbl 6/mov r3,r2/eq_ r3,r4/jnz r3,4/inc r2/jmp 1/lbl 2/sub r4,5/mov r1,r4/add r4,5/jmp 1/lbl 3/sub r4,5/mov r2,r4/add r4,5/jmp 1/lbl 4/inc r1/mov r2,.0/jmp 1/lbl 5/mov r3,r2/eq_ r3,r4/jz_ r3,6 21:25:38 1/7:+>+[<[>>+>+<<<-]>>[<<+>>-]>[[-]>>>>>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<<<[-]++++++++++++++++++++++++++++++++++++++++++++++++>[-]<[>+<<+>-]<[>+<-]<]>+<<+<<[>>->+<<<-]>>>[<<<+>>>-]<[->+<<[>>>-<<+<-]>[<+>-]>>[<->[-]]<[<<<+>>>-]<]>>[-]<<<<[>>+>+<<<-]>>[<<+>>-]>[[-]>>.>.>>>++++++++++++++++++++++++++++++++.[-]<<[-]<<[>>+<<<+>-]<[>+<-]>>>>>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++<<[<<<<+>>>> 21:26:02 a bit more convenient to use that way 21:27:01 yarr 21:27:06 getting pretty fucky in here 21:27:56 i'm finished with that hth 21:28:10 just adding *_args_or_input on principle 21:30:18 -!- imode has quit (Quit: WeeChat 2.6). 21:31:10 zzo38: uh, I don't remember the details. something about specific VBA interfaces of this siemens thing. 21:35:38 that kline is particularly ironic since iirc Sigyn was invited because of someone stalking em 21:35:54 yeah 21:36:05 s/is/was/ 21:36:27 well i haven't finished the logs yet 21:36:42 just putting it out there ;-) 21:52:49 -!- imode has joined. 21:55:48 -!- imode has quit (Client Quit). 21:56:07 -!- imode has joined. 21:56:22 -!- imode has quit (Client Quit). 21:56:39 -!- imode has joined. 22:29:33 so I have a compiled concatenative language that I'd like to add logic programming features to. metamath seems like a reasonable starting point because, as far as I can remember, it's concatenative with respect to the proof steps. 22:30:14 anybody know how verifiers in metamath work, or have any down-to-earth information about the language? 22:30:40 there's a rather verbose introduction on wikipedia but I've yet to encounter an "all-encompassing documentation set that walks you through some example proofs. 22:30:57 maybe the metamath book would be a good starting point, haven't read that yet. 23:03:32 -!- hppavilion[1] has quit (Ping timeout: 265 seconds). 23:28:11 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds). 23:52:35 -!- arseniiv has quit (Ping timeout: 276 seconds).