00:00:27 i don't think the + character is actually distinguished in the code, from what i see 00:01:37 oerjan, hm ok 00:19:28 -!- BeholdMyGlory has quit (Remote closed the connection). 00:26:25 -!- oerjan has quit ("Good night"). 01:03:21 -!- zzo38 has joined. 01:04:58 I read about the new one [[Puzzlang]], but now I invented [[Self-modifying Puzzlang]]. I just want to know if anyone looking at the example can figure it out. 01:09:36 They don't record everything on the log file. And they aren't "raw" it just says that but it is faked. 01:13:05 I only see the time and name and message. It doesn't record the commands such as PRIVMSG and NOTICE and the name at the left side, three digit IRC response codes, etc. 01:14:11 So that is how it records notices, well, don't say it is raw if it isn't because that is a lie 01:17:29 This is a message with control codes 01:17:53 It strips out some (but not all) of the control codes 01:18:59 And special messages using the CTRL+A code are not recorded at all 01:24:42 IS NOBODY ON HERE PLEASE 01:25:07 Everyone is on here and responds to CTRL+A commands but no real writing 01:26:57 -!- zzo38 has left (?). 01:27:00 -!- zzo38 has joined. 01:27:09 -!- zzo38 has quit. 03:51:09 -!- GreaseMonkey has joined. 04:21:46 -!- Sgeo has joined. 04:47:41 -!- psygnisfive has joined. 05:36:57 -!- GreaseMonkey has quit ("Client Excited"). 07:29:05 G'night all 07:31:15 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)). 07:59:17 -!- kar8nga has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:21:37 -!- psygnisfive has changed nick to pears`. 08:21:59 -!- pears` has changed nick to psygnisfive. 08:59:49 -!- Mony has joined. 09:00:40 -!- kar8nga has quit (Read error: 110 (Connection timed out)). 09:02:30 plop 09:11:20 ploop 09:13:44 wassup ? 09:14:07 not much 09:14:12 went tunnel exploring earlier 09:14:19 -!- Slereah_ has joined. 09:25:37 -!- Slereah has quit (Read error: 110 (Connection timed out)). 09:29:27 -!- Slereah has joined. 09:32:19 -!- Slereah_ has quit (Read error: 60 (Operation timed out)). 09:33:43 psygnisfive, "tunnel exploring"? 09:34:01 yeah 09:34:14 there are tunnels connecting the buildings on campus 09:34:18 ah 09:34:34 psygnisfive, where is this? 09:34:39 yeah 09:37:36 stony brook university 09:37:42 they're utility tunnels 09:37:47 mostly steam and water pipes 09:38:11 psygnisfive, country? 09:38:16 united states? 09:38:19 ah ok 09:38:22 why? 09:38:32 psygnisfive, just interested 09:38:39 o..k.. 09:38:42 name could have been UK or AU too 09:38:49 i guess 09:38:50 "stony brook" I mean 09:38:56 why does the country matter? 09:39:12 is it unexpected from other countries for there to be tunnels? 09:39:19 not really 09:39:23 ok.. :P 09:39:38 psygnisfive, why do you wonder why I wonder? 09:39:42 ;P 09:40:03 i wonder why i wonder why 09:40:05 i wonder why i wonder 09:40:09 i wonder WHY i wonder why 09:40:10 i wonder 09:40:13 why i wonder 09:40:14 ... 09:40:17 haha 09:40:38 its a poem feynman wrote when he was in like.. college 09:40:41 for an english class 09:40:41 lol 09:41:43 mhm 11:01:17 -!- Mony has quit ("Quit"). 11:11:15 -!- MigoMipo has joined. 11:26:44 -!- MigoMipo has left (?). 11:44:40 hmm. self-modifying puzzlang looks orders of magnitude more interesting than puzzlang 11:45:06 psygnisfive: went tunnel exploring earlier <<< you sick bastard 11:48:57 err wait 11:49:23 on actually reading it, i'm not sure why anyone would use 0 12:04:27 -!- sebbu2 has changed nick to sebbu. 12:17:23 -!- BeholdMyGlory has joined. 12:35:19 fizzie, there? 12:35:58 ^source 12:35:58 http://zem.fi/~fis/fungot.b98.txt 12:38:18 fizzie, can't run fugot 12:38:21 get infinite loop 12:38:26 1 > 1-I-1 > 1-I-1 > 1-I-1 > 1-I-1 > 1-I-1 > 1-I-1 > 1-I-1 > 1-I-1 > 1-I-1 > 1-I-1 > 1-I-1 > 1-I-1 > 1-I-1 > 1-I-1 > 1-I-1 > 1-I-1 > 1-I-1 > 1-I-1 > 1-I-1 > 1-I-1 > 1-I-1 > 1-I-1 > 1-I-1 > 1-I-1 > 1-I-1 > 1-I-1 > 1-I-1 > 1-I-1 > 1- 12:39:20 ah removing the fungot.dat worked 12:39:21 AnMaster: they'll update it sooner or later you will come to any sort of 1/ 2 the existing content, so i can't use 12:43:45 ^help 12:43:46 ^ ; ^def ; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool 12:45:59 fizzie, if I save again it doesn 12:46:02 doesn't* work 12:48:04 -!- Leonidas_ has joined. 12:48:26 -!- Leonidas_ has changed nick to Leonidas. 12:48:27 fizzie, anyway I know you use STRN and I made some changes to STRN N (it is faster now) 12:54:09 -!- Slereah has quit. 12:55:19 Hrm. I'm not sure why saving would create a broken fungot.dat. 12:55:19 fizzie: one flew east one flew west one flew over the fnord on this 12:57:45 -!- Slereah has joined. 12:58:37 :D 12:58:44 fungot: that was great 12:58:45 oklopol: yeah you're right pikhq, i was thinking of 12:58:55 fungot: that made no sense! 12:58:55 oklopol: at least on the main site 12:59:02 -!- Slereah has quit (Read error: 54 (Connection reset by peer)). 12:59:06 i see! 12:59:30 -!- Slereah has joined. 13:06:28 -!- MigoMipo has joined. 14:12:10 fizzie, well it did 14:12:25 %show 14:12:29 ^show 14:12:30 echo reverb rev rot13 rev2 fib wc ul cho choo pow2 source help hw 14:12:40 fizzie, how comes ul is listed there? 14:12:43 and not bf 14:25:51 ^bf ++++++++[>++++++++<-]>+++. 14:25:52 C 14:25:53 o 14:25:53 o 14:26:04 L 14:27:43 -!- SchrodingersCat has joined. 14:49:55 -!- ehird has left (?). 14:49:58 -!- ehird has joined. 14:50:00 -!- ehird has left (?). 14:50:04 -!- ehird has joined. 14:52:12 01:24 zzo38: IS NOBODY ON HERE PLEASE 14:52:12 01:25 zzo38: Everyone is on here and responds to CTRL+A commands but no real writing 14:52:20 zzo38. in here. 14:52:27 amazing. hilarious. best trainwreck ever. 14:53:46 what would we do without him? 14:53:47 ul is listed there because someone has defined a command with that name. 14:53:49 ^show ul 14:53:49 >,[>,]<[<]>[<+4[>-8<-]+>-[-7[-2[<+3[>-4<-]+>[<+4[>-5<-]+>[-11[-3[[-]<2[>[-]>+<2-]>>[<2+>>-]+<[->-<3[[>+<-]<]>>[>]]>[->[>]<[[>+<-]<]<2[[>+<-]<]<[[>+<-]<]>>[>]>[[[>]>+<2[<]>-]<2[[>+<-]<]>>[>]>[>]>[<2[<]<[<]<+>>[>]>[>]>-]<2[<]>]>>[[<+>-]>]<2[<]]]<[->>[>]<[[>>+<2-]<]<2[[>+<-]<]>+>[>]+5[>+8<-]+2>-[<+[<]>+[>]<-]]>]<[->>[[<2+>>-]>]<3[[>+<-]<]]>]<[-<[[<]>.[-]>[[<+>-]>]>>[[<+>-]>]<2[<]<2]>>>[[<+>-]>]<2[<]<]>]<[->>[>]<[[>+<-]<]<2[>>>>[>] 14:53:53 * oklopol first thought it was ehird :) 14:53:57 It seems to be the old, brainfucky version of it. 14:54:06 oklopol: :DD 14:54:12 oklopol: reality: stranger than fiction! 14:54:40 (the "doesn't log parts" or something part) 14:54:52 err 14:55:04 (commands) 14:55:39 what are CTRL+A commands? 14:55:46 ctcp 14:55:50 \1 = ^A 14:55:58 PRIVMSG oklopol :\1VERSION\1 14:56:08 shows in terminals as 14:56:12 PRIVMSG oklopol ^AVERSION^A 14:56:22 right right ^char = \code 14:56:32 i guess zzo38 thinks people manually respond to ^As 14:56:33 :D 14:56:47 :) 14:57:07 grah, my system is whirring, i guess I left ocaml running an infinite loop 14:57:38 brb 14:57:44 brb 14:57:48 :| 14:57:51 :| 14:57:55 gggggggggg 14:58:06 * oklopol gggggggggoes 14:58:21 (+g) 15:09:52 -!- olsner has joined. 15:16:20 The type variable name '_b is not allowed in programs 15:16:21 excuse me ocaml 15:16:22 WHAT 15:17:35 -!- SchrodingersCat has quit ("Leaving"). 15:17:43 -!- BeholdMyGlory_ has joined. 15:18:22 -!- BeholdMyGlory has quit (Nick collision from services.). 15:18:27 -!- BeholdMyGlory_ has changed nick to BeholdMyGlory. 15:23:47 "[1] If you really want to meta it up, your string could be a regular expression and your alphabet could be regular expressions, so you'd write regular expressions of regular expressions to see if a regular expression of regular expressions matches your regular expression." 15:23:49 Yo dawg. 15:26:53 sweet 15:39:07 -!- Judofyr has joined. 15:43:15 -!- kar8nga has joined. 15:47:43 http://gbracha.blogspot.com/2009/02/newspeak-prototype-escapes-into-wild.html ! 15:47:53 yay, it's smalltalk except better. finally. 15:47:59 (lolwut @ testIncestousSiblings16) 16:12:36 -!- ais523 has joined. 16:18:37 hi ais523 16:19:34 hi 16:20:31 i have some ocaml code that lets me do this working fully now: 16:21:02 # printf (lit "Hello, " % str % lit "! You are worth " % int % lit " pounds.") "ehird" -57;; 16:21:08 fully type-safe at compile time, ofc 16:21:19 and doesn't piggyback on strings-as-code 16:22:56 nice 16:23:12 oklopol: you are secretly ais523! 16:23:16 confirm/deny 16:23:24 * oklopol covers up 16:23:35 * ehird just invented something truly awful, too. 16:23:36 ehird: that's insane, how? 16:23:38 i... need to go now 16:23:40 I'd love to see that code 16:23:56 ais523: here's a hint 16:23:57 I'm even more shocked that lit and str don't have initcaps 16:24:10 ah, they must be functions, not constructors 16:24:13 yep 16:24:17 int : ('_a, string -> '_a) fmt 16:24:19 type ('a, 'b) fmt = ((string -> string) -> 'a) -> 'b 16:24:22 err 16:24:26 ('_a, int -> '_a) fmt 16:24:27 ofc 16:24:48 ais523: http://pastebin.com/f12c043e1 16:25:01 ah, I think I'm starting to see what you're doing 16:25:13 it took me a bit of hacking to get the definition of fmt right 16:25:17 but I cracked it eventually 16:26:32 mine also lends itself to multi-line formats more than regular printf: 16:26:33 let print_info = 16:26:33 printf ( lit "Hello, " 16:26:35 % str 16:26:37 % lit "! You are worth " 16:26:39 % int 16:26:41 % lit " pounds.\n" ) 16:26:42 you're constructing the type of the function like most languages would construct a value 16:26:43 "ehird" -57;; 16:26:46 yep 16:26:50 * oklopol is too lazy to read that without knowing ocaml :< 16:27:02 oklopol: I'll recode it in Haskell, it's trivial enough 16:27:15 ais523: the best part is that you can make formats do crazy things 16:27:16 for example 16:27:19 you could have a format rev 16:27:23 that reversed the string up to rev 16:27:31 given that this is OCaml, is there any way to make it so you can put a spare % at the start of the format? 16:27:33 fun k -> k (fun r -> reverse_string r) 16:27:40 ais523: heh, no :P 16:27:43 well, yes 16:27:45 have a blank formatter 16:27:47 but it lines up with the ( 16:27:49 which is good enough 16:27:54 yes, I suppose so 16:28:10 I'm just thinking of the match x with\n | One -> 1\n | Two -> 2 syntax 16:28:13 yes 16:28:22 which is one of my favourite bits of language sugar ever 16:28:23 "lit" is kinda ugly imo 16:28:23 ais523: one oddity: 16:28:43 oklopol: yeah, it's just a specialcase 16:28:59 bluestorm: ehird: couldn't the continuation build a string list, and do the concatenation at make_printf time only ? 16:29:00 16:28 ehird: hmm 16:29:02 16:28 ehird: yes 16:29:04 16:28 bluestorm: that should perform better as the current concatenation-chain would give a quadratic complexity 16:29:07 :--)))) *rewrite* 16:29:28 ais523: an oddity: 16:29:29 val sprintf : (string, '_a) fmt -> '_a = 16:29:30 val printf : (unit, '_a) fmt -> '_a = 16:29:32 val fprintf : out_channel -> (unit, 'a) fmt -> 'a = 16:29:35 how come fprintf is 'a, but the rest are '_a? 16:29:45 let me look 16:30:08 hf, need to go again 16:31:20 what type is the argument to sprintf? 16:31:32 it's clearly polymorphic, isn't it? 16:31:37 yes 16:31:44 ais523: it's 16:31:51 ((string -> string) -> string) -> '_a 16:32:00 so if it was of a mutable type, you'd be able to break type safety 16:32:07 er how 16:32:12 I can't remember, it's convoluted 16:32:13 '_a types "collapse" 16:32:16 but ok 16:32:29 ah, it's to stop you having a generic pointer-to-anything 16:32:41 and then assigning one type of value to it and dereferencing as a different type 16:32:43 yes 16:32:46 suppose the argument was 'a ref 16:32:52 which is a legal type 16:33:11 then in different contexts, you could assign one value to it and dereference a different value 16:33:38 that's why your type's '_a, it's so that if you give it a string ref as an argument you can't use it as an int ref later 16:33:49 I think fprintf doesn't have that problem because the type's more constrained 16:34:05 but 16:34:08 they're exactly the same 16:34:13 i mean 16:34:23 # output_string;; 16:34:23 - : out_channel -> string -> unit = 16:34:24 # print_string;; 16:34:26 - : string -> unit = 16:34:28 why the differing results 16:34:53 what's the type of (fprintf stdout)? 16:35:21 wtf 16:35:21 - : (unit, '_a) fmt -> '_a = 16:35:23 ok 16:35:27 so you only get '_a if it's Right There 16:35:31 what the fuck ocaml. 16:36:00 i mean seriously what. 16:37:08 oh god. I just created a monster. 17:03:33 ais523: reader excersise: 17:03:41 make them work for a scanf-alike, too 17:03:42 the same functions 17:03:43 :D 17:04:28 -!- Judofyr_ has joined. 17:07:17 -!- Judofyr_ has quit (Remote closed the connection). 17:12:17 nobody wants to inquire about my monster i see ;P 17:12:18 *:P 17:13:12 it's like one of those esolangs that impresses everyone but nobody wants to think about 17:14:17 oh, not that monster. 17:14:22 i have two :-D 17:15:51 -!- Judofyr has quit (Read error: 110 (Connection timed out)). 17:16:29 what's the other one? 17:18:11 i'd say it but it's not even clever, just awfu 17:18:11 l 17:22:47 hmm 17:22:58 * ehird adds options to the formatters 17:23:06 well, if you can. 17:23:25 val string_of_int : int -> string 17:23:25 Return the string representation of an integer, in decimal. 17:23:27 no options :( 17:26:25 -!- BeholdMyGlory_ has joined. 17:26:50 -!- BeholdMyGlory has quit (Nick collision from services.). 17:26:54 -!- BeholdMyGlory_ has changed nick to BeholdMyGlory. 17:31:57 ais523: you know what sucks about ocaml 17:31:59 its mutable strings SUCK 17:32:12 why pick on strings in particular? 17:32:14 what about them don't you like 17:32:22 they're mutable, but fixed length. 17:32:41 oh, really? 17:32:47 yep. 17:32:49 I'm pretty sure there's an operation to extend a mutable array... 17:33:00 yes you have to do it manually 17:33:02 that's ridiculous 17:33:05 low level as hell 17:33:08 -!- Judofyr has joined. 17:33:33 ehird: ocaml imperative stuff is all really low level 17:33:38 it reminds me of garbage-collected C 17:34:56 ais523: are records Good To Use? 17:35:06 everything in OCaml is fair game 17:35:21 that's cool. I like that. 17:35:30 ais523: is it because it's loose, or because there's not much cruft? 17:36:05 because it's designed to be paradigm-flexible 17:36:15 you're supposed to mix bits of it according to what best fits what you're doing 17:36:56 Error: The record field label a is not mutable 17:36:57 lol wu 17:36:58 t 17:37:05 you can mark fields mutable 17:37:09 but they're read-only by default 17:37:10 how :P 17:37:14 "mutable" 17:37:17 it's a keyword 17:37:24 I can't remember exactly where you put it 17:37:24 although I don't really need mutability 17:37:25 silly me 17:37:30 but you should be able to find where by experimenting 17:37:44 how do you copy-and-modify? 17:37:48 record{foo=bar}? 17:37:50 that's how haskel ldoes it 17:40:18 there is definitely a syntax for it 17:40:25 I can't remember what it is offhand, though, I've never used it 17:41:30 let lit s : ('a, 'a) fmt = 17:41:30 fun k -> k (fun r -> {length=r.length+String.length s; chunks=s::r.chunks}) 17:41:32 ugly 17:41:34 :( 17:42:59 let append_to_buf r s = 17:42:59 { length = r.length + String.length s 17:43:01 ; chunks = s :: r.chunks } 17:43:03 better 17:45:53 # (lit "abc" % lit "def" % str) (fun k -> k) "abc" {length=0;chunks=[]};; 17:45:53 - : fmt_buf = {length = 9; chunks = ["abc"; "def"; "abc"]} 17:45:55 Getting there. 17:49:14 except I need to use a queue instead, urgh 17:49:17 ... wait, why do I? I don't. 17:57:41 ais523: how can I alias a module? 17:57:43 Data.Mutable.Queue -> Queu 17:57:44 e 17:57:50 module Queue = Data.Mutable.Queue;;? 18:07:29 ais523: my code is slowly becoming a lot uglier and a lot more efficient 18:07:30 oh well 18:07:36 Happy Australian Mailman Reminders Day! 18:08:48 yay!! 18:09:22 ais523: I propose we rename it to "Australian Mailman Mailing List Memberships Reminders Day" 18:09:32 in the spirit of accuracy 18:10:02 also, ais523, are you sure you don't know how to alias a module in ocaml? :P 18:10:24 I don't know all that much OCaml 18:10:33 I just know the subset of it that I've used on my University project 18:11:30 okay, now my code is pseudo-imperative-functional 18:11:38 in usage, it's functional, but it mutates like hell behind the scenes 18:11:48 a good mix 18:13:30 # sprintf (lit "aaa");; 18:13:30 - : unit = () 18:13:32 Hmm. 18:13:36 oh 18:13:52 shit 18:13:55 it doesn't work properly 18:14:38 i broke it, somehow 18:15:09 # sprintf (str % str) "a";; 18:15:09 Error: This expression has type 18:15:11 (string, string -> string) fmt = 18:15:13 ((fmt_buf -> unit) -> string) -> string -> string 18:15:15 but is here used with type 18:15:17 (string, string) fmt = ((fmt_buf -> unit) -> string) -> string 18:15:19 :| 18:15:40 oh 18:15:46 sprintf has one of those stupid collapsing '_a types 18:16:30 grah, and I can't fix it 18:17:11 I wonder what the heck '_a even means 18:23:27 ais523: 18:23:28 # Obj.magic;; 18:23:29 - : 'a -> 'b = 18:23:35 It's always there, somewhere. 18:23:38 yes 18:23:44 Some sort of hidden urge in FP implementor's minds. 18:23:45 I've seen an implementation of it lying around 18:23:47 It eats their brain. 18:23:53 however, it generally causes segfaults in OCaml 18:24:04 And then you see it. Quoth the type signature, "forall a and b, a to b." 18:24:22 # (Obj.magic Obj.magic : int);; 18:24:22 - : int = 136244 18:24:27 I was expecting 666. 18:26:39 ehird: did you write it? 18:26:42 or find it in the library 18:26:46 ah, Obj.magic is its name 18:26:57 that was what my silly talking above was 18:27:00 it always shows up somewhere 18:27:09 in haskell, Unsafe.Coerce.unsafeCoerce 18:27:13 in OCaml, Obj.magic 18:27:56 anyway, I like ocaml 18:28:07 it's both a heavy-duty C competitor and a scripting language 18:28:12 Haskell sort of lies in between those 18:29:35 I wonder how to implement a queue on top of lists efficiently 18:29:40 I don't wanna use Queue any more, it's too imperative 18:32:00 actually, I'm surprised how functional my imperative code looks 18:32:26 see for example http://abcdefg.pastebin.com/f59a924d6 18:33:32 well, OCaml proves that functional and imperative aren't that different after all 18:34:10 The type constructor Fmt.buffer would escape its scope 18:34:12 lol wat 18:34:36 it leads to massively obscure error messages, though 18:34:45 just become french. 18:34:46 like Slereah 18:34:48 he'd love ocaml 18:45:50 ais523, hi there 18:45:58 hi 18:46:09 ehird: I thought Slereah liked laziness 18:46:09 ais523, IFFI needs updating for cfunge trunk 18:46:27 I pushed a fix to my copy (which work with cfunge trunk but not last release) 18:46:32 not sure when release will be out 18:47:56 maybe I should do something like #define CFUNGE_VERSION 0x000303 and then use lots of #if CFUNGE_VERSION > ... #else 18:48:22 would only be in effect from next release though 18:48:27 * AnMaster considers a scheme for it 18:49:04 gah, this is irritating 18:50:01 like 0xAABBCCD for aa.bb.cc release and D for "not release but svn after this release" 18:50:07 err 18:50:09 s/svn/bzr/ 18:50:23 * AnMaster has been working too much on projects using svn recently 18:50:27 make it 18:50:31 #define CFUNGE_MAJOR 18:50:34 #define CFUNGE_MINOR 18:50:37 #define CFUNGE_FUCKING_TINY 18:50:43 #define CFUNGE_MINUS_SIZED_VERSION_PLACEMENT 18:51:44 ehird, yes but that means you need to do: #if (CFUNGE_MAJOR > 4) || ((CFUNGE_MAJOR = 4) && (CFUNGE_MINOR > 2)) 18:51:48 or something like that 18:51:53 AnMaster: make: 18:51:57 CFUNGE_CHECK_MAJOR 18:51:58 CFUNGE_CHECK_MAJORMINOR 18:52:00 CFUNGE_CHECK_MAJORMINORFUCKINGTINY 18:52:04 CFUNGE_CHECK_MAJORMINORFUCKINGTINYMINUSSIZEDVERSIONPLACEMENT 18:52:05 ouch 18:52:06 so you can do 18:52:16 CFUNGE_CHECK_MAJOR_MINOR(4, 2) 18:52:21 and suchlikes. 18:52:28 can you use macros in #if? 18:52:32 yes 18:52:40 hm 18:52:44 hmm, I should write a replacement cpp for C 18:52:49 it'd save a lot of trouble 18:52:51 ehird, using m4 18:52:52 :P 18:53:15 nah, I'd just make it a lambda calculus with two types: macro, and parenizedstring 18:53:27 (parenizedstrings automagically add () on catenation) 18:54:38 why is there a reverse correlation between how much a GCC option actually helps and how cool it's name sound? 18:54:42 heh 18:54:59 -fbranch-target-load-optimize2 sounds very cool but isn't really 18:55:24 btw man page says: "Perform branch target register load optimization after prologue / epilogue threading." for it 18:55:36 # repeat n x = if (x == 0) {} (x $ repeat (n - 1) x) 18:55:36 int main(){ repeat (5) { printf("Hello, world!\n"); return 0; } 18:55:40 same binary with and without it seems 18:55:46 err with } after printf 18:55:53 right... 18:56:02 ehird, what sort of language are you trying to simulate there... 18:56:46 also # repeat n x = if (x == 0) {} (x $ repeat (n - 1) x) isn't valid C preprocessor, or do you mean that is how your replacement would look? 18:57:50 AnMaster: lambda calculus, and the latter 18:58:00 { } are parenstring literals 18:58:01 mhm 18:58:05 binary operators, too 18:58:13 (foo SYMBOLS bar) is (SYMBOLS foo bar) 18:58:20 apart from that, regular LC 18:58:28 repeat (5) { ... } looks like C, but actually it's 18:58:32 ((repeat 5) {...}) 18:58:35 where {...} is a parenstring 18:58:50 ehird, that reminds me, what do you think of this (example from an existing non-esolang): 18:58:52 factorial = func(n) { if(n == 0) { 1 } 18:58:52 else { n * factorial(n-1) } } 18:59:06 uh, that's thoroughly boring 18:59:15 ehird, yes but it looks lispy 18:59:18 not really. 18:59:33 -!- zzo38 has joined. 18:59:52 (of course it should use an accumulator yes, it was some syntax example) 19:00:21 is it JS? 19:00:26 it's valid JS 19:00:32 ehird, no. It is a language you probably never heard of 19:00:40 named? 19:00:43 Nasal 19:00:52 snot a very good name 19:00:59 ehird, hm? 19:01:03 does it have anything to do with demons? 19:01:04 nasal = nose = snot 19:01:07 and ehird was making a pun 19:01:09 ais523, no 19:01:14 ah 19:01:18 snot = nasal mucus --answers.com 19:01:22 err 19:01:24 snot = 's not = it's not 19:01:28 aha! 19:01:33 that was the missing link 19:01:51 I want some feedback about what opinion you have about [[CLCLC-INTERCAL]] so far. I will add more suggestion even to the page. 19:01:53 ais523, also why do you ask about demons? 19:02:02 AnMaster: have you ever heard of nasal demons? 19:02:06 zzo38, CLCLC? 19:02:08 zzo38: it would be more interesting with an implementation 19:02:10 ais523, no 19:02:27 NOOPTIMISE,OPTIMISE: Selects optimiser on/off. 19:02:29 AnMaster: how have you managed not to hear of those? 19:02:32 shouldn't that be a compiler option 19:02:37 ehird, where is it? 19:02:39 How would I make a implementation? In JavaScript? 19:02:44 ais523, ? 19:02:46 AnMaster: guess (the esolang wiki) 19:02:49 zzo38: INTERCAL is traditionally hard to implement 19:02:51 zzo38: by writing an implementation? 19:02:52 ais523, oh you mean "demon out of nose"? 19:03:03 you might want to try to modify the existing CLC-INTERCAL implemenation 19:03:05 ais523, from undef 19:03:07 AnMaster: yes 19:03:18 ais523, right. 19:04:19 nasal has a rather quirky syntax for being a mainstream embedded scripting language. 19:04:25 I could try modifying CLC-INTERCAL if I have Perl. I will try that soon enough I guess. 19:04:37 you'll have years of fun reading the source 19:05:05 I suspect Claudio Calvelli is the only person who really understands the source, and I'm the only other person who has the faintest idea what's going on in it 19:05:23 Another thing is now gopher can use client-brainfuck. So there is a use for esolangs. The only thing is if it could be made faster 19:05:49 zzo38: is that really what non-esolangers would consider a use for esolangs, though? 19:05:51 ehird, hm threading in python seems as far as I understand to be mostly single threaded (lots of locking) 19:05:51 there are other uses 19:05:56 they make great puzzles 19:06:01 ehird, or have I misunderstood it? 19:06:13 19:05 zzo38: Another thing is now gopher can use client-brainfuck. So there is a use for esolangs. The only thing is if it could be made faster 19:06:15 and nobody's ever written a Forte interpreter in a non-esolang 19:06:17 why does it need to be faster? 19:06:25 AnMaster: see multiprocessing module 19:06:40 apparently there are people who use brainfuck derivatives to teach programming 19:06:51 and personally, I think tarpits are a great way to learn new paradigms 19:07:14 I know a guy for whom BF was his first language. He's an awful programmer. 19:07:19 ehird, I was reading about the GIL (global interpreter lock) and it seemed to work like as soon as you access any python object you need to hold it... 19:07:27 AnMaster: multiprocessing 19:07:28 * AnMaster checks multiprocessing module 19:08:01 I made a hangman game on gopher client-script gopher://zzo38computer.cjb.net/@Bgames/hangman/ but you need a compatible client. So far the only one is http://zzo38computer.cjb.net/vonkeror/ and the source-code for the hangman game is at [[BrainClub]] 19:08:31 Which person was BF his first language? 19:08:42 "effectively side-stepping the Global Interpreter Lock by using subprocesses instead of threads" :/ 19:08:50 AnMaster: fork() > pthreads. 19:08:55 zzo38: random person I know 19:08:57 I might try vonkeror. 19:09:03 ehird, Larger overhead though. 19:09:11 AnMaster: not on any decent UNIX. 19:09:20 actually, smaller overhead on Linux, IIRC 19:09:27 ais523, heh really? 19:09:43 * The unary operators OR,XOR,AND, and division, do not exist. 19:09:48 Erm, is it TC with that? 19:09:49 AnMaster: because they both use processes 19:09:54 and pthreads has more bookkeeping 19:09:55 Vonkeror is a web-browser I wrote but it includes gopher support as well, better than other web-browser's gopher supporting. I used brainfuck instead of JavaScript as the gopher client-script because JavaScript is too complex for a simple protocol such as gopher 19:10:04 fork() is COW yes, but I guess you could share memory with shm then... 19:10:10 zzo38: based on conkeror I assume 19:10:17 ehird: zzo38 added a generalised operator that can do OR, XOR, and AND, amongst other things 19:10:21 ah 19:10:27 and unary division has never been particularly useful, that's why it was added 19:10:29 ehird, conkeror? konqueror? 19:10:33 conkeror. 19:10:36 hm ok 19:10:38 http://conkeror.org/ 19:10:41 confusingly similiar 19:10:44 emacs-esque web browser based on firefox. 19:11:00 ais523, unary division... Semantics? 19:11:03 Yes, I added the "cellular automaton" operator (not implemented yet). I have to write how the cellular automaton numbers are specified, which will be different than normal cellular automaton numbers (because, it is INTERCAL) 19:11:03 one of them's probably breaching the other's trademark 19:11:11 AnMaster: x / (x>>1) 19:11:25 I can't remember whether it's signed or unsigned, probably unsigned, or maybe there's a compiler option 19:11:25 also where is this CLCLC-INTERCAL? 19:11:30 esolang wiki 19:11:31 like always 19:11:34 k 19:11:43 ais523: erm 19:11:46 isn't that identity 19:11:53 wait, no 19:12:46 ehird, hm this multiprocessing seems a lot harder to use from the C side though... 19:13:25 I don't think we are violating any trademark for Conkeror anyways, the Conkeror people did not complain about trade-mark violation and anyways they are planning to change the name of Conkeror anyways so when that happens the name will not be similar 19:14:16 Vonkeror is a web-browser I wrote but it includes gopher support as well, better than other web-browser's gopher supporting. I used brainfuck instead of JavaScript as the gopher client-script because JavaScript is too complex for a simple protocol such as gopher <-- better than lynx gopher support? 19:15:34 As far as I know in Lynx (the last time I have tried anyways) it sometimes doesn't use proper line-breaks on gopher menus. And I don't really know for sure, but Vonkeror has better gopher support than *most* web-browsers anyways, including some extra features, but some features are untested and I'm not sure if they work perfectly yet 19:16:38 * ehird downloads xulrunner. 19:17:13 zzo38: does it work on non-windows? 19:17:54 vonkeror that is 19:18:02 Yes, Vonkeror works on all operating systems that XUL runner will work on. It's just that some things in Vonkeror work on Windows that didn't work in Windows in Conkeror, but it still works on UNIX as wel 19:18:22 x/(x>>1) = 2 + (x&1)*2/(x-1) 19:18:47 that's a rather pointless transformation. 19:18:50 so it works better on Windows and just the same on UNIX? 19:18:58 hm I have a question about XUL runner. How much of firefox is written in C/C++ and how much is written in XUL/js/whatever-non-compiled 19:19:04 AnMaster: half half 19:19:09 really hm 19:19:10 all UI is xul/js 19:19:15 most else is C++ 19:19:17 ehird, that is excluding xul itself 19:19:18 I mean 19:19:20 I know 19:19:27 right 19:19:33 No, it works good on Windows and UNIX. But Conkeror has some features not working on Windows. In Vonkeror, these features work on Windows too, in addition to still working on UNIX. 19:20:19 eek, Vonkeror.zip extracts into the current directory instead of a new one 19:20:50 Then create a new directory. You should always list an archive first before extracting it, that's what I always do. 19:20:54 ehird, ouch that sucks 19:21:04 zzo38, still bad style 19:21:08 AnMaster: not zips 19:21:10 it's common for zips 19:21:11 i just forgot 19:21:13 ah 19:21:18 I'm used to .tar 19:21:19 zzo38: I've been meaning to write a script that does that, then unwraps the directories one level if it makes its own directory 19:21:25 and a tar doing that would be considered a sin 19:21:31 so blah.zip with (a, b, c) goes to blah/a, blah/b, blah/c 19:21:37 and blah.zip with (blah/a, blah/b, blah/c) goes to the same 19:22:03 ehird, how would this handle blah.zip with (foo/a, foo/b, foo/c) ? 19:22:11 OK. So if I ever create a tar (or tar.gz or tar.bz2) archive, I will remember to make its own directory in the archive 19:22:14 if it uses some unrelated name it could be confusing 19:22:17 AnMaster: blah/{a,b,c} 19:22:45 ehird, interesting *writes a program depending on directory name being foo and puts it in blah.zip* 19:23:02 that's some rubbish application 19:23:04 :D 19:23:08 yeah 19:23:09 zzo38: ok, going to try vonkeror 19:23:23 zipbombs are very common, tarballs get you shouted at 19:23:26 ehird, but lots of apps on windows have such issues... 19:23:26 *tarbombs 19:23:40 ehird, like MS Office iirc 19:24:00 though that uses *.msi 19:24:13 ais523: really, zip has it right here, it's silly to put that in the file itself 19:24:41 zzo38: where is vonkeror.api? 19:25:06 hm 19:25:13 does xulrunner leak as much as firefox? 19:25:13 What does vonkeror.api means? I don't think there is a file like that. 19:25:17 err 19:25:18 .xpi 19:25:21 I mean, where is the memory hogging 19:25:27 xulrunner or firefox 19:25:29 AnMaster: everywhere 19:25:32 oh 19:25:34 I see 19:25:34 O. You mean .xpi. There is no .xpi you have to install it manually 19:25:38 ah ok 19:25:58 xulrunner is weird on this os 19:26:00 so I can't do the regular way 19:27:10 zzo38: what object hierarchy does your BF-gopher thing use? 19:27:21 hm " xulrunner is weird on this os", from what I heard that seems to apply to most open source projects on OS X... 19:27:33 that is, most non-OS X specific ones 19:27:47 OS X has its own style that's different from most OSs 19:27:50 zzo38: here's how you "compile" vonkeror: 19:27:58 xulrunner-bin --install-app Vonkeror.zip . 19:28:07 that will give you a conkeror program in the current directory 19:28:08 The files for the BF-gopher are: /content/conkeror.css /content/client-brainfuck.css /modules/brainfuck.js /modules/gopher.js 19:28:23 ais523, true wasn't it s/.so/.dynlib/ or something 19:28:28 forgot what the name was 19:28:39 -!- appletizer has joined. 19:28:42 I'm sure ehird knows 19:28:42 so if a program acts perfectly normally, it seems weird on OS X 19:28:46 because OS X isn't normal 19:28:51 -!- kar8nga has quit (Read error: 110 (Connection timed out)). 19:28:52 zzo38: OK, Vonkeror works 19:28:55 ais523, ah right! 19:28:58 -!- appletizer has left (?). 19:29:01 why is the titlebar green? 19:29:24 ehird, screenshot 19:29:31 That's the tab-bar which is green. The active tab is green and non-active tabs are gray. If you don't like it, modify content/conkeror.css 19:29:32 I can imagine it looks weird on OS X... 19:29:38 http://zzo38computer.cjb.net/vonkeror/screenshots/screenshot_001.png 19:30:58 zzo38: I'll try gopher://zzo38computer.cjb.net/@Bgames/hangman/ now 19:31:31 hi zzo38! 19:32:21 hmm 19:32:28 does vonkeror let you go to an absolute url in the current buffer? 19:32:33 C-l is relative and C-t makes a new tab 19:33:15 Yes. You just have to include the protocol in the URL. For example, type C-l and then start typing over the highlighted text, such as http://esolangs.org/ 19:33:19 ehird, how does vonker look on OS X? 19:33:41 vonkeror* 19:33:44 zzo38: oh okay 19:34:59 zzo38: I like how gopher looks like an old terminal 19:35:05 in vonkeror 19:36:00 iForget Web 2.0. The time has come for Gopher 2.0. 19:36:05 i can't wait for the media coverage 19:36:12 One of the design rules of Vonkeror is NO ICONS. So if you access a gopher menu (just try any one) you will not see icons but rather the type code, and they are color coded also 19:36:27 "Hacker tool gopher, once defeated by good american values, has now been reborn and evil is spreading through it once again!" 19:37:56 "Compiler version: FreeBASIC v0.20.0b" -- gopher://zzo38computer.cjb.net:70/0aboutgophserv 19:37:57 :-D 19:38:22 I doubt it will get media coverage. But if there is it might be like that. Maybe I will add that quote to my FORTUNE file in case anyone looks 19:38:29 what, the gopher server's written in BASIC? 19:38:51 it's zzo38's 19:38:52 I think 19:39:37 Yes, I wrote GOPHSERV in FreeBASIC. (The other HTTP+gopher server in FreeBASIC is Grumpy but mine doesn't share the code. Anyways mine supported gopher first) 19:40:09 zzo38: I like how you can click on a download to copy the URL, did you add that or conkeror? 19:40:17 ais523: gophserv source --> gopher://zzo38computer.cjb.net:70/5gophserv/gophserv.zip 19:41:05 I didn't even realise it was possible to send files over Gopher 19:41:07 zzo38: it's only 177 lines? 19:41:09 FTP and HTTP, yes, but Gopher? 19:41:14 That copy URL function was there before Vonkeror 19:41:26 well, + 389 for the server side scripting language 19:41:33 that's really tiny 19:41:40 i Forget Web 2.0. The time has come for Gopher 2.0. <-- I told you that before... 19:41:48 that was from zzo38's site 19:41:54 oh 19:42:06 zzo38: is there any example for go5? 19:42:48 There's the URL: handler, in the same directory as GOPHSERV on my gopher site. 19:42:56 ok 19:43:13 ais523, upload you mean? 19:43:19 no 19:43:20 download 19:43:29 ais523, download of course works 19:43:49 Pie are not square. Pie are round. Cornbread are square 19:43:53 I like this fortune db 19:44:01 why do people use http not gopher, if both can send arbitrary files? 19:44:23 ais523: well, you'd have to make links gopher-style to use html with gopher 19:44:25 also, no POST 19:44:42 there wouldn't really be any point, if you use HTML, to use gophre 19:44:43 why would you have to make links gopher-style? 19:44:44 gopher 19:44:48 ais523: because that's how gopher works 19:44:49 I use both HTTP and Gopher, and so do other people who like Gopher protocol. But Gopher is still used much more rarely than HTTP 19:45:14 zzo38: you should invent a way to make a site over the "finger" protocol 19:45:29 http://tools.ietf.org/html/rfc742 19:45:35 hypertext 1977! 19:45:42 (boring new version: http://tools.ietf.org/html/rfc1288) 19:46:03 The "finger" protocol is close enough to gopher that you can make a site over the finger protocol, just make sure to use the URL gopher://host:port/0selector (remember the zero and it will work with finger too!) 19:46:23 that really works? 19:46:28 cool! how would you do multiple pages? 19:46:45 -!- Sgeo has joined. 19:46:58 Yes. The Mozilla built-in gopher doesn't support that because it always uses port 70, but Vonkeror accepts any port so you can do that. Just set the port number to 79 and it will work 19:47:21 hmm 19:47:37 It's zzo38! 19:47:41 HI all 19:47:42 Sgeo: Observant! 19:47:45 I wonder if there are any good fingerds 19:48:38 ehird, tried google ;) 19:48:51 AnMaster: yes. 19:48:57 they all look bloated 19:48:58 s/e /e? / 19:49:01 hm ok 19:49:51 Use GOPHSERV to serve even finger if you don't need some of the features specific to finger 19:50:04 zzo38: where is the gopher hangman source? 19:50:06 ehird, this multiprocessing module in python looks rather cumbersome to use hm 19:50:12 AnMaster: not really. 19:50:13 AnMaster, s/\?/\\\?/ 19:50:32 Sgeo, I don't think ? have a special meaning in the replacement 19:50:34 or does it? 19:50:37 Oh 19:50:41 n/m then 19:50:44 Sgeo, for sed that is 19:50:46 s/e /e? /-> e? hird, tried google ;) 19:50:56 ehird, fail 19:50:57 The gopher hangman was written in BrainClub and you will find the code on the wiki. To view any gopher resource as plain-text in Vonkeror (to view the compiled code), push M-0 (this works only for gopher. For HTTP, use C-u instead) 19:51:02 ehird, the matching pattern has a space 19:51:03 ehird, notice the space after the e 19:51:07 oh. 19:51:10 there's no space in ehird.. or is there? 19:51:20 ehird, any fixed font user would see this... 19:51:23 :P 19:51:26 I did see it, I just misread 19:51:45 Is ehird not using a fixed font? 19:52:02 zzo38, what about a wiki over gopher? 19:52:07 is that even possible? 19:53:00 Sgeo, he might have changed recently, but a few weeks/months ago he said he didn't 19:53:05 zzo38: so you just give back brainclub and it interprets it? 19:53:21 was that brainclub created with that forth thing you made with it?> 19:53:35 Sgeo, because a variable width one looked nicer on irc or something 19:53:36 I guess you could use +ASK forms to send data. Another idea I have (which I will implement one day) is an item code that causes it to retrieve text (as code 0) but allow editing, and then after editing, send the modified contents back to the server. Of course any fields would have to be included in the text instead of other form fields, it could be done like MIME headers on e-mail, or in other ways 19:53:38 less useful though 19:53:44 +ASK forms? 19:54:13 zzo38, hm yes the +ASK ones could work.. but isn't the length limit rather short? 19:54:18 Vonkeror interprets client-brainfuck. I compiled the brainclub file using the compiler (that is on the esolang wiki also, it also requires xulrunner) 19:54:21 + iirc the edit box tends to be a single line 19:54:46 zzo38: is it possible to make a to-brainclub compiler in the language? 19:55:04 I think there is a type for a multi-line field. Vonkeror allows you to change the number of lines that will be displayed for a multi-line field in a gopher +ASK form (by default 8, but you can make it whatever you want) 19:55:16 zzo38, hm ok.. 19:56:23 You wouldn't really compile into brainclub, you would compile *from* brainclub *into* brainfuck. Because Vonkeror doesn't compile or interpreter brainclub, it just optimizes and converts brainfuck into JavaScript (using the "yield" command for input) 19:56:24 zzo38, wait +ASK needs Gopher+ right? 19:56:29 err, right 19:56:31 I meant 19:56:31 oh right 19:56:38 could you make brainclub->client-brainfuck in brainclub 19:56:40 I was thinking of the search stuff then 19:56:42 or would it be too hard? 19:56:46 right +ASK is different. 19:56:59 Yes, +ASK needs Gopher+. Vonkeror partially supports Gopher+ (but I'm not sure whether or not it is implemented correctly, but I do know that non plus gopher works perfectly OK) 19:57:15 right 19:57:44 You could try to make brainclub->client-brainfuck in brainclub if you wanted to, I guess, you just need a EOF marker 19:58:04 reading a word would be hard, I think 19:59:10 where are specs for brainclub? 19:59:26 http://zzo38computer.cjb.net/brainclub/brainclub.js 19:59:32 and http://zzo38computer.cjb.net/brainclub/core.bcl 19:59:37 the specs are written in javascript? 19:59:45 yes 19:59:54 beats english 19:59:54 There are no specs, just the JavaScript code to compile it 20:00:04 ehird, just implementation no spec 20:00:05 right 20:00:08 that's a spec. 20:00:14 it defines how the language works 20:00:36 lockless, waitless data structures are fun 20:02:37 there should be a client unlambda 20:02:48 why not 20:03:25 zzo38: What are the commands new in client brainfuck to brainfuck? 20:04:20 Only two commands * to switch tapes and ~ to switch pointers. 20:04:32 there are two tapes? 20:05:21 Yes, two tapes, so you don't have to add all sorts of data to the tape in order to measure where you would go back to, you just have two tapes so you don't need to do that. 20:05:23 how unfeasible would a lockless garbage collector be? I mean most GCs seems to pause the threads while collecting... but could you somehow skip that 20:05:36 not even pause the thread it is collecting for 20:05:45 ... 20:05:51 are you stuck in the 80s? 20:05:54 (a private heap per thread could otherwise be used to not pause any other threads) 20:05:55 gcs have been parallel for _decades_ 20:06:03 ehird, not most open source ones 20:06:07 :/ 20:06:10 umm... no 20:06:12 parallel generational GC 20:06:13 google t 20:06:14 it 20:06:18 a sec 20:06:29 zzo38: Then client unlambda wouldnt' require anything new as it already works fine with things like that 20:06:46 research.microsoft.com... 20:07:40 -!- lifthras1ir has quit (Remote closed the connection). 20:08:41 I used client brainfuck instead of client unlambda because someone who wants to write a gopher client that supports it can write it more quickly and easily than an unlambda interpreter, brainfuck interpreters are much easier and quicker to write 20:08:58 Unlambda interpreters are not much harder 20:09:03 You don't have to balance brackets 20:09:06 so an unlambda could be shorter 20:09:08 But if you want to implement client unlambda, feel free to do such a things anyways 20:09:21 ah not related... 20:09:24 they are a lot harder 20:09:33 oklopol: err i don't think so 20:09:35 i do 20:09:44 We focus on parallel, rather than concurrent, collection. In a concurrent collector the mutator and collector run at the same time, whereas we only consider garbage collecting in parallel while the mutator is paused." 20:09:50 zzo38: isn't it just connecting the terminal to a web buffer? 20:09:52 from a pdf discussing GHC 20:09:54 ehird, ^ 20:10:07 I mean what this calls a concurrent collector 20:10:13 AnMaster: ok, i meant parallel concurrent generational GC 20:10:18 hmm 20:10:24 ehird, hm ok *googles* 20:11:00 -!- BeholdMyGlory has quit (Remote closed the connection). 20:11:29 seems java has that... 20:11:38 it does 20:11:46 + it's open source, so go take a look at it 20:11:54 ehird, well any one for C? 20:12:13 AnMaster: you can't make a good GC for C 20:12:17 iirc boehm-gc isn't concurrent, it can be parallel though 20:12:18 because memory is just flat ints 20:12:20 ehird, well true 20:12:21 and pointers 20:12:25 you cannot have a precise GC for C 20:12:35 that's why you don't use C apart from to implement a languag. 20:12:37 *language 20:12:37 ehird, unless you include metadata 20:12:55 you could do it with some compiler support maybe, a variant of C perhaps 20:13:22 C++ new stuff would have the needed type info for example, while malloc() doesn't 20:13:30 you would have to remove pointers 20:13:33 case in point 20:13:39 -!- BeholdMyGlory has joined. 20:13:42 int *a = malloc(458743598734985793457983457345); write_to_file((int)a); 20:13:43 a = 0; 20:13:46 gc(); 20:13:52 ehird, true 20:13:53 a = read_from_file(); 20:13:59 oh crap, a is a dangling pointer. 20:14:01 ehird, but I don't think that is well defined either 20:14:04 sure it is 20:14:05 ehird: I think technically speaking you aren't allowed to do that in C 20:14:08 ais523: why not 20:14:12 the C standard has all sorts of restrictions on what you can do with pointers 20:14:15 ehird, nasal demons 20:14:16 specifically so garbage collection works 20:14:32 hrm 20:15:48 -!- zzo38 has quit ("I'm doing something else now, I will continue to look at the log in case I missed something"). 20:17:49 anyway has a TTF Lucida around? 20:17:59 lucida mono? 20:18:00 lucida sans? 20:18:29 ehird, whatever makes this website saying font-family: Lucida not use the bitmap Lucida 20:18:35 this rendering less horribly 20:18:39 thus* 20:18:40 that's not helpful 20:19:09 Lucida, Medium 20:19:10 I guess 20:19:20 sans or mono 20:19:21 it seems to be sans from the look of it 20:19:26 People need to replace the term "GLBT" with "GBLT". Support your local gay bacon lettuce and tomato sandwich. 20:19:39 ehird, I have dfont conversion tool around nowdays 20:19:40 btw 20:19:44 gay bacon? bacon from gay pigs? 20:20:05 hmm, looks like I only have lucida grande. 20:20:15 ehird, I have that one too 20:20:36 ln -s lucidagrande.ttf lucida.ttf 20:20:38 close enough. 20:20:53 "font-family:Tahoma,Lucida,Geneva,Helvetica,Arial,sans-serif;" and that renders with Lucida bitmapped. 20:20:58 hm 20:21:06 ehird, hm What about Tahoma then? 20:21:18 I don't have that one at all 20:21:25 tahoma is an ugly MS font 20:21:27 like really, really ugly 20:21:31 ah ok 20:21:33 like oh my god my eyes fell out 20:21:47 right sounds familiar 20:21:56 AnMaster: imagine verdana, right? now make it uglier. 20:22:13 ehird, verdana is like an uglier Arial... 20:22:21 verdana is like an ugly, chunky arial. 20:22:29 and Arial isn't too bad in fact 20:22:48 arial is awful 20:22:50 I mean, not the best font, but not the worst either 20:22:52 because it's a cheap ripoff of helvetica 20:22:59 ehird, yes 20:23:05 i'm not even exaggerating 20:23:10 99% of people couldn't tel lthe differnce 20:23:14 http://www.ms-studio.com/articlesarialsid.html 20:25:12 ehird, heh 20:29:56 http://en.wikipedia.org/wiki/OCaml#Triangle_.28graphics.29 i love how simple this is 20:35:33 ehird, it doesn't work 20:35:35 as written there 20:35:38 yes it does 20:35:40 File "simple.ml", line 2, characters 11-20: 20:35:40 Unbound value Glut.init 20:35:44 no it doesn't 20:35:53 this c program doesn't work 20:35:55 it says cannot find library 20:35:58 the C program is broken 20:36:05 ehird, so where would the library be? 20:36:09 AnMaster: install lablgl. 20:36:24 hm ok 20:36:51 [ehird:~/Downloads/ocaml-3.11.0] % ./configure -tk-no-x11 -cc "gcc -m64" 20:36:51 Configuring for a i686-apple-darwin9.6.0 ... 20:36:52 The C compiler is ANSI-compliant. 20:36:54 Checking the sizes of integers and pointers... 20:36:56 Wow! A 64 bit architecture! 20:36:58 wow! :DDDD 20:36:59 hah 20:37:00 it's so surpsied 20:37:02 *surprised 20:37:33 ehird, that isn't the usual autoconf configure at all, 20:37:40 there is no "checking if build environment is sane" 20:37:48 it's not autoconf 20:37:53 ot 20:37:55 it's custom 20:38:02 ah 20:38:13 [ebuild N ] dev-ml/lablgl-1.03-r1 USE="glut ocamlopt tk -doc" 381 kB 20:38:22 had to enable glut useflag too.. 20:38:47 ehird, odd that ocamlc error 20:38:50 Unbound value Glut.init 20:38:53 since it said: 20:38:58 $ ocamlopt -I +lablGL lablglut.cmxa lablgl.cmxa simple.ml -o simple 20:39:06 shouldn't it be something like "lablgl.cmxa" not found 20:39:08 or whatever 20:39:13 nah 20:39:16 well, dunno. 20:39:36 I mean C compilers tend to say "no such header" as well as "no such symbol" 20:39:54 ehird, blergh not colourful! 20:40:01 just white 20:40:03 and black 20:40:07 whine :P 20:40:23 ehird, I want ray tracing too! and radiocity or whatever it is called 20:40:30 now that would rock in hardware 20:40:43 would be cool 20:40:43 radio city 20:40:49 nah 20:41:15 ehird, I'm pretty sure I have seen it as one word 20:41:23 maybe I typoed yes 20:41:44 ah yes radiosity 20:42:46 gcc test.c 20:42:58 GregorR, hm yes? 20:43:02 look for a.out 20:43:03 test.c: 3: Error in #include : 404 File not found 20:43:11 GregorR, very funny 20:43:16 I disagree :P 20:43:29 GregorR, oh right I forgot the ~ 20:53:41 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)). 20:56:10 -!- BeholdMyGlory has joined. 21:13:14 -!- Mony has joined. 21:16:50 -!- oerjan has joined. 21:17:12 Think of the log-reading children! 21:19:33 Children that read these logs will become educated in things children generally aren't educated in. 21:19:51 yes. yes that is true. 21:20:46 higher math, functional programming and stuff. 21:21:31 higher math, where? 21:21:39 oklopol: here, occasionally 21:21:51 Sometimes Gauss joins while smoking pot. 21:21:59 hmm. yes, i guess kerlo does talk in weird calculus metaphors sometimes. 21:22:01 lambda calculus counts, i think 21:22:44 Calculus metaphor: "First, we assume the universe is a straight line." 21:23:00 the gay sex, on the other hand, is probably nowhere near what most children know already. 21:23:06 or so i assume. 21:23:19 What do you mean, "on the other hand"? 21:23:53 i mean as an example of a channel topic children cannot possibly learn anything new from. 21:23:59 -!- ais523 has quit ("dinner, I'll be back later"). 21:23:59 i think he means what he obviously means 21:24:03 Oh. 21:24:11 glad i could clear it up for you 21:25:13 kerlo: i hear "assume a spherical cow" is well-known 21:25:17 Anyway, I've come to believe it would be a good idea to get a job at some point in my life. 21:25:50 ...aren't you like 9 21:25:55 Ah, but you see, intelligence is all about approximating the universe, and what better approximation to use than a tangent line? 21:25:55 ? 21:25:59 Yes. 21:26:16 kerlo: i hear "assume a spherical cow" is well-known <-- spherical copy on write? 21:26:17 wth 21:26:28 AnMaster: moo 21:26:32 "cow" has another meaning too 21:26:33 Still, having applied to universities, I guess it's time to apply to colleges within those universities. 21:27:11 actually spherical copy-on-write might be useful for a self-replicating automaton trying to take over the universe. but don't tell it that. 21:27:15 i thought you were in some kinda uni already 21:27:26 Nope. 21:27:43 you were talking about some calculus course 21:27:50 but i guess it was something like high school then? 21:27:57 Yep. 21:28:30 we actually had pretty advanced calculus in high school, although very non-rigorous 21:28:38 would've been very useful to learn it 21:28:40 oerjan, how would it work... 21:29:21 well obviously a self-replicating automaton would expand through the universe in a spherical pattern 21:29:45 and because of light speed restrictions, would have to copy information. 21:29:47 That's not necessarily true. 21:30:09 ah, our resident self-replicating killer automaton expert 21:30:23 what other patterns have you used? 21:30:24 well there would be fluctuations of course, but on _average_ you'd expect a spherical expansion 21:30:40 I've never liked school, though. The courses are too slow. 21:30:55 some of those spheres you are copying _onto_ have a tendency to resist the process 21:31:02 slowing it down a little 21:31:10 oerjan: No, on average you'd expect a consistent expansion. Any other form wouldn't take over the entire universe, but could certainly exist. An expanding ring, for example. 21:31:19 kerlo: the trick is to read a book and only look up every 10 minutes and catch up by guesswork. 21:31:49 Yeah. That doesn't help with the homework, though. 21:31:51 (only works for mathy stuff) 21:32:07 What are we talking about? GoL? 21:32:32 No, real-life self-replicating automata. 21:32:38 kerlo: you don't have to do homework, just do them on the fly if asked. 21:32:47 This is all an attempt to get the phrase "spherical copy-on-write" to mean something. 21:33:42 Yeah, homework tends to take a while and be necessary for a good grade. 21:34:17 Make a way for source code to be represented as various 3d models depending on the source code, such that the source code for some copy-on-write code is a sphere. Voila 21:34:25 kerlo: clearly stuff isn't too slow if you need to do all your homework to get a good grade 21:34:32 ...right? 21:35:03 Are you assuming that it's the type of class where 90% of your grade is tests? 21:35:04 (unless you're like me, and obsess about grades enough to do everything anyway) 21:35:21 Sgeo: that's the IOCCC approach, i take 21:35:29 kerlo: hmm, right, i guess your high school is a bit different from mine. 21:36:12 Luckily, I have a single class where the grade does not include homework. 21:36:30 That's kind of offset by having another single class where all of the homework must be done in order to get credit. 21:37:04 *shiver* 21:37:48 Though I don't think I actually need credit for that class... 21:38:45 -!- oerjan has set topic: Esoterica. As in programming languages. Not mysticism. Don't use rafb.net for pasting because they delete pastes. Think of the log-readers. Logs: http://tunes.org/~nef/logs/esoteric/?C=N;O=D. The rawness is a lie.. 21:39:19 just summing up Zzo38's research here 21:41:29 I want to go into a field that I know I would do well in. 21:41:57 But I have little idea what that would be, so I might just freak out and become a high school teacher. 21:42:05 :P 21:42:11 An English teacher, even. 21:42:19 * oklopol is going to be an esolang mathematician 21:42:27 then by a freak coincidence you discover you are really good at it 21:42:41 ...i mean a discrete math researcher ofc 21:43:04 I want to be a professional guy-who-hangs-out-on-IRC-and-says-stuff-nobody-understands. 21:43:31 i'd pay you 21:43:54 The question is how much... 21:43:56 is it unexpected from other countries for there to be tunnels? 21:44:30 in countries older than the USA the tunnels have evolved assorted monsters and stuff so it's not safe to go into them. iirc. 21:45:30 kerlo: maybe you could sell merchandise 21:45:30 older by time of declaration of independence, i presume? 21:45:55 because i never see any monsters here in the sewers. 21:46:01 oklopol: by time of university age 21:46:11 Merchandise... 21:46:13 ah. 21:46:15 since those were the tunnels in question 21:47:19 * oerjan realizes that by declaration of independence his country is younger than the US :/ 21:48:35 21:25 kerlo: Anyway, I've come to believe it would be a good idea to get a job at some point in my life. 21:48:36 21:25 oklopol: ...aren't you like 9 21:48:38 he's 16 21:48:43 i know how old he is 21:48:52 if he was 9 i'd be more jealous of his skillz than I am. 21:49:35 ehird, how much skillz do you have? 21:49:41 0 21:50:00 I think that's an understatement. 21:50:12 ehird is a professional computer user who can install programs and do text processing 21:51:11 oklopol: don't forget mail merge 21:51:14 Then again, maybe it's not. 21:52:10 oklopol: he could get microsoft certified, except it would kill him of boredom. 21:54:54 i love my own voice 21:57:04 ER and UML are so Java... 21:57:09 UML is so stupid 21:57:18 i like it 21:57:22 for the most part 21:58:49 ER, UML... 21:59:22 UM...(L), ER 21:59:29 "what shall we call these projects?" "Er, uml, ..." 22:00:17 ehird: do you like ER? at least it's prettier! 22:00:37 ER? 22:01:02 er, what? 22:01:23 the name comes from entities and relations, i don't remember the exact formatino 22:01:26 *formation 22:01:35 but doesn't really matter ofc 22:01:50 the formatino is a lightweight elementary particle used in printers 22:02:32 it used to be in monitors, but it couldn't handle 3D 22:03:11 oerjan, is this from Uncyclopedia? 22:03:22 no. 22:03:34 i just felt a need to explain the concept 22:05:36 i need to go now................................... 22:05:37 -> 22:11:06 sprintf has one of those stupid collapsing '_a types 22:11:12 value restriction? 22:11:33 yeah what is that thing 22:12:28 you cannot have a polymorphic type on something which isn't syntactically a function 22:12:58 this prevents mutable variables from getting inconsistent types 22:13:21 it's slightly similar to haskell's monomorphism restriction 22:13:52 so that '_a is not allowed to be more than one type in your whole program 22:13:56 iiuc 22:14:22 [ehird:~/Downloads/ocaml-3.11.0] % ./configure -cc "gcc -m64" 22:14:25 oh I love 64 bit. 22:14:42 oerjan: gawd, that's such a wart 22:15:02 ocaml does relax it a bit, some other constant expressions are also allowed iirc 22:16:46 adding a dummy function parameter may help, when it actually _is_ a function 22:17:13 yeah 22:17:14 (well not dummy) 22:17:24 but explicit 22:17:25 eta expand you mean. 22:17:29 yeah 22:18:36 3- (Optional) To be sure everything works well, you can try to 22:18:36 bootstrap the system --- that is, to recompile all Objective Caml 22:18:37 sources with the newly created compiler. 22:18:40 bootstrapping is so awesome. 22:21:27 -!- ais523 has joined. 22:23:30 hi ais523 22:24:22 hi 22:25:05 snot a very good name 22:25:21 i shall have you hear from my lawyer! 22:25:22 sorry, I know that's your territory 22:25:25 but you were away :( 22:25:29 it depends on the channel 22:25:31 well true 22:25:34 there's another channel where I'm the resident oerjan 22:25:38 oh 22:25:39 I don't do it as well as you do, though 22:25:43 which? 22:25:56 ehird: private channel, not on freenode 22:26:03 well the world needs more puns 22:26:18 * ais523 suddenly realises why oerjan was so good at FRC 22:32:47 I know a guy for whom BF was his first language. He's an awful programmer. 22:32:57 you can write brainfuck in any language 22:33:15 it's nontrivial to write BF in BF 22:33:23 I can speak English in any language. 22:33:35 -!- BeholdMyGlory has quit ("godnatt"). 22:33:38 kerlo: what does speaking English in Lojban look like? 22:33:43 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server"). 22:34:17 me zoi gy. It looks like this. .gy 22:34:35 wow, Lojban quotation looks so weird 22:34:39 it has a strange use of points 22:36:03 kerlo: how do you do nested quotations in Lojban? 22:36:29 Well, this is Lojban quotation of English text. You can't really nest that. 22:36:35 well, yes 22:36:41 but Lojban quotation of Lojban text? 22:36:51 it's funny enough seeing what it does to proper nouns 22:36:57 If "It looks like this." were Lojban, I would have said me lu It looks like this. li'u 22:37:04 ah 22:37:19 Then you just do nested quotes by using lu and li'u within lu and li'u. 22:37:32 simple enough 22:38:45 Actually, I did that wrong. The sentence {me zoi gy. It looks like this. .gy} means "Something is specific to 'It looks like this.'" 22:39:16 I like the way that languages like Lojban and Prolog let you express crazy overgeneralisations that sound weird in other languages 22:39:34 I'm sure you could say something like "ais523 has some property" in Lojban 22:39:41 relatively shortly and simply 22:39:48 zoi gy. It looks like this. .gy fatci 22:39:52 "It looks like this." is true. 22:39:59 Hmm, has some property. 22:40:37 Yes. 22:40:51 la'o gy. ais523 .gy bu'a 22:41:11 I never realised Lojban had so many apostrophes... 22:41:21 just for fun, can you do the quine version of the epinimedes paradox? 22:41:36 What's that? 22:41:41 "yields falsehood when preceded by its quotation." yields falsehood when proceeded by its quotation. 22:41:44 Hmm. 22:41:49 s/proceeded/preceded/ 22:43:33 that phrase is where the term "quine" came from, by the way 22:43:39 because it was invented by a logician called Mr. Quine 22:43:51 and Hofstadter named the phrase after him, generalising it to any program that printed out itself 22:46:33 I could probably say this: (\x -> x(x) is false)(\x -> x(x) is false) is false 22:46:49 why do you need the "is false" at the end? 22:46:55 You don't. 22:48:26 ((lambda (x) (not? (eval (list x (list quote x))))) '(lambda (x) (not? (eval (list x (list quote x)))))) 22:48:26 la ais523 cu me zo'e 22:48:45 err. 22:48:47 ehird: that's just an infinite loop, though, when expressed in Lisp 22:48:48 (list 'quote x). 22:48:49 (best i can do for ais523 has some property) 22:48:53 ((lambda (x) (not? (eval (list x (list 'quote x))))) '(lambda (x) (not? (eval (list x (list 'quote x)))))) 22:49:00 ais523: so? it expresses the concept 22:49:02 oklopol: ok 22:49:05 ehird: yes, agreed 22:49:05 of course you can't evaluate it on regular hardware. 22:49:11 programming languages don't like paradoxes 22:49:13 but if you could, that'd be how you do it 22:49:18 all we need is something that can run infinite loops in 6 seconds 22:49:25 let x = not x in x 22:49:25 "zo'e" is something unspecified, "me" should convert it into a predicate, and cu would apply it 22:49:31 come to think of it, that's why Proud is so powerful, and so highly uncomputable 22:49:35 it runs infinite loops in finite time 22:49:51 oklopol: that means ais523 is specific to something. 22:49:55 paradoxes only like those paradoxes that don't like themselves 22:49:59 ais523: what if you want a real infinite loop? 22:49:59 kerlo: huh? 22:50:04 me zo'e = is specific to zo'e. 22:50:12 wait is it 22:50:24 Also, ais523 ends in a vowel. :-P 22:50:40 :) 22:50:51 Call him la .ais523s. 22:51:01 "yields truthhood when preceeded by its quotation" yields truthhood when proceeded by its equation 22:51:02 ((lambda (x) (eq? (eval (list x (list 'quote x))) #t)) '(lambda (x) (eq? (eval (list x (list 'quote x))) #t))) 22:51:12 Lojban writes proper nouns from other languages phonetically, doesn't it? 22:51:19 Which would be the same thing as la .aismurecis. 22:51:21 kerlo: i think that "is specific to" thing is just a way to translate it, and it actually just means "convert into verb in some unspecified way". 22:51:26 but i may be wrong. 22:51:32 ais523 isn't the phonetic spelling of ais523. :-)) 22:51:41 yes 22:51:58 oklopol: well, that is what the definition says. 22:52:01 aisfaivtutri 22:52:05 also, INTERCAL so needs a "convert into verb in some unspecified way" operator 22:52:17 I wonder what it would do? 22:52:43 If you want to say that ais523 is identical to something, say du zo'e 22:52:52 my scheme compiler 22:52:54 will be called Ponzi 22:52:59 ABSTAIN FROM FNORDING 22:52:59 kerlo: did you check cll? 22:53:05 awesome y/n 22:53:10 oerjan: ING: syntax error 22:53:22 ehird: y 22:53:24 I don't think CLL contains definitions of everything. 22:53:27 kerlo: no, "ais523 has some property". 22:53:28 is that based on that reddit comment? 22:53:32 ais523: after you convert FNORD to a verb, of course 22:53:37 ais523: STOP READING WHAT I READ. 22:53:38 :P 22:53:47 ehird: it's your fault, you introduced me to reddir 22:53:48 Yes. Although I am so clever I probably could have come up with it myself. 22:53:49 *reddit 22:53:52 After a few, um, years. 22:54:01 why ponzi? 22:54:01 ais523: I apologize profusely 22:54:05 oklopol: ponzi scheme, googler it 22:54:16 Cynical alternative: see US financial system 22:54:20 NO 22:54:25 kay 22:54:38 kerlo: what definition are you talking about then? 22:54:57 I think the official definitions are found here: http://www.lojban.org/publications/wordlists/cmavo.txt 22:55:18 tc languages as ponzi schemes, a survey 22:55:25 Including "convert sumti to selbri/tanru element; x1 is specific to [sumti] in aspect x2 22:55:45 sumti sumti 22:56:23 kerlo: trues you speak. 22:56:40 is that based on that reddit comment? <-- ? 22:56:54 what is 22:57:01 the name? 22:57:06 yep 22:57:13 it makes no sense to me 22:57:13 someone asked what was a good Scheme interp 22:57:17 and somebody said Ponzi 22:57:46 http://en.wikipedia.org/wiki/Ponzi_scheme ? 22:57:48 that!? 22:57:51 yes 22:57:52 ais523, oh haha 22:58:42 ehird: see, no reason to google 22:58:53 also i've heard that many times 22:59:11 but knowledge keeps draining out 22:59:17 it's basically a pyramid scam, except that the people participating in it aren't told it's a pyramid scam in advance 22:59:20 * kerlo frowns at his network connection 23:00:07 *scheme, it's not a scam, it's a beautiful concept, don't call it a scam. 23:00:26 it's a beautiful concept, but it requires an infinite number of people to work 23:00:28 with an infinite population, it's the way to victory. 23:01:46 recently i've been wondering why we don't see that many infinity effects even now that internet lets anyone be anywhere at any time. 23:02:01 because the population is nevertheless still finite 23:02:06 although the number of people you can reach is larger 23:02:14 i mean 23:02:23 the ##1234567890 thing was 1000-1300 people 23:02:27 and it was the biggest i've seen 23:02:50 no forums explode at random 23:03:02 mankind is too stable 23:03:05 ? 23:03:15 There should be something that's popular purely due to its popularity. 23:03:19 oklopol: and 400 of them were actively talking, it blew my mind 23:03:28 Okay, I have a nice OCaml environment set up. 23:03:31 kerlo: I'm pretty sure there is 23:03:34 64-bit, does OpenGL natively, etc. Nice. 23:03:49 kerlo: you mean like all celebrities 23:03:50 ? 23:04:04 well, Tara Palmer-Tomkinson is mostly famous for being a celebrity 23:04:14 pretty much all celebrities are 23:04:25 I actually had to hunt down how she originally became 'famous', because the paradox was confusing me 23:04:27 it's not like most of them actually have any extraordinary skills 23:04:37 most celebrities, at least I know what they're famous for 23:04:40 we should genetically modify humans to just breed breed breed 23:04:43 and get infinite humans 23:04:45 ehird: no we shouldn't 23:04:47 super-exponential breeding 23:04:49 that'd be awesome 23:04:51 the world can't support an infinite population 23:04:58 ais523: but, but, best gravitational collapse ever! 23:05:16 I don't want to be part of it 23:05:21 and there's only one planet populated at the moment 23:05:27 go off to some other habitable planet and do it there 23:05:31 so that it won't bother me 23:05:44 SORRY YOU'LL JUST HAVE TO ADJUST. 23:05:54 ehird: you mean like shit covered in icecream is the best-tasting shit? 23:05:59 exactly 23:06:00 *how shit 23:06:16 well yes i'd agree with you, at least can't come up with a more awesome way atn 23:06:17 *atm 23:06:41 * oerjan googles Tara Palmer-Tomkinson 23:06:52 i love htat ocaml triangle rotatey 23:06:54 it's so awesome 23:07:08 * kerlo Wikipedias Tara Palmer-Tomkinson 23:08:04 you know, even after reading the Wikipedia article I'm still not entirely sure what she's famous for, other than being famous 23:08:09 well it's not as if google didn't lead straight there 23:08:19 * Sgeo doesn't know who that person is 23:08:24 that's why I go straight to Wikipedia, cut out the middleman 23:08:48 Sgeo: you probably have to be British to recognise her as being famous, we don't export our fame time-loops to other countries 23:09:00 oh but here the other day i actually found a google search where britannia came above wikipedia 23:09:02 i think ocaml may be my fav language. 23:09:09 wow 23:09:11 that was quick 23:09:12 too bad the britannia article still sucked 23:09:28 15:08:04 you know, even after reading the Wikipedia article I'm still not entirely sure what she's famous for, other than being famous 23:09:28 I like OCaml too, despite it having annoyances 23:09:32 sounds like paris hilton 23:09:39 but paris hilton is famous for having a rich father 23:09:48 Anyway, it looks like Lojban doesn't really have lambdas, so I'll have to make do with SKI combinators. 23:09:52 ais523: well, sure 23:09:56 originally 23:10:05 now she's just famous because she's paris hilton, the famous celebrity 23:10:16 yes, but you still know why she was originally famous 23:10:25 Unfortunately, Lojban doesn't have SKI combinators either. 23:10:25 it's OK for fame to be self-sustaining once it starts, that isn't paradoxical 23:10:30 but it has to start somehow 23:11:30 ais523: are you not really implying it was the Doctor who made her famous? 23:11:42 * Sgeo didn't know why she was originally famous 23:11:47 ais523: you got assigned to a cfj. 23:11:47 oerjan: it needs some sort of timeloop to become famous merely for being famous 23:11:50 ehird: I know 23:11:56 o 23:11:58 I'll answer it later when I see how the other related one is going 23:12:00 and oko 23:13:02 o 23:13:14 oko 23:13:16 o 23:13:22 -(ok) 23:13:31 oko^2 23:13:35 ocaml may not be lazy, but it's really fast, I like the syntax, it's good for scripting and it has great library support. 23:13:50 o4k6o4ko 23:14:04 -!- Sgeo has changed nick to Emnanmuuel. 23:14:15 I find ocaml has a few annoyances, but it's a great language anyway 23:14:24 the things I don't like about it are niggles rather than fundamental 23:14:30 it's sort of Worse is Better Haskell 23:14:47 * Emnanmuuel pokes kerlo 23:15:36 ais523: incidentally, does the lack of readline in ocaml's repl annoy you too? 23:15:37 I've done: 23:15:42 alias ocaml="ledit ocaml" 23:15:43 OCaml's only flaws are lack of operator overloading, types not being as flexible as they should be, and not being Haskell 23:15:44 which makes things nice 23:15:49 oh nnoeh, ist's Emnanmuuel!l! 23:15:50 also, I don't use the REPL 23:15:59 I've been compiling not interpreting 23:16:01 for this project 23:16:08 * Emnanmuuel stole kerlo's name 23:16:09 I've used it a couple of times to test things 23:16:13 Well, not real name 23:16:15 But still 23:16:23 but not enough to notice it didn't have a readlinealike 23:18:47 oh 23:18:49 you really should use it 23:21:11 -!- Judofyr has quit (Remote closed the connection). 23:21:31 what should i buy? 23:21:45 love. 23:21:45 oklopol: what are the options? 23:21:52 or do you just have some money and feel like buying something/ 23:21:58 buy me a new mac! 23:22:07 Magic the Gathering cards! 23:22:10 -!- Emnanmuuel has changed nick to Sgeo. 23:22:21 a magic the gathering card that serves as a mac! 23:22:37 it's a gas station 23:22:38 so 23:22:43 ah. 23:22:45 buy the gas station. 23:22:48 (1:22) 23:22:55 *i think outside of the box* 23:23:01 buy low, sell high! 23:23:07 hmm, ocaml has no nice-looking objective-c bridge 23:23:09 I shall rectify this! 23:23:20 ehird: that's not outside the box, that *is* the box 23:23:32 buy the foundations of the gas station 23:23:47 then go and sell them to people building a new gas station 23:23:57 and watch as the old one slowly sinks into the ground 23:23:57 -!- MichaelRaskin_ has joined. 23:24:08 great idea! 23:24:19 actually aren't the gas tanks usually underground? 23:24:20 * oklopol considers asking somewhere else.... or just going 23:24:26 yeah 23:24:40 Hi, Emnanmuuel. 23:24:40 23:23 ais523: buy the foundations of the gas station 23:24:40 23:23 ais523: then go and sell them to people building a new gas station 23:24:42 23:23 ais523: and watch as the old one slowly sinks into the ground 23:24:44 one of my new favourite quotes 23:24:51 I'm glad you like it 23:25:00 * oklopol has seen them dig one out 23:25:15 oklopol: buy ice cream 23:25:29 i don't like icecream 23:25:30 it's march, and spring! 23:25:42 buy ice cream-covered shit 23:25:44 well okay i like ice cream 23:25:45 it's the best kind of shit 23:25:54 How dare you claim it to be March? 23:26:09 but it's not a treat, it's just an okay genre of food 23:26:17 kerlo: neener neener 23:26:38 omg exam tomorrow 23:26:43 *2 exams 23:26:49 oklopol: well i don't know how fancy the food in finnish gas stations is 23:27:17 -!- MichaelRaskin_ has left (?). 23:27:27 it's bigger than you might think 23:27:37 still bigger than you think 23:27:41 and now you have it 23:27:46 ok 23:28:20 who was raskin 23:28:22 buy a steak filet mignon with baked potatoe and bearnaise sauce 23:28:44 hmm, not a bad idea 23:28:51 oh wait i'm channeling dan quayle here 23:28:55 *potato 23:28:56 oklopol: #IRP regular 23:29:42 * ais523 is amused not just that #IRP is the only esolang with a channel that actually sometimes gets conversations, but that it has an substantially different set of regulars to #esoteric 23:30:35 huh. well i obviously cannot be a regular in a channel i thought was dead, can i? :D 23:30:53 that's the funny thing 23:30:59 I wonder if the #IRP regulars thought #esoteric was dead? 23:31:13 #IRP isn't dead, it's just pining for the fjords 23:31:17 #esoteric, the zombie channel 23:32:35 well, there is also #perl 23:37:01 ais523: can you think of a non-horrid way to write let pool = (NSAutoreleasePool.alloc ()).init () in ? 23:37:04 specifically, the alloc/init bit 23:37:21 write a wrapper function? 23:37:28 my OCaml programs are full of wrapper functions 23:37:37 nah, there's a _lot_ of method chaining in objc 23:37:39 i am not sure whether zzo38's abbreviation "S-m Puzzlang" is well thought or not 23:37:41 ideally, this'd be possible: 23:37:50 chain NSAutoReleasePool [.alloc (), .init ()] 23:37:52 but it's not 23:37:56 oerjan: what is it? 23:38:01 ais523: self-modifying puzzlang 23:38:02 OR 23:38:06 sadism-masochism puzzlang 23:38:12 I doubt he thought of the latter meaning, he's just a kid. I think. 23:38:40 * oklopol really goes now 23:38:48 _you_ are just a kid, and you thought of it 23:38:57 AFK, eating 23:39:05 -!- olsner has quit ("Leaving"). 23:39:05 yes, but, I'm a kid who had the internet @ 4 years of age 23:39:11 that kind of fucks you up. 23:39:42 i thought zzo38 could be explained in the same way, really 23:39:55 i only got a stable internet connection when i was like 16 23:40:00 until then i only used it for porn 23:40:03 ais523: no ideas? OK then 23:40:05 >_< 23:40:26 ehird: it's self-modifying, I have the wiki recent changes in my rss feed 23:40:30 oerjan: he doesn't seem fucked up, just a bit um... okay, he said he was reading the logs, I'll stop here, but it starts with an a and ends m 23:40:38 ais523: I know, I was explaining what oerjan was saying 23:40:45 ehird: is that different from NSAutoreleasePool.alloc().init() ? 23:41:11 oerjan: isn't that: 23:41:18 NSAutoReleasePool.alloc (().init ())? 23:42:06 ehird: he has it as an icon on his wikipedia user page 23:42:28 oerjan: technically, a.s. != autism 23:42:32 well, subset. 23:42:37 yes 23:42:39 (a.s. is a subset of autism) 23:42:56 i used to be one of those highly annoying interwebs people who self-diagnosed aspergers syndrome to explain their social problems 23:42:59 god I was an idiot. 23:43:05 ehird: does ocaml care about spaces after . ? maybe it does 23:43:10 "This person does not understand Python (or understands it with considerable difficulties, or does not want to program in Python)." 23:43:10 XD 23:43:38 ehird: that's a parody of the babel box wording standardisation 23:43:57 you sure? 23:43:57 ehird: well, my _dad_ is trying to diagnose me with it to explain my social problems... 23:44:09 oerjan: :( 23:44:25 I fail to see how a choice of tool is a moral choice. Unless there's a service that runs by default in Windows that kills babies that I'm missing. 23:44:37 ais523: it's called FeedBillGates 23:46:41 ah so that is why he wants to vaccinate them, so there'll be more to eat 23:47:12 and here i thought it was for a good ethical reason 23:47:25 well, a different good ethical reason 23:50:41 http://hashesoteric.pastebin.com/f81fcfbd <- translation of this program: http://developer.apple.com/documentation/Cocoa/Conceptual/CocoaFundamentals/CocoaObjects/chapter_3_section_2.html to OCaml 23:50:47 using hypothetical bindings that I will write. 23:50:48 who cares? nobody. 23:51:05 I slightly care 23:51:07 so what? 23:51:09 but probably not enough to be worth caring about 23:51:13 heh 23:51:26 er, 23:51:26 word != ObjC.nil 23:51:28 that should be 23:51:31 word != None 23:51:36 and 23:52:01 err 23:52:11 I wonder how you extract a Some? 23:52:13 pattern matching? 23:52:46 but of course 23:52:54 is that the only way in ocaml? 23:53:00 ehird: pattern matching is very common 23:53:06 so, 23:53:07 and used to extract more or less anything 23:53:13 let Some word' = word in 23:53:13 ? 23:53:44 http://hashesoteric.pastebin.com/f1442a195 updatered version 23:53:48 actually if you have a None test then that should probably also be in the match 23:54:00 oerjan: i'm trying to translate the example literally 23:54:02 not be idiomatic 23:54:09 oh well 23:54:10 compare http://hashesoteric.pastebin.com/f1442a195 to the objective-c in http://developer.apple.com/documentation/Cocoa/Conceptual/CocoaFundamentals/CocoaObjects/chapter_3_section_2.html 23:54:24 the ocaml is easier to read though, I couldn't fix that ;-) 23:54:33 it sorts its command-line arguments, fwiw. 23:55:27 -!- Random832 has joined. 23:55:31 hi Random832 23:55:33 what brings you here? 23:55:37 lotsa wikipedia people recently 23:55:41 ehird: he's an esolangs.org person 23:55:46 who found #IRP but not #esoteric, somehow 23:55:47 something purely by chance, probably 23:55:53 ais523: ah, OK 23:55:55 oerjan: ... 23:55:57 die. :P 23:55:57 well sort of - i'd been reading some stuff on esolangs.org because i found it via the wikipedia brainfuck article 23:56:14 welcome. now get to sacrificing those goats. 23:56:16 chop chop 23:56:21 and wrote a brainfuck compiler (well not so much wrote as ported someone else's to C#) 23:56:32 ^bf ,[.,]!Hello, world! 23:56:33 Hello, world! 23:56:53 fungot is written in befunge 23:56:54 ehird: not haskell! explain why haskell is a lot 23:56:58 http://zem.fi/~fis/fungot.b98.txt 23:56:59 behold 23:56:59 ehird: but... i did pre /pre and mediawiki translated the to < 23:57:06 fungot: sorry, fizzie wrote you in befunge, not haskell 23:57:07 ehird: many thanks, i know. i don't have a tailcall instruction though. 23:57:11 wow, yet more useful fungot output 23:57:11 fungot: mediawiki does that with
23:57:11  ais523: in scheme48 1.3, though. i sometimes write some stuff in my youth fnord teach me something
23:57:12  Random832: xors are conditional inverters :) so i wouldn't have the patience for.
23:57:20  fungot: you could write a fingerprint for subroutines with tail calls
23:57:20  ehird: how did you find this from demi, someone might've pasted it already though;
23:57:21  fungot: are you saying you would have liked more to be written in haskell?
23:57:21  oerjan: i suspect. ( guessing, entropika should know.))
23:57:33  fungot: who is entropika? an entropy-filled pikachu?
23:57:34  ehird: tapio wanted to pay back almost everything) will use strings in lieu of judging, i think i have
23:57:38  is fungot a person?
23:57:39  Random832: ( ( fnord) on a farm? :)
23:57:42  fungot: strings are useful for judging things
23:57:43  ehird: hm problem is a problem. it set-car!'d the car of your list to one with such a thing
23:57:44  Random832: a bot
23:57:45  fungot's a bot, written in befunge
23:57:46  ais523: a pointer is 4 bytes.
23:57:47  Random832: source code: http://zem.fi/~fis/fungot.b98.txt
23:57:48  ehird: in that case, you should consider: a functional programming thingy? there aren't any
23:57:52  it runs brainfuck, underload, and blabs.
23:57:56  some sort of markov chain?
23:57:59  yep
23:57:59  yep
23:58:04  fungot: i dunno, I've seen functional programming thingys before
23:58:05  ehird: so don't leave them, eat the cheese :d ( re fnord :)
23:58:17  fungot: is cheese like loeb?
23:58:18  ehird: bothner may be right.) still don't cut it these days. not that new users are a bad idea, that
23:58:25  and he stops being coherent.
23:58:29  *it
23:58:53  what kind of optimizations are common in brainfuck compilers?
23:59:00  other than +++++ to an "add 5" type instruction i mean
23:59:00  lots, really
23:59:06  ehird: if entropika loses, the universe ends...
23:59:29  Random832: you can change any loop with balanced [ and ] and no IO to a polynomial , I believe
23:59:46  see http://mazonka.com/brainf/bff4.c
23:59:48  which does that
23:59:48  you mean balanced < and > - they always have balanced [ and ]
23:59:52  err, yes
23:59:52  :P