00:24:31 -!- iEhird has joined. 00:25:13 blah 00:26:08 -!- iEhird_ has joined. 00:26:08 -!- iEhird has quit (Read error: 104 (Connection reset by peer)). 00:26:11 -!- iEhird_ has quit (Remote closed the connection). 00:36:14 -!- iEhird has joined. 00:36:27 gregorr well damn you 00:36:43 only god has the power to damn 00:36:52 lisp then :p 00:37:03 (Days later.) 00:37:13 iEhird: How 'bout PDP-11 ASM? 00:37:49 um no :p 00:38:01 iEhird: How 'bout brainfuck? 00:38:21 I want a crazy implementation using continuations and rwcursion 00:38:47 Is rwcursion like recursion but you can write to the execution stack? 00:39:29 oh you should add continuations to Plof -- I'd write a continuations-based web framework in it and use it for everything :p 00:39:34 and heh 00:39:58 (actually just provide access to the call stack ) 00:40:20 then a continuation is just a copy of it 00:40:33 The call stack is read-accessible, but not write-accessible. That could be fixed though ... 00:40:56 do so! :p 00:41:12 (plot 3 I'd 2) 00:41:14 wrt 00:41:18 err 00:41:49 That'll take a bit of a mental exercise. 00:42:20 ??? 00:42:38 I don't want to just toss in something to allow that, I want it to be elegant. 00:43:29 ah. make the callstsck a global linked list 00:43:32 a 00:43:54 of MethodContexts or something 00:44:12 That's what it is right now. 00:44:19 But Plof has no classes, so the type is "object" 00:44:31 yeah yeah 00:44:41 The problem is I have these two different means of calling functions. 00:44:46 But I think I need to take that out of PSL. 00:44:51 yes 00:44:51 Because it's lameus maximus. 00:45:00 And instead, return -> a kind of throw. 00:45:22 also plof3 is overengineeredv to the max 00:45:28 just a comment 00:46:03 I think you can only say when something is /over/engineered once it's implemented :P 00:46:39 mmmnope 00:47:46 IMHO, it's a fairly standard VM language with the only exception being the runtime-defined parser. 00:47:57 (That is, what I have documented so far :P ) 00:48:01 exactly. 00:48:03 (Since I haven't gotten to the user language yet) 00:48:17 Runtime parser == gone too far? 00:48:27 yeah IMO 00:48:51 you could do something similar but less overboard 00:49:42 I haven't found a more elegant solution to the fundamental problem I wanted to solve. 00:49:56 What problem 00:50:17 I have a prototype-based system, and I want everything to be an object, and furthermore to be derived from the appropriate prototypes. But I don't want "system" types like integers to be special - that is, I want them to be defined at runtime, in real code. 00:51:15 Generally, either fundamental things are plain old objects or they're not. 00:51:29 define special 00:51:43 you make little semsem 00:51:49 Semsem? 00:52:01 iEhird: Defined by the system and not replicatable by users. 00:52:08 side note hf with the prwttyprinter with that ruhtime patset 00:52:28 (sorry iPhone keyboard) 00:52:57 "hf" == ? 00:53:50 Yeah, you can't really define things like words in terms of other things. 00:54:04 have fun be 00:54:08 Unless the system automatically decides that certain things could be words. 00:54:12 gr 00:54:19 yes ihope 00:54:27 you need core stuff 00:54:49 provide a crazy minimal core and a stdlub in plof 00:54:56 like forth does 00:55:29 That doesn't solve the fundamental problem. 00:55:44 there is none 00:55:47 The code has a '3', I want that to evaluate to something derived from the Number prototype. 00:56:24 it can 00:56:32 So if the code has a '3', it's passed to some function that interprets that somehow? 00:56:46 ihope: Yeah - the parser. 00:56:48 make your parade do it greg 00:56:55 parseer 00:57:03 So it's a matrioshka thingy? 00:57:17 ruby python smalltalk ... do this fine 00:57:31 theres no problem 00:57:37 GregorR: and what does the parser do with the 3? 00:58:42 iEhird: It's not a problem in that it doesn't cause the language to be non-TC or what not, so yes it works for all sorts of languages, but I consider it a problem because I don't want the language to have any types with a level of "nativeness" that a user could never recreate with their own objects. 00:59:13 ihope: Presumably, it parses it into the value, asks the system to turn that into the underlying data type, then wraps it up into a Number object and returns it. 00:59:15 There are things that have a level of "nativeness" that a user could never recreate with their own objects. 00:59:48 yes 00:59:51 Like the word 0x43. How do you define that? 01:00:06 for the rest you can already so that greg 01:00:09 The byte 0x43, I mean, I guess. 01:00:20 just make a new Number class 01:00:26 iEhird: No classes. 01:00:30 the parseer calls it. voillam 01:00:44 srfu greg. you know I mean 01:00:55 Actually, I'm quite confused by what both of you mean. 01:01:41 Suppose you want to define a type that contains a 32-bit word. 01:01:50 OK. 01:02:20 What might that look like? 01:02:46 That depends. If you just want: new ThirtyTwoBitWord(1024); // then that would obviously be quite simple. 01:02:52 greg class=object 01:03:02 wewt 01:03:10 greg no that's using an alerteadt word class 01:04:23 Well, I guess an entire parser thingy is unnecessary: 1024 could be a shorthand for SomeFunction(object containing 1024 somehow). 01:04:47 Roughly like in Haskell: 1024 means fromInteger (the number 1024 as an Integer). 01:04:51 Yes, but then SomeFunction is deemed unique and special by the language. 01:05:29 Then have a declaration like "numparser SomeFunction" that declares SomeFunction to be the number parser. 01:05:35 the patset function willtoo be unique and wspecisl 01:06:30 Except it's deemed unique and special by something which can be modified. 01:06:40 -!- immibis has joined. 01:06:46 Therefore, you can make something ELSE unique and special (which makes it not unique or special) 01:06:54 you must have a root somewhere 01:06:54 Huh? 01:07:01 If the language only supports decimal, you can just add support for hex. 01:07:07 Okau. 01:07:14 And not as: HexNumber("0x123"), but just 0x123 01:07:39 So it is a matrioshka thing. 01:08:08 greg. overengineering. 01:08:15 ugh crab 01:08:29 stupid colloquy 01:08:49 You declare it overengineering, while simultaneously not denying its value. Why is it not useful to be able to add that sort of thing to the language? 01:09:31 HexNumber("123") every time you want 0x123 is bad? 01:09:53 It's inelegant, it makes hex numbers second-class citizens. 01:10:17 So say that every word that starts with a number is parsed by some special thing? 01:10:51 That's merely one example, it's not like it could only be useful for numbers. 01:11:16 You could add operations, and not in the Smalltalk-style "anything is an identifier but there's no precedence" style. 01:11:31 Erm, remove one of those instances of the word "style" :P 01:11:46 And s/operations/operators/ X_X 01:11:55 Hmm... 01:12:38 Say that every word that doesn't start with a letter and consist entirely of alphanumerics except for a few special ones is parsed by some special thing, I guess? 01:13:17 Do you honestly believe that having those limitations in a runtime pseudoparser is simpler than having a runtime parser? 01:13:45 You would now need to have a parser, PLUS this pseudoparser and make them mesh. 01:14:30 cannot read Coll problem 01:14:35 Well, I guess you're saying that matrioshka stuff is more elegant than HexNumber("123") and MkArray(1,2,3) and such. 01:14:54 ihope: definition("matrioshka") 01:16:25 Oh, multiple layers? 01:16:30 Yeah. 01:16:33 (So sez wikipedia :P ) 01:17:16 Define the syntax here, and then use it there. 01:17:39 The only difference is where "here" is. 01:17:57 I'd rather define a function HexNumber than extend an existing parser to make 0x123 work. 01:18:03 I think. 01:18:59 -!- immibis has left (?). 01:19:36 Maybe you could remove the parentheses and instead of HexNumber("123") you could call your function 0x and have it be 0x"123". 01:19:49 Approximation of code to convert one to the other: pbnf { number = /0x[0-9A-Fa-f]+/ => { return { HexNumber(args[0]); } } 01:20:10 Oops, got my semicolon in the wrong place, but that's the idea ;P 01:20:24 I guess so. 01:21:51 HexNumber(/0x[0-9A-Fa-f]/) 01:21:54 Redivider syntax >:-) 01:22:44 And then, Gregor disappeared. 01:35:15 -!- Jontte has quit ("Konversation terminated!"). 01:55:03 -!- pikhq_ has quit (Read error: 104 (Connection reset by peer)). 01:57:35 -!- pikhq has joined. 02:37:52 -!- iEhird_ has joined. 02:41:57 -!- immibis has joined. 02:56:12 -!- iEhird has quit (Read error: 110 (Connection timed out)). 03:39:08 -!- ihope has quit ("Lost terminal"). 04:43:46 -!- immibis has quit (Read error: 110 (Connection timed out)). 05:24:33 -!- faxathisia has joined. 05:42:00 -!- oo has joined. 06:18:39 -!- faxathisia has quit ("Leaving"). 06:57:31 -!- oo has left (?). 07:00:41 the parser language is brilliant, and there is no "overengineering" 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:22:22 -!- faxathisia has joined. 08:31:55 Does anyone know about Gries? invertible do-loop? 08:32:10 I think it's mentioned in The Science of Programming by David Gries 08:46:44 -!- oerjan has joined. 09:15:19 -!- Jontte has joined. 09:24:02 -!- RedDak has joined. 09:30:26 -!- Dagide has joined. 09:33:07 hi faxathisia, oerjan, Jontte, RedDak and Dagide 09:33:15 hello 09:33:26 What is going on 09:33:44 faxathisia: i don't know about that, but i know a bit about reversible programming in general 09:34:08 oh cool :D 09:34:14 I wrote about 99% of a Janus system 09:34:22 but I got stuck on the loops so I couldn't finish it 09:34:22 mostly that it can be tc, although makes some problems always take a bit longer. 09:34:48 it's a long time since i read about it, and i was a time complexity noob back then 09:35:02 so just remember it's slower 09:35:03 hmm 09:35:04 morn morn 09:35:10 I really need someone to help ! 09:35:22 I basically found a bunch of contradictions in the paper 09:35:23 what exactly are you doing? 09:36:03 Interpreter, Program Inverter, Simplifier, Encoder .. 09:36:03 there's a few things like that which once done should let the self interpreter run 09:36:19 But the semantics of the loop doesn't match with the textual description 09:40:08 which sucks! 09:44:37 My ridiculously complicated calculator can now multiply! 09:44:37 http://membres.lycos.fr/bewulf/Russell/Calc6.txt 09:44:47 haha that's sick 09:45:59 -!- RedDak has quit (Read error: 110 (Connection timed out)). 09:46:02 The ugly business will now be to make one for both multiplication and addition! 09:58:14 oklopol: Which reversible languages do you think are ok ? 09:59:08 heh, there was one where the reversibility was explicit, you could run fibonacci backwards etc :D 09:59:38 i don't remember the name though 10:00:25 -!- Dagide has quit (Read error: 104 (Connection reset by peer)). 10:01:04 we've got Kayak on the wiki 10:03:42 Yeah I can run fibonacci backwards 10:03:47 because it uses recursion not loops 10:03:52 as well as Category:reversible computing 10:04:28 Janus is the one I was dealing with 10:04:37 But I'm sure others are capable of the same 10:04:52 kayak is a palindrome!! 10:04:57 i totally get the reference xDD 10:05:00 ... 10:05:09 (sorry, random burst.) 10:05:11 as is revaver 10:05:21 redivider too 10:05:38 i can't do palindromes in english :< 10:05:38 random burst is good! 10:05:52 palindrome(X) :- reverse(X,X). % : 10:05:56 :D 10:06:26 well, i can do palindromes in any language that's fully robust 10:06:51 trying to mean "every string being a legal program" 10:06:59 which of course is not the meaning of robust. 10:07:01 Heh. 10:07:09 I got one hing to say about it, GLYCYLGLYCYLGLYCYLGLYCINE! 10:07:19 can you do a palindromic quine? :) 10:07:35 Well, I can do the empty program. 10:07:38 1 -- is a quine in some languages 10:08:59 my game enema gym :) 10:09:05 damn 10:09:07 i failed. 10:09:29 trust oklopol to mention enemas :) 10:10:09 my game: neon, no enema gym 10:10:39 okay, i guess i can somewhat make palindromes in english too, but i'm a bit slow 10:13:22 What's the biggest ring of interpreters in esoteric languages? 10:13:44 like brainfuck/K/unlambda/brainfuck sort of thing 10:18:27 i am not sure there are that many rings. i have this impression that mostly a simple language is implemented in a more powerful one, or itself. 10:19:02 otoh we do have a table... 10:19:26 Ring? 10:19:38 cycle then 10:21:17 http://esoteric.voxelperfect.net/wiki/EsoInterpreters 10:21:49 we should make a gigantic 2d grid with the whole list of languages on the wiki running on each side, and then put an interpreter written in language on the left for the language on the top in every cell, if one exists! 10:22:04 yes :D 10:22:05 ... 10:22:06 whut 10:22:15 cool oerjan 10:22:20 that was quite a weird coincidence 10:23:06 not really, this cycle thing is exactly what such a table is useful for 10:23:14 now I'm wonder.. how to find the biggest ring given a table 10:23:27 I need an APL command list 10:24:04 first we can remove every language which isn't in _both_ row and column 10:24:18 i want a connection between brainfuck and unlambda... 10:24:27 especially an unlambda interpreter in brainfuck 10:24:39 that sounds tricky to write... 10:24:41 :D 10:25:32 http://esolangs.org/wiki/Befreak 10:25:36 leaving: befunge, brainfuck, kipple, minus, subleq, um-32, underload, unlambda 10:25:39 seems like there is a befreak in K .. 10:25:44 but it's not in the table? 10:26:22 always omissions :) 10:26:40 K isn't really meant to be an esolang 10:27:01 although it's more eso than many on the wiki :;) 10:27:18 oh... 10:27:26 It's K as in the APL-like language 10:27:35 I thought it was Lazy-K or something 10:27:44 WHat is an esolang? 10:27:49 minus, subleq, um-32 and overload are only related to themselves 10:28:13 er wait there is also brainfuck in underload 10:28:43 er, the other way 10:29:13 faxathisia: the fine line between weird languages and esolangs is whether the creator 1) knew about esolangs 2) wanted an esolang status 10:29:25 making esolangs doesn't really bring much profit :P 10:29:28 in any way, my conclusion is there are _no_ length > 1 cycles in that table 10:29:34 :( 10:30:05 no loops :O 10:30:10 whutz 10:30:16 we must avert this crisis 10:30:51 it's a long time since i actually programmed in an esolang 10:31:05 perhaps i should make an interpreter 10:31:05 * faxathisia wonders which lang to write an interpreter for in which 10:31:12 oklopol! yeah! 10:31:13 -!- iEhird_ has quit (Remote closed the connection). 10:31:14 dice!' 10:31:17 throw them! 10:31:21 why not unlambda interpreter in brainfuck 10:31:27 for you :p 10:31:31 hehe :P 10:31:37 perhaps, shouldn't be too hard 10:31:51 maybe I should try brainfuck in unlambda? 10:31:52 or something else 10:32:00 or, perhaps i'll use bitchanger 10:32:09 i think bitchanger is much sexier 10:32:24 (bitxtreme!) 10:33:55 Fuck. That calculator thingy is impossible for large amounts. 10:34:17 it's interesting that it's a lot easier to write song lyrics in english than in finnish, but simultaneously i cannot come up with any good long palindromes 10:34:59 perhaps i detect suckyness easier in finnish lyrics than in english ones 10:35:28 otoh the easiest way to get a 2-cycle may be to implement in brainfuck one of the many things that already implement brainfuck 10:38:25 or perhaps underload the other way. 10:39:27 oh wait, underload has no input 10:39:41 so brainfuck in underload 10:39:44 oh 10:39:50 There's gotta be a really neat way in APL/J to find the longest cycle in a graph... 10:39:55 given the connecitivity matrix 10:40:38 i had an (somewhat) interesting idea for specifying graphs 10:40:45 yes? :D 10:40:55 you have a haskell type system -like way to specify trees 10:40:57 this _is_ NP-complete, the hamiltonian cycle problem 10:41:02 ack ok thanks 10:41:09 I didn't realize it was the same thing 10:41:09 but, you can add an additional id tag to every node 10:41:59 although you can find the maximal fully connected components more easily... 10:42:05 hmm I don't think its' hamiltonian cycle problem.. 10:42:18 I only want the biggest cycle, It needn't traverse the entire graph 10:42:27 so you could, for example, make a 2d grid by taking a node in the grid, and making it a tree with 4 children == the ones that go from that point to the edges 10:42:35 eh 10:42:37 but to know if it _is_ biggest, you need to solve the HCP 10:42:39 not children, branches. 10:43:04 for this http://img265.imageshack.us/img265/8628/picture3sn0.png http://rafb.net/p/lAvWd238.txt 10:43:07 each branch would then extend itself to 2 branches every step, those branches again reaching for the top 10:43:23 now carrying position around would effectively create a 2d grid. 10:43:27 did that make any sense? 10:43:35 oklopol, Is that the same thing in my paste? 10:43:39 or a different hing.. 10:44:09 hmm, not sure :D 10:44:33 a 2d grid, basically an array[x][y], where every node in there has a connection to it's 4 neighbors 10:44:52 and the edges the 3 neighbors etcx 10:44:54 *-x 10:45:38 basically, you make a whole tree, but use id tags to specify where the branches should meet and form more complex connections than tree-like 10:46:09 i should make the syntax ready... this is hard to explain 10:53:09 every attempt to formalize this makes it overly verbose :D 10:59:12 http://www.vjn.fi/pb/p332633336.txt 10:59:15 graph lambdas! 11:07:45 http://www.vjn.fi/pb/p146432433.txt <<< dynamic scoping detected!! 11:08:04 i actually didn't realize what i was doing with the tags is essentially dynamic scoping 11:08:15 until i actually managed to write something with them 11:08:51 anyhow, lambdas + recursion equations with id tags for graphs, what do you think? 11:09:17 this is the one and only place where i should be able to get opinions on this, so don't be shy 11:09:51 also, does my notation make any sense, i think it does, but i'm wrong 92% of the time 11:10:22 Is p146432433.txt a function of one parameter? 11:10:26 basically Int -> Graph 11:11:08 yes 11:11:18 cool I think your notation makes sense then 11:11:27 nice, how about the lambda one? :) 11:11:34 nameless graph structure 11:12:02 http://www.vjn.fi/pb/p113552143.txt 11:13:33 Why not write it this way instead: http://www.vjn.fi/pb/p231424322.txt ? 11:13:49 basically, it says "the node tagged (x y) is two-way connected to nodes ((x+1) y) and (x (y+1)) for every x in 0..maxx-1 and y in 0..maxy-1" 11:14:42 well, i want it to be a first-class citizen 11:14:47 that can be passed around 11:14:56 so that you can make graphs on the fly 8DD 11:15:27 my grand idea is to make a graph rewriting language, something that united tree rewriting and cellular automata 11:15:32 *unites 11:17:04 the thing that troubles me a bit about the lambda notation, is that those things don't really overlap in usability 11:17:48 meaning that you can specify some graphs using the lambda notation trivially, while it's simultaneously almost impossible to do in the tree+tag notation 11:18:05 on the other hand, i think the tree notation is tc, while the lambda one is not. 11:19:00 so, the other one is more usable than the other, while the other is more powerful in theory... i kinda feel that a lambda for creating graphs should just be a shorthand for the actual graph declaration mechanism, not a completely separate way to define them 11:19:35 that is prolly because it's like that for functions + lambdas, and i for some reason need a sort of an isomorphism between my graph things and funxxxions 11:20:32 i should use a smaller font, it's depressing to fill a few screens with messages without response :D 11:21:03 *or*, i could just shut up 11:21:06 No need to have it turing complete! 11:21:14 is there? 11:21:22 is there what 11:21:28 any need to have it tc 11:21:51 I mean 'capable of expressing a wide range of structures/computations' vs 'tc' 11:21:53 well, i would like it being able to specify *any* graph structure. 11:22:09 hm... 11:22:16 but, it's not necessary, no 11:22:44 What (finite) graph would you need turing completness to express 11:22:57 well, trivially none 11:23:05 unless you wanna parametrize 11:23:35 you could, in theory, want a graph that somehow flunctuates with the digits of pi or something 11:23:36 i dunno! :D 11:24:08 hohoho, lazy infinite graphs! 11:24:09 xD 11:24:18 hehe :D 11:24:47 actually, that's not even that far-fetched, given that you prolly want that for cellular automata anyway... 11:24:49 * faxathisia writes some shamefully crap code to find the longest cycle in a graph... 11:25:06 i'm *sure* there is some magic one liner in an array programming language 11:25:29 i'm pretty sure there's a primitive function for that in my graph language! 11:25:33 just you wait! 11:25:37 * faxathisia waits... 11:25:52 actually, there may be problems once i start thinking about stuff like that 11:26:34 i tend to be very idealistic, every function will basically have to be some sort of a rewriting rule 11:27:00 so stuff that actually computes something about the structure of a graph is hard to express 11:27:33 or not... not sure, i've mostly considered the awesomeness, not so much the usability! 11:28:10 faxathisia: you can stop waiting now, unless you have a *lot* of time 11:28:13 hehe 11:28:22 well this code is crap http://paste.lisp.org/display/52132 11:28:29 but I don't know how to do it better 11:28:41 so I can plug the eso interpreter matrix into it later on 11:28:48 (once more interpreters are written :p) 11:32:15 coool, lisp 11:32:56 hmm, what does the graph signify exactly? 11:33:35 (a d e) means there's a... connection from a to d and d to e? 11:34:04 there is an arc from a->d and a->e 11:34:36 I guess I could have written it (a . (d e)) 11:36:10 http://www.vjn.fi/pb/p231253223.txt <<< i think i have the 2d grid now 11:36:18 it's a bit verbose, but i think it's correct 11:36:35 changed =, the tagging thingie, to :: 11:37:16 since = is nice when you just want identity, and not a tagging or a connection 11:38:05 (although connecting [2dGraph x y :: (x y)} to {2dGraph x y mx my :: (xy)} wouldn't make an actual connection anyway, since the tags are the same...) 11:38:35 ah 11:38:39 of course it means that 11:44:40 heh, once again i stare for 5 minutes at a code before i realize i will never get it since i don't know what mapcar is :D 11:45:01 i suck at reading other people's code 11:45:10 (mapcar #'square '(5 6 8)) -> (25 36 8*8???) 11:46:30 :=) 11:46:30 does that explain it? :p 11:46:46 * faxathisia should avoid such large numbers as 8 when giving examples... 11:46:53 oerjan: as the official mathematician, can you help faxathisia calculate 8*8 :P 11:47:14 that's a tricky one, gotta admit. 11:47:27 You expect a mathematician to know 8*8?? :P 11:48:15 well, i expect the official mathematician to know it 11:48:21 ! 11:48:26 lol 11:49:26 well, actually i'd assume any programmer to have the powers of two as a reflex 11:49:41 anyhow, mapcar is... map? 11:49:57 i guess mapcar is more descriptive 11:50:02 or not 11:50:04 dunno 11:50:42 too many functions i don't know used in there, does not parse. 11:51:17 faxathisia: did the new 2dGraph i made with explicit tree structurizing make sense? 11:51:23 you can click on the function names oklopol 11:51:28 it will give you a full desription of them 11:51:34 but... my code is basically utter crap 11:51:36 8*8 = 8*(7+1) = 8*7+8*1 = 8*(6+1)+8*1 = ... 11:51:40 so I don't think there's much point understanding it 11:51:55 ah oerjan, reduced it to the harder problem of 8*7 + 8 :) 11:52:07 you generate everything possible and check 'em? 11:52:40 you've got problems recursing? 11:52:48 i'd say 8->1000_2, 1000*1000 = 1000000_2 11:53:37 if you want only top-of-tree rewriting then you can rewrite in continuation-passing style, i believe 11:53:38 oerjan: i think the human brain can only handle tail recursion 11:54:55 oerjan: opinions on my graph thingie! :D 11:55:13 and don't give me that crap about you not being qualified for that 11:55:22 ! 11:56:12 fine, i'll give you crap about not being in the mood instead... 11:56:33 and being on my way out the door, besides 11:56:51 oh 11:57:04 back when my brain is refilled :) 11:57:15 recharged, whatever 11:57:18 well, bye then, and remind me to fix my crap filter, it seems to have holes! 11:57:41 -!- oerjan has quit ("Lunch"). 12:11:48 -!- jix has joined. 12:47:57 -!- Sabskm has joined. 13:03:22 -!- Slereah has quit (Read error: 110 (Connection timed out)). 13:21:06 http://www.vjn.fi/pb/p666413311.txt hypercubz 13:22:01 oh, there's an error 13:22:11 not that it matters since i didn't explain the syntax :D 13:28:50 -!- faxathisia has quit ("Leaving"). 13:29:57 -!- faxathisia has joined. 13:37:40 * faxathisia cannot decide which box to fill in from http://esoteric.voxelperfect.net/wiki/EsoInterpreters 13:37:41 :[ 13:41:59 there is befunge in zetaplex, brainfuck in befunge, and BCT, Underload, UTM in brainfuck 13:43:48 zetaplex in underload 13:49:12 :O 13:49:19 zetaplex looks awesome 13:49:24 i haven't seen it 13:49:29 yeah it does 13:50:13 oh, it's a 2d language, should've guessed that's the only way to get that cool-looking code :P 13:50:26 mm it looks awfly hard to write an interpreter for zetaplex though 13:51:08 (in an esolang) 13:51:45 http://www.vjn.fi/pb/p133626425.txt this should be game of life, but i should really add some syntax that makes a difference between a graph and a transition... 13:52:48 i'm currently marking state changes with a !! 13:53:01 I don't understand that 13:53:08 which part? 13:53:13 the code you pasted 13:53:19 the grid thing in the beginning should be easy 13:53:27 i'll explain 13:53:47 Grid = Grid 0 0 -- a grid is a grid starting at 0 0 13:54:26 Grid x y = 0 <-> ... -- a grid node at x y has value 0 (= 0) and is connected to adjacent cells (<-> Grid .., Grid .., etc) 13:54:33 was that of any help? 13:55:20 the transition part will definitely change anyway, so no use explaining that 13:55:35 that's the bit I didn't understand :p 13:55:51 do you now? 13:56:19 !! g![x y] = 1 means, take the thing in g tagged with [x y], and make it's value 1 13:56:31 hmm 13:56:48 What about !! {t\g}*10 13:56:53 heh 13:57:03 x\y means for all y do x 13:57:13 t\g means do transition t to g 13:57:25 !! means there is a state transformation 13:57:45 f*10 means, do f 10 times, with params 0..10 13:57:58 that's helpful when doing multiple branches. 13:58:50 also, the syntax is somewhat weird in that it's infix when you don't separate with whitespace, but prefix when you do separate... so (+ 5 2) = 5+2 xD 13:59:17 that's nice since a pattern like [x+1 y-3] is often needed 13:59:46 [(+ x 1) (- y 3)] is verbose, but i find infix ugly in large portions 13:59:47 cool 14:00:06 so... decided to do something really weird there 14:00:29 i like playing around with the details as well as the big picture when making a language 14:01:02 me no like teh transition thingie... 14:02:43 hey, i could have lowercase for variables, uppercase for node/graph names, zumbercase for transitions, and nimbiecase for normal functions. 14:02:54 oh, right, there's not zumber and nimbie. 14:03:09 such a rookie mistake 14:03:26 I've never heard of zumbercase or nimbiecase 14:03:39 naturally, i'd like everything to be a graph :D 14:04:42 perhaps i could do something like having a function be a graph with a certain structure, like something with tag #funx for the root, and then two branches, #from and #to, and then add support for kinda first-class citizen variable names 14:04:44 or something. 14:05:15 it'd be notoriously complicated and weird, but i'd feel pure again 14:05:21 :) 14:05:42 faxathisia: there's no zumber and nimbie, i was just amusing myself. 14:06:27 lol now i'm actually considering that :D 14:06:47 wonder if i should still make it possible to program functionally without knowing the underlying sick structure 14:07:54 need to sleep for half an hour or so -> 14:08:22 to get the mental juices flowing 14:26:58 -!- jix has quit (Read error: 113 (No route to host)). 14:28:00 -!- jix has joined. 14:32:53 -!- jix has quit ("CommandQ"). 14:47:52 -!- wooby has joined. 14:48:12 hello 14:48:35 Hi. 14:49:12 how are things 14:49:40 Fine, fine. 14:50:16 im reading up on bf hardware here, people have done some interesting things with the PIC 15:02:32 -!- wooby has quit. 15:23:08 -!- puzzlet_ has quit (Remote closed the connection). 15:23:10 -!- Sabskm has changed nick to Slereah. 15:23:12 -!- puzzlet has joined. 15:30:11 -!- Tritonio_ has joined. 15:54:09 -!- faxathisia has quit ("Leaving"). 15:56:55 -!- pikhq_ has joined. 15:57:00 -!- pikhq has quit (Read error: 110 (Connection timed out)). 16:06:52 -!- Tritonio_ has quit (Read error: 110 (Connection timed out)). 16:06:59 -!- Tritonio__ has joined. 16:07:36 -!- Tritonio__ has changed nick to Tritonio_. 16:10:06 -!- oerjan has joined. 16:12:26 -!- jix has joined. 16:16:21 -!- pikhq_ has changed nick to pikhq. 16:17:51 -!- MonkeyofDoom has joined. 16:18:11 helloes 16:18:31 Hies. 16:18:35 'afternoon 16:19:46 has anyone here ever gotten INTERCAL to work on a windows pc? 16:23:06 I've been trying for days but all that's come of it is a bunch of NO SKELETON IN MY CLOSET, WOE IS ME! messages and a bunch of "use linux or suicide" sentiments 16:23:23 Install Cygwin? 16:23:39 if ais523 were here, i'm sure he could help 16:24:00 he's the C-INTERCAL maintainer 16:24:10 Oh? 16:24:25 or so he claimed in an email i got the other day :) 16:25:28 hm 16:25:58 I'm pretty sure I have cygwin installed 16:26:01 * MonkeyofDoom keyofDoom checks* 16:27:16 I have mingw at least 16:28:13 "Builds and runs nicely under any ANSI/POSIX platform" 16:30:21 -!- jix has quit (Read error: 110 (Connection timed out)). 16:32:19 it's not building or running nicely on windows though 16:32:36 I'm trying the 0.15 port to dos right now 16:32:40 Which isn't a POSIX platform. 16:35:58 -!- Tritonio__ has joined. 16:36:39 -!- Tritonio_ has quit (Read error: 110 (Connection timed out)). 16:41:06 yeah 16:41:29 hence my current attempt with the DOS port 16:41:40 which still isn't working 16:44:54 i haven't tried any of them but my impression from how they were used in haskell was that MinGW was to create "ordinary" windows programs but CygWin is closer to a Posix environment 16:45:07 I see 16:45:41 my current problem is that I've got the thing "installed" according to instructions 16:46:02 but I still get errors that indicate lack of proper installation in all the other cases I've found 16:48:37 "Cygwin aims to provide a complete POSIX layer (similar to that found in a Linux or other Unix systems) on top of Windows, sacrificing performance where necessary for compatibility, while MinGW aims to provide only a free compiler and toolchain, prioritizing performance." 16:50:33 (from wikipedia:mingw) 16:54:53 I suppose I can try using cygwin 16:55:04 hopefully magic things work 16:56:57 -!- pikhq has quit (Remote closed the connection). 16:57:02 -!- pikhq has joined. 17:10:31 -!- Slereah_ has joined. 17:22:04 -!- Slereah has quit (Read error: 110 (Connection timed out)). 17:38:06 -!- MonkeyofDoom has quit (" magic *nix takes time and soul donation"). 18:02:36 -!- jix has joined. 18:50:29 -!- Slereah_ has changed nick to Slereah. 19:01:04 -!- digital_me has joined. 19:02:34 -!- AnMaster has quit (Client Quit). 19:03:49 -!- digital_me has quit (Client Quit). 19:29:55 -!- puzzlet_ has joined. 19:30:41 -!- puzzlet has quit (Remote closed the connection). 19:53:15 -!- bsmntbombdood has quit (Connection timed out). 19:53:26 -!- bsmntbombdood_ has joined. 19:54:28 -!- bsmntbombdood_ has changed nick to bsmntbombdood. 20:15:33 -!- puzzlet_ has quit (Remote closed the connection). 20:15:40 -!- puzzlet has joined. 20:34:36 -!- puzzlet_ has joined. 20:34:46 -!- puzzlet has quit (Remote closed the connection). 20:42:00 -!- puzzlet has joined. 20:47:00 -!- Tritonio__ has quit ("Bye..."). 20:51:59 -!- puzzlet has quit (Remote closed the connection). 20:52:03 -!- puzzlet has joined. 20:52:16 -!- puzzlet_ has quit (Read error: 110 (Connection timed out)). 21:02:38 -!- puzzlet_ has joined. 21:06:03 bah, christmas 21:07:58 -!- puzzlet_ has quit (Remote closed the connection). 21:08:09 -!- puzzlet_ has joined. 21:12:48 -!- puzzlet has quit (Read error: 110 (Connection timed out)). 21:14:47 -!- puzzlet_ has quit (Remote closed the connection). 21:14:51 -!- puzzlet has joined. 21:29:13 -!- RedDak has joined. 21:31:57 -!- puzzlet has quit (Remote closed the connection). 21:32:01 -!- puzzlet has joined. 21:39:20 -!- puzzlet has quit (Remote closed the connection). 21:44:23 -!- puzzlet has joined. 21:53:19 -!- puzzlet has quit (Remote closed the connection). 21:53:23 -!- puzzlet has joined. 22:04:46 -!- puzzlet has quit (Remote closed the connection). 22:04:46 -!- puzzlet_ has joined. 22:13:59 -!- puzzlet_ has quit (Remote closed the connection). 22:14:00 -!- puzzlet has joined. 22:21:00 -!- puzzlet has quit (Remote closed the connection). 22:21:01 -!- puzzlet_ has joined. 22:31:14 -!- oklopol has quit (Read error: 110 (Connection timed out)). 22:32:39 -!- puzzlet has joined. 22:38:43 -!- oklopol has joined. 22:42:53 -!- puzzlet_ has quit (Read error: 110 (Connection timed out)). 22:48:52 -!- RedDak has quit (Remote closed the connection). 22:58:02 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)). 22:58:15 -!- puzzlet has joined. 23:08:25 -!- puzzlet_ has joined. 23:08:26 -!- puzzlet has quit (Remote closed the connection). 23:45:49 -!- Jontte has quit ("Konversation terminated!"). 23:46:30 -!- puzzlet has joined. 23:51:04 -!- Jontte has joined. 23:54:49 -!- puzzlet has quit (Remote closed the connection). 23:56:26 -!- puzzlet has joined. 23:56:51 -!- puzzlet_ has quit (Read error: 110 (Connection timed out)).