←2014-02-10 2014-02-11 2014-02-12→ ↑2014 ↑all
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 <Sgeo> 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 <oerjan> sorry, *scores
01:09:17 <oerjan> *+game
01:09:38 * oerjan loses points for not reading his own lines before pressing return
01:09:53 <Taneb> Can you guys give me tips for making esolangs without really trying
01:11:01 <oerjan> pick a weird layout for memory and program, possibly separately
01:12:13 <Taneb> oerjan, that was the plan
01:12:18 <oerjan> steal commands/keywords from ordinary languages, give them single character names
01:12:30 <Taneb> I need to do this in half an hour a week on thursday
01:12:50 <oerjan> alternatively give them themed names
01:13:14 <oerjan> (but i somehow expect you to have better taste)
01:13:53 <Taneb> I am worried my audience will be expecting Real Fast Nora's Hair Salon 3: Shear Disaster Download 2
01:14:41 <oerjan> in that case, steal combinator birds instead. rename them to flowers.
01:14:44 <Taneb> ...on another note, I've just got a 418 error
01:15:09 <Taneb> oerjan, I want to do as little planning but as much preparation as possible
01:15:43 <oerjan> i see.
01:16:37 <oerjan> bring a box of legos. use those for syntax.
01:17:05 <Taneb> 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 <Sgeo> http://blog.inedo.com/2010/10/12/http-418-im-a-teapot-finally-a-%E2%80%9Clegitimate%E2%80%9D-use/
01:17:28 <Sgeo> Not really a legitimate use, but still
01:17:43 <Sgeo> I can imagine frustratingly implementing that sort of thing
01:18:19 <oerjan> Taneb: in fact construct the first 3d esolang.
01:18:26 -!- nisstyre has quit (Ping timeout: 260 seconds).
01:18:38 <Taneb> oerjan, isn't there some 3D funges?
01:18:40 <Sgeo> oerjan: come on, you've played 4d scrabble, you should suggest 4d esolang
01:18:57 <oerjan> Sgeo: i'm afraid lego won't be up to the challenge
01:19:01 <Taneb> In fact, nD funges are pretty boring once you get the idea
01:19:23 <Sgeo> Oh, apparently, you were judge, not player
01:19:32 <Sgeo> Based off this esolang log I fojd
01:19:46 <oerjan> ...i assume you mean frc log
01:19:50 -!- tertu has joined.
01:20:12 <oerjan> or wait, i may have discussed it here...
01:20:23 <Sgeo> http://tunes.org/~nef//logs/esoteric/13.06.09
01:21:09 <oerjan> well it was an frc round, anyway.
01:21:50 <ion> `coins
01:21:52 <HackEgo> iotatedcoin pbocoin surfcoin delcoin doguecoin clavcoin catorcoin bullcoin sphcoin squodetroccoin brcalcoin bircoin fromorecoin feemcoin bitflipcoin bf-dercoin fragacoin extenundcoin snowfcoin markanweicoin
01:23:30 <oerjan> doguecoin, so francais, much beau
01:23:56 <Sgeo> 15:08:15 <Sgeo> I wonder when I'll start having nostalgia for Cablevision's offices
01:23:56 <Sgeo> 15:08:23 <elliott> did you quit
01:23:56 <Sgeo> 15:08:57 <Sgeo> no
01:24:17 <Sgeo> Since this conversation occurred, I have been relocated to a different office
01:24:27 <kmc> is it better or worse?
01:25:01 <Sgeo> It's diagonal. And worse.
01:25:14 <kmc> diagonal?
01:25:49 <Sgeo> My cube is at the corner of two perpendicular hallways. There is a third hallway diagonal to those hallways
01:26:10 <Sgeo> It was a bit disorienting at first
01:26:34 <oerjan> 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 <quintopia> 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 <oerjan> i'm not quite sure.
02:28:09 <oerjan> for a given base, if you ignore leading zeros, it's the same as "numerical order"
02:30:31 <quintopia> so for base aleph_0?
02:30:35 <oerjan> https://en.wikipedia.org/wiki/Shortlex_order
02:31:28 <quintopia> ah
02:31:32 <quintopia> got it
02:34:02 <quintopia> so "the alignment will never be odd" is enough to prove that the zeros will never disappear?
02:34:54 <oerjan> for 4, yes.
02:35:32 <oerjan> 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 <oerjan> *in that alignment
02:36:06 <quintopia> ah. what suffices for the other cases then?
02:36:29 <quintopia> like why do the zeros never show up in the first or second positions?
02:37:27 <oerjan> they might, but the strings are long enough that you will get a reproduction later anyhow
02:37:42 <oerjan> in fact the case where the zero is second is the worst one
02:38:01 <oerjan> and the only reason i need four copies of the n-1 n's block
02:39:52 <quintopia> hmm. were you able to simultaneously apply all this logic to all of them, and then just grep runs of them?
02:39:55 <oerjan> or n-2 n's, for the 0 0 case
02:40:09 <oerjan> quintopia: yes.
02:40:55 <oerjan> 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 <oerjan> and the logic is not significantly different for different n>=5
02:42:36 <oerjan> n … n 0 n … n 0 n … n 0 n … n
02:42:37 <oerjan> . * * . ; :
02:42:48 <oerjan> that's my summary diagram for the logic
02:43:45 <quintopia> 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 <oerjan> well of course, just take a universal tag system and apply ais523's perl program to it
02:44:43 <quintopia> 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 <oerjan> (afaict the initial state of the tag system doesn't influence the symbols used, only the lookup table/"alphabet" does)
02:46:07 <quintopia> 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 <quintopia> well i can't tell. i was hoping so.
02:46:56 <oerjan> quintopia: the initial condition is afaict just concatenating the representation for each symbol as derived from the condition-independent alphabet.
02:46:58 <quintopia> 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 <oerjan> i don't know either
02:49:36 <quintopia> 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 <oerjan> 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 <oerjan> i guess i just rephrased it, then :P
02:50:36 <quintopia> well i would think so, but i would also like it to be short and simple :P
02:50:41 <quintopia> it's not what my real question is though. but i don't know what my real question is.
02:51:08 <oerjan> hm probably adjust the 4 2 4 2 ... thing
02:51:29 <quintopia> i've been trying to!
02:52:28 <oerjan> hm i think it needs something at the end too
02:53:48 <quintopia> yeah, except things at the end may cause it to interact with other blocks!
02:54:26 <oerjan> oh hm
02:54:47 <oerjan> this is tricky.
02:54:53 <quintopia> inorite
02:55:11 <oerjan> the problem is getting anything _between_ the copies.
02:55:26 <quintopia> indeed
02:55:37 <oerjan> i think you need two passes.
02:56:01 <quintopia> that sounds more likely. one pass for the head, one for the tail?
02:56:15 <oerjan> not really
02:56:32 <quintopia> yeah probably not
02:56:40 <quintopia> some intermediate form then
02:57:25 <quintopia> maybe one pass makes two copies the arbitrary string, and another inserts the header between them somehow
02:57:45 <oerjan> no. you cannot swap things efficiently.
02:57:56 <oerjan> 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 <oerjan> 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 <oerjan> so basically prepend 4 2 (n+6) m to any sequence which is already self-preserving.
03:15:47 <oerjan> oops
03:15:57 <oerjan> *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 <oerjan> quintopia: ^
03:19:36 <oerjan> 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 <oerjan> 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 <FreeFull> I have no idea what language this is
03:29:22 <oerjan> 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 <oerjan> 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 <oerjan> this can apply to stack languages like underload as well (see the rewriting section in that)
03:59:35 <oerjan> and msm, which is a combination
04:01:38 <oerjan> (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 <quintopia> oerjan: yeah 4 2 mn 5
04:11:46 <quintopia> 42mn42 is what i was thinking about
04:11:53 <quintopia> but got distracted by olympics
04:14:20 <oerjan> 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 <kmc> `coins
04:48:46 <HackEgo> 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 <lifthrasiir> `cat coins
04:56:09 <HackEgo> cat: coins: No such file or directory
04:56:26 <Bike> `run cat $(which coins)
04:56:26 <HackEgo> words --eng-1M --esolangs 20 | sed -re 's/( |$)/coin\1/g'
04:56:36 <Bike> hi tech
04:56:36 -!- tertu has joined.
05:04:54 <lifthrasiir> Bike: I thought they all exist
05:05:15 <Bike> what
05:06:09 <lifthrasiir> I thought they are somehow generated via coingen.io
05:06:11 <lifthrasiir> :S
05:07:25 <Bike> do they have a bot interface
05:09:21 <lifthrasiir> 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 <shachaf> `olist (944)
06:19:56 <HackEgo> olist (944): shachaf oerjan Sgeo FireFly boily
06:20:35 -!- Sellyme has joined.
06:26:46 <kmc> `coins
06:26:48 <HackEgo> 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 <Sgeo> tychaf
06:46:10 <kmc> fungotocracy
06:46:11 <fungot> kmc: no, it's not. it's more complex than that. read the code.) good stuff
06:52:44 <shachaf> fungot: have you read your own code
06:52:44 <fungot> 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 <kmc> fungot: i choose not to choose fnord
06:53:02 <fungot> 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 <kmc> `dis86 4daf5f1e95
06:53:22 <HackEgo> scasq; pop rdi; invalid; xchg ebp, eax;
06:54:06 <ion> invalid; is the best instruction.
06:54:12 <kmc> `as86 ud2
06:54:13 <HackEgo> 0f0b
06:54:16 <kmc> `dis86 0f0b
06:54:17 <HackEgo> ud2;
06:54:28 <kmc> this is the instruction that's defined to be undefined
06:54:37 <kmc> i forgot what happened to ud1, maybe somebody defined it by accident
06:55:06 <kmc> `as86 ud1
06:55:06 <HackEgo> 0fb9
06:55:16 <kmc> `dis86 0fb9
06:55:16 <HackEgo> invalid;
07:03:23 <Bike> is fungot spouting underload now
07:03:23 <fungot> 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 <kmc> `gccrun asm("ud2");
07:04:08 <HackEgo> Illegal instruction
07:04:35 <FireFly> ^style
07:04:35 <fungot> 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 <kmc> `gccrun asm("ud1");
07:04:52 <HackEgo> Illegal instruction
07:05:25 <kmc> `cat bin/as86
07:05:25 <HackEgo> 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 <Bike> 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 <fizzie> kmc: "Use the 0F0B opcode (UD2 instruction) or the 0FB9 opcode when deliberately trying to generate an invalid opcode exception (#UD)."
07:38:01 <fizzie> I guess it's still proerply undefined. Don't know about names.
07:38:15 <fizzie> Pro-ERPly.
07:38:18 <kmc> whence quote
07:38:51 <kmc> I think there's some OS out there which uses ud2 as the syscall instruction
07:39:34 <fizzie> Intel's instruction set manual, volume 2, Table A-1 "Superscripts Utilized in Opcode Tables", entry "1B".
07:39:51 <fizzie> (Which is used in both the 0F0B and 0FB9 table entries.)
07:57:36 <oklopol> 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 <oklopol> 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 <oklopol> for rings, these are the affine maps x \mapsto ax + b
07:59:01 <oklopol> so i have usually called them affine maps
08:31:30 -!- MindlessDrone has joined.
08:32:23 -!- Tritonio has joined.
08:36:14 <Sgeo> HAXE HAS MACROS???
08:36:30 <Sgeo> 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 <olsner> 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 <lifthrasiir> 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 <oerjan> <Bike> hi tech <-- was wondering for a moment who you were greeting, there
14:04:47 <fizzie> ~metar EFHK
14:04:56 <fizzie> I always do that when it no works.
14:05:10 <oerjan> hint: metasepia leaves when boily does.
14:06:05 <fizzie> I did not know that. Why is it so?
14:06:23 <oerjan> you'll have to ask boily, it's his bot
14:07:05 <fizzie> @ask boily Why does metasepia leave when you do?
14:07:05 <lambdabot> Consider it noted.
14:25:20 -!- ais523 has joined.
14:40:17 <oerjan> darths & droids #1000 today
14:40:43 <oerjan> (don't forget the usual bonus comic)
14:49:22 <oerjan> wait what.
14:50:02 <oerjan> THEY FORGOT THE BONUS COMIC
14:50:26 <oerjan> 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 <b_jonas> what bonus comic?
15:13:38 <b_jonas> oh
15:13:46 <b_jonas> do those follow some regular schedule?
15:14:57 <b_jonas> oerjan: by bonus comic, you mean the ones branching from #50, right?
15:17:02 -!- samebchase has joined.
15:19:15 <oerjan> yes
15:19:32 -!- FireFly has joined.
15:19:38 <oerjan> 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 <quintopia> 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 <ais523> quintopia: yes
16:07:16 <quintopia> wish i knew perl better, or understood the algorithm enough to reimplement in something I better understand
16:07:47 <ais523> the only tricky thing that program does is build expressions as strings, that are 'eval'ed later
16:08:04 <ais523> also, @array can either refer to the array as a whole, or the number of elements in it
16:08:14 <ais523> which can make that program a little confusing at times
16:09:45 <quintopia> 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 <oerjan> it's not even a flag, just a dummy cell
16:14:19 <quintopia> yeah
16:14:53 <quintopia> i'm changing it to zero :P
16:15:41 <ais523> the point is that it doesn't matter
16:16:07 <quintopia> 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 <ais523> you mean it could put the 78 0 at the /end/ instead? that'd annoy me even more
16:18:33 <ais523> because then it'd be out of order
16:20:36 <quintopia> i always manually move it to the end when i save it :P
16:21:47 <quintopia> so about these 1's that keep showing up in the odd positions...how to make them even numbers?
16:22:33 <quintopia> eh, in general, how to change odds to evens?
16:22:59 -!- nisstyre has joined.
16:26:52 <ais523> 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 <ais523> 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 <oerjan> ...and then my header merge suggestion will work >:)
16:30:05 <quintopia> oerjan: that's why i'm trying to do it
16:30:16 <oerjan> aha
16:30:42 <quintopia> because as you've demonstrated, there is a simple meta-symbol construction for "ResPairate"
16:31:22 <oerjan> hm i may have thought that, but did i actually say it?
16:31:51 <oerjan> (that you can merge pairs into a single symbol if everything is even alignment)
16:32:02 <quintopia> (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 <oerjan> wait what
16:33:18 <quintopia> that's the metasymbol. you should recognize it. it's mostly yours. :P
16:33:33 <oerjan> well yes but what's a metasymbol
16:33:53 <quintopia> a sequence that behaves like a symbol. like metapixels in Life.
16:34:32 <oerjan> um that sequence double itself every second cycle, it doesn't behave like anything else?
16:34:35 <oerjan> *+s
16:34:47 <oerjan> er m-plies
16:35:32 <quintopia> actually, you're right
16:35:38 <quintopia> that n should be something*n
16:35:59 <quintopia> but yeah it's clearly possible
16:36:31 <quintopia> probably 11*n
16:38:57 <oerjan> but my sequence is designed to preserve _itself_, not what's following.
16:39:06 <oerjan> *multiply
16:39:07 <quintopia> 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 <ais523> 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 <ais523> so you'd need to change the 5 to 6
16:39:56 <ais523> then you'd need to divide by 2
16:40:11 <ais523> because you're copying a two-element string, so you only need half as many copies
16:40:23 <ais523> so it'd be push @alphabet, 2, (@alphabet + 6) / 2, 0 , 0;
16:40:31 <ais523> then you need to change the end padding the same way
16:40:49 <quintopia> 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 <quintopia> 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 <ais523> quintopia: yes
16:43:15 <quintopia> so this: push @alphabet, 2, ('(@alphabet - '. @alphabet. ')/2'), 0, 0;
16:43:50 <oerjan> quintopia: it keeps the thing it's prepended to completely inert.
16:43:53 <ais523> quintopia: that looks right
16:45:16 <oerjan> 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 <quintopia> oerjan: oh wait. i see the problem. it imposes a copy of itself between all those symbols its prepended to.
16:45:23 <b_jonas> oerjan: you were right. check the changes now.
16:45:39 <quintopia> so yeah it should fail to preserve itself instead
16:45:52 <quintopia> isn't that even easier though?
16:45:52 <oerjan> b_jonas: yay!
16:46:00 <oerjan> quintopia: probably
16:47:48 <oerjan> quintopia: in fact a trivial meta-symbol is (x,0) ...x arbitrary pairs... (m*(x+2),n)
16:48:47 <oerjan> and the initial part can be replaced by anything that leaves no trace
16:49:06 <quintopia> 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 <quintopia> 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 <quintopia> 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 <ais523> quintopia: I tried doing that, but gave up waiting for it to finish :-)
16:53:20 <ais523> you can actually follow what the tag system is doing with some simple greps on the debug output of the interp
16:53:23 <quintopia> ais523: takes about one night's sleep to finish.
16:54:04 -!- FreeFull has joined.
16:54:12 <quintopia> 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 <quintopia> seeing as how it represents numbers in unary :P
16:55:04 <ais523> we need a simple useful tag program that isn't the collatz sequence one from Wikipedia, really
16:55:35 <ais523> although I guess generalized collatz (which is TC) shouldn't be too hard to compile to tag?
16:55:42 <quintopia> 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 <ais523> 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 <ais523> then you could just jump to that
16:56:47 <ais523> and all the symbols would delete themselves in turn until the tape was empty
16:58:20 <quintopia> 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 <ais523> quintopia: write a Turing Machine that evaluates tag sytems, compile it to a tag system
16:59:05 <quintopia> ais523: yes i know, but that will be HUEG
16:59:25 <ais523> also there's the question about how you do input
16:59:34 <ais523> I'd like to give ResPlicate an output extension, at least
16:59:55 <ais523> something like "if the length is 0, the count is interpreted as a Unicode codepoint and written to stdout"
17:00:02 <ais523> that doesn't affect interps that don't understand it
17:00:22 <oerjan> you could use negative numbers for anything you want
17:00:23 <quintopia> yeah that is a nice way
17:01:07 <oerjan> actually..
17:01:09 <quintopia> oerjan: that MIGHT affect some interps.
17:01:15 <oerjan> yeah
17:01:15 <ion> `coins
17:01:17 <HackEgo> inccoin wheatchcoin cabraicoin wiercoin anocoin dellowierdongcoin palcoin cluticoin thersetcoin karmadigecoin gendelliorsquecoin htfcoin publecoin splcoin intfuccencoin clookcoin calcoin ariocoin nigmocoin juncoin
17:01:21 <quintopia> depending on the language they are in and how they are implemented
17:02:06 <b_jonas> why would it have to be numbers?
17:02:11 <b_jonas> couldn't it be a special entry?
17:02:40 <ais523> b_jonas: backwards compat
17:02:57 <ais523> is `coins like `words, but with "coin" at the end?
17:03:00 <ais523> `words
17:03:01 <oerjan> you can't do input with backwards compat, anyway.
17:03:01 <HackEgo> stu
17:03:07 <quintopia> 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 <quintopia> ais523: if there were a way to do that, we could compile PLATTS to ResPlicate
17:10:32 <fizzie> 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 <fizzie> (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 <b_jonas> fizzie: yeah
17:19:12 <b_jonas> fizzie: I like "palcoin". that's probably something endorsed by paypal
17:26:21 <myname> is there already a language that uses some kind of evolution?
17:28:14 <quintopia> all languages evolve!
17:28:20 <quintopia> english has evolved a lot
17:28:28 <quintopia> but then...so has Python
17:28:53 <myname> as part of the concept
17:31:38 <myname> i have an idea of a metalanguage that produces keywords of the underlying language through some evolutionary rules
17:37:30 <quintopia> well, stuff like that has certainly been done. for instance the Lymia's BFJoust programs
17:37:56 <myname> huh?
17:39:49 <quintopia> describe your concept
17:42:35 <myname> well, i heard about evolutionary game theory an hour ago
17:44:14 <myname> 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 <quintopia> that's not a fully-fledged idea yet :P
17:48:48 <myname> 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 <quintopia> ais523: do you think ResPairate would be TC with numcopies<=2?
17:49:22 <myname> i may just implement it after this semester is finally over
17:49:25 <ais523> quintopia: I think most likely yes, although I don't have a construction in mind
17:49:33 <b_jonas> 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 <myname> hahaha
17:49:51 <b_jonas> then variants of the language incompatible with old programs will evolve naturally as people try to fix the language
17:50:04 <quintopia> b_jonas: it's true!
17:50:32 <quintopia> myname: also, cf. Mascarpoine
17:50:38 <quintopia> *Mascarpone
17:50:52 <myname> ?
17:51:02 -!- Phantom_Hoover has joined.
17:51:35 <ais523> b_jonas: have you seen http://esolangs.org/wiki/Snowflake
17:51:39 <ais523> it's sort of like that, except automatd
17:51:41 <ais523> *automated
17:51:46 <ais523> the language definition fixes itself over time
17:51:53 <ais523> I don't have an interp, though
17:52:19 <b_jonas> ais523: I had glanced at it earlier, but didn't understand much of it
17:52:42 <ais523> this is a problem with my concepts that require a lot of effort to execute on
17:53:09 <ais523> (the most extreme example being Feather, which not even I understand)
17:53:09 <b_jonas> "feather"?
17:53:14 <b_jonas> there's a "sather" language I think
17:53:27 <ais523> http://esolangs.org/wiki/Feather
17:53:54 <ais523> 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 <b_jonas> is it related to sather besides rhiming the name?
17:54:40 <ais523> no
17:55:25 -!- FireFly has joined.
17:56:39 <ais523> 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 <b_jonas> time travel.... wait, I have a writeup about that
17:58:11 <b_jonas> (you might have seen it)
17:58:26 <b_jonas> ais523: http://www.math.bme.hu/~ambrus/pu/git-extensions
17:58:44 <b_jonas> I think that's even on-topic here
17:59:04 <ais523> b_jonas: yeah, the first paragraph reminds me a lot of Scapegoat
17:59:14 <ais523> which I have done like 2 hours of work on in the past year
18:01:02 <ais523> the infinite history thing is reminiscent of Feather, though
18:01:17 <b_jonas> ais523: yes, that's why I said time travel reminds me to it
18:01:30 <ais523> 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 <b_jonas> (well, besides that I explicitly mention time machine)
18:01:40 <ais523> err, or would be implemented, if anyone had a clue how to mention Feather
18:02:16 <b_jonas> 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 <quintopia> ais523: it's not completely gone from lore tho. for instance...
18:03:03 <quintopia> `? ais523
18:03:06 <HackEgo> 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 <ais523> *how to implement Feather
18:03:23 <ais523> b_jonas: Feather isn't quite the same as laziness
18:03:39 <ais523> given that it involves reconstructing the entire gamestate from scratch
18:05:11 <ais523> gah, I'm too incoherent to write meaningful sentences
18:05:16 <ais523> I should go sleep
18:05:17 -!- ais523 has quit.
18:05:21 <quintopia> oh :(
18:08:54 <myname> i lold @ lawful good
18:14:09 <kmc> fungots fall on fungot falls
18:14:09 <fungot> 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 <kmc> fungot: have you heard the new album by Levinson and the Commission
18:14:47 <fungot> kmc: that is just a value of type " airbus is a big fan of avril....but this song " there
18:15:03 <quintopia> 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 <quintopia> in which case I think a construction like n ? {n symbols} is the way to go
18:15:35 <b_jonas> quintopia: well, you could have two versions of the language, one without input and one with input
18:16:09 <quintopia> b_jonas: or 90 VERSIONS OF THE LANGUAGE. RIGHT? RIGHT?
18:16:23 <quintopia> IS NINETY EVEN ENOUGH?
18:16:37 <quintopia> how many versions has python had
18:17:19 <b_jonas> 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 <quintopia> at least java had the class to update their language such that programs are forward-compatible
18:17:41 <b_jonas> and make sure the input thing doesn't make programming easier
18:18:30 <b_jonas> forget python, how many incompatible version did _ruby_ have? over ten I think
18:18:44 <b_jonas> ruby guys are just not interested in compatibility
18:18:51 <quintopia> b_jonas: of course it's universal with (whatever input method you want) because it's universal!
18:19:09 <b_jonas> they rename methods removing the old name for as feeble reasons as deciding their name isn't perfect
18:19:53 <b_jonas> 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 <b_jonas> theoretically
18:20:47 <quintopia> then say BF-complete
18:21:11 <quintopia> and yes, just enqueueing a byte from input would probably make it BF-complete
18:21:17 -!- Tritonio has joined.
18:21:29 <quintopia> since the n ? thing could then be done on the second pass
18:22:04 <b_jonas> I can't confirm or deny that, because I really don't understand all this tag system queue language stuff
18:24:07 <quintopia> actually
18:24:21 <quintopia> hmmmmmmmm
18:25:31 -!- conehead has quit (Quit: Computer has gone to sleep.).
18:29:03 <quintopia> 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 <nortti> would the input just add the unicode codepoint to the end or do some encoding?
18:36:26 <b_jonas> unicode code point? um
18:36:38 <b_jonas> it would be better to input bytes imo
18:37:06 <b_jonas> inputting unicode code points in this language could be dangerous.
18:37:18 <nortti> hmm, true
18:37:38 <b_jonas> you could also make it input bits, but that might make programming too easy
18:37:46 <b_jonas> still, it might be worth
18:37:53 <nortti> it would make sense to change the output to bytes, too
18:39:22 <quintopia> 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 <quintopia> this place is sad with no oerjan and neither alex
20:20:35 -!- Gregor has joined.
20:22:28 <int-e> @bot
20:22:28 <lambdabot> :)
20:22:37 <kmc> all fungot all the time
20:22:38 <fungot> 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 <int-e> quintopia: see, lambdabot is happy ;)
20:42:02 <FireFly> fungot: is every pixel sacred, or just that one pixel?
20:42:02 <fungot> 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 <FireFly> fungot: sounds tricky
20:42:47 <fungot> 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 <kmc> error: failed to find an implementation of trait std::iter::FromIterator<char> for [type error]
21:23:54 <kmc> I want a language where you can define instances for type errors!
21:28:12 <Bike> 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 <ion> https://twitter.com/puffnfresh/status/433348860413353984
21:49:59 <kmc> I saw somebody claim that Satoshi solved the Byzantine Generals' problem...
21:56:07 <kmc> "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 <Bike> "$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 <Guest65497> why is there a startup for a package manager
22:00:44 <kmc> 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 <Guest65497> ok
22:01:01 <kmc> this totally makes sense and is not a nonsense sentence at all
22:14:04 -!- oerjan has joined.
22:21:34 <Taneb> 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 <oerjan> <quintopia> 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 <oerjan> 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 <oerjan> Taneb: well someone did fibonacci already, so it cannot be too hard...
22:26:55 <Taneb> oerjan, the fibonacci was me
22:27:10 -!- nisstyre has joined.
22:27:11 <oerjan> i vaguely thought so, but i couldn't find your post again
22:27:39 <oerjan> you should be eminently qualified for the project, then.
22:28:05 <Taneb> I defer to your experience in proving stupidly constrained systems turing complete
22:28:17 <oerjan> O KAY
22:30:08 <Taneb> I've got some ideas, though
22:33:38 <FreeFull> I want to try http://mirrors.talideon.com/articles/qbal/
22:34:07 <oerjan> `pastelogs taneb.*fibonacci
22:34:09 <HackEgo> ​/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 <oerjan> just for the despair, i did this.
22:34:42 <Taneb> It was... the week before last
22:35:17 <Taneb> Maybe Thursday
22:36:17 <Taneb> Definitely a weekday
22:36:50 <Taneb> "sumOf ignored" should be a good search tearm
22:39:00 <oerjan> well it was not any time between 27-30 january. unless glogbot was down.
22:39:12 <oerjan> *-31
22:39:21 <Taneb> Ah, I was triple-wrong
22:39:26 <Taneb> It was the 2nd of February
22:40:13 <Taneb> http://codu.org/logs/log/_esoteric/2014-02-02#213420Taneb
22:41:58 <FreeFull> Does Control.Lens export curried though?
22:42:09 <FreeFull> > 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 <lambdabot> [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 <oerjan> :t curried
22:42:17 <lambdabot> (Functor f1, Profunctor p) => p (a -> b -> c) (f1 (d -> e -> f)) -> p ((a, b) -> c) (f1 ((d, e) -> f))
22:42:21 <FreeFull> Ah
22:42:29 <FreeFull> I was confusing it with curry
22:42:38 <Taneb> :t curried :: Iso' ((a, b) -> c) (a -> b -> c)
22:42:39 <lambdabot> (Functor f, Profunctor p) => p (a -> b -> c) (f (a -> b -> c)) -> p ((a, b) -> c) (f ((a, b) -> c))
22:42:56 <FreeFull> You could possibly make use of & to reduce the brackets
22:43:49 <Taneb> FreeFull, you're welcome to give it a go
22:44:21 <oerjan> the obvious thing is to extract ordinary functions like (.) const etc. somehow
22:44:36 <Taneb> :t over mapped `asTypeOf` (.)
22:44:37 <lambdabot> (b -> c) -> (a -> b) -> a -> c
22:44:52 <Taneb> :t view simple `asTypeOf` id
22:44:53 <lambdabot> a -> a
22:44:53 <oerjan> is asTypeOf exported by lens
22:45:08 <oerjan> well it's certainly not defined there
22:45:16 <Taneb> We don't need it
22:45:20 <Taneb> :t over mapped
22:45:21 <lambdabot> Functor f => (a -> b) -> f a -> f b
22:45:21 <oerjan> oh right
22:45:32 <Taneb> > over mapped (+1) (*3) 4
22:45:34 <lambdabot> 13
22:45:46 <FreeFull> Taneb: To be honest, I don't want to
22:46:02 <oerjan> :t view (view simple) `asTypeOf` const
22:46:03 <lambdabot> Occurs check: cannot construct the infinite type: a0 = b0 -> a0
22:46:03 <lambdabot> When using functional dependencies to combine
22:46:03 <lambdabot> MonadReader r ((->) r),
22:46:05 <oerjan> oops
22:46:18 <FreeFull> :t mapped
22:46:19 <lambdabot> (Functor f, Settable f1) => (a -> f1 b) -> f a -> f1 (f b)
22:46:24 <FreeFull> Handy
22:46:58 <oerjan> :t view
22:46:58 <lambdabot> MonadReader s m => Getting a s a -> m a
22:47:24 <oerjan> :t view id `asTypeOf` const
22:47:25 <lambdabot> Occurs check: cannot construct the infinite type: a0 = b0 -> a0
22:47:25 <lambdabot> When using functional dependencies to combine
22:47:25 <lambdabot> MonadReader r ((->) r),
22:47:36 <Taneb> view id == id
22:47:37 <Taneb> :t view id
22:47:38 <lambdabot> MonadReader s m => m s
22:47:47 <oerjan> hm ok
22:48:07 <FreeFull> :t over ixed
22:48:08 <lambdabot> Not in scope: `ixed'
22:48:17 <oerjan> oh right it's return which is const, not ask
22:48:27 <Taneb> :t over mapped over ixed
22:48:28 <lambdabot> Not in scope: `ixed'
22:48:30 <Taneb> :t over mapped over ix
22:48:31 <lambdabot> (Indexable (Index t) p, Ixed Mutator t) => Index t -> p (IxValue t) (IxValue t) -> t -> t
22:48:39 <Taneb> Nope
22:48:50 <FreeFull> :t over return
22:48:50 <Taneb> Anyway, I'm off now
22:48:50 <lambdabot> Couldn't match type `p0 a0' with `Mutator'
22:48:50 <lambdabot> Expected type: Setting p0 s0 (Mutator b0) a0 b0
22:48:50 <lambdabot> Actual type: p0 a0 (Mutator b0) -> s0 -> p0 a0 (Mutator b0)
22:49:06 <FreeFull> It's handy how id is the identity lens
22:52:02 -!- ion has quit (Read error: Operation timed out).
22:52:05 <oerjan> :t view (over mapped curried _1)
22:52:06 <lambdabot> (MonadReader ((a1, b) -> c) m, Field1 (a1 -> b -> c) (a1 -> b -> c) a a) => m a
22:52:16 <oerjan> :t view (over mapped curried _1) `asTypeOf` const
22:52:17 <lambdabot> 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 <oerjan> hm nope.
22:52:49 <oerjan> :t view curried _1 `asTypeOf` const
22:52:50 <lambdabot> Could not deduce (Indexable Int (,)) arising from a use of `_1'
22:52:50 <lambdabot> from the context (Functor f, Field1 s t (s -> f t) b)
22:52:50 <lambdabot> bound by the inferred type of
22:52:59 <oerjan> :t review curried _1 `asTypeOf` const
22:53:00 <lambdabot> Occurs check: cannot construct the infinite type:
22:53:00 <lambdabot> b0 = p0 a0 (b1 -> b0)
22:53:00 <lambdabot> When using functional dependencies to combine
22:53:04 <oerjan> bah
22:53:11 <oerjan> not thinking clearly enough.
22:53:20 <oerjan> oh hm
22:53:36 <oerjan> :t view curried (view _1)
22:53:37 <lambdabot> a -> b -> a
22:53:41 <oerjan> there you go
22:54:16 <shachaf> :t curry fst
22:54:17 <lambdabot> c -> b -> c
22:54:25 <FreeFull> Anyone know of any Q-Bal interpreters?
22:57:28 <oerjan> :t set both
22:57:29 <lambdabot> b -> (a, a) -> (b, b)
22:57:58 <oerjan> hm pesky unnecessary argument
22:58:02 <FreeFull> :t set each
22:58:04 <lambdabot> Each Mutator s t a b => b -> s -> t
22:58:40 <FreeFull> oerjan: Technically ('a','a') is fully syntax
22:58:41 <oerjan> > set both 1 undefined
22:58:44 <lambdabot> (1,1)
22:58:55 <FreeFull> undefined isn't
22:59:07 <oerjan> FreeFull: i don't think Taneb wants constructors from outside lens
22:59:21 <oerjan> even if they're sugared
22:59:39 <FreeFull> How about prisms?
22:59:47 <FreeFull> Is there a tuple prism?
23:00:25 <oerjan> prisms are for data types with more than one constructor, mainly...
23:00:54 <shachaf> well, "structural" prisms are
23:01:22 <shachaf> but of course you can have a prism for anything that you can express as a sum
23:01:43 <shachaf> Prism' s a = exists r. s ~ (Either r a)
23:02:17 -!- Speed` has joined.
23:03:06 <FreeFull> Is the Left value useful for anything other than the constructor itself?
23:06:41 <oerjan> :t both
23:06:42 <lambdabot> Applicative f => (a -> f b) -> (a, a) -> f (b, b)
23:06:57 -!- ion has joined.
23:08:50 <oerjan> :t joined
23:08:51 <lambdabot> Not in scope: `joined'
23:08:51 <lambdabot> Perhaps you meant `join' (imported from Control.Monad.Writer)
23:08:58 <oerjan> worth a try :P
23:11:57 <FreeFull> Seems a Q-BAL interpreter doesn't exist ):
23:18:50 -!- Phantom_Hoover has joined.
23:20:18 <oerjan> <quintopia> 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).
←2014-02-10 2014-02-11 2014-02-12→ ↑2014 ↑all