00:02:57 CAR is FIRST 00:02:59 CDR is REST 00:03:03 NIL is terminator 00:03:12 Terminator? 00:03:17 from lisp. the list (a b c) is (a . (b . (c . NIL))) 00:03:23 (car that-list) -> a 00:03:28 (cdr that-list) -> (b . (c . NIL)) 00:03:46 where (x . y) is CONS x y of course. 00:03:50 Oh, end of the list. 00:04:42 yes 00:04:54 when talking about cons-pair lists, it's wise to use lisp terminology 00:04:55 :-) 00:05:17 Yeth. 00:06:20 i don't know sk very well 00:06:31 what's S = again? 00:07:02 \xyz -> xz(yz) 00:07:03 S = ^abc.(ac)(bc) 00:07:13 Yes. 00:07:21 that's pretty close to CONS 00:07:23 i guess 00:07:33 NIL is ^x.True sez Wikipedia 00:07:40 naww, that sounds wrong 00:07:53 True or False is an arbitrary choice 00:07:54 i'd make NIL: "cons NIL NIL" 00:07:55 CONS is ``s``s`ks``s`k`s`ks``s`k`s`k`si``s`k`s`kkk`kk 00:07:58 just because that's cool :-) 00:08:05 ehird`: that's not going to work 00:08:10 why not, oerjan 00:08:13 TRUE is the combinator k. 00:08:16 it means you cannot have NIL as an element of the list 00:08:30 yes, it does 00:08:38 also, you cannot actually _test_ when you have reached the end 00:08:38 (NIL . NIL) is a list with just NIL as the element 00:08:46 ok that's the real reason 00:08:47 hmm, that is a good point 00:08:55 NIL := \x. FALSE 00:08:57 seems the best choice to me 00:09:07 since, i mean, there's nothing "YES", "TRUE" about the end of the list 00:09:08 :-) 00:09:25 Well, it would just be `kk 00:09:35 That's not very yessy. 00:10:04 what's FALSE? 00:10:07 `SK, no? 00:10:10 no, wait 00:10:11 well 00:10:21 It is actually. 00:10:30 But us little people prefer `KI 00:10:59 pff, in my day we didn't have I 00:11:05 we thought ``SKK was perfectly suitable 00:11:16 *ii 00:12:04 \x. x 00:16:56 i should make TRADLISP 00:17:00 tried to be as much like old lisps as possible! 00:17:06 like LISP 1.0 with extensions 00:17:41 :P 00:17:46 that would be pretty esoteric, nowadays 00:18:08 hm, anyone know how LISP 1.0 or 1.5 did pretty-printing of e.g. functions? 00:18:51 what was that esolang that was an alternative history BASIC again... 00:20:12 beats me 00:20:24 but i could write all symbols in uppercase 00:20:27 :D 00:20:31 and use odd indentation styles 00:21:07 I could write it in itself, and make it compile to machine code on the fly, for extra silliness 00:24:08 "If the nazis won WWII, what would BASIC look like?" 00:24:30 10 HEIL HITLER 00:24:37 20 GAS 10 00:24:46 ok that was lame :| 00:25:10 GOTO AUSCHWITZ 00:25:53 yes! 00:26:18 GOTO AUSCHWITZ 00:26:23 AUSCHWITZ: 00:26:25 REM RETURN 00:32:09 ah, http://esoteric.voxelperfect.net/wiki/VENIAL was it 00:32:53 i think the one you just described could be called GODWIN :) 00:36:26 behold! RETROLISP: http://rafb.net/p/8qu6qQ34.txt 00:36:37 things to note: ; is the only comment seperator that coders use. 00:36:40 and no space after it either! 00:36:55 symbols are ALWAYS in uppercase, just don't even question it (sure, it might work in any case, but just..DON'T) 00:37:02 also: symbols are bad, mainly. 00:37:07 the repl prompt is a single * 00:37:32 er, MULT vs. TIMES? 00:37:40 err, yeah 00:37:41 pick one 00:37:42 :P 00:37:47 old lisp used TIMES 00:37:48 so i guess that 00:37:57 and PRINT is not actually used 00:38:03 yeah, that's true 00:38:06 it was when i wrote that comment 00:38:27 did old lisp have strings? 00:38:39 didn't it just have symbols with some weird way to have special chars in it 00:38:42 some sort of special form 00:39:02 (did it even have LIST?) 00:40:22 :P 00:42:11 EXPLODE? or was that prolog 00:54:21 probably lisp 00:54:27 hm 00:54:37 retrolisp is crap, i want an alternate history lisp 00:55:57 oerjan: i wonder what's the most low-level fundamental change i can make while still being able to call it 'althistory lisp' 00:57:18 don't use parentheses... 00:57:33 then it's not lisp 00:57:46 ah but use something equivalent 00:58:27 although that might merely turn it into LOGO 00:58:45 nah 00:58:47 i think parens have to say 00:58:50 *stay 00:58:56 (A B C) should be valid 00:59:44 then... don't use cons cells 01:00:55 what then 01:00:57 not a vector 01:01:00 that's not elegant :P 01:01:09 since lisp was originally 100% theoretic 01:01:52 hmph you're being difficult :D 01:02:00 let's think a little less fundamental ;P 01:02:13 -!- Aardwolf has quit ("Leaving"). 01:02:18 well you could use german... 01:02:40 hahaha 01:02:44 :) 01:02:57 (FUNKZION FAK (N) IST 01:03:22 or something like that 01:03:36 somehow i think i spelled Funkzion wrong 01:03:51 heh, naw 01:03:58 however 01:04:01 instead of: 01:04:02 ; blah 01:04:06 i'm going to have a special form like 01:04:12 (DROP ...) 01:04:15 which is ignored 01:04:22 oerjan: funktion i think 01:04:22 literally ignored 01:04:23 not a NOP 01:04:28 but: 01:04:36 "tion" is just pronounced "tzion" 01:04:43 literally ignored 01:04:47 that's semantically weird... 01:04:54 oerjan: why :D 01:04:56 as it is in norwegian (swedish-based guess, because i know you love those :)) 01:04:58 (so is most old lisp) 01:05:05 ((a b c)) was '(a b c) 01:05:06 "funksjon" 01:05:07 in lisp 1.5 01:05:20 oerjan: i meant the pronunciation 01:05:47 no, no t sound in it 01:05:57 f-u-nk-sj-o-n 01:06:13 hmm, what's "induction" or "penetration"? 01:06:18 sjon there too? 01:06:29 always -sjon 01:06:33 oh 01:06:41 * oklopol is surprised 01:06:56 01:07:09 latin/french words are heavily regularized 01:07:21 i'm always surprised i don't know something i had no way to know anyway. 01:07:29 oerjan: hm, drop is kinda silly i agree :P 01:08:29 just read the last 5 years of maddox, i have to say that man knows his shit 01:14:18 -!- slereah_ has joined. 01:26:22 who wants to tell me the simplest language with a trivial self-interpreter that isn't the null language and doesn't have a blatant 'eval' 01:26:23 :P 01:27:34 if it's "trivial" doesn't that amount to having eval... 01:37:58 perhaps he doesn't like the word. 01:38:08 selfify() 01:38:40 selfarize 01:38:46 selfisticate 01:38:51 oerjan: well, less trivial than eval() 01:38:53 :| 01:39:05 maybe i should say: simpl 01:39:06 e 01:40:11 well lisp has a simple self-interpreter, which just happens to be included under the name "eval" 01:40:19 :) 01:40:25 lisp's self interpreter isn't that simple. 01:40:30 add the p combinator to unlambda, a combinator that parses an input string as an unlambda program 01:40:40 *function 01:41:24 input string would of course be represented as a list of peano numbers or smth, but anywayz 01:41:26 asdfdsaf 01:42:57 :| 01:43:00 but that's basically eval. 01:44:05 -!- Slereah has quit (Read error: 110 (Connection timed out)). 01:45:31 ehird`: the parser is done in an eval fashion there, yes 01:46:27 -!- sebbu has quit ("@+"). 02:18:51 -!- ehird` has changed nick to ehirdsleep. 02:19:08 -!- ehirdsleep has quit. 02:20:32 -!- ehirdsleep has joined. 04:19:44 -!- lifthrasiir has joined. 04:35:56 -!- slereah_ has changed nick to Slereah. 04:36:12 * Slereah tries to make a factorial function. 04:36:18 But it doesn't seem to ever stop! 04:46:07 -!- oerjan has quit (Remote closed the connection). 04:52:14 -!- oerjan has joined. 05:16:59 Hm. For a factorial using recursion, would I have to get out the result, the step, and print it if it's the last step and then deleting the recursion? 05:17:06 With some sort of v combinator 05:17:56 -!- oerjan has quit ("Lost terminal"). 05:19:38 huh? 05:21:17 Well, so far my attempts at a factorial function never stopped. 05:47:00 -!- calamari has quit ("Leaving"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:09:34 -!- sebbu has joined. 09:58:09 -!- sebbu2 has joined. 10:05:25 -!- oerjan has joined. 10:07:56 One of the Turing paper uses a delta symbol in lambda calculus. 10:09:58 With { {delta} M } (M) = ^f[^x[{f}({f}(x))]] if M's a combinator and { {delta} M } (N) = ^f[^x[{f}(x)]] if N and M's are and N isn't M. 10:10:09 Anyone got any idea on the deeper meaning of it? 10:10:48 Since mister T said "We have not as yet assigned any meanings to our formulaes, and we do not intend to do so in general" 10:12:43 right... 10:13:02 it's an equality testing predicate 10:13:06 -!- sebbu has quit (Read error: 110 (Connection timed out)). 10:13:20 a hypothetical one 10:13:33 Oh. It's impossible to do one with only lambdas? 10:13:43 i assume he later proves it's inconsistent that it exists 10:14:30 When I say "different", I don't mean that you can convert one into the other. 10:14:49 Well, it is that, but much restricted. Only to alpha conversion. 10:14:55 i see. 10:15:45 "If N and M are in normal form, are not transformable into one another by repeated application of (i), and have no free variables" 10:15:50 ok maybe delta M itself is not considered a combinator. ah, it's the usual delta function 10:16:17 -!- sebbu2 has changed nick to sebbu. 10:16:18 except with result defined as combinators instead of numbers 10:16:36 Well, (dM)N can be replaced by the combinator 1 or 2. 10:16:38 well, church numerals 10:16:52 What's the delta function? 10:17:04 usually delta_x(y) = 0 if x /= y, 1 otherwise 10:17:05 Or which one, more accurately. 10:17:22 Ah, Kronecker delta. 10:20:34 -!- Hiato has joined. 10:20:44 Hello all 10:20:57 GergorR, are you paying attention today? 10:21:03 Hello sir. 10:21:12 Hello Slereah 10:21:29 Where you on last night with the 1l_AOI spec? 10:22:16 Depends if you need logs or my memory. 10:22:26 lol, well your memory 10:22:32 and then you opinion 10:22:40 * oerjan assumes GregorR is still sleeping. also if you want him to notice you better spell his nick correctly. 10:22:46 I wasn't there. 10:22:58 lol, thanks orejan 10:23:13 ok well Slereah, and possible orejan (if he's interested) 10:23:25 you know that the 1l spec is incomplete 10:23:28 [11:22] [GregorR TIME reply]: Mon Jan 7 02:22:57 10:23:32 Prolly sleep. 10:23:36 Yeah 10:24:00 anyway, the 1l Angle of Incidence was such a cool idea 10:24:08 an esolang with 1 symbol! 10:24:19 Describe! 10:24:23 so I couldn't help but complete the spec 10:24:25 http://rafb.net/p/VMGMTC23.txt 10:24:50 The only such idea I had was a lazy Gödel numbering of the program 10:24:52 essentially, it's like befunge where you ave a command pointer moving though the code 10:25:12 oh, :) 10:25:13 anyway 10:25:31 then, depending on whether it passes through or by a + sign 10:25:35 various things happen 10:25:52 if it passes by, it gets deflected if the current cell is non-zero 10:25:52 Are all programs valid? 10:25:56 yes 10:26:05 and anything not a + is a nop and comment 10:26:17 if it passes through a plus 10:26:21 stuff happens 10:26:31 and it is turing complete 10:26:37 because it is essentially BF 10:26:42 but way cooler :) 10:27:09 oh, and execution halts when the CP pases through the top or right hand edge of the code 10:27:13 *passes 10:27:28 Do you have a sample program? 10:27:29 there is no bottom or left edge 10:27:35 unfortunately, not 10:27:40 but I am working on one 10:27:49 I'm having a hard time reading it. 10:27:53 it's just difficult to see the stuff 10:27:55 Well, just use a bunch of +'s! 10:28:01 heh 10:28:09 :) 10:28:15 I want to output the letter A 10:28:22 just like 1l_a 10:28:27 or 1l_105 10:28:36 but, it will be wasy easier in this one 10:28:42 as you can just have a line of stuff 10:28:45 :) 10:28:49 anyway 10:28:52 I have tennis now 10:29:06 but I will be back in ~1hour 30mins 10:29:13 Bye. 10:29:14 and hopefully will show you the prog 10:29:15 :) 10:29:21 -!- Hiato has quit ("Leaving."). 12:22:24 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)). 12:22:28 -!- puzzlet has joined. 13:23:31 -!- Hiato has joined. 13:23:44 I'm back :) 13:24:02 Welcome back 13:24:05 ok here we are http://rafb.net/p/e7f7cE36.txt with an example 13:24:07 thanks :) 13:24:12 it outputs "1" 13:24:14 :) 13:24:22 I was too lazy to do otherwise 13:24:24 Ah, it's 2D! 13:24:31 yip 13:24:35 I'm somehow disappointed! 13:24:42 Am.. Ok... 13:25:00 Do you know what the whole "L" language group is about? 13:25:06 No. 13:25:09 Well 13:25:33 its attempting to implement BF in a funge like manner using minimal commands 13:25:51 1 is pretty minimal I guess! 13:25:57 Aha :D 13:26:08 This is why I wanted to show GregorR 13:26:10 because 2L 13:26:14 Unless you make some sort of 0 command language. 13:26:19 has 3 commands, and 1l_a/105 has 2 13:26:24 but mine has 1! 13:26:27 Hah 13:26:29 But it's hard to make them Turing complete. 13:26:39 yes, although this one is 13:26:41 :D 13:26:51 I was talking about 0 commands! 13:26:55 it is trivial to convert any given BF programme into 1l_AOI 13:26:57 oh, yes 13:27:03 that would be very difficult :P 13:27:25 99 has zero instructions, but isn't very TC! 13:27:38 :) 13:27:42 woops, wait 13:27:49 there is an error in the prog 13:27:50 meg 13:27:52 *meh 13:28:01 time to fix 13:28:31 actually, it's a problem with the spec 13:28:33 blah 13:31:23 http://rafb.net/p/wJ5SQL87.txt 13:31:25 ok, fixed 13:31:30 there was another catch 22 13:32:13 in order to get to a specific cell, you would have to turn, but in order to turn, that cell would have to be non-zero, and in order for it to be non-zero, you would have to turn :P 13:32:54 Turn manually! 13:33:03 Haha :) 13:33:18 Ubuntu arrived! 13:33:19 brb 13:33:23 gonna fetch the CD's 13:33:40 Wow, you know Ubuntu himself? 13:33:43 I'm impressed! 13:35:18 Hehe, cute :D 13:36:08 Wait 13:36:16 why did I order Ubuntu 7.10 13:36:23 I wanted Kubuntu :( :( 13:36:25 oh well 13:36:30 I already have ubuntu 13:36:33 but hey 13:36:42 I got stickers though, on the plus side :D 13:37:35 how do you check someones time, Slereah? 13:37:45 you did it earlier 13:38:24 "/time" just gives me the server's time ... 13:39:52 Well, right-click on the name, CTCP, time 13:39:52 At least on mIRC 13:40:13 /ctcp ... TIME possibly 13:40:37 hm nah 13:40:40 yep 13:40:44 unknown command for me 13:40:53 bets I get is "/time" 13:40:57 *best 13:41:09 you don't have /ctcp ? 13:41:17 nope, not in pidgin 13:41:25 hm 13:41:26 Unknown command. 13:41:52 can you insert ^A control chars in your messages? 13:42:14 not sure what that means 13:42:19 ^A 13:42:30 amm.... that didn't work 13:42:32 ascii code 1 13:42:42 aha, let me see 13:42:50 nope, no ASCII code's allowed for me 13:42:52 although your client did not respond to my /ctcp time ... 13:43:57 can you at least do /me commands? not that it helps with this 13:44:10 * Hiato thinks he can 13:44:15 ah 13:44:39 what happens if you press ctrl-V ctrl-A ? 13:45:03 as in paste, select all? 13:45:09 * oerjan tests 13:45:19 did that come out as an action? 13:45:28 (3:45:32 PM) ***oerjan tests 13:46:06 well if it actually does paste and select all then it's not what i mean 13:46:23 yep, well that's what happens ;) 13:46:25 in my client ^V^A inserts a ^A control 13:46:42 nope, sorry, which client are you using? 13:46:47 irssi 13:46:50 terminal based 13:46:54 (Pidgin is kinda incomplete) 13:46:58 oh, I see 13:47:02 hrmm 13:47:13 maybe I should move to miranda or something 13:47:16 meh, effort 13:47:38 if you could insert ^A characters then you could /msg someone ^ATIME^A 13:47:42 because I need Gtalk + MSN + IRC 13:47:59 although possibly you would not see the response 13:48:18 hrmm, did you get something? 13:48:28 not from you 13:48:33 ok, well 13:48:38 but Slereah's client responded 13:48:40 I tryd /msg oerjan TIME 13:48:47 ok well 13:48:55 I'll get Miranda now 13:48:55 no i did not see that but i don't think i'm supposed to 13:49:06 oh wait 13:49:09 oh, well I didn't see anything either 13:49:20 without ctrl chars? 13:49:25 well, yes 13:49:33 you are not registered 13:49:42 registered in what 13:49:50 only registered nicks can send private messages on freenode 13:50:06 aha, well, I can send them to myself 13:50:11 do I need to register? 13:50:16 rather should I? 13:50:48 it has advantages 13:50:57 does it cost? 13:51:07 sending private messages, keeping others from using your nick 13:51:10 no 13:51:18 cool, then I'll register 13:51:23 it's an automated thing 13:51:30 I see 13:51:55 how do I initiate it? 13:51:59 although if your client is primitive you may have to send the password manually when you log on 13:52:10 blah 13:52:14 well, miranda is way better 13:52:19 you send messages to nickserv 13:52:37 start with help i guess 13:52:42 ok, sure 13:52:52 oh, and check the freenode webpage perhaps 13:53:11 it has some tips on this 13:53:11 roger 13:53:21 well, im gonna log out, and come back in ith miranda 13:53:25 cheers 13:53:26 rather brb 13:53:28 -!- Hiato has left (?). 13:58:26 -!- Hiato has joined. 13:58:32 Im back 13:58:34 I think 13:58:36 :) 13:58:48 Is it awesome now? 13:58:59 Well, Miranda is way Cooler :D 13:59:14 /time 13:59:18 \time 13:59:26 Meh, I cant do either now 13:59:28 |time 13:59:31 _time 13:59:34 -time 13:59:36 * Hiato ponders if /me will work 13:59:40