00:17:21 pikhq, Slereah Overand oklopol others 00:17:22 http://trac2.assembla.com/psox/browser/trunk/ex/example_domain.py 00:34:29 -!- jix has quit (Read error: 131 (Connection reset by peer)). 00:37:54 -!- jix has joined. 00:58:06 Bye all 00:59:17 -!- Sgeo has quit (Remote closed the connection). 01:31:48 -!- pikhq has quit (Read error: 104 (Connection reset by peer)). 01:33:58 -!- pikhq has joined. 01:38:56 -!- oklofok has joined. 01:39:05 mörning y'all 01:39:13 Well, it's 2 AM here. 01:39:19 here too 01:39:22 oh 01:39:24 4, 01:39:26 lol 01:39:32 good mourning 01:40:04 But mørning. 01:40:04 i think it's coding time now. 01:40:23 lucky i found this computer 01:40:34 In your dreams? 01:40:46 ...my dreams? 01:40:55 Well, it is 4 AM! 01:41:00 :o 01:41:03 oh my god... 01:41:09 non ascii ...mileys 01:41:14 *smileys... 01:41:16 :ø 01:41:43 i instaneously hate any client that has the option for that. 01:41:54 who wants to see a yellow idiot. 01:42:18 8--D 01:42:32 Even if it's this little fellow? 01:42:36 http://www.encyclopediadramatica.com/%E0%B2%A0_%E0%B2%A0 01:45:35 07:12:01 i wish i were as cool as you all <<< i love reading random #esoteric logs <3 01:46:47 it's a bit scary i usually remember every conversation 01:47:55 11:31:22 i guess if your head explodes from laughing that would a lollipop. 01:47:57 xD 01:48:16 waking people up here lolling. 01:48:31 guess i'm tired or something 01:48:34 OK, i'll stop now 01:55:56 heh, can't find a text editor in vista :) 01:55:57 ) 01:56:23 What, no Notepad? 01:56:38 no, just idiot user. 01:56:48 does someone have vista experience? 01:56:56 hey 01:57:00 windows\! 01:57:06 I didn't hear many good things from Vista. 01:57:10 windows, yes. 01:57:16 So I'm not buying it. 01:57:35 i saw this great link, think it was in the IWC forum... 01:57:59 found notepad 01:59:36 this was it: http://dotnet.org.za/codingsanity/archive/2007/12/14/review-windows-xp.aspx 02:01:05 (+ a 0) {a} 02:01:07 (+ a (S b)) {+ (S a) b} 02:01:08 [@-#2 @-#1] 02:01:33 the syntax is mostly from graphica, which none of you know... but it's pretty intuitive ;-) 02:01:45 the [...] is the part of interest 02:02:00 it describes the mechanism to *reverse* addition 02:02:31 The unholy process of substraction? 02:02:45 with an equation that finds the original params given the result and part of the params. 02:03:11 Slereah: yes, but reversing subtraction is a bit more complex 02:03:19 and real functions are *very* 02:04:24 Very what? 02:05:10 (- a 0) {a} 02:05:12 (- (S a) (S b)) {- a b} 02:05:14 [@+#2 #1-@] 02:05:27 lol, was soooo hard to solve a-b=c for b xD 02:05:39 @ is the result. 02:05:50 Is this Oklotalk or something? 02:05:54 no 02:06:04 this is something we discussed earlier with hiato 02:06:04 Reminds me of recursive functions. 02:06:13 well, sure 02:06:21 With the silly f(a,b) notation for operatos 02:06:23 the interesting part is the pattern matching thingie. 02:06:50 i'm not reinventing the whole way we think about computation when i make a language... 02:07:58 numbers can be described with anything that can be inc'd, dec'd and checked for null, tuples offer a trivial way 02:08:08 oh, right, multiplication and division 02:08:20 or at least multiplication :-) 02:08:31 go forth and multiply! 02:08:44 Even adders? 02:08:52 I heard they need logs to multiply. 02:08:54 use a log table, silly! 02:09:23 oerjan: much easier with peano arithmetic! thanks, why didn't i think of that... 02:09:46 hmm... even divisors might be interesting when it comes to pattern matching... 02:10:02 Wlel, it is quite easy with Peano! 02:10:04 http://membres.lycos.fr/bewulf/Russell/Calc9.txt 02:10:21 the pattern n@(_%3) would only pmatch numbers divisible by 3 02:10:24 I should finish that Peano calculator someday. 02:10:31 @ is what it is in haskell 02:10:54 if division is only defined when numbers actually are divisible, that is. 02:11:49 it'd be nice if that actually arose naturally from what i'm currently doing here... but i don't think it's possible to get even trivial stuff like that to work... 02:11:52 we'll see i guess 02:12:45 (- 0 b) :( 02:12:50 nice syntax for failing? :P 02:21:26 (/ a 0) (/ a@(a 02:21:27 (/ 0 b) {0} (/ (a+b) b@(S bt)) {S a*bt} 02:21:29 {- a/b=c <=> a=bc <=> b=a/c -} 02:21:31 [@*b @/a] 02:21:39 shall i explain? 02:21:51 i shall. 02:22:25 a function consists basically of patterns 02:22:33 (...) is a pattern 02:22:56 if a pattern matches the argument, the vars are set and the next {...} after that is evaluated 02:23:16 unless before that, a <> is found 02:23:23 in which case the whole function fails. 02:23:37 so, if it was used in a pattern match or something, that would fail. 02:23:52 now, division fails when a number is divided by another number bigger than it 02:24:00 and, if you divide by zero 02:24:14 also, it's wrong... whoops 02:25:14 second line should be (/ 0 b) {0} (/ a (S 0)) {a} (/ (a+b) b@(S bt)) {S a/bt} 02:26:00 so, zero divided by something is 0, something divided by one is something, and the last is the general case 02:26:11 notice the (a+b) pattern there 02:27:03 it would first find b, which gets the value of the second arg, while bt get's that-1, after that, the a pattern (a+b) gets the value of b 02:27:14 now, we defined the inverse of addition earlier 02:27:22 -!- jix has quit ("This computer has gone to sleep"). 02:27:23 that will be used to find the value of a for a given b 02:27:29 anyone at all interested? 02:28:04 (a Hm. 02:29:23 Maybe I should try some interpreter for recursive functions. 02:29:27 For the lulz. 02:31:37 haha, cons works without any code, actually xD 02:32:00 Cons? 02:32:24 (Cons a b) will produce the tuple (Atom(cons) ... ...); if there is no pattern starting with that atom, there will be no substitution and that will just stay as it is! 02:32:29 i love tree rewriting <3 02:32:31 Cons? 02:32:44 the cons lisp uses to represent lists 02:32:51 among other langas 02:32:55 *langies 02:32:57 I don't speak Lisp. 02:33:25 [1, 2, 3] -> (Cons 1 (Cons 2 (Cons 3 Nil))) 02:33:43 basically just a way to use tuples for lists. 02:34:08 although in list cons is lowercase, but i guess not important 02:36:44 *lisp 02:49:41 (Qsort list@(Scramble (++ (lpart@(PivotBy <=! list pivot) 02:49:43 pivot:rpart@@(PivotBy >! list pivot)))) {(Qsort lpart)++pivot:(Qsort rpart)} 02:49:44 (PivotBy Test (Scramble list)@(Reduce (Test pivot) list) pivot) {list} 02:49:57 xD 02:50:11 i have to rethink a bit ;) 02:50:35 but, i think it's entirely possible to do quicksort by pattern matching, guess i should see how prolog does it 02:51:11 the part to notice there is lpart++pivot:rpart, letting the interps choose how to cut it :D 02:51:29 could be random by default, when ambiguous match. 02:51:49 also, @@->@ 02:52:49 the function that scrambles a list in random order, Scramble, can be used to signify there is no information about the list's structure, and it can be bruteforced to fit the rest of the pattern 02:54:31 where the actual quicksort algo comes in, is that the brute force will instantly find the solution for a single step, since it knows the whole list needs to be cut in to rpart, pivot and lpart (defined in ++...) and the rules do not overlap 02:55:54 but, requires a lot of increase in sophistication of course. 02:57:48 oh, right, i could call Scramble Perm like prolog... would sound a bit less hacky :) 02:57:53 hacky as in hack'y 03:06:51 okay, some operations are used for their failure detection, like < and == sometimes 03:06:57 and others just for their result. 03:07:06 some operators, however, need both 03:07:26 i was thinking General failure eating hard disk 03:07:38 but then again, what do ya think? this is just convention, so feel free to answer without much thinking. 03:10:07 hmm... actually, booleans could be failure/identity 03:10:14 so you could match on (> n 3) 03:10:30 to get anything bigger than 3 in, and failing otherwise 03:17:04 -!- oerjan has quit ("Good night"). 03:18:11 (Tobin 0) {0} (Tobin 1) {1} 03:18:13 (ToBin n*!2) {0:(ToBin n)} 03:18:15 (ToBin n*2) {1:(ToBin n)} 03:19:01 actually... 03:19:21 i have no idea what it means for multiplication to be strict... :) 03:20:44 oh, right... 03:21:07 non strict multiplication can produce either 4 or 5 when 2 is multiplied by 2 :) 03:31:32 What's the difference between [a,b] and (a,b) on the snake? 03:31:48 I suddenly get parenthesis when I was expecting some list brackets. 03:32:01 list, tuple 03:32:07 in that order 03:32:43 Why do I suddenly get tuples? 03:33:09 i have no idea. 03:33:27 you obviously have () where you should have [] somewhere? 03:34:54 Well, I don't use use [] or (). 03:35:03 Just sequence functions. 03:35:10 oh 03:35:16 But well, let's just cheat. 03:35:37 yeah 03:35:40 let's 03:37:12 Poifect. 03:41:43 [[['plus', ['n1', '0']], ['p', ['1', '1'], 'n1']], [['plus', ['n1', ['s', 'n2']]], ['s', [['p', ['3', '3'], ['n1', 'n2', ['plus', ['n1', 'n2']]]]]]]] 03:41:46 Thar. 03:41:51 That should do it. 03:42:00 Now, to make stuff with that. 03:42:23 p [1 1] n1? 03:42:36 It's from this : 03:42:37 plus(n1,0()) = p(1,1)(n1) 03:42:37 plus(n1,s(n2)) = s(p(3,3)(n1,n2,plus(n1,n2))) 03:43:13 oh, right, aren't those trivial recursive functinos? 03:43:16 functions 03:44:09 Primitive, even. 03:44:15 errr, right 03:44:25 sounded a bit weird 03:44:45 but all i could think was partial or trivial 03:52:29 okay, my second idea for the night 03:52:43 this is for Cise, my conciseness oriented lang 03:52:47 Afl*2+ 03:52:49 1,0,0,1,1 -> 19 03:52:50 (((((1*2 + 1)*2 + 0)*2 + 0)*2 + 0)*2 + 1) 03:53:01 Afl takes two functions, and a list 03:54:04 it then makes the list's head "result", then continuously applies the first function to the list and combines it with the next element of the list with the second function 03:54:10 now, the beauty lies in parsing. 03:55:33 so... 03:56:10 Afl needs two functions as params. if it should parse what follows it as (Afl * 2), it would only get one function 03:56:17 so it gathers 2 muct belong to * 03:56:31 so, this becomes (Afl (* 2) +) 03:56:34 which is correct. 03:56:51 currying + prefix - spaces == rox 03:57:01 rox as in cool, i guess 03:57:21 also type inference to determine parsing :) 03:57:44 blah 03:58:21 you're not getting at al excited :-) 03:58:25 *all 03:58:33 gonna do another invention -> 03:58:41 this time something totally awesome. 04:10:14 hmm, think i got it 04:38:56 10:33:34 people put in in the url in programming-related channels because of flooding 04:38:57 10:33:38 i don't think we ever had that problem 04:52:38 Man. That primitive function idea is harder than originally thougt! 04:54:36 hehe 04:54:41 i think i need to sleep a while. 04:54:44 cya -> 04:55:06 Bye. 04:55:15 -!- GreaseMonkey has quit ("Welcome to 2008. I will be your tour guide."). 05:03:01 -!- calamari has quit ("Leaving"). 06:39:26 -!- Slereah has quit (Read error: 110 (Connection timed out)). 06:52:02 -!- slereah_ has joined. 06:52:13 -!- slereah_ has changed nick to Slereah. 06:52:15 -!- Slereah has changed nick to slereah_. 06:52:36 -!- slereah_ has changed nick to Slereah. 07:10:26 -!- slereah_ has joined. 07:19:57 "It is not immediate that the predecessor function can be reduced to an iteration, and hence is representable in the ?-Calculus. It was Kleene [1935] who saw how to do this, apparently during a visit to the dentist." 07:19:59 Heh. 07:28:12 -!- Slereah has quit (Read error: 110 (Connection timed out)). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:44:37 -!- faxathisia has joined. 09:43:20 -!- Hiato has joined. 09:50:11 Wassabi 09:56:24 Oklopol, did you get time yesterday to start on the spec? Or were you too busy ;) (heh) 10:15:16 -!- Hiato has quit ("Leaving."). 12:11:45 -!- Sgeo has joined. 12:12:08 I think I dreamed about PSOX last night :/ 12:13:37 hehe 12:15:59 -!- jix has joined. 12:17:22 Hi [PSOX] jix [MUST.. WORK.. ON.. PSOX!!!] 12:21:42 I considered taking a hiatus from PSOX, but can't help thinking that I shouldn't do that until PSOX 1.0 12:21:55 hi 12:21:57 brb 12:21:58 -!- jix has quit ("CommandQ"). 12:22:26 -!- jix has joined. 12:23:41 wb 12:24:17 -!- helios_24c3 has joined. 12:24:28 -!- helios_24c3 has quit (Connection reset by peer). 12:54:23 -!- Sgeo has quit (Remote closed the connection). 13:16:35 -!- Sgeo has joined. 13:16:52 * Sgeo wonders if he can finish the core of PSOX.py today 13:17:02 Then all that would be left is speccing and implementing the builtin domains 13:21:01 -!- oerjan has joined. 13:28:12 -!- pikhq_ has joined. 13:28:59 -!- pikhq has quit (Read error: 104 (Connection reset by peer)). 13:29:52 slereah_: kleene's dentist had this weird habit of removing all his teeth and then reinserting those that were healthy. 14:15:55 -!- jix has quit ("CommandQ"). 14:20:03 -!- RedDak has joined. 14:25:48 Hi RedDak 14:25:56 * Sgeo makes healthy progress on PSOX 14:26:08 Although I'm starting to think that PSOX may be bad for my health 14:27:28 -!- mwizard has joined. 14:27:54 -!- mwizard has left (?). 15:51:05 PSOX.py is for Python 2.5 now 15:56:01 -!- puzzlet has quit (Remote closed the connection). 15:56:08 -!- puzzlet has joined. 16:06:05 -!- puzzlet has quit ("Lost terminal"). 16:06:25 -!- puzzlet has joined. 16:21:32 -!- RedDak has quit (Remote closed the connection). 16:25:28 -!- pikhq_ has changed nick to pikhq. 16:26:36 -!- puzzlet has quit (Remote closed the connection). 16:26:43 -!- puzzlet has joined. 16:41:00 * slereah_ just received this book : http://www.amazon.com/Undecidable-Propositions-Unsolvable-Computable-Functions/dp/0486432289/ref=pd_bbs_sr_1/002-0209491-2396801?ie=UTF8&s=books&qid=1191580925&sr=8-1 16:42:02 oh that looks well good 16:42:05 I want that 16:43:19 -!- faxathisia has quit ("Leaving"). 16:44:50 The cover seems to be made of those m-functions of Turing 16:45:49 -!- pikhq has quit (Read error: 104 (Connection reset by peer)). 16:50:04 -!- tesseracter has quit (Remote closed the connection). 16:50:24 -!- pikhq has joined. 16:55:46 -!- oerjan has quit ("Fnord, er Food"). 16:56:25 -!- slereah_ has changed nick to Slereah. 16:58:49 Hi pikhq 16:59:00 Is it ok if PSOX.py requires Python 2.5? 17:00:18 "No, start over!" 17:01:59 -!- pikhq_ has joined. 17:02:10 -!- pikhq has quit (Nick collision from services.). 17:02:15 -!- pikhq_ has changed nick to pikhq. 17:06:15 -!- puzzlet has quit (Remote closed the connection). 17:06:19 -!- puzzlet has joined. 17:06:48 -!- wooby has joined. 17:10:52 -!- wooby has quit (Client Quit). 17:11:30 -!- tesseracter has joined. 17:23:02 -!- RedDak has joined. 17:28:30 -!- puzzlet has quit (Remote closed the connection). 17:28:37 -!- puzzlet has joined. 17:55:53 -!- puzzlet has quit (Remote closed the connection). 17:56:01 -!- puzzlet has joined. 18:07:53 http://trac2.assembla.com/psox/browser/trunk/impl/psox/psoxtypes.py 18:09:07 Anyone awake? 18:09:44 I'm typing in my sleep. 18:40:20 hi 18:40:57 * SimonRC wonders if LL actually have enough cash to handle everyone withdrawing their L$ at once... 18:42:25 -!- puzzlet_ has joined. 18:42:30 -!- puzzlet has quit (Remote closed the connection). 19:09:40 -!- jix has joined. 19:25:04 -!- ihope has joined. 19:25:15 Ello. 19:25:25 -!- ihope has quit (Client Quit). 19:26:51 -!- ihope has joined. 19:26:57 Well, that was interesting. 19:27:22 I guess freenode and ircatwork don't like each other right now. 19:27:42 Anyway, is there any hope of me being able to make an esolang based on knot theory? 19:31:07 I'm considering tossing out the knots and making it links of unknots. 19:36:04 Or have a tape of "strings" forming an infinite braid. 19:36:08 re ihope 19:36:17 * Sgeo is working on PSOX 19:36:29 I got psoxtypes.py down 19:36:39 First part of the implementation that's FINISHED 19:36:50 http://trac2.assembla.com/psox/browser/trunk/impl/psox/psoxtypes.py 19:36:51 Yay :-) 19:37:10 Also, is http://trac2.assembla.com/psox/browser/trunk/impl/psox/fd.py sane? 19:47:56 Oh, if you orient each unknot and span them with surfaces, you can count the number of times each unknot goes through each other unknot's surface and in which direction, and say that opposite directions cancel each other out... 19:49:38 There is a definate lack of ihope in Sine 19:50:38 Indeed. 19:51:43 What was that CGI:IRC one? 19:57:37 -!- puzzlet_ has quit (Read error: 104 (Connection reset by peer)). 19:57:42 -!- puzzlet has joined. 20:04:26 -!- pikhq_ has joined. 20:04:39 -!- puzzlet has quit (Remote closed the connection). 20:04:42 -!- puzzlet has joined. 20:05:48 -!- pikhq has quit (Read error: 104 (Connection reset by peer)). 20:07:16 -!- pikhq_ has changed nick to pikhq. 20:12:40 -!- puzzlet has quit (Remote closed the connection). 20:12:44 -!- puzzlet has joined. 20:17:06 -!- Jontte has joined. 20:58:28 -!- pikhq has quit (Read error: 104 (Connection reset by peer)). 21:01:55 -!- pikhq has joined. 21:05:31 -!- jix has quit (Nick collision from services.). 21:05:41 -!- jix has joined. 21:11:19 -!- puzzlet_ has joined. 21:11:24 -!- puzzlet has quit (Remote closed the connection). 21:27:59 -!- jix has quit (Nick collision from services.). 21:28:09 -!- jix has joined. 21:44:47 -!- calamari has joined. 21:46:37 -!- oerjan has joined. 21:55:07 -!- jix has quit (Nick collision from services.). 21:55:17 -!- jix has joined. 22:24:20 -!- GreaseMonkey has joined. 22:28:53 -!- oklofok has left (?). 22:33:32 -!- Jontte has quit ("Konversation terminated!"). 22:36:18 -!- Jontte has joined. 22:47:18 -!- Jontte has quit (Remote closed the connection). 22:49:53 -!- Jontte has joined. 23:55:12 -!- jix has quit ("CommandQ"). 23:58:31 -!- RedDak has quit (Remote closed the connection).