00:01:30 -!- YuGiOhJCJ has joined. 00:01:59 -!- YuGiOhJCJ has quit (Remote host closed the connection). 00:04:05 -!- arseniiv has quit (Ping timeout: 240 seconds). 00:12:27 -!- S_Gautam has joined. 00:41:17 -!- SoniEx2 has quit (Read error: Connection reset by peer). 00:50:11 -!- Sigyn22 has joined. 00:51:58 -!- Sigyn22 has quit (Remote host closed the connection). 00:52:34 -!- SoniEx2 has joined. 01:05:06 -!- moei has quit (Ping timeout: 244 seconds). 01:06:40 -!- MDude has quit (Read error: Connection reset by peer). 01:08:28 -!- Gregor` has quit (Ping timeout: 265 seconds). 01:12:17 -!- MDude has joined. 01:19:39 -!- Gregor has joined. 01:46:23 -!- erkin has quit (Remote host closed the connection). 01:51:05 -!- boily has quit (Quit: MEANDERING CHICKEN). 01:59:36 -!- Zooklubba0 has joined. 02:00:52 -!- Zooklubba0 has quit (Killed (Sigyn (Spam is off topic on freenode.))). 02:04:06 -!- meti24 has joined. 02:04:31 -!- meti24 has quit (Killed (Sigyn (Spam is off topic on freenode.))). 02:05:37 -!- ululate has joined. 02:08:36 -!- tromp has joined. 02:11:54 -!- ululate has quit (Ping timeout: 268 seconds). 02:12:57 -!- tromp has quit (Ping timeout: 240 seconds). 02:20:17 -!- gildarts_ has joined. 02:20:20 -!- gildarts_ has changed nick to Guest62181. 02:26:13 -!- Guest62181 has quit (Ping timeout: 244 seconds). 02:26:18 I can't believe I dismissed Julia language just because I thought it was just for science work 02:33:00 the lambda calculus is an inefficient model for computing w.r.t physical implementations, change my view. 02:37:10 -!- bradcomp has joined. 02:46:59 imode: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.90.2386&rep=rep1&type=pdf 02:48:15 brief summary? a skim shows this as improving beta reduction. 02:48:39 it's a massively parallel lambda evaluator 02:48:59 this technique can run on a gpu and make e.g. pure lambda calculus arithmetic feasible 02:49:09 great. that doesn't change the fact that lambda calculus is an inefficient model for computing w.r.t physical implementations. 02:49:14 doesn't it? 02:49:26 not really, no. imagine you were to design a lambda calculus processor. 02:49:41 it would be like a gpu 02:49:44 LC works over lambda terms, which are term trees. 02:49:44 and it would be fast 02:49:48 it's not a tree 02:50:01 how are LC terms not trees. 02:50:22 because you make them graphs as in the paper i linked to, in order to do very fast parallel reductionm 02:50:47 that doesn't change the fact that term trees are LC's native representation. 02:50:56 the difference is significant because things like e.g. variable capture, de bruijin indices, shifting all go away 02:50:58 yes it does change that fact 02:51:03 what does "native representation" mean? 02:51:28 the native representation of `\x. x+1` is a list of characters that you can parse in to whatever 02:51:38 just because you like parsing it in to a tree doesn't mean it is a tree 02:51:41 it means that you don't use a graph, you use term trees. nested LC terms. 02:51:52 in fact, the trouble with manipulating lambda terms points to the fact that they are not trees 02:51:52 regardless, show me some graph structured memory. 02:52:22 look at the problems that de bruijin indices were made to solve, and the things you have to do wit shifting and unshifting in order to avoid variable capture 02:52:30 when I say "physical implementation" I mean the entire processor needs to do one thing and one thing only: reduce lambda expressions. 02:52:34 with a graph representation, a lambda binder connects directly to the usage sites of the variable 02:52:52 imode: the big picture here is that lambda reduction looks very different from your current mental model 02:52:55 in order to do that, one needs some kind of tree or graph-structured memory for evaluation. 02:53:11 no, you can do it on a cellular automata-like processor 02:53:17 how so? 02:53:20 where rewrites are purely local 02:54:23 the thing that I find attractive about TMs is that their state is almost entirely linear, sans the state tables. 02:54:51 which can be represented as 2D tables. with LC I find that you need tree or graph structured memory, regardless of whether you're doing naive or optimized reductions. 02:55:12 the paper i linked to discusses a formalism called interaction nets 02:55:29 right, which requires, first and foremost, graph structured memory to reduce arbitrary lambda expressions. 02:55:36 it's a graph rewriting model of computation where rewrites are purely local, and so a large graph can be processed in parallel since portions of the graph are owned independently 02:56:03 the graph is encoded as an array 02:56:12 portions of the array are rewritten in parallel, like a pixel shader 02:56:19 the memory is flat 02:56:37 so you've now just reduced it to a random access machine with a particular program. 02:56:43 it's not random access 02:56:47 like i said, rewrites are local 02:56:55 imagine a big array divided in to say, 5 chunks 02:57:01 it's not random access, causality stays inside each chunk 02:57:51 so your process is... convert a lambda expression into an interaction net, reduce said interaction net with this giant parallel local rewriting thing. 02:57:54 information propagates across the graph in a wave like a game of life glider for example 02:58:29 seems like an awful long way to go just for LC. 02:58:52 https://github.com/MaiaVictor/parallel_lambda_computer_tests has a small prototype of this scheme 02:59:06 what language? 02:59:07 not mine, but he's also working on something similar 02:59:11 this one is in javascript 02:59:24 sorry, that one is cuda 02:59:27 there's another in javascript 02:59:29 lol I was gonna say. 02:59:32 funky lookin' JS. 03:00:03 so, what exactly goes into the process of translating LC into interaction nets, per se. 03:00:33 because I guess my point is you're not really reducing LC expressions, you're reducing some compiled form of LC expressions. 03:00:49 whereas I can actually go out and build an LBA. 03:01:10 and build the state tables and so on and so forth. without any compilation steps. if I really had the mindfulness to. 03:01:39 at what point does building an optimizing evaluator turn the thing you're evaluating into an entirely different model of computation. 03:02:23 -!- bradcomp has quit (Ping timeout: 244 seconds). 03:02:49 i guess you can say interaction nets are the real model of computation here 03:03:08 kind of my point. 03:03:16 but if lambda calculus has a thin translation to it, like C does to x86, does it matter? 03:03:44 well yeah, it does, because this is a model of computation we're talking about. x86 is pretty far away from a TM. 03:04:11 C isn't a TM, it's another machine model 03:04:29 if I had built something like Laconic and called it a model of computation, but really it needs to be compiled down to a TM in order to actually carry out the computation, the model of computation isn't Laconic, it's the TM. 03:04:43 the point is you can give a straightforward cost semantics for lambda calculus and realize it on a physical machine 03:04:44 no, I was making a mismatch between x86 and a TM. 03:05:17 well, models of computation are often abstract 03:05:19 right, but that's not.. my point. you're not really evaluating the lambda calculus. you're evaluating instances of interaction nets. 03:05:39 so the claim "LC is an efficient model of computation w.r.t physical implementation" is pretty bogus. 03:05:45 if we're going to use the word model here, it doesn't matter what it really runs on, what matters is whether you're able to give a cost semantics for expressions 03:06:16 I'd argue the opposite, as actually implementing models does help. 03:06:45 it's kind of why I hate the name "lisp machine", too. 03:06:59 like, it's not really a lisp machine. it's a random access machine with a lisp interface. 03:07:17 have you found the JS snippet yet? really curious because that CUDA looked interesting. 03:07:39 https://github.com/MaiaVictor/LPU 03:08:16 -!- bradcomp has joined. 03:08:42 huh. okay. 03:09:09 wish it was a little more well commented but I doubt this is for documentation purposes. 03:09:26 you can check the github issues thread linked for a back and forth discussing it 03:09:32 "Explanation" in the README 03:09:56 oh boy it links to chorasimilarity. 03:10:08 once you get the idea you don't really need the js, and anyway he does it naively so you'd need to change it to realize the parallelism 03:10:54 one thing to keep in mind is that this is using the good version of cellular automata, not the kind that's popular 03:11:22 the usual cellular automata are too hard to build anything with because the rules are like [A B C] -> B 03:11:37 the kind used here is a block cellular automata where rules are like [A B C] -> [A B C] 03:11:47 so what're the rules for reducing interaction nets, and how do LC expressions compile to them? 03:12:05 still looking through this, but picking the concept apart from a github issue is... 03:12:11 not really all that fun. 03:12:42 https://pdfs.semanticscholar.org/e24d/ad59709fef715e512a9caebd781d0b029075.pdf the first few sections of this are good to explain it 03:13:01 i can do it in the chat but it's a bit involved and i can't draw diagrams 03:13:14 lol, I figured. 03:13:31 sigh. why not just a concise explanation. 03:13:35 imagine a node in a graph as a big ball with little pegs on it 03:13:40 right. ports. 03:13:42 you know that "bop it" game? 03:13:47 okay, so there's one special port 03:13:56 when two nodes touch on this port they interact 03:14:13 this keeps all interaction local, meaning you can divide up memory among independent processors 03:14:19 okay, define interact. 03:14:25 you know that node can't be interacting with anyone else at the same time 03:14:31 so, two nodes are touching on their "principal" port 03:14:36 they have other ports, say two others 03:14:42 those ports are also connected to nodes 03:14:46 do these ports represent bound variables. 03:14:49 and unbound ones. 03:14:59 during an "interaction", you can take ownership of all of those ports and rewire them as you please 03:15:21 and you can make new nodes with new connections, as long as the total "interface" of connections remains the same 03:15:30 no, they don't 03:15:52 okay.. can you show me some computations? maybe something as simple as adding two numbers? 03:16:07 one way to do it is to have a node representing a lambda, with a principal port for interaction, another port that connects to each usage of the variable, and another port connecting to the lambda's body 03:16:25 http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.112.2822&rep=rep1&type=pdf 03:16:27 here, this one is easy 03:16:39 that does cons-lists, basic arithmetic etc 03:17:12 I see. so are nodes typed? 03:17:21 ah nvm. 03:17:29 it's like lambda calculus, you can develop typed and untyped formalisms 03:17:31 they "kind of are" by their shape, it looks. 03:17:49 -!- u0_a101 has joined. 03:17:51 okay, I'll take a look at this and get back to you. 03:18:12 seems like an interesting formalism, I'd like to pick your brain about how you'd do it in a flat memory space. 03:20:34 afk for like 10. 03:27:09 -!- oerjan has joined. 03:39:45 -!- Vorpal has quit (Quit: ZNC - http://znc.sourceforge.net). 03:41:44 -!- x49F has joined. 03:42:37 -!- x49F has quit (Remote host closed the connection). 03:44:59 oerjan: so you're saying you checked a paper dictionary, and wiktionary is definitely wrong about a common italian word? <-- technically i knew parlerò was wrong from wikipedia's phonology article (ò is always open), but the scanned paper one in google books had other examples like parlerèbbe (where the accent is _not_ usually written, and means it's open so wiktionary gets that too wrong) 03:46:09 although parlerebbe is a bit fishy, there are more google hits for parlerébbe... 03:46:34 (only a handful of each though.) 03:46:53 (although it might include OCR errors, seeing as there are google books hits.) 03:48:06 this book btw https://books.google.no/books?id=Oox0b3OPJIwC&pg=PA177&lpg=PA177&dq=parler%C3%A9mo&source=bl&ots=RQmfWUInLy&sig=zTvv_OpILl6_vCc5z3DqEEAYo6w&hl=no&sa=X&ved=2ahUKEwjs5Y7Ex-HcAhXR0aYKHcLvA8IQ6AEwBnoECAMQAQ#v=onepage&q=parler%C3%A9mo&f=true 03:48:52 (i searched for parlerémo first, which wiktionary actually gets right) 03:50:09 oerjan: doesn't Italian have some default convention for omitting the stress accent even in dictionaries if it matches a simple default rule? <-- plausible, it would probably be when it's the second last syllable and not e or o. 03:50:49 however, i think that would be a bad idea for wiktionary because then you wouldn't know if the editor has forgotten to add the info or not 03:56:28 back. 03:57:04 -!- tromp has joined. 04:00:25 -!- fractal12 has joined. 04:01:05 -!- tromp has quit (Ping timeout: 240 seconds). 04:01:12 -!- fractal12 has quit (Killed (Unit193 (Spam is not permitted on freenode.))). 04:03:24 xkapastel: okay. starting to see the applications of this. now how exactly would I implement these rewriting rules. would I just have an array of nodes with a set of ports linked to other nodes? 04:05:22 a node has a tag and let's say 3 ports max 04:05:39 for each port, you need to know what node it's connected to, and also what port on that node 04:06:02 if two nodes are connected on their principal ports (let's say port 0), they interact 04:06:16 now, the trick about doing this in parallel 04:06:31 is to make nodes only interact with adjacent nodes in this array 04:06:45 okay.. so that involves some shuffling, I assume. 04:06:50 if you're familiar with like, a convolution, or an IR filter, you can scan down the array in blocks in parallel 04:07:05 so you'd tile up the whole array evenly in to independent chunks 04:07:09 let's say 4 nodes per chunk 04:07:23 if two nodes are adjacent and connected by principal ports, you do the rewrite rule given by their tags 04:07:34 like you saw wit e.g. append and cons 04:07:48 right. but, okay, let's step back and not assume I want parallel evaluation. 04:07:50 if they're not connected, then they need to move around and find the thing they are connected to 04:07:55 okay 04:08:16 well, you can just have a big array of nodes 04:08:17 so I have an array of nodes. each node has a finite number of ports at max. 04:08:32 struct Node { tag int, fstId int, fstPort int, sndId int, sndPort int, auxId int, auxPort int } 04:08:37 for example 04:08:41 let's say I have a rule that if two X tagged nodes are connecd to eachother, they get erased. 04:08:57 so what happens is, you have an array of pairs of node IDs 04:09:09 which represent the nodes you have found that are connected by their principal ports 04:09:14 okay. 04:09:18 you have an API that connects two nodes 04:09:26 like connect(fstId, fstPort, sndId, sndPort) 04:09:33 if fstPort == 0 and sndPort == 0, then they go in that array 04:09:38 since they're gonna interact 04:09:42 gotcha. 04:09:59 at each "tick", you have however many pairs in that array 04:10:13 the size of that array is the "available parallelism" which is an interesting metric that lets you measure cost 04:10:26 anyway you go through the array and do the rule for each pair 04:10:28 right, "here's how many things are going to interact at this step." 04:10:34 and the rule will involve more calls to `connect()` 04:10:41 which will probably put more things in the array 04:10:47 and you see how it keeps going 04:11:34 so, let's say I have the cons/append example. 04:11:46 all I'd have to say is "take these two nodes, they're connected by their principal ports." 04:12:22 append's first port is the principal, second is i guess v, then w 04:12:33 cons have a principal, and x and u 04:12:39 "rewrite it such that append's port 1 (the top port) is now linked to cons's port 2." 04:12:47 so when they connect by principal, you own all of those places in the array 04:12:47 so on and so on for all ports in that rule. 04:12:53 so you can rewrite them 04:13:05 "you", i mean the independent process responsible for rewriting that pair 04:13:26 I'm trying to focus on how you'd just step by step rewrite this. what your lhs and rhs of a given rule looks like in memory. 04:13:58 cons' u port is a member of that node struct 04:14:04 the id it's connect to is append's id 04:14:14 the port it's connected to is the number of append's w port 04:14:22 so, adding and removing nodes. 04:14:44 one sec. 04:14:44 the really simple way is to just have a free list of IDs 04:15:35 and you'd have some kind of node like "drop" or "erase" in that pdf, where part of the rule is returning the id of the node you interact with to the free list 04:17:46 -!- blacksyke4 has joined. 04:19:31 -!- blacksyke4 has quit (Remote host closed the connection). 04:21:38 -!- __idiot__ has joined. 04:21:48 -!- __idiot__ has quit (Killed (Unit193 (Spam is not permitted on freenode.))). 04:22:28 xkapastel: back. so, adding and removing nodes. if I said you could only specify a rule using structure initialization syntax in C, what would you give me for cons/append's rule. 04:23:37 well the rules are mutating integers in an array 04:24:07 it's just a bunch of stuff like `graph.node[fst].ports[2][1] = graph.node[snd].ports[0][2]` or whatever 04:24:11 right. but you need to store your lhs and rhs in some kind of format. 04:24:23 so what would that look like. 04:24:26 imagine 5 assignments like that one stacked on top of each other 04:24:29 in a function 04:24:42 [[Hash function]] N https://esolangs.org/w/index.php?oldid=57297 * A * (+237) I can't explain that... 04:24:46 you could have a 2d matrix where row and columns are node tags 04:24:56 and the element inside the matrix is a function pointer implementing the rewrite rule 04:25:03 [[Hash function]] https://esolangs.org/w/index.php?diff=57298&oldid=57297 * A * (+132) 04:25:06 and the body is a bunch of assignments like the one i just wrote 04:25:17 [[Hash function]] https://esolangs.org/w/index.php?diff=57299&oldid=57298 * A * (-132) 04:25:47 okay, new plan. how would your rewrite rules look textually. 04:26:00 was that description not clear? :S 04:26:38 the matrix lets you map a pair of ints to a function pointer, the body is just assignments that shuffle around the node ports like the one i wrote 04:26:39 no, it really wasn't. your rules are your code that manipulates this graph structure, yeah? so you need a rule format to load into your interpreter, so you can use those rules to rewrite the interaction net. 04:26:50 no you don't need to load any rules 04:26:54 ???? 04:26:57 -!- gareth__25 has joined. 04:27:03 the interpreter is the rules 04:27:08 why would you "load" anything in to it? 04:27:22 ...how else would I write what it means to append something to a list. 04:27:23 does python "load" the python bytecode format, as if it could run anything else? 04:27:41 -!- gareth__25 has quit (Killed (Sigyn (Spam is off topic on freenode.))). 04:27:43 what is the in-memory representation of that append rule? can you give me a straight answer? 04:27:48 i just wrote it 04:27:52 you wrote some C code. 04:27:53 the assignment above 04:28:05 a bunch of those, shuffling the correct ports from the diagram 04:28:54 so the premise that I'm getting from that document I linked is that I can write rules, lhs and rhs, to rewrite portions of an interaction net. you follow? 04:29:01 s/I linked/you linked 04:29:12 hold on, i've written it in go 04:29:15 a while back 04:29:17 can you read that? 04:29:21 no, just follow me here. 04:29:35 I can write rules like that, yeah? they aren't hard-coded. 04:29:44 why wouldn't you hard code them 04:29:52 does python load rules for other languages very often 04:29:56 this isn't python. 04:30:02 okay, whatever language it is 04:30:07 think about what you're trying to do 04:30:15 you want to write some kind of meta-interpreter for ANY set of rules 04:30:16 lmao, so you just hard code the rules you want. 04:30:17 but why?? 04:30:26 uh, because interaction nets are supposed to be general. 04:30:27 you make the rules that correspond to your language 04:30:34 it's like writing a bytecode interpreter for one lang 04:30:41 lmao. 04:30:45 would you ever want to make a "general" bytecode vm framework 04:30:49 okay, have fun with your interaction nets. 04:30:51 i mean you can, but it's harder 04:31:04 see it's not hard to write a rule-based interpreter. 04:31:15 you load some rules, those rules mutate state. 04:31:22 okay, so what's the problem 04:31:37 you hard-code your rules. I'm asking you to show me what it might look like if you didn't. 04:31:58 you could use a dynamic language and just load more code whenever 04:32:03 yeah nvm lmao. 04:32:14 you're doing it the hard way idgi 04:32:31 that's going to lead to a lot of nasty code for parsing some sad little rule format 04:32:32 how is that the hard way when the document you linked pretty much goes over writing rules for rewriting interaction nets. 04:32:45 because you write the rules, in whatever implementation lang you've chosen 04:33:09 okay, imagine the paper wasn't about interaction nets 04:33:12 it could be about term rewriting 04:33:20 ONE of the examples would be this weird thing called "the lambda calculus" 04:33:25 do I hard-code state tables for TMs when writing a TM interpreter? no, because that'd be fucking dumb. 04:33:27 the lambda calculus is one particular term rewriting system 04:33:34 I load state tables from a file so I can simulate any arbitrary TM. 04:33:46 if nobody's done that for interaction nets then I'd ask why. 04:33:50 you can also just write other state tables in your lang and use things like high order functions to swap them out 04:33:54 people have done it 04:34:15 the thing i was describing was not going in that direction at all, is where the confusion came from i guess 04:34:21 -!- bradcomp has quit (Ping timeout: 244 seconds). 04:34:35 right, I see where you were headed, but if I was just going to hard-code rules I might as well go write a lisp interpreter. 04:34:58 I'd like to see what the more general form would look like, where you could specify "here's what appending looks like." 04:35:09 instead of "here's this nice little language that rides on top of interaction nets but really doesn't need to." 04:35:23 https://bitbucket.org/inarch/ia2d 04:35:59 a notation for writing general rewrite rules 04:36:04 > We write the rule for an active pair between nodes alpha and beta as alpha(x_1, ..., x_n) >< beta(y_1, ..., y_m) => [N], 04:36:06 :1:84: error: parse error on input ‘,’ 04:36:22 I see. 04:36:23 you have a file with a bunch of expressions like that and then load it 04:36:45 they do natural numbers and lists later in that readme 04:37:06 see that's what I was kind of looking for. you'd need variable matching and binding to actually do that. 04:37:23 it all compiles down to what i was talking about earlier though 04:37:34 you would have a universal interaction net that runs this stuff 04:37:40 right, but it still uses things like variables to link up arbitrary ports. 04:37:46 no it doesn't 04:38:11 you can have an interaction net as a compilation target for those rule expressions 04:38:13 which is what they do 04:38:34 anyone here familiar with the Jelly golfing language? <-- i've not learned it, but there's a jelly channel on stackexchange chat 04:38:44 oh stackexchange has a chat? 04:38:58 how exactly do you construct append's rule, then. just explicitly refer to certain ports? 04:39:00 and yeah it does. 04:39:04 someone mentioned the "jelly chat" on their github issues but i didn't know where it was 04:39:27 imode: let's say we have a minimal interaction net called the "inteaction combinators" 04:39:40 we're gonna...gasp...hardcode those rules 04:39:44 :V 04:39:48 then read those expressions and compile them to it 04:40:04 eh. 04:40:39 as a fan of turing machines, you know you can have one that simulates any other 04:40:47 yup. 04:40:56 (not a fan of TMs per se.. maybe string rewriting systems.) 04:41:18 mainly due to movement of large regions of symbols. 04:46:29 https://chat.stackexchange.com/rooms/info/32533/jelly although you need some SE rep to get on there 04:47:16 and it's not extremely active 04:48:03 -!- JStoker20 has joined. 04:48:39 snark exchange 04:52:32 yeah i can't even chat 04:52:36 f 04:53:21 -!- JStoker20 has quit (Ping timeout: 240 seconds). 04:58:30 "just answer some questions and you'll have enough rep in no time!" 05:25:00 it may have to be PPCG rep specifically, i'm not sure 05:28:29 opps, i meant "just answer some questions on our low traffic site, where nobody votes, and you'll have enough rep eventually" 05:28:47 tbf, PCG is not really low traffic 05:28:49 but still 05:44:52 -!- tromp has joined. 05:49:21 -!- tromp has quit (Ping timeout: 240 seconds). 06:03:43 -!- sjohnson10 has joined. 06:07:19 -!- sjohnson10 has quit (Remote host closed the connection). 06:18:58 -!- exio425 has joined. 06:19:34 -!- j-bot has joined. 06:19:38 -!- exio425 has quit (Killed (Unit193 (Spam is not permitted on freenode.))). 06:27:11 -!- grit2 has joined. 06:27:27 -!- grit2 has quit (Killed (Sigyn (Spam is off topic on freenode.))). 06:31:00 -!- sprocklem has quit (Quit: brb). 06:31:25 -!- sprocklem has joined. 06:50:44 from the faq i suspect it's not actually just PPCG rep, it's either total SE rep or the highest rep on any SE site. 06:53:52 (also it's just 20) 06:54:29 basically you need two upvotes. 07:01:42 -!- tromp has joined. 07:02:38 -!- imode has quit (Ping timeout: 244 seconds). 07:11:27 -!- qassim0 has joined. 07:11:35 -!- qassim0 has quit (Killed (Sigyn (Spam is off topic on freenode.))). 07:11:56 -!- XorSwap has quit (Ping timeout: 265 seconds). 07:28:20 -!- xkapastel has quit (Quit: Connection closed for inactivity). 07:51:35 [[Surtic]] M https://esolangs.org/w/index.php?diff=57300&oldid=57257 * Galaxtone * (+0) Fixed error in syntax for Truth Machine 07:54:33 -!- WhitePhosphorus6 has joined. 07:54:58 -!- WhitePhosphorus6 has quit (Killed (Sigyn (Spam is off topic on freenode.))). 07:55:00 [[Surtic]] M https://esolangs.org/w/index.php?diff=57301&oldid=57300 * Galaxtone * (-1) Actually fixed syntax, Confused it for a while loop. 07:56:03 [[Truth-machine]] M https://esolangs.org/w/index.php?diff=57302&oldid=57296 * Galaxtone * (-2) /* Surtic */ Updated version with proper syntax. 08:01:26 [[Surtic]] M https://esolangs.org/w/index.php?diff=57303&oldid=57301 * Galaxtone * (+0) /* Truth-machine */ Ok seriously I triple-checked, This is perfect. 08:02:20 [[Truth-machine]] M https://esolangs.org/w/index.php?diff=57304&oldid=57302 * Galaxtone * (+0) /* Surtic */ Triple-Checked, Definitely no syntax errors in this. 08:52:16 [[Surtic]] https://esolangs.org/w/index.php?diff=57305&oldid=57303 * Galaxtone * (+18) Added a limit for sake of limitations. 08:57:18 [[Surtic]] https://esolangs.org/w/index.php?diff=57306&oldid=57305 * Galaxtone * (-18) /* C */ Nevermind on the limitation 09:00:40 -!- interd0me26 has joined. 09:00:50 -!- interd0me26 has quit (Killed (Sigyn (Spam is off topic on freenode.))). 09:14:16 Sgeo_: will we be getting an olist today twh 09:21:49 -!- SopaXorzTaker has joined. 09:23:23 -!- kline7 has joined. 09:24:01 -!- kline7 has quit (Killed (Unit193 (Spam is not permitted on freenode.))). 09:24:42 -!- shreyansh_k10 has joined. 09:24:49 -!- shreyansh_k10 has quit (Killed (Sigyn (Spam is off topic on freenode.))). 09:25:40 -!- Phantom_Hoover has joined. 09:25:41 -!- Phantom_Hoover has quit (Changing host). 09:25:41 -!- Phantom_Hoover has joined. 09:25:53 -!- Phantom_Hoover has quit (Remote host closed the connection). 09:35:31 -!- AnotherTest has joined. 09:36:48 The mercurial ui is so terrible :P (seriously though, why does hg pull -u not do an update when nothing was pulled?) 09:38:14 (This comes up fairly frequently in my usage... I hg pull -u and it refuses to update because some local file is modified ... so I fix that and then I rerun the failing command.) 09:39:32 -!- mundus2018 has joined. 09:39:50 -!- mundus2018 has quit (Killed (Sigyn (Spam is off topic on freenode.))). 09:55:54 -!- oerjan has quit (Quit: Later). 10:16:24 -!- cods22 has joined. 10:17:04 -!- cods22 has quit (Killed (Sigyn (Spam is off topic on freenode.))). 10:28:57 -!- ktechmidas has joined. 10:29:02 -!- ktechmidas has quit (Remote host closed the connection). 10:43:03 -!- krushia has joined. 10:49:26 -!- krushia has quit (Ping timeout: 276 seconds). 11:01:09 -!- dfgg15 has joined. 11:01:19 -!- dfgg15 has quit (Killed (Unit193 (Spam is not permitted on freenode.))). 11:07:18 -!- christophegx has joined. 11:07:26 -!- christophegx has quit (K-Lined). 11:28:25 -!- zz_ka6sox has joined. 11:28:51 -!- zz_ka6sox has quit (K-Lined). 11:29:22 -!- l2y has joined. 11:35:50 -!- l2y has quit (Ping timeout: 256 seconds). 12:04:04 -!- Selfsigned7 has joined. 12:09:33 -!- Selfsigned7 has quit (Ping timeout: 260 seconds). 12:11:47 -!- phryxam has joined. 12:11:50 -!- S_Gautam has quit (Quit: Connection closed for inactivity). 12:12:49 -!- AnotherTest has quit (Ping timeout: 248 seconds). 12:19:44 -!- arseniiv has joined. 12:27:06 -!- trisk14 has joined. 12:27:17 -!- trisk14 has quit (Killed (Sigyn (Spam is off topic on freenode.))). 12:28:21 -!- phryxam has quit (Ping timeout: 240 seconds). 12:33:41 -!- xkapastel has joined. 13:10:00 -!- Asoka19 has joined. 13:10:16 -!- Asoka19 has quit (Killed (Sigyn (Spam is off topic on freenode.))). 13:16:05 `olist 1134 13:16:06 olist 1134: shachaf oerjan Sgeo FireFly boily nortti b_jonas 13:16:41 shachaf, yes 13:26:52 -!- sleepnap has joined. 13:46:50 -!- trqx14 has joined. 13:47:08 -!- trqx14 has quit (Remote host closed the connection). 14:16:06 -!- tromp has quit (Remote host closed the connection). 14:23:20 -!- tromp has joined. 14:27:45 -!- moei has joined. 14:28:15 [[Brainfuck]] https://esolangs.org/w/index.php?diff=57307&oldid=57021 * Wright * (-237) Deleted irrelevant example (also the sentence structure in general was just bugging me) 14:33:05 -!- ecks4 has joined. 14:34:59 -!- ecks4 has quit (Read error: Connection reset by peer). 14:53:26 -!- heroux_ has quit (Read error: Connection reset by peer). 14:53:44 -!- heroux_ has joined. 15:20:10 -!- bradcomp has joined. 15:44:21 -!- AnotherTest has joined. 15:51:17 -!- ilbelkyr15 has joined. 15:51:27 -!- ilbelkyr15 has quit (Killed (Sigyn (Spam is off topic on freenode.))). 15:53:52 https://xkcd.com/2031/ 15:55:39 :D 16:01:17 -!- rodarmor22 has joined. 16:01:17 -!- atslash has quit (Quit: This computer has gone to sleep). 16:01:52 -!- rodarmor22 has quit (Remote host closed the connection). 16:02:50 -!- n0nada17 has joined. 16:03:33 -!- n0nada17 has quit (K-Lined). 16:05:22 heh 16:10:51 -!- Globalirc21 has joined. 16:10:51 -!- Globalirc21 has quit (Killed (Sigyn (Spam is off topic on freenode.))). 16:17:00 -!- Reincarnate25 has joined. 16:17:11 -!- Reincarnate25 has quit (Killed (Unit193 (Spam is not permitted on freenode.))). 16:19:54 -!- erkin has joined. 16:21:25 -!- calcul0n1 has joined. 16:21:41 a lot of lol stuff in the recent ones there 16:21:52 https://xkcd.com/2016/ 16:22:23 -!- calcul0n1 has quit (Remote host closed the connection). 16:24:16 -!- cyberzeus2 has joined. 16:24:59 -!- cyberzeus2 has quit (K-Lined). 16:46:29 -!- imode has joined. 16:46:55 -!- imode has quit (Client Quit). 16:47:09 -!- imode has joined. 16:53:13 -!- myth0d4 has joined. 16:53:46 -!- myth0d4 has quit (Killed (Sigyn (Spam is off topic on freenode.))). 17:06:25 -!- norkle12 has joined. 17:07:35 -!- norkle12 has quit (Killed (Sigyn (Spam is off topic on freenode.))). 17:19:01 -!- tromp has quit (Remote host closed the connection). 17:40:40 -!- MEPB has joined. 17:40:48 -!- MEPB has quit (K-Lined). 17:55:39 -!- tromp has joined. 18:08:25 -!- tromp has quit (Remote host closed the connection). 18:17:44 Is there a such thing as tsumeshogi-FEN? 18:20:00 -!- ais523 has joined. 18:28:51 -!- tromp has joined. 18:36:53 -!- XorSwap has joined. 18:38:05 yes seesm to be SFEN 19:13:19 ais523: can i ask you a few questions about the jelly golfing language? specifically about the chain rules 19:13:49 xkapastel: you can try, but I'm not that comfortable with the chain rules 19:14:04 I normally have to reread the tutorial to try to figure it out, in complex cases 19:14:14 the first chain pattern for monadic chains, `+ × 1 ... (v+ω)×1*` 19:14:29 doesn't this follow from the rules for `+` and `+ 1`? 19:14:32 i don't see why it's needed 19:14:50 if you didn't have it, you would chop off `+`, then chop off `x 1` and it would be the same (v+w)*1 19:15:13 it wouldn't surprise me if some of the rules were redundant 19:15:54 also i'm wondering why dyadic chains don't have a rule for `+ F`, is that just because dennis didn't think it was used or becuase it messes something up? 19:16:24 for dyadic chains i see why that first rule would lead to a different value than applying rules for `+` and `+ 1` 19:16:32 -!- AnotherTest has quit (Ping timeout: 256 seconds). 19:16:48 because you'd match `+ *` first 19:17:20 xkapastel: dyad chains tend to be awkward to use, I think the original intention was to do it APL-style and use patterns with { and } to do complex things 19:17:25 but that uses so many bytes :-( 19:18:45 i do really like this design though, and i appreciate how it's explained so clearly, as opposed to APL/K which seem to pride themselves on being cryptic 19:19:18 in general I find any working with dyad chains in Jelly is painful, and prefer to use monadic chains for basically everything 19:20:25 -!- AnotherTest has joined. 19:27:48 -!- doaks has joined. 19:27:50 -!- doaks has quit (K-Lined). 19:50:48 -!- ffernand22 has joined. 19:50:57 -!- ffernand22 has quit (K-Lined). 20:09:30 -!- SopaXorzTaker has quit (Remote host closed the connection). 20:09:54 [[Arrows]] M https://esolangs.org/w/index.php?diff=57308&oldid=53838 * HereToAnnoy * (-4) Fixed spacing (I think; I really need a monospace font for this) + Ideas cat 20:44:56 [[Brainfuck implementations]] https://esolangs.org/w/index.php?diff=57309&oldid=57058 * Wright * (+625) Added entries 21:05:16 -!- dindon29 has joined. 21:09:56 -!- dindon29 has quit (Ping timeout: 272 seconds). 21:10:34 -!- AnotherTest has quit (Ping timeout: 272 seconds). 21:15:44 -!- tromp has quit (Remote host closed the connection). 21:31:55 -!- OwenBarfield has joined. 21:32:19 -!- OwenBarfield has quit (Killed (Sigyn (Spam is off topic on freenode.))). 21:39:05 -!- aloril has quit (Ping timeout: 240 seconds). 21:44:44 -!- aloril has joined. 21:44:55 -!- S_Gautam has joined. 21:54:54 -!- tromp has joined. 21:58:56 -!- lostnord has joined. 21:59:13 -!- lostnord has quit (Killed (Sigyn (Spam is off topic on freenode.))). 21:59:18 -!- tromp has quit (Ping timeout: 256 seconds). 22:25:58 -!- Guest59621 has joined. 22:26:19 -!- Guest59621 has quit (Remote host closed the connection). 22:32:45 -!- tromp has joined. 22:51:34 -!- Richard_Cavell has joined. 22:51:36 -!- Richard_Cavell has quit (K-Lined). 22:52:45 -!- tromp has quit (Remote host closed the connection). 23:06:52 -!- cronic has joined. 23:08:23 -!- tromp has joined. 23:10:04 -!- boily has joined. 23:11:21 -!- cronic has quit (Ping timeout: 240 seconds). 23:12:07 -!- ais523 has quit (Remote host closed the connection). 23:12:22 -!- ais523 has joined. 23:12:27 -!- tromp has quit (Ping timeout: 240 seconds). 23:39:51 fungot: nostril. 23:39:51 boily: what's good about it, but i don't really have much to do 23:41:35 fungot: nostrils are good, but you can still eat pizza. 23:41:35 boily: and i don't have to. 23:41:43 fungot: but you can. 23:41:43 boily: so there are no answers anywhere, i guess. bummer 23:41:59 * boily is more than frightened about fungot's sentience 23:57:38 -!- imode1 has joined. 23:58:35 -!- imode has quit (Ping timeout: 240 seconds).