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