00:01:22 -!- Phantom_Hoover has joined. 00:09:49 -!- yorick has quit (Quit: No Ping reply in 180 seconds.). 00:10:15 -!- yorick has joined. 00:13:21 -!- yorick has quit (Remote host closed the connection). 00:17:02 -!- shikhin has quit (Ping timeout: 247 seconds). 00:28:56 -!- Frooxius has quit (Ping timeout: 245 seconds). 00:29:44 -!- shikhin has joined. 01:06:04 Racket has something it calls 3D syntax. Sadly, it seems to merely be "(syntax that contains unwritable values, etc)" 01:06:14 -!- shikhin has quit (Read error: Operation timed out). 01:08:23 * oerjan wins 1 point in the "guess what Sgeo is talking about just from the single first letter visible in the background window" 01:08:31 sorry, *scores 01:09:17 *+game 01:09:38 * oerjan loses points for not reading his own lines before pressing return 01:09:53 Can you guys give me tips for making esolangs without really trying 01:11:01 pick a weird layout for memory and program, possibly separately 01:12:13 oerjan, that was the plan 01:12:18 steal commands/keywords from ordinary languages, give them single character names 01:12:30 I need to do this in half an hour a week on thursday 01:12:50 alternatively give them themed names 01:13:14 (but i somehow expect you to have better taste) 01:13:53 I am worried my audience will be expecting Real Fast Nora's Hair Salon 3: Shear Disaster Download 2 01:14:41 in that case, steal combinator birds instead. rename them to flowers. 01:14:44 ...on another note, I've just got a 418 error 01:15:09 oerjan, I want to do as little planning but as much preparation as possible 01:15:43 i see. 01:16:37 bring a box of legos. use those for syntax. 01:17:05 As in, I want vague ideas about which direction I want to go in, but I don't want to actually have anything defined 01:17:16 http://blog.inedo.com/2010/10/12/http-418-im-a-teapot-finally-a-%E2%80%9Clegitimate%E2%80%9D-use/ 01:17:28 Not really a legitimate use, but still 01:17:43 I can imagine frustratingly implementing that sort of thing 01:18:19 Taneb: in fact construct the first 3d esolang. 01:18:26 -!- nisstyre has quit (Ping timeout: 260 seconds). 01:18:38 oerjan, isn't there some 3D funges? 01:18:40 oerjan: come on, you've played 4d scrabble, you should suggest 4d esolang 01:18:57 Sgeo: i'm afraid lego won't be up to the challenge 01:19:01 In fact, nD funges are pretty boring once you get the idea 01:19:23 Oh, apparently, you were judge, not player 01:19:32 Based off this esolang log I fojd 01:19:46 ...i assume you mean frc log 01:19:50 -!- tertu has joined. 01:20:12 or wait, i may have discussed it here... 01:20:23 http://tunes.org/~nef//logs/esoteric/13.06.09 01:21:09 well it was an frc round, anyway. 01:21:50 `coins 01:21:52 iotatedcoin pbocoin surfcoin delcoin doguecoin clavcoin catorcoin bullcoin sphcoin squodetroccoin brcalcoin bircoin fromorecoin feemcoin bitflipcoin bf-dercoin fragacoin extenundcoin snowfcoin markanweicoin 01:23:30 doguecoin, so francais, much beau 01:23:56 15:08:15 I wonder when I'll start having nostalgia for Cablevision's offices 01:23:56 15:08:23 did you quit 01:23:56 15:08:57 no 01:24:17 Since this conversation occurred, I have been relocated to a different office 01:24:27 is it better or worse? 01:25:01 It's diagonal. And worse. 01:25:14 diagonal? 01:25:49 My cube is at the corner of two perpendicular hallways. There is a third hallway diagonal to those hallways 01:26:10 It was a bit disorienting at first 01:26:34 it's actually a huge arrow pointing to Sgeo 01:27:27 -!- tertu has quit (Read error: Connection reset by peer). 01:28:56 -!- elliott_________ has quit (Ping timeout: 245 seconds). 01:29:02 -!- ineiros has quit (Ping timeout: 264 seconds). 01:29:03 -!- elliott has joined. 01:29:27 -!- elliott has changed nick to Guest65497. 01:29:44 -!- tertu has joined. 01:30:14 -!- nortti has quit (Ping timeout: 264 seconds). 01:30:43 -!- ineiros has joined. 01:31:26 -!- nortti has joined. 01:39:47 -!- EgoBot has quit (Remote host closed the connection). 01:41:44 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds). 01:53:14 -!- augur has joined. 02:00:19 -!- Phantom_Hoover has joined. 02:00:22 -!- Phantom_Hoover has quit (Remote host closed the connection). 02:21:13 -!- nisstyre has joined. 02:25:17 oerjan: what do you call the ordering where you sort by length and then sort by the first symbol within lengths, then sort by the second symbol within those with the same length and first symbol etc... 02:27:28 i'm not quite sure. 02:28:09 for a given base, if you ignore leading zeros, it's the same as "numerical order" 02:30:31 so for base aleph_0? 02:30:35 https://en.wikipedia.org/wiki/Shortlex_order 02:31:28 ah 02:31:32 got it 02:34:02 so "the alignment will never be odd" is enough to prove that the zeros will never disappear? 02:34:54 for 4, yes. 02:35:32 for larger than 4, it's not necessary, but with 4 if you hit on 04400440... in that order it completely self-deletes 02:35:56 *in that alignment 02:36:06 ah. what suffices for the other cases then? 02:36:29 like why do the zeros never show up in the first or second positions? 02:37:27 they might, but the strings are long enough that you will get a reproduction later anyhow 02:37:42 in fact the case where the zero is second is the worst one 02:38:01 and the only reason i need four copies of the n-1 n's block 02:39:52 hmm. were you able to simultaneously apply all this logic to all of them, and then just grep runs of them? 02:39:55 or n-2 n's, for the 0 0 case 02:40:09 quintopia: yes. 02:40:55 all the cases where the alignment starts with n n work essentially the same, and there are just 2-3 other positions to consider. 02:41:32 and the logic is not significantly different for different n>=5 02:42:36 n … n 0 n … n 0 n … n 0 n … n 02:42:37 . * * . ; : 02:42:48 that's my summary diagram for the logic 02:43:45 well that's settled then. Now there's only a couple of things I really want to know about it: 1) am i right that universality is still achievable if we bound the number of symbols? 02:44:21 well of course, just take a universal tag system and apply ais523's perl program to it 02:44:43 2) is there a nice block that includes an arbitrary length-n string and copies itself f(n) times for any linear f? 02:45:42 (afaict the initial state of the tag system doesn't influence the symbols used, only the lookup table/"alphabet" does) 02:46:07 oerjan: his program incorporates the initial condition into the generated program. I'm not perfectly certain about how it works that we can bound the max number for all possible inputs 02:46:21 well i can't tell. i was hoping so. 02:46:56 quintopia: the initial condition is afaict just concatenating the representation for each symbol as derived from the condition-independent alphabet. 02:46:58 in which case, my question is: what's an upper bound on that number? unfortunately, i can't find an explicit representation of a universal tag system anywhere. 02:48:54 i don't know either 02:49:36 i mistated question 2. in fact, i don't know how to phrase that question right now. but i would at least like to have a block pattern which can create a constant number of copies of itself including an arbitrary string. 02:49:44 as for (2) what do you mean by using a function? i'm pretty sure we can make a block that copies itself m times and contains a length n arbitrarily chosen substring 02:50:36 i guess i just rephrased it, then :P 02:50:36 well i would think so, but i would also like it to be short and simple :P 02:50:41 it's not what my real question is though. but i don't know what my real question is. 02:51:08 hm probably adjust the 4 2 4 2 ... thing 02:51:29 i've been trying to! 02:52:28 hm i think it needs something at the end too 02:53:48 yeah, except things at the end may cause it to interact with other blocks! 02:54:26 oh hm 02:54:47 this is tricky. 02:54:53 inorite 02:55:11 the problem is getting anything _between_ the copies. 02:55:26 indeed 02:55:37 i think you need two passes. 02:56:01 that sounds more likely. one pass for the head, one for the tail? 02:56:15 not really 02:56:32 yeah probably not 02:56:40 some intermediate form then 02:57:25 maybe one pass makes two copies the arbitrary string, and another inserts the header between them somehow 02:57:45 no. you cannot swap things efficiently. 02:57:56 but intermediate form, yes. 03:02:55 -!- esowiki has joined. 03:02:59 -!- esowiki has joined. 03:03:00 -!- esowiki has joined. 03:08:55 -!- esowiki has joined. 03:08:59 -!- esowiki has joined. 03:09:00 -!- esowiki has joined. 03:09:16 -!- esowiki has joined. 03:09:20 -!- esowiki has joined. 03:09:21 -!- esowiki has joined. 03:09:29 -!- glogbot has joined. 03:10:18 -!- Guest83987 has joined. 03:10:18 oh, 4 2 m n 4 2 can do the prepending 03:15:17 -!- esowiki has joined. 03:15:18 -!- glogbot has joined. 03:15:21 -!- esowiki has joined. 03:15:21 -!- esowiki has joined. 03:15:29 so basically prepend 4 2 (n+6) m to any sequence which is already self-preserving. 03:15:47 oops 03:15:57 *4 2 (n+6) m 4 2 03:16:31 -!- variable has changed nick to constant. 03:16:38 -!- luserdroog has joined. 03:16:39 quintopia: ^ 03:19:36 in the next step, it will be the same, except with (n+22) m prepended, which then copies all of it m times. 03:21:02 hm in fact 4 2 x y 4 2 is a more basic building block of the 4 2 4 2 4 2 4 2 construction. 03:22:33 -!- tertu has joined. 03:22:54 I have no idea what language this is 03:29:22 it's resplicate 03:30:13 -!- tertu has quit (Ping timeout: 248 seconds). 03:30:44 -!- Frooxius has joined. 03:31:56 -!- tertu has joined. 03:36:19 -!- tertu_ has joined. 03:36:45 -!- tertu has quit (Ping timeout: 252 seconds). 03:49:31 -!- FireFly has quit (Ping timeout: 272 seconds). 03:57:46 quintopia: my rewordings while editing the page made me think of one possible subtlety of my mental model for queue-like languages like this: i'm thinking of the queue as more of a _circle_ that the ip is moving on, and the commands don't so much append to the queue as they are replacing themselves with their result... 03:59:13 this can apply to stack languages like underload as well (see the rewriting section in that) 03:59:35 and msm, which is a combination 04:01:38 (well for stack languages not the circle part, but the replacing part) 04:07:43 -!- luserdroog has quit (Ping timeout: 245 seconds). 04:10:00 -!- tertu_ has quit (Ping timeout: 260 seconds). 04:11:37 oerjan: yeah 4 2 mn 5 04:11:46 42mn42 is what i was thinking about 04:11:53 but got distracted by olympics 04:14:20 mhm 04:27:39 -!- oerjan has quit (Quit: nite). 04:28:20 -!- ggherdov has quit (Ping timeout: 246 seconds). 04:36:29 -!- MoALTz has quit (Read error: Connection reset by peer). 04:38:49 -!- Sorella has quit (Quit: It is tiem!). 04:42:04 -!- ggherdov has joined. 04:48:44 `coins 04:48:46 fryinglycoin circcoin acrotcoin hangcoin remonecoin tranocoin inlcoin objectcoin phawacoin kiploycoin bitiocoin kolmocoin micasmittcoin rcemanacoin poientedicasmicoin proomcoin ihatcoin tedcoin georylovecoin herstasiccoin 04:49:12 -!- tertu has joined. 04:51:42 -!- nisstyre has quit (Ping timeout: 260 seconds). 04:55:23 -!- tertu has quit (Ping timeout: 250 seconds). 04:56:09 `cat coins 04:56:09 cat: coins: No such file or directory 04:56:26 `run cat $(which coins) 04:56:26 words --eng-1M --esolangs 20 | sed -re 's/( |$)/coin\1/g' 04:56:36 hi tech 04:56:36 -!- tertu has joined. 05:04:54 Bike: I thought they all exist 05:05:15 what 05:06:09 I thought they are somehow generated via coingen.io 05:06:11 :S 05:07:25 do they have a bot interface 05:09:21 no but not hard to automate 05:22:27 -!- tromp_ has joined. 05:25:35 -!- tertu has quit (Ping timeout: 260 seconds). 05:30:47 -!- tertu has joined. 05:37:51 -!- tromp_ has quit (Remote host closed the connection). 05:38:25 -!- tromp_ has joined. 05:42:29 -!- tromp_ has quit (Ping timeout: 248 seconds). 05:52:50 -!- FireFly has joined. 06:05:40 -!- luserdroog has joined. 06:19:38 -!- Sellyme has quit (Excess Flood). 06:19:55 `olist (944) 06:19:56 olist (944): shachaf oerjan Sgeo FireFly boily 06:20:35 -!- Sellyme has joined. 06:26:46 `coins 06:26:48 homesprolcoin excocoin alcucoin mycecoin gottcoin gamcoin wilsofcoin lnutacoin rocecoin x-dcoin tarcoin faltcoin neurcoin burrcoin cobosencoin brachcoin photomycoin aheuicoin bicecoin dateflindexeucoin 06:37:37 -!- Bike has quit (Read error: Operation timed out). 06:38:34 -!- HackEgo has quit (Ping timeout: 260 seconds). 06:39:08 -!- HackEgo has joined. 06:44:40 -!- Bike has joined. 06:44:44 tychaf 06:46:10 fungotocracy 06:46:11 kmc: no, it's not. it's more complex than that. read the code.) good stuff 06:52:44 fungot: have you read your own code 06:52:44 shachaf: i am just as confused. you, in that line, that i have gone totally wanting, and then you can choose fnord, but don't 06:53:02 fungot: i choose not to choose fnord 06:53:02 kmc: it's what that guy in medina, a village near the mystic mountain" 65,000,000 b. c.? yes, i'd have done something very brave? fnord 06:22, 29, no. 2, 2, 3, 4, 8, 13, 1(::**) ...bad insn! 06:53:22 `dis86 4daf5f1e95 06:53:22 scasq; pop rdi; invalid; xchg ebp, eax; 06:54:06 invalid; is the best instruction. 06:54:12 `as86 ud2 06:54:13 0f0b 06:54:16 `dis86 0f0b 06:54:17 ud2; 06:54:28 this is the instruction that's defined to be undefined 06:54:37 i forgot what happened to ud1, maybe somebody defined it by accident 06:55:06 `as86 ud1 06:55:06 0fb9 06:55:16 `dis86 0fb9 06:55:16 invalid; 07:03:23 is fungot spouting underload now 07:03:23 Bike: so, let's say i call them mindless games. if we hit every stupid person, any person going, tough one. if we solve it,... 07:04:07 `gccrun asm("ud2"); 07:04:08 Illegal instruction 07:04:35 ^style 07:04:35 Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot* homestuck ic irc iwcs jargon lovecraft nethack pa qwantz sms speeches ss wp youtube 07:04:51 `gccrun asm("ud1"); 07:04:52 Illegal instruction 07:05:25 `cat bin/as86 07:05:25 as="$1"; shift; echo ".intel_syntax noprefix; $as" | gcc "$@" -c -x assembler /dev/stdin -o /tmp/as86.o && objcopy -O binary /tmp/as86.{o,bin} && xxd -p /tmp/as86.bin 07:07:08 that's some complicated shite right there. 07:20:44 -!- Tritonio has quit (Quit: Tritonio). 07:20:51 -!- FreeFull has quit. 07:24:21 -!- tertu has quit (Ping timeout: 248 seconds). 07:26:01 -!- w00tles has joined. 07:33:18 -!- tertu has joined. 07:37:45 kmc: "Use the 0F0B opcode (UD2 instruction) or the 0FB9 opcode when deliberately trying to generate an invalid opcode exception (#UD)." 07:38:01 I guess it's still proerply undefined. Don't know about names. 07:38:15 Pro-ERPly. 07:38:18 whence quote 07:38:51 I think there's some OS out there which uses ud2 as the syscall instruction 07:39:34 Intel's instruction set manual, volume 2, Table A-1 "Superscripts Utilized in Opcode Tables", entry "1B". 07:39:51 (Which is used in both the 0F0B and 0FB9 table entries.) 07:57:36 i'll also ask here i guess: i have a (universal) algebra A in some variety, say it's an abelian group, so the type is (+, 2), (^{-1}, 1), (1, 0). i say a function f : A \to A is \emph{nice} if it can be built as follows: the identity map and constant maps are nice, and if $g$ is nice and $c \in A$, then $x \mapsto g(x) + c$, $x \mapsto c + g(x)$, $x \mapsto g(x)^{-1}$ and $x \mapsto 1$ are nice. is there a better name for nice? 07:58:32 so basically the functions you can build out of a single variable x and any algebra operations with constants from the algebra 07:58:54 for rings, these are the affine maps x \mapsto ax + b 07:59:01 so i have usually called them affine maps 08:31:30 -!- MindlessDrone has joined. 08:32:23 -!- Tritonio has joined. 08:36:14 HAXE HAS MACROS??? 08:36:30 Maybe I should actually take a look at it, instead of just instantly dismissing it as boring 08:59:30 -!- tertu has quit (Ping timeout: 260 seconds). 09:01:13 -!- Sellyme has quit (Excess Flood). 09:01:35 -!- Sellyme has joined. 09:13:57 kmc: http://blogs.msdn.com/b/oldnewthing/archive/2004/12/15/313250.aspx 09:30:14 -!- MindlessDrone has quit (Quit: MindlessDrone). 09:39:12 -!- MindlessDrone has joined. 10:21:30 olsner: and SYSENTER is born. 10:45:05 -!- shikhin has joined. 10:45:08 -!- shikhin has quit (Changing host). 10:45:08 -!- shikhin has joined. 10:45:56 -!- conehead has quit (Quit: Computer has gone to sleep.). 11:08:28 -!- Tritonio1 has joined. 11:10:13 -!- Tritonio has quit (Ping timeout: 250 seconds). 11:21:04 -!- aloril has quit (Ping timeout: 252 seconds). 11:21:04 -!- ski has quit (Ping timeout: 252 seconds). 11:21:04 -!- Deewiant has quit (Ping timeout: 252 seconds). 11:22:50 -!- yorick has joined. 11:23:23 -!- Deewiant has joined. 11:24:32 -!- ski_ has joined. 11:25:23 -!- ski_ has changed nick to ski. 11:33:01 -!- Tritonio1 has quit (Ping timeout: 272 seconds). 11:34:00 -!- aloril has joined. 12:07:17 -!- w00tles has quit (Quit: quit). 12:20:47 -!- w00tles has joined. 12:30:48 -!- itsy has quit (Read error: Connection reset by peer). 12:55:37 -!- tertu has joined. 13:06:47 -!- Sellyme has quit (Excess Flood). 13:08:09 -!- Sellyme has joined. 13:10:47 -!- utkarsh has quit (Changing host). 13:10:47 -!- utkarsh has joined. 13:19:54 -!- Sgeo has quit (Read error: Connection reset by peer). 13:57:34 -!- oerjan has joined. 14:01:38 hi tech <-- was wondering for a moment who you were greeting, there 14:04:47 ~metar EFHK 14:04:56 I always do that when it no works. 14:05:10 hint: metasepia leaves when boily does. 14:06:05 I did not know that. Why is it so? 14:06:23 you'll have to ask boily, it's his bot 14:07:05 @ask boily Why does metasepia leave when you do? 14:07:05 Consider it noted. 14:25:20 -!- ais523 has joined. 14:40:17 darths & droids #1000 today 14:40:43 (don't forget the usual bonus comic) 14:49:22 wait what. 14:50:02 THEY FORGOT THE BONUS COMIC 14:50:26 unless it's related to the fact sromg hasn't updated either. 15:04:59 -!- FireFly has quit (Ping timeout: 246 seconds). 15:05:31 -!- samebchase has quit (Ping timeout: 250 seconds). 15:13:28 what bonus comic? 15:13:38 oh 15:13:46 do those follow some regular schedule? 15:14:57 oerjan: by bonus comic, you mean the ones branching from #50, right? 15:17:02 -!- samebchase has joined. 15:19:15 yes 15:19:32 -!- FireFly has joined. 15:19:38 they usually appear every 50th ordinary comic 15:21:28 -!- nooodl has joined. 15:22:23 -!- Sorella has joined. 15:22:35 -!- nooodl has left. 15:25:20 -!- shikhout has joined. 15:26:37 -!- shikhin has quit (Read error: Operation timed out). 15:26:37 -!- shikhout has changed nick to shikhin. 15:33:48 -!- conehead has joined. 15:58:29 -!- MindlessDrone has quit (Ping timeout: 248 seconds). 16:01:42 ais523: could your tag-to-resplicate converter be easily adjusted to output only even-length sequences with even numbers in the odd positions? 16:06:06 quintopia: yes 16:07:16 wish i knew perl better, or understood the algorithm enough to reimplement in something I better understand 16:07:47 the only tricky thing that program does is build expressions as strings, that are 'eval'ed later 16:08:04 also, @array can either refer to the array as a whole, or the number of elements in it 16:08:14 which can make that program a little confusing at times 16:09:45 and 523 is clearly just some sort of flag (based on your name) which could have been any number? 16:12:24 -!- shikhin has quit (Ping timeout: 260 seconds). 16:12:32 -!- MindlessDrone has joined. 16:13:54 -!- ruthie has joined. 16:14:05 -!- ruthie has left ("DANG"). 16:14:06 it's not even a flag, just a dummy cell 16:14:19 yeah 16:14:53 i'm changing it to zero :P 16:15:41 the point is that it doesn't matter 16:16:07 also it annoys me that it generates a program which is shortened by its first step. (it starts 2 1 78 0) 16:18:27 you mean it could put the 78 0 at the /end/ instead? that'd annoy me even more 16:18:33 because then it'd be out of order 16:20:36 i always manually move it to the end when i save it :P 16:21:47 so about these 1's that keep showing up in the odd positions...how to make them even numbers? 16:22:33 eh, in general, how to change odds to evens? 16:22:59 -!- nisstyre has joined. 16:26:52 quintopia: the code that generates the 523 padding has an odd length (3), and the length of that code determines the length of the padding 16:27:35 if you make the padding-generation code have an even length (e.g. by padding by copying a length-2 string not a length-1 string), the required length of padding will be an even length too 16:28:08 -!- luserdroog has quit (Ping timeout: 245 seconds). 16:28:38 ...and then my header merge suggestion will work >:) 16:30:05 oerjan: that's why i'm trying to do it 16:30:16 aha 16:30:42 because as you've demonstrated, there is a simple meta-symbol construction for "ResPairate" 16:31:22 hm i may have thought that, but did i actually say it? 16:31:51 (that you can merge pairs into a single symbol if everything is even alignment) 16:32:02 (namely, the pair (n,m) is replaced by the sequence (2,2)(n+11,m)(2,2)(2,2)(2,2)(2,2)(2,2)(0,0)(n,1)(0,0)(n,1)) 16:32:51 wait what 16:33:18 that's the metasymbol. you should recognize it. it's mostly yours. :P 16:33:33 well yes but what's a metasymbol 16:33:53 a sequence that behaves like a symbol. like metapixels in Life. 16:34:32 um that sequence double itself every second cycle, it doesn't behave like anything else? 16:34:35 *+s 16:34:47 er m-plies 16:35:32 actually, you're right 16:35:38 that n should be something*n 16:35:59 but yeah it's clearly possible 16:36:31 probably 11*n 16:38:57 but my sequence is designed to preserve _itself_, not what's following. 16:39:06 *multiply 16:39:07 ais523: so does push @alphabet, 2, (@alphabet + 5), 0, 0; do what you're saying? i'm not sure what the "5 numbers" you refer to are. 16:39:45 the 5 numbers are the number of numbers pushed on that line, plus the number of numbers pushed on the next line 16:39:49 so you'd need to change the 5 to 6 16:39:56 then you'd need to divide by 2 16:40:11 because you're copying a two-element string, so you only need half as many copies 16:40:23 so it'd be push @alphabet, 2, (@alphabet + 6) / 2, 0 , 0; 16:40:31 then you need to change the end padding the same way 16:40:49 oerjan: it multiplies itself, including some string which it is prepended to. what if what is prepended to is another sequence just like itself? it should work i think. 16:41:52 -!- conehead has quit (Quit: Computer has gone to sleep.). 16:42:04 ais523: and the trailing padding has to be modified in terms of a string to be eval'd? so i need to put the /2 into a string and concatenate it? 16:42:13 quintopia: yes 16:43:15 so this: push @alphabet, 2, ('(@alphabet - '. @alphabet. ')/2'), 0, 0; 16:43:50 quintopia: it keeps the thing it's prepended to completely inert. 16:43:53 quintopia: that looks right 16:45:16 my point is, something that works equivalent to the pair (m,n) needs _not_ to include itself in what it's multiplying. 16:45:21 oerjan: oh wait. i see the problem. it imposes a copy of itself between all those symbols its prepended to. 16:45:23 oerjan: you were right. check the changes now. 16:45:39 so yeah it should fail to preserve itself instead 16:45:52 isn't that even easier though? 16:45:52 b_jonas: yay! 16:46:00 quintopia: probably 16:47:48 quintopia: in fact a trivial meta-symbol is (x,0) ...x arbitrary pairs... (m*(x+2),n) 16:48:47 and the initial part can be replaced by anything that leaves no trace 16:49:06 do you have m and n backwards from i am doing or am i just confused 16:49:18 -!- augur has quit (Remote host closed the connection). 16:49:44 -!- augur has joined. 16:50:46 ah, you're right. metasymbols are really easy. 16:51:04 -!- augur_ has joined. 16:51:16 -!- augur has quit (Read error: Connection reset by peer). 16:52:42 ais523: by the way i ran collatz->tag->resplicate for n=27 and it 406542 steps to reach the period 40 oscillator, growing up to 2,170,200 on the way. 16:53:02 quintopia: I tried doing that, but gave up waiting for it to finish :-) 16:53:20 you can actually follow what the tag system is doing with some simple greps on the debug output of the interp 16:53:23 ais523: takes about one night's sleep to finish. 16:54:04 -!- FreeFull has joined. 16:54:12 ais523: you can actually follow the collatz one really easily just by watching the length of the queue from moment to moment (which is printed by the -l flag) 16:54:39 seeing as how it represents numbers in unary :P 16:55:04 we need a simple useful tag program that isn't the collatz sequence one from Wikipedia, really 16:55:35 although I guess generalized collatz (which is TC) shouldn't be too hard to compile to tag? 16:55:42 ais523: do you think it's possible to design a halt symbol that deletes itself when compiled to resplicate? 16:56:20 -!- conehead has joined. 16:56:38 quintopia: not without modifying the rest of the construction, but it'd be trivial enough to slip in a "skip to this point in the next symbol" construction to the initial padding 16:56:41 then you could just jump to that 16:56:47 and all the symbols would delete themselves in turn until the tape was empty 16:58:20 ais523: the only problem i've been having with the whole "universal tag system" thing is that every thing I can find shows how particular /families/ of tag systems are universal. I have yet to find anything tag systems that let you encode other tag systems as the string to be modified and evaluates them. 16:58:50 quintopia: write a Turing Machine that evaluates tag sytems, compile it to a tag system 16:59:05 ais523: yes i know, but that will be HUEG 16:59:25 also there's the question about how you do input 16:59:34 I'd like to give ResPlicate an output extension, at least 16:59:55 something like "if the length is 0, the count is interpreted as a Unicode codepoint and written to stdout" 17:00:02 that doesn't affect interps that don't understand it 17:00:22 you could use negative numbers for anything you want 17:00:23 yeah that is a nice way 17:01:07 actually.. 17:01:09 oerjan: that MIGHT affect some interps. 17:01:15 yeah 17:01:15 `coins 17:01:17 inccoin wheatchcoin cabraicoin wiercoin anocoin dellowierdongcoin palcoin cluticoin thersetcoin karmadigecoin gendelliorsquecoin htfcoin publecoin splcoin intfuccencoin clookcoin calcoin ariocoin nigmocoin juncoin 17:01:21 depending on the language they are in and how they are implemented 17:02:06 why would it have to be numbers? 17:02:11 couldn't it be a special entry? 17:02:40 b_jonas: backwards compat 17:02:57 is `coins like `words, but with "coin" at the end? 17:03:00 `words 17:03:01 you can't do input with backwards compat, anyway. 17:03:01 stu 17:03:07 ais523: ideally, input would automatically be converted into some kind of useful format, such as your "alphabets" 17:04:31 -!- oerjan has quit (Quit: leaving). 17:04:49 ais523: if there were a way to do that, we could compile PLATTS to ResPlicate 17:10:32 ais523: It's `words with an english-and-esolangs interpolated model, and coin at the end. 17:12:49 -!- tertu_ has joined. 17:13:01 (Personally, I think it's impressively good at generating plausible cryptocurrency names, but then again that might be more of a comment on existing cryptocurrency names.) 17:13:42 -!- tertu has quit (Ping timeout: 260 seconds). 17:18:49 fizzie: yeah 17:19:12 fizzie: I like "palcoin". that's probably something endorsed by paypal 17:26:21 is there already a language that uses some kind of evolution? 17:28:14 all languages evolve! 17:28:20 english has evolved a lot 17:28:28 but then...so has Python 17:28:53 as part of the concept 17:31:38 i have an idea of a metalanguage that produces keywords of the underlying language through some evolutionary rules 17:37:30 well, stuff like that has certainly been done. for instance the Lymia's BFJoust programs 17:37:56 huh? 17:39:49 describe your concept 17:42:35 well, i heard about evolutionary game theory an hour ago 17:44:14 like you have an instruction that rules for now, but because of some mutations another instruction might evolve and due to given rules might become the main population 17:47:57 that's not a fully-fledged idea yet :P 17:48:48 i have more details in mind, but i am on a smartphone right now, so i am too lazy to write that much details 17:49:00 ais523: do you think ResPairate would be TC with numcopies<=2? 17:49:22 i may just implement it after this semester is finally over 17:49:25 quintopia: I think most likely yes, although I don't have a construction in mind 17:49:33 myname: that's easy, just define a useful language and a half-useful compiler, but write its specification deliberately incomplete and remove some useful things so people want to add those as extensions, 17:49:49 hahaha 17:49:51 then variants of the language incompatible with old programs will evolve naturally as people try to fix the language 17:50:04 b_jonas: it's true! 17:50:32 myname: also, cf. Mascarpoine 17:50:38 *Mascarpone 17:50:52 ? 17:51:02 -!- Phantom_Hoover has joined. 17:51:35 b_jonas: have you seen http://esolangs.org/wiki/Snowflake 17:51:39 it's sort of like that, except automatd 17:51:41 *automated 17:51:46 the language definition fixes itself over time 17:51:53 I don't have an interp, though 17:52:19 ais523: I had glanced at it earlier, but didn't understand much of it 17:52:42 this is a problem with my concepts that require a lot of effort to execute on 17:53:09 (the most extreme example being Feather, which not even I understand) 17:53:09 "feather"? 17:53:14 there's a "sather" language I think 17:53:27 http://esolangs.org/wiki/Feather 17:53:54 wow, has Feather stopped being a #esoteric meme some time in the last year? /me rejoices 17:54:09 -!- FireFly has quit (Excess Flood). 17:54:17 is it related to sather besides rhiming the name? 17:54:40 no 17:55:25 -!- FireFly has joined. 17:56:39 it's basically a simple OO language that uses time travel for inheritance, is written entirely in itself (going back infinitely many layers), and is designed to look like Smalltalk except for different reasons 17:58:04 time travel.... wait, I have a writeup about that 17:58:11 (you might have seen it) 17:58:26 ais523: http://www.math.bme.hu/~ambrus/pu/git-extensions 17:58:44 I think that's even on-topic here 17:59:04 b_jonas: yeah, the first paragraph reminds me a lot of Scapegoat 17:59:14 which I have done like 2 hours of work on in the past year 18:01:02 the infinite history thing is reminiscent of Feather, though 18:01:17 ais523: yes, that's why I said time travel reminds me to it 18:01:30 although the way it's implemented in Feather is, it goes back finitely many levels, then if you try to go past the end of it it retroactively increases the number of levels it used 18:01:35 (well, besides that I explicitly mention time machine) 18:01:40 err, or would be implemented, if anyone had a clue how to mention Feather 18:02:16 right, I specifically say that: "These meta levels spring into existence lazily as you reference them, so if you reference meta^p-history for the first time, then the meta^q-history for all p < q is considered to always have contained a single default meta^p-branch." 18:02:58 ais523: it's not completely gone from lore tho. for instance... 18:03:03 `? ais523 18:03:06 Agent “Iä” Smith is an alien with a strange allergy to avian body covering, which he is trying to retroactively prevent from ever evolving. On the 3rd of March, he's lawful good. 18:03:06 *how to implement Feather 18:03:23 b_jonas: Feather isn't quite the same as laziness 18:03:39 given that it involves reconstructing the entire gamestate from scratch 18:05:11 gah, I'm too incoherent to write meaningful sentences 18:05:16 I should go sleep 18:05:17 -!- ais523 has quit. 18:05:21 oh :( 18:08:54 i lold @ lawful good 18:14:09 fungots fall on fungot falls 18:14:09 kmc: ( that is, levinson went to kish, disappeared, had on your behalf of the commission. at the moment. wheee, shiny.'). the solution is to produce the bonds i.e fnord between the karma and our fnord causeway. the scene uses hare coursing as a metaphor and may be fnord to other military genius, indeed, from country, have the fnord so fnord a series of really coy riddles about it and stop the eval loop, stable or otherwise fail 18:14:47 fungot: have you heard the new album by Levinson and the Commission 18:14:47 kmc: that is just a value of type " airbus is a big fan of avril....but this song " there 18:15:03 i'm thinking the non-digit symbol is the best way to add input to ResPlicate. it doesn't matter that it will cause non-compliant interps to break since, a) there's really only one published interp right now and b) if a program needs user input, what it does couldn't be emulated by the current implementation anyway. 18:15:29 in which case I think a construction like n ? {n symbols} is the way to go 18:15:35 quintopia: well, you could have two versions of the language, one without input and one with input 18:16:09 b_jonas: or 90 VERSIONS OF THE LANGUAGE. RIGHT? RIGHT? 18:16:23 IS NINETY EVEN ENOUGH? 18:16:37 how many versions has python had 18:17:19 however, try to make the langauge definition as simple as possible. if it's universal with input just queueing a byte and pushing a single number between 0 and 257, make it do that even if it's harder to program 18:17:40 at least java had the class to update their language such that programs are forward-compatible 18:17:41 and make sure the input thing doesn't make programming easier 18:18:30 forget python, how many incompatible version did _ruby_ have? over ten I think 18:18:44 ruby guys are just not interested in compatibility 18:18:51 b_jonas: of course it's universal with (whatever input method you want) because it's universal! 18:19:09 they rename methods removing the old name for as feeble reasons as deciding their name isn't perfect 18:19:53 quintopia: by universal, I don't mean it should just be turing-complete, but also that it should be able to emulate any bf program 18:19:57 theoretically 18:20:47 then say BF-complete 18:21:11 and yes, just enqueueing a byte from input would probably make it BF-complete 18:21:17 -!- Tritonio has joined. 18:21:29 since the n ? thing could then be done on the second pass 18:22:04 I can't confirm or deny that, because I really don't understand all this tag system queue language stuff 18:24:07 actually 18:24:21 hmmmmmmmm 18:25:31 -!- conehead has quit (Quit: Computer has gone to sleep.). 18:29:03 yeah the current interpreter would interpreter 0 -1 exactly the same as 0 0, which means I could use -1 as the input 18:30:34 would the input just add the unicode codepoint to the end or do some encoding? 18:36:26 unicode code point? um 18:36:38 it would be better to input bytes imo 18:37:06 inputting unicode code points in this language could be dangerous. 18:37:18 hmm, true 18:37:38 you could also make it input bits, but that might make programming too easy 18:37:46 still, it might be worth 18:37:53 it would make sense to change the output to bytes, too 18:39:22 yes that is what i am doing 18:48:10 -!- conehead has joined. 19:01:48 -!- nisstyre has quit (Ping timeout: 260 seconds). 19:01:58 -!- tertu_ has quit (Ping timeout: 260 seconds). 19:25:30 -!- FireFly has quit (Ping timeout: 272 seconds). 19:25:46 -!- Guest83987 has quit (Ping timeout: 265 seconds). 19:29:16 -!- Guest38505 has joined. 19:30:54 -!- Phantom_Hoover has quit (Ping timeout: 260 seconds). 19:31:27 -!- FireFly has joined. 19:40:30 -!- Guest38505 has quit (Remote host closed the connection). 19:42:23 -!- samebchase has quit (Ping timeout: 260 seconds). 19:45:03 -!- samebchase has joined. 19:47:48 -!- samebchase has quit (Remote host closed the connection). 19:48:08 -!- samebchase has joined. 19:54:05 -!- `^_^v has quit (Quit: Leaving). 19:56:04 -!- `^_^v has joined. 20:19:45 this place is sad with no oerjan and neither alex 20:20:35 -!- Gregor has joined. 20:22:28 @bot 20:22:28 :) 20:22:37 all fungot all the time 20:22:38 kmc:, so i'd be happy to help an fnord archive), and, burning, and no clear account. in that second one is horizontally displaced by 1 pixel is sacred. just me, or i: yet, you rogue! 20:22:43 quintopia: see, lambdabot is happy ;) 20:42:02 fungot: is every pixel sacred, or just that one pixel? 20:42:02 FireFly: no, it's not. it's more complex than that. read the code.) good stuff like " thisfunction2 thislineofcode")) but have to seek. hee. i wan to faster finish the game could 20:42:47 fungot: sounds tricky 20:42:47 FireFly: that is just a value of type " airbus is a big fan of avril....but this song " there 20:45:08 -!- MindlessDrone has quit (Quit: MindlessDrone). 20:58:33 -!- evalj has joined. 21:06:12 -!- w00tles has quit (Quit: quit). 21:23:43 error: failed to find an implementation of trait std::iter::FromIterator for [type error] 21:23:54 I want a language where you can define instances for type errors! 21:28:12 i thought that was usual in languages with object-oriented error shite 21:29:10 -!- Tritonio has quit (Ping timeout: 248 seconds). 21:44:29 -!- JZTech101 has joined. 21:48:19 https://twitter.com/puffnfresh/status/433348860413353984 21:49:59 I saw somebody claim that Satoshi solved the Byzantine Generals' problem... 21:56:07 "It’s like assembling Lego" it's funny how this exact thing has been said about every programming system since at least the dawn of OOP 21:59:26 "$2.6 million is a pretty hefty seed round. But given this startup’s provenance, it makes perfect sense." omg and the picture 21:59:50 why is there a startup for a package manager 22:00:44 Guest65497: it's because "Investors are churning around developer tools these days as software makers gain more and more control and mindshare in an increasingly crowded universe of data and devices" 22:00:56 ok 22:01:01 this totally makes sense and is not a nonsense sentence at all 22:14:04 -!- oerjan has joined. 22:21:34 Fun project: prove Haskell's lens library, on its own, without any functions not exported from Control.Lens or other modules in the library, is turing complete 22:22:35 ais523: do you think ResPairate would be TC with numcopies<=2? <-- i'd think it would, too. e.g. the self-preservation prefix has that property, so there's no problem keeping things stable in one part of the queue, which means you can use as many cycles as you want to handle a single tag, which means you can multiply the alphabet in several doubling steps to get as many as you want. 22:23:08 all the offset stuff is just deleting to where you want to start anew, which is just 0 copies. 22:24:18 -!- evalj has quit (Remote host closed the connection). 22:26:41 Taneb: well someone did fibonacci already, so it cannot be too hard... 22:26:55 oerjan, the fibonacci was me 22:27:10 -!- nisstyre has joined. 22:27:11 i vaguely thought so, but i couldn't find your post again 22:27:39 you should be eminently qualified for the project, then. 22:28:05 I defer to your experience in proving stupidly constrained systems turing complete 22:28:17 O KAY 22:30:08 I've got some ideas, though 22:33:38 I want to try http://mirrors.talideon.com/articles/qbal/ 22:34:07 `pastelogs taneb.*fibonacci 22:34:09 ​/hackenv/bin/pastelogs: line 2: cd: /var/irclogs/_esoteric: No such file or directory \ grep: ????-??-??.txt: No such file or directory \ http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.16743 22:34:22 just for the despair, i did this. 22:34:42 It was... the week before last 22:35:17 Maybe Thursday 22:36:17 Definitely a weekday 22:36:50 "sumOf ignored" should be a good search tearm 22:39:00 well it was not any time between 27-30 january. unless glogbot was down. 22:39:12 *-31 22:39:21 Ah, I was triple-wrong 22:39:26 It was the 2nd of February 22:40:13 http://codu.org/logs/log/_esoteric/2014-02-02#213420Taneb 22:41:58 Does Control.Lens export curried though? 22:42:09 > view curried (view simple) (sumOf ignored (&)) (productOf ignored (&)) ^.. over mapped (iterated ((over mapped (view flipped (mapped %~) (sumOf both ^. curried)) (over mapped (mapped %~) (view simple ^. curried))) ^. flipped & over mapped (perform (acts&mapped%~acts)) & review curried)) _1 22:42:11 [0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,... 22:42:16 :t curried 22:42:17 (Functor f1, Profunctor p) => p (a -> b -> c) (f1 (d -> e -> f)) -> p ((a, b) -> c) (f1 ((d, e) -> f)) 22:42:21 Ah 22:42:29 I was confusing it with curry 22:42:38 :t curried :: Iso' ((a, b) -> c) (a -> b -> c) 22:42:39 (Functor f, Profunctor p) => p (a -> b -> c) (f (a -> b -> c)) -> p ((a, b) -> c) (f ((a, b) -> c)) 22:42:56 You could possibly make use of & to reduce the brackets 22:43:49 FreeFull, you're welcome to give it a go 22:44:21 the obvious thing is to extract ordinary functions like (.) const etc. somehow 22:44:36 :t over mapped `asTypeOf` (.) 22:44:37 (b -> c) -> (a -> b) -> a -> c 22:44:52 :t view simple `asTypeOf` id 22:44:53 a -> a 22:44:53 is asTypeOf exported by lens 22:45:08 well it's certainly not defined there 22:45:16 We don't need it 22:45:20 :t over mapped 22:45:21 Functor f => (a -> b) -> f a -> f b 22:45:21 oh right 22:45:32 > over mapped (+1) (*3) 4 22:45:34 13 22:45:46 Taneb: To be honest, I don't want to 22:46:02 :t view (view simple) `asTypeOf` const 22:46:03 Occurs check: cannot construct the infinite type: a0 = b0 -> a0 22:46:03 When using functional dependencies to combine 22:46:03 MonadReader r ((->) r), 22:46:05 oops 22:46:18 :t mapped 22:46:19 (Functor f, Settable f1) => (a -> f1 b) -> f a -> f1 (f b) 22:46:24 Handy 22:46:58 :t view 22:46:58 MonadReader s m => Getting a s a -> m a 22:47:24 :t view id `asTypeOf` const 22:47:25 Occurs check: cannot construct the infinite type: a0 = b0 -> a0 22:47:25 When using functional dependencies to combine 22:47:25 MonadReader r ((->) r), 22:47:36 view id == id 22:47:37 :t view id 22:47:38 MonadReader s m => m s 22:47:47 hm ok 22:48:07 :t over ixed 22:48:08 Not in scope: `ixed' 22:48:17 oh right it's return which is const, not ask 22:48:27 :t over mapped over ixed 22:48:28 Not in scope: `ixed' 22:48:30 :t over mapped over ix 22:48:31 (Indexable (Index t) p, Ixed Mutator t) => Index t -> p (IxValue t) (IxValue t) -> t -> t 22:48:39 Nope 22:48:50 :t over return 22:48:50 Anyway, I'm off now 22:48:50 Couldn't match type `p0 a0' with `Mutator' 22:48:50 Expected type: Setting p0 s0 (Mutator b0) a0 b0 22:48:50 Actual type: p0 a0 (Mutator b0) -> s0 -> p0 a0 (Mutator b0) 22:49:06 It's handy how id is the identity lens 22:52:02 -!- ion has quit (Read error: Operation timed out). 22:52:05 :t view (over mapped curried _1) 22:52:06 (MonadReader ((a1, b) -> c) m, Field1 (a1 -> b -> c) (a1 -> b -> c) a a) => m a 22:52:16 :t view (over mapped curried _1) `asTypeOf` const 22:52:17 Field1 (a -> b -> c) (a -> b -> c) (b1 -> (a, b) -> c) (b1 -> (a, b) -> c) => ((a, b) -> c) -> b1 -> (a, b) -> c 22:52:26 hm nope. 22:52:49 :t view curried _1 `asTypeOf` const 22:52:50 Could not deduce (Indexable Int (,)) arising from a use of `_1' 22:52:50 from the context (Functor f, Field1 s t (s -> f t) b) 22:52:50 bound by the inferred type of 22:52:59 :t review curried _1 `asTypeOf` const 22:53:00 Occurs check: cannot construct the infinite type: 22:53:00 b0 = p0 a0 (b1 -> b0) 22:53:00 When using functional dependencies to combine 22:53:04 bah 22:53:11 not thinking clearly enough. 22:53:20 oh hm 22:53:36 :t view curried (view _1) 22:53:37 a -> b -> a 22:53:41 there you go 22:54:16 :t curry fst 22:54:17 c -> b -> c 22:54:25 Anyone know of any Q-Bal interpreters? 22:57:28 :t set both 22:57:29 b -> (a, a) -> (b, b) 22:57:58 hm pesky unnecessary argument 22:58:02 :t set each 22:58:04 Each Mutator s t a b => b -> s -> t 22:58:40 oerjan: Technically ('a','a') is fully syntax 22:58:41 > set both 1 undefined 22:58:44 (1,1) 22:58:55 undefined isn't 22:59:07 FreeFull: i don't think Taneb wants constructors from outside lens 22:59:21 even if they're sugared 22:59:39 How about prisms? 22:59:47 Is there a tuple prism? 23:00:25 prisms are for data types with more than one constructor, mainly... 23:00:54 well, "structural" prisms are 23:01:22 but of course you can have a prism for anything that you can express as a sum 23:01:43 Prism' s a = exists r. s ~ (Either r a) 23:02:17 -!- Speed` has joined. 23:03:06 Is the Left value useful for anything other than the constructor itself? 23:06:41 :t both 23:06:42 Applicative f => (a -> f b) -> (a, a) -> f (b, b) 23:06:57 -!- ion has joined. 23:08:50 :t joined 23:08:51 Not in scope: `joined' 23:08:51 Perhaps you meant `join' (imported from Control.Monad.Writer) 23:08:58 worth a try :P 23:11:57 Seems a Q-BAL interpreter doesn't exist ): 23:18:50 -!- Phantom_Hoover has joined. 23:20:18 this place is sad with no oerjan and neither alex <-- there are two alex? 23:21:38 -!- nooodl has joined. 23:23:14 -!- nooodl has quit (Client Quit). 23:26:28 -!- shikhin has joined. 23:36:11 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 23:42:20 -!- Phantom_Hoover has joined. 23:47:45 -!- tertu has joined. 23:49:39 -!- Frooxius has quit (Ping timeout: 245 seconds). 23:52:42 -!- tertu has quit (Ping timeout: 260 seconds).