←2008-02-09 2008-02-10 2008-02-11→ ↑2008 ↑all
00:01:38 -!- calamari has joined.
00:04:35 <Sgeo> calamari, did you play with PSOX?
00:05:04 <Sgeo> hi calamari
00:05:07 <calamari> Sgeo: not yet.. but I got my wireless working.. went to a birthday party today and took a nap
00:07:18 -!- timotiis has quit ("leaving").
00:08:16 <calamari> bf is really bad at and, or, and xor, maybe add those?
00:08:55 <Sgeo> hm, maybe
00:09:04 <Sgeo> Good idea, actually
00:14:21 * Sgeo memos himself
00:22:10 <ehird`> so
00:22:23 <ehird`> i'm going to try and write a TURKEY BOMB program
00:22:30 <ehird`> since doing something useful will be nigh-on impossible
00:22:32 <ehird`> even hello world
00:22:33 <ehird`> what?
00:23:28 <ehird`> 'proving wrong whoever it was who claimed that every Turing-complete language capable of arbitrary output has a quine; -- smjg's user page
00:23:30 <ehird`> is that true?
00:24:08 <olsner> I don't think it's been "claimed" - rather "proved"
00:24:47 <ehird`> exactly
00:24:53 <ehird`> so how the hell can he claim to prove it wrong
00:24:55 -!- calamari has quit (Remote closed the connection).
00:25:05 -!- calamari has joined.
00:25:40 <olsner> but that does not exclude the quine being devilishly hard to find, I guess
00:25:53 <Sgeo> I think with something like a language that if it begins with " it outputs all the next characters, and if it doesn't, is a non-I/O turing complete language..
00:26:02 <ihope> Well, you have to define "Turing-complete language capable of arbitrary output" right.
00:26:33 <ehird`> yeah
00:26:38 <ehird`> we need a category for those incidentally
00:26:45 <ihope> Perhaps "arbitrary output" means it has to be able to output all computable sequences, except that doesn't work either.
00:26:47 <ehird`> 'Arbitary output at arbitary point' describes it well
00:27:02 <ehird`> with that + TCness, you MUST have a quine
00:27:17 <ihope> How do you define "arbitrary output at an arbitrary point"?
00:27:33 <ehird`> http://wwwep.stewartsplace.org.uk/quines/quineless.html here is the page
00:28:43 <ehird`> ihope: At any point at execution, you can output an arbitary string which can include data from the program's state.
00:28:51 <ehird`> Brainfuck does this, my own CRTL doesn't.
00:29:00 <Sgeo> CRTL?
00:29:29 <ehird`> see the esolang wiki
00:29:38 <ehird`> constantly rewriting term language
00:29:49 <ehird`> oklopol wrote a fibonacci in it:
00:29:49 <ehird`> (("fib"->a)->b)->b~"|"~a~b;
00:29:49 <ehird`> a~"|"~b->(("fib"->a)->b);
00:29:49 <ehird`> ("fib"->"1")->"1"
00:29:55 <ehird`> but it outputs as "previous|current"
00:29:59 <ihope> ehird`: I don't think that works.
00:30:05 <ehird`> and then parses that into 'current' and 'previous' to add together
00:30:09 <ehird`> due to the limitation
00:30:12 <ehird`> ihope: Why not?
00:32:22 <ihope> I assume that you mean it can run an arbitrary function taking the state and outputting a string.
00:33:49 <ihope> So if it has some stuff in a register that's destroyed whenever a certain thing is done, and it's impossible to proceed with the computation without doing that thing, you can't output an arbitrary thing at an arbitrary point, yes?
00:35:23 <Sgeo> Don't store stuff in that register?
00:35:32 <ehird`> ihope: you can
00:35:32 <ehird`> ok
00:35:33 <ehird`> refining
00:35:50 <ehird`> At any point at execution, you can output an arbitary string which can include data from the program's current, accessible state at the point of execution of the output instruction.
00:36:02 <ihope> Says Wikipedia, "If F is a total recursive function then there is an index e such that phi_e = phi_F(e)." http://en.wikipedia.org/wiki/Kleene%27s_recursion_theorem
00:36:30 <ihope> phi_e meaning the program whose source code is e, essentially.
00:36:38 <ehird`> ihope: use the unicode, luke
00:36:42 <ehird`> i have a capable font"!
00:36:52 -!- jix has quit ("CommandQ").
00:36:55 <Sgeo> ehird`, hm?
00:37:00 <ehird`> Sgeo: ?
00:37:01 <Sgeo> Whatisit?
00:37:08 <Sgeo> thefont
00:37:10 <ehird`> Sgeo: oh
00:37:20 <ehird`> just dejavu sans mono. it's not monospaced, technically, because of the >>> and similar
00:37:21 <ehird`> but it's fine for irc
00:37:24 <ihope> Such that φ_e = φ_F(e).
00:37:37 -!- ehird` has quit (Remote closed the connection).
00:37:45 <ihope> Gasp, I killed him.
00:38:01 <Slereah> What's the underscore for?
00:38:04 -!- ehird` has joined.
00:38:05 <Slereah> Indice?
00:38:15 <ihope> phi_e is phi followed by a subscript e.
00:38:23 <Slereah> USE MOAR UNICODE
00:38:33 <ihope> Does Unicode have a subscript e?
00:38:46 <ehird`> Arbitary output at arbitary point:
00:38:52 <Slereah> I think it has a special char for subscript.
00:38:56 <ehird`> In a section of state where useful data can be stored,
00:38:57 <Slereah> Let's ask Unicode
00:39:02 <ehird`> at any point at execution,
00:39:14 <ehird`> you can output its current value.
00:39:15 <ehird`> Also,
00:39:18 <ehird`> you can output any arbitary constant value.
00:39:28 <ehird`> I think that's solid, if not taken 100% literally
00:39:39 <Slereah> "LATIN SUBSCRIPT SMALL LETTER E"
00:39:47 <Slereah> That number be 2091
00:39:55 <ehird`> http://www.fileformat.info/info/unicode/ good unicode reference
00:40:03 <Sgeo> ehird`, are you going back to your own channel?
00:40:09 <ehird`> Sgeo: oh
00:40:40 <ihope> + and ♪ are the only things I can get this thing to get out of 2091.
00:41:03 <Slereah> 2091 in hexa, I think.
00:41:18 <Slereah> Since the preceding is 208F
00:42:08 <ihope> So, if you have a programming language called phi, and you have a program called F that inputs a phi program and outputs a phi program, there's a phi program that, when given to F, yields an equivalent phi program.
00:42:50 <ehird`> ihope: ?
00:43:08 <ihope> That's what the quine theorem comes from.
00:43:16 <ehird`>
00:43:32 <ihope> Do you have a more specific question?
00:43:35 <ehird`> http://www.fileformat.info/info/unicode/char/2389/index.htm CIRCLED HORIZONTAL BAR WITH NOTCH
00:43:38 <ehird`>
00:43:56 <ihope> Oh, that's a Unicode character this client can't display?
00:43:58 <Slereah> The Batman symbol?
00:44:29 <ehird`> ⌆ awesomest charcter ever
00:44:36 <ehird`> :)
00:44:39 <Slereah> A square.
00:44:43 <ehird`> No
00:44:44 <Slereah> I require lynx!
00:44:47 <ehird`> It's like this:
00:44:48 <ehird`> =
00:44:49 <ehird`> ^
00:44:59 <Slereah> The "equal by definition"?
00:45:05 <ehird`> dunno.
00:45:07 <ehird`> I don't think so.
00:45:09 <ehird`> that's =m
00:45:13 <ehird`> ℎello, world.
00:45:36 <Slereah> (Equal by definition is = with a triangle on top)
00:46:34 <ehird`> ℎⅇℓℓℴ
00:46:46 <Slereah> Classy.
00:47:34 <ehird`> ⊺ intercalate!
00:47:49 <Slereah> Reminds me of this one : http://us.metamath.org/mpegif/helloworld.html
00:48:22 <ehird`> ∾inverted lazy s
00:49:25 <ehird`> finite function ⇻
00:49:39 <ehird`> flatness ⏥
00:49:52 <ehird`> and of course forall: ∀
00:49:59 <ihope> What forall is that?
00:50:06 <ehird`> ihope: upside down A
00:50:07 <ihope> I think I'm familiar with a different one.
00:50:19 <ehird`> ooh, i never knew the fourier transform had such a fancy symbol: ℱ
00:50:24 <ihope> LATIN LETTER INVERTED CAPITAL A or something?
00:50:34 <ehird`> is there a unicode symbol for := ?
00:50:45 <ihope> There's also one called UNIVERSAL QUANTIFIER or something.
00:51:17 <Slereah> Well, I only know of two forall, and one of them isn't a special char
00:51:29 <Slereah> It used to be (x) for "for all x"
00:51:33 <ehird`> aha
00:51:34 <ehird`> COLON EQUALS
00:51:36 <ihope> Oh, it's actually called FOR ALL, and is this: ∀
00:51:52 <ihope> ...your character looked different when I looked at it before.
00:52:11 <ehird`> ℱ(x)≔...
00:52:13 <ehird`> hm
00:52:15 <ihope> As well as your Fourier transform one. My client is bewootched or something.
00:52:25 <ehird`> there is a unicode char for the fancy x isn't there?
00:52:56 <ehird`> heh
00:52:57 <ehird`> there's ⒳
00:53:00 <ehird`> x in parentheses
00:53:01 <ihope> And I think you mean ℱ(x)≔…. :-P
00:53:05 <ehird`> but i thik that's not what you should use it for :p
00:53:08 <ehird`> ihope: heh
00:53:44 <ihope> So ℱ⒳≔…, to be completely compliant. :-P
00:53:58 <ehird`> ihope: (x) isn't intended for functions, though, i think
00:54:00 <ehird`> the x would be curly.
00:54:05 <ehird`> so i think
00:54:12 <ihope> Αnd if you like different Unicode characters that look exactly the same, there's one for you.
00:54:18 <ehird`> ℱ(???)≔…
00:54:20 <ehird`> fill in ???
00:54:22 <ehird`> :P
00:54:33 <ihope> That's not an A at the beginning of that sentence but a capital alpha.
00:54:55 <ihope> I wonder if Unicode actually states that those characters are to be displayed the same way.
00:55:43 <ehird`> ihope: you know what x i mean? I mean what tex renders for 'x'
00:56:31 <ehird`> ƒ(x)≔x
00:56:33 <ehird`> identity function!
00:56:39 <ihope> Yeah.
00:56:46 <ehird`> hmm
00:56:49 <ehird`> what to terminate functions with :)
00:56:52 <ehird`> ooh, off-by-side rule!
00:58:35 <ehird`> urgh
00:58:39 <ehird`> off-by-side rule doesn't work
00:58:40 <ehird`> no alignment
00:59:56 <ehird`> ƒ(x)≔1 when x=1, x * ƒ(x-1) otherwise
00:59:57 <Sgeo> off-by-side rule?
01:00:07 <ehird`> but there's probably a specific unicode char to half that length :P
01:00:13 <ehird`> Sgeo: if they line up, same block.
01:00:15 <ehird`> haskell uses it.
01:00:22 <ehird`> python uses a retarded version without the alignment part.
01:00:35 <Sgeo> ..
01:00:54 <ehird`> what
01:01:36 <ehird`> ¡pʃɹoʍ 'oʃʃǝH
01:01:48 <Slereah> YOU'RE DOING IT WRONG
01:01:56 <ehird`> HEH:
01:01:57 <ehird`> ǝsıʍɹǝɥʇo (1-x)ƒ * x '1=x uǝɥʍ 1≔(x)ƒ
01:03:00 <Sgeo> Are you using some sort of service to do that for you?
01:03:41 <Slereah> There's some website with an inverting thing IIRC
01:03:41 <ehird`> yes
01:03:46 <ehird`> nit that one
01:03:50 <ehird`> its better :P
01:03:53 <Sgeo> ?
01:04:46 <ehird`> fileformat.info
01:06:09 -!- olsner has quit ("Leaving").
01:07:58 <Sgeo> Why is that better than http://www.revfad.com/flip.html ?
01:09:25 <Sgeo> ˙˙ʇdıɹɔsɐʌɐɾ ǝldɯıs puɐ ǝɔıu s,ʇı ʇsɐǝl ʇɐ ʇnq 'pɐɟʌǝɹ ɥʇıʍ ʞɹoʍ oʇ ɯǝǝs ʇ,uop slɐɔʇıdɐɔ
01:09:58 <ehird`> it uses a 40 way if statement to start with.
01:10:03 <ehird`> and doesn't handle uppercase and most punctuation
01:10:06 <ehird`> and its j and i suck
01:10:56 <Sgeo> ˙ƃuıɥʇʎuɐ ɹoɟ sʇunoɔ ʇɐɥʇ ɟı 'ǝsn oʇ ɹǝısɐǝ s,ʇı
01:11:52 <Slereah> Stop it plz
01:12:07 <ehird`> no
01:12:16 <ehird`> Sgeo: input text, click 'BOOM'
01:12:17 <Slereah> I meant, Sgeo.
01:12:17 <ehird`> done
01:16:24 <ehird`> hmm
01:20:53 -!- puzzlet has quit (Remote closed the connection).
01:21:01 -!- puzzlet has joined.
01:28:30 <ehird`> hrm
01:33:10 <ehird`> silly idea-
01:33:14 <ehird`> possibly esoteric too..
01:33:28 <ehird`> a website that gets a URI, and gives you loads of links people added to it
01:33:38 <ehird`> which can be URIs themselves, or URLs or text or images or whatever
01:36:04 <ehird`> comments?
01:38:42 <ehird`> none? :P
01:39:09 <bsmntbombdood> i can has fermentation!
01:40:57 <Slereah> No u cannot >:|
01:41:16 <bsmntbombdood> wasn't a question, bitch
01:42:29 -!- ehird` has quit ("K-Lined by peer").
02:57:18 -!- slereah__ has joined.
02:59:44 -!- Slereah has quit (Read error: 104 (Connection reset by peer)).
03:01:11 -!- ihope has quit (Read error: 110 (Connection timed out)).
03:23:00 -!- danopia has changed nick to danopia`cat.
03:25:34 -!- danopia`cat has changed nick to danopia.
03:26:30 -!- danopia has changed nick to danopia`lol.
03:26:35 -!- danopia`lol has changed nick to danopia.
03:28:33 -!- danopia has changed nick to danopia`cat.
04:07:34 -!- puzzlet has quit (Remote closed the connection).
04:07:39 -!- puzzlet has joined.
04:13:33 -!- sarehu has quit (Remote closed the connection).
04:14:12 -!- sarehu has joined.
04:15:39 -!- sarehu has quit (Remote closed the connection).
04:16:06 -!- sarehu has joined.
04:32:33 -!- pikhq has joined.
05:07:44 <RodgerTheGreat> pikhq: did you ever see the third and fourth pages I did for the "axon" series?
05:08:33 <pikhq> No.
05:08:35 <pikhq> Nor can I.
05:08:48 <pikhq> I managed to fuck up my root partition.
05:08:49 <pikhq> :(
05:09:09 <pikhq> ATM, I'm reinstalling Gentoo.
05:14:36 <RodgerTheGreat> dang
05:16:24 <pikhq> pvcreate is a *bad* idea on one's root partition.
05:24:49 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
05:25:15 <Sgeo> What's pvcreate?
05:25:53 -!- puzzlet has joined.
05:35:00 <pikhq> It makes a partition into a physical volume for LVM.
06:15:53 -!- Figs has joined.
06:16:37 <Figs> The weirdest thing on the internet: http://youtube.com/watch?v=ffDPTKn7HiY&type=1
06:16:43 <Figs> (semi-nsfw)
06:17:09 -!- bsmntbombdood has quit (Remote closed the connection).
06:53:26 -!- danopia`school has joined.
06:53:57 -!- puzzlet has quit (calvino.freenode.net irc.freenode.net).
06:53:57 -!- pikhq has quit (calvino.freenode.net irc.freenode.net).
06:53:58 -!- danopia`cat has quit (calvino.freenode.net irc.freenode.net).
06:53:58 -!- cherez has quit (calvino.freenode.net irc.freenode.net).
06:55:15 -!- puzzlet has joined.
06:55:53 -!- pikhq has joined.
07:00:03 -!- Sgeo has quit ("Ex-Chat").
07:20:58 -!- calamari has quit ("Leaving").
07:36:59 -!- Figs has left (?).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:35:37 -!- oerjan has joined.
09:02:20 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
10:23:08 -!- sarehu has quit (Remote closed the connection).
10:23:17 -!- sarehu has joined.
10:33:06 -!- oerjan has quit ("leaving").
10:44:45 -!- RedDak has joined.
12:27:41 -!- RedDak has quit (Remote closed the connection).
13:01:24 -!- jix has joined.
13:02:17 -!- RedDak has joined.
14:16:24 -!- RedDak has quit (Remote closed the connection).
14:53:28 -!- olsner has joined.
15:04:49 -!- sarehu has quit (Remote closed the connection).
15:05:14 -!- sarehu has joined.
15:14:04 -!- Tritonio_ has quit (Read error: 110 (Connection timed out)).
15:14:37 -!- Tritonio_ has joined.
16:01:58 -!- puzzlet has joined.
16:01:58 -!- timotiis has joined.
16:03:23 -!- danopia`school has changed nick to danopia.
16:26:46 -!- SimonRC has quit (Remote closed the connection).
16:30:28 -!- Sgeo has joined.
16:30:33 -!- RedDak has joined.
16:43:08 -!- SimonRC has joined.
16:43:42 <Sgeo> Hi SimonRC
16:43:49 <Sgeo> Did you poke around with the alpha at all?
17:31:57 * Sgeo pokes pikhq and SimonRC
17:32:03 <Sgeo> and oklopol
17:33:46 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
17:34:48 <oklopol> groooo groooo
17:39:35 <Sgeo> ?
17:39:48 <olsner> groooo groooo
17:40:22 <Sgeo> What's groooo groooo?
17:42:52 <olsner> a grooo is a groooo is a grooooo
17:43:20 * Sgeo wants opinions on the alpha of PSOX
17:46:34 <Sgeo> Does anyone even CARE?
17:46:55 -!- SimonRC has quit (Remote closed the connection).
17:46:59 -!- SimonRC has joined.
17:47:14 <Sgeo> re SimonRC
17:50:54 <oklopol> Sgeo: too tired to think or care about anything
17:51:04 <oklopol> may i interest you in some random onomatopoeia?
17:51:13 <oklopol> BLOAAARGRGH
18:06:24 -!- ehird` has joined.
18:20:27 <ehird`> 5+4/2
18:21:34 <ehird`> <Sgeo>Does anyone even CARE? <-- no
18:22:39 -!- timotiis has quit (Read error: 104 (Connection reset by peer)).
18:30:46 -!- Corun has joined.
18:32:48 <SimonRC> hi#
18:34:22 <SimonRC> that "flipper" doesn't handle ^ properly
18:35:44 <Sgeo> "flipper"?
18:37:10 <ehird`> http://esolangs.org/wiki/Ozone is this turing complete even with finite stacks?
18:37:12 <ehird`> i think yes
18:38:13 <Sgeo> Is no one going to play with PSOX?
18:40:30 <ehird`> Sgeo: no
18:46:52 -!- Tritonio_ has quit (Read error: 113 (No route to host)).
18:48:17 <pikhq> Not yet.
18:56:06 <pikhq> I'm currently reinstalling Gentoo, so I've not hadd much of an opportunity to.
19:04:42 <ehird`> hee, ruby:
19:04:46 <ehird`> elsif s[0][/[0-9]/]
19:04:58 <ehird`> i love the str[regexp] strick
19:05:00 <ehird`> *trick
19:07:20 <ehird`> hm
19:07:22 <ehird`> is Set in here
19:22:02 <SimonRC> HTF does that work anyway?
19:22:57 <SimonRC> is it a wart or is there some really clever logic behind it?
19:23:16 <ehird`> SimonRC: nope
19:23:19 <ehird`> it's very simple
19:23:24 <ehird`> str[regexp] => match
19:23:39 <ehird`> specifically, the whole part that matched
19:23:44 <ehird`> and, of course, nil if no match
19:24:00 <ehird`> but you can specify which component you want:
19:24:02 <ehird`> If a Regexp is supplied, the matching portion of str is returned. If a numeric parameter follows the regular expression, that component of the MatchData is returned instead.
19:24:17 <ehird`> you can also pass it a string, to find out if the string contains that substring
19:24:18 <ehird`> http://ruby-doc.org/core/classes/String.html
19:24:24 <SimonRC> so, only slightly a wart
19:24:32 <ehird`> str[...] is pretty damn overloaded in ruby, but it's really useful
19:24:40 <ehird`> because all the operations you can do with it are really cool
19:24:45 <ehird`> SimonRC: you can even do this:
19:24:47 <ehird`> str[regexp] = foo
19:24:57 <SimonRC> fun
19:25:03 <SimonRC> it DWYM?
19:25:27 <ehird`> irb(main):001:0> str="abc0asd222di"
19:25:27 <ehird`> => "abc0asd222di"
19:25:27 <ehird`> irb(main):002:0> str[/[0-9]/] = "banana"
19:25:27 <ehird`> => "banana"
19:25:27 <ehird`> irb(main):003:0> str
19:25:28 <ehird`> => "abcbananaasd222di"
19:25:30 <ehird`> so, kind of
19:25:35 <ehird`> :-P
19:25:39 -!- pikhq has quit ("leaving").
19:25:43 <ehird`> but that is consistant with what str[regexp] does, of course.
19:25:52 -!- Corun has quit ("This computer has gone to sleep").
19:26:01 <ehird`> irb(main):006:0> "abc0asd222di"[/[0-9]/]
19:26:01 <ehird`> => "0"
19:26:06 <ehird`> since, of course, it stops matching after that
19:26:32 <ehird`> so it might be a wart, but it's one of those nice, elegant warts ;)
19:26:55 <SimonRC> strings are mutable? ew
19:27:20 <ehird`> SimonRC: um, yeah
19:27:30 <ehird`> just like scheme, or any lisp
19:27:30 <ehird`> it has symbols, though
19:27:36 <ehird`> (You can tell it was originally a lisp derivative can't you)
19:27:58 <SimonRC> yeah
19:28:05 -!- pikhq has joined.
19:28:05 <SimonRC> are there macros?
19:28:10 <ehird`> SimonRC: strings are just treated as arrays of bytes (although they're not really arrays, so you can do clever, stringy stuff with them). 'byte' is changing to 'unicode character' in 1.9 :P
19:28:22 <ehird`> SimonRC: no, it's pretty syntaxful and macros would make the language horribly undecidable
19:28:24 * SimonRC might end up a macrophile given the cahnce
19:28:28 <ehird`> however, you can do something like this
19:28:37 <ehird`> abc {...stuff...}
19:28:38 <ehird`> and even
19:28:41 <ehird`> abc do ...stuff... end
19:28:43 <ehird`> and even
19:28:44 <SimonRC> I have sen that
19:28:48 <ehird`> abc do |arg,arg2| ...stuff.... end
19:28:48 <SimonRC> *seen
19:29:04 <ehird`> which basically amounts to having macros, you can do control structures with them
19:29:14 <ehird`> there's even nice syntax for calling the block:
19:29:29 <ehird`> def returning(x); yield x; x; end
19:29:51 <ehird`> returning(MyClass.new) {|x| x.foo = "bar"} #=> a MyClass, but with .foo = "bar"
19:30:07 <ehird`> SimonRC: kind of hard to explain elegantly, over IRC :)
19:30:34 <ehird`> SimonRC: Here's what describes ruby pretty well, from its creator: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/179642
19:31:55 <ehird`> by the way, if your ruby experience is from rails forget that crap
19:32:18 <ehird`> it is filled with evil (or should i say eval?) metamagic stuff and is pretty badly designed too
19:33:15 -!- timotiis has joined.
19:33:26 <SimonRC> I know enought about it to understand the example
19:33:33 <ehird`> :)
19:33:49 <ehird`> it might not be the cleanest, purest language out there but it's better than a lot of the competition, i'd say
19:34:05 <ehird`> and it has a big dev+user base, so a lot of people will be able to run your apps trivially
19:34:11 <ehird`> + it has really good gui bindings etc
19:34:37 -!- bsmntbombdood has joined.
19:35:01 <SimonRC> it also has a reputation for being excruciatingly slow
19:35:39 <ehird`> SimonRC: that's all fixed in 1.9
19:35:44 <ehird`> which uses a VM called YARV (yet another ruby vm)
19:35:49 <ehird`> which is blazing fast
19:35:52 <ehird`> well not blazing fast.
19:35:54 <SimonRC> cool
19:36:02 <SimonRC> fazing blast?
19:36:03 <ehird`> but about equal to python in most cases, and exceeding it in quite a few
19:36:06 <ehird`> and python's not too bad
19:36:10 <SimonRC> indeed
19:36:16 <ehird`> plus there's the old 'well, plug out into c when you need speed'
19:36:23 <ehird`> but it applies more, 'cause ruby's C interface is great :)
19:36:27 <ehird`> especially with Inline::C
19:36:30 <ehird`> you do:
19:36:57 <ehird`> inline do |builder|
19:36:57 <ehird`> builder.c "
19:36:57 <ehird`> long factorial_c(int max) {
19:36:58 <ehird`> int i=max, result=1;
19:37:00 <ehird`> while (i >= 2) { result *= i--; }
19:37:02 <ehird`> return result;
19:37:04 <ehird`> }"
19:37:06 <ehird`> end
19:37:08 <ehird`> errr
19:37:10 <ehird`> didn't realise the example was so big!!
19:37:12 <ehird`> but, SimonRC: it does all the type conversions for you, there
19:39:02 -!- oerjan has joined.
19:39:16 -!- Slereah has joined.
19:39:58 -!- pikhq has quit (Read error: 104 (Connection reset by peer)).
19:40:26 <Sgeo> Hi oerjan
19:40:31 <Sgeo> Interested in PSOX at all?
19:40:31 <oerjan> hi sgeo
19:40:35 -!- slereah__ has quit (Read error: 104 (Connection reset by peer)).
19:40:47 <oerjan> not particularly at this time
19:41:01 -!- pikhq has joined.
19:41:02 -!- ehird` has quit (Remote closed the connection).
19:41:50 -!- ehird` has joined.
19:42:02 * ehird` looks at logs, see what he missed
19:42:10 <SimonRC> ehird`: that is very very nice FFI
19:42:15 <ehird`> SimonRC: yes, yes it is
19:42:16 <ehird`> :)
19:42:46 <ehird`> made by a very clever ruby hacker.. he has an attitude though :P
19:42:53 <ehird`> the guy also made Ruby2C
19:42:56 <SimonRC> "attitude"?
19:42:59 <ehird`> which is basically a ruby->c compiler, written in ruby
19:43:05 <ehird`> and then he wrote Inline::Ruby with it XD
19:43:11 <ehird`> SimonRC: short fuse.
19:44:26 <ehird`> SimonRC: IMO one of the nice things about ruby is how oop/non-oop can mix
19:44:31 <ehird`> most languages let you choose, sure
19:44:39 <ehird`> but often the interaction between the two isn't pleasant
19:48:24 <SimonRC> C++?
19:48:25 <SimonRC> :-)
19:48:41 <ehird`> hehe, i hope that was an example to prove my point
19:48:41 <ehird`> :)
19:53:59 * SimonRC wonders where the User Friendly books are (at).
19:54:16 <Sgeo> I used to love one of the User Friendly books
19:54:33 <Sgeo> I gave it to a friend, who lost it, forcing me to find UF online
19:54:53 <ehird`> bah, UF
19:54:59 <ehird`> funny for about the first few years.
19:55:05 * Sgeo hasn't been reading it much lately
19:55:09 <ehird`> then extremely sporadically funny after that.
19:55:13 <ehird`> not worth it
19:55:14 <SimonRC> one a couple fo dozen I read
19:55:26 <SimonRC> If you want consistantly funny, try Doctor Fun
19:55:33 <SimonRC> the "first" webcomic
19:55:34 <Sgeo> Have the organization of storylines in the archives been updated anytime in the past few years?
19:55:51 <SimonRC> DF is like the far side without the incomprehensible ones
19:56:18 <Sgeo> The Far Side?
19:56:28 <ehird`> http://www.pixelcomic.net/ <-- this is pretty funny
19:56:37 <Sgeo> Have there been any 1/0-like comics lately?
19:56:50 <ehird`> because someone posted a few ones on a forum i go to and someone commented that it sounds like something i would right
19:56:55 <ehird`> and i thought the very same thing :|
19:58:24 <SimonRC> also, the GUest strips in the forums of Spamusement are good
20:12:53 <ehird`> I wonder
20:13:05 <ehird`> MiniMAX is basically the shortest-machine-code-interp thing
20:13:09 <ehird`> but what about shortest-c-program?
20:13:14 <SimonRC> you wonder what?
20:13:18 <ehird`> i hope pointer arithmetic is involved
20:13:18 <ehird`> err
20:13:21 <ehird`> shortest-c-interpreter
20:13:21 <ehird`> :)
20:13:30 <ehird`> language for which the c interpreter is very short, like miniMAX
20:22:07 <ehird`> http://www.naerian.miraco.pl/nbf/nbf-1.6.c only 5k tape? lmao
20:22:35 <Sgeo> http://pixelcomic.net/257.shtml
20:24:01 <ehird`> :)
20:24:50 <pikhq> Shortest C program?
20:25:17 <ehird`> pikhq: no.
20:25:17 <pikhq> touch shortest_c_program.c
20:25:19 <ehird`> shortest c interpreter.
20:25:21 <ehird`> damnit
20:25:22 <pikhq> Oh.
20:25:23 <ehird`> i typo'd
20:25:26 <ehird`> and acknowledged that after that
20:25:27 <ehird`> :|
20:25:30 <ehird`> GregorR: http://cvs.savannah.nongnu.org/viewvc/libbf/libbf_c_to_bf.c?root=libbf&view=markup
20:27:04 <ehird`> Sgeo: try the first few
20:27:49 <GregorR> CODE SO DENSE
20:27:52 <GregorR> CAN'T READ
20:28:39 <ehird`> GregorR: it's not very readable, but it IS another c->bf
20:28:45 <ehird`> you should look at it or something :P
20:28:57 <ehird`> it doesn't even use a parser generator ;o
20:32:54 <ehird`> GregorR: actually, the interps look pretty good too
20:33:06 <ehird`> it has an optimizer which does maths ops and stuff, and a native code generator
20:33:09 <ehird`> and even supports 128bit
20:33:16 <ehird`> you should so merge it with egobf
20:33:40 <ehird`> GregorR: omg, take a look at test/test.c
20:33:45 <ehird`> that's some awesome coverage..
20:34:38 <ehird`> omg
20:34:42 <ehird`> it produces one line output for that
20:34:47 <ehird`> 487467 chars
20:34:50 <ehird`> 8-|
20:36:05 <ehird`> haha
20:36:09 <ehird`> i then told it to optimize and convert to c
20:36:14 <ehird`> and we get the worst C->C compiler ever:
20:36:23 <ehird`> 9569 lines.
20:36:52 <ehird`> and i'm trying to paste it somewhere but they odn't like it
20:37:59 <ehird`> GregorR: from http://cvs.savannah.nongnu.org/viewvc/libbf/test/test.c?root=libbf&view=markup to http://rafb.net/p/bE1pEc11.html
20:38:13 <ehird`> c->bf, then bf->optimized-c
20:38:43 <bsmntbombdood> i wrote a bf->c compiler once
20:38:45 <bsmntbombdood> it was hard.
20:40:00 <ehird`> bsmntbombdood: you don't say
20:40:06 <ehird`> but imagine scheme->bf.
20:40:31 <ehird`> well, minimal scheme
20:40:32 <ehird`> :)
20:40:34 <ehird`> without bignums
20:40:38 <ehird`> or continuations, i'll bet :P
20:40:40 <ehird`> hmmm
20:40:55 <ehird`> you might have to do CPS transformation
20:40:58 <ehird`> so maybe continuations
20:41:05 <ehird`> GregorR: c2bf converts all calls to CPS right?
20:41:06 <ehird`> that is
20:41:42 <ehird`> a(b(c(),d())); -> c({x -> d({y -> b(x,y,{z -> a(z)})});});
20:41:43 <Sgeo> CPS?
20:41:44 <ehird`> err, kind of
20:41:47 <ehird`> Sgeo: continuation passing style
20:41:50 <ehird`> in scheme syntax:
20:42:23 <ehird`> (a (b (c) (d))) -> (c (lambda (x) (d (lambda (y) (b x y (lambda (z) (a z))))))
20:42:25 <ehird`> you see?
20:42:28 <ehird`> all calls become tail-calls
20:42:40 <ehird`> and you pass 'what next' (the CONTINUATION) as a final argument, as a function
20:42:45 <ehird`> taking the result as the argument
20:43:21 -!- UnrelatedToQaz has joined.
20:47:45 <ehird`> hmm
20:47:48 <ehird`> scheme->bf would be hell
20:47:52 <ehird`> youd' have to do all sorts of management
20:49:07 <ehird`> hm
20:49:12 <ehird`> a good start: what is a pair? :P
20:50:46 -!- calamari has joined.
20:53:09 <Sgeo> calamari, play with PSOX at all?
20:53:19 <calamari> I looked at it
20:53:29 <calamari> I think I made a comment about it needing and/or/xor
20:53:35 <Sgeo> Riright
20:54:07 <Sgeo> It will, but I do need a way of just writing down what each function does, then later putting stuff in like function numbers and types used
20:54:18 <ehird`> i love psox's overengineering
20:54:20 <ehird`> TYPES!
20:54:39 <Sgeo> I'd certainly put and/or/xor near the beginning of domain4
20:54:39 <Sgeo> brb
20:56:38 <ehird`> domain4!
20:58:27 -!- UnrelatedToQaz has quit ("ChatZilla 0.9.80 [Firefox 2.0.0.12/2008020121]").
20:58:32 <Sgeo> back
20:58:44 <Sgeo> Why "domain4!"?
21:00:06 <Sgeo> Something wrong with domain4?
21:00:15 * Sgeo has a strong feeling of deja vu
21:01:15 * oklopol has a strong feeling of GRYAAAAAAAAAAAAAAAA
21:01:30 <oklopol> it's much stronger than your petty deja vu
21:02:57 <ehird`> http://pixelcomic.net/016.shtml
21:02:57 <Sgeo> I wonder if I should attempt to make my own solution for taking a file with 1line/function and making it something usable as a domain spec
21:03:09 <oerjan> at least it is not one of the three words that end in -gry.
21:10:03 <SimonRC> http://catb.org/jargon/html/N/nugry.html
21:10:28 <SimonRC> (the trick answer being "language")
21:11:51 <Sgeo> There was an xkcd comic about that
21:12:10 <SimonRC> where>
21:13:03 <oerjan> ah yes
21:13:13 <Slereah> http://xkcd.com/169/
21:18:57 <olsner> that's a real feel-good comic
21:19:21 <olsner> makes you go "har har, right back at you!"
21:23:04 * SimonRC goes
21:34:20 <ehird`> latest xkcd is great
21:34:24 <ehird`> esp. alt-text
21:40:21 -!- Corun has joined.
21:45:44 -!- jix has quit ("CommandQ").
21:48:35 <ehird`> hm
21:48:41 <ehird`> golfscript is just too verbose
21:48:43 <ehird`> "Hello, world!"
21:48:44 <ehird`> i mean come on
21:48:49 <ehird`> you don't need that ending quote
21:48:51 <ehird`> you should be able to do
21:48:54 <ehird`> "Hello, world!
21:54:34 <Slereah> Too verbose.
21:54:39 <Slereah> We need a function for Hello world!
21:55:22 <Slereah> Will Unikitten include many unecessary functions?
21:56:13 <oerjan> only unicessary ones
21:56:58 <ehird`> Slereah: no, but very specific ones, sure
21:57:06 <ehird`> the UniKitten will look something like this:
21:58:20 <ehird`> ?“Hello, world!”
21:58:26 <ehird`> (opening and close quotes)
21:58:30 <ehird`> fill in ? as a print character.
21:59:48 <ehird`> ⌑“Hello, world!”
21:59:50 <ehird`> heh
22:00:04 <ehird`> hm
22:00:06 <ehird`> ⊕“Hello, world!”
22:00:10 <ehird`> oh
22:00:13 <ehird`> this will be concatentation:
22:00:23 <Slereah> Is that a little plane?
22:00:29 <ehird`> no
22:00:38 <Slereah> A cross in a circle?
22:00:41 <ehird`> yes
22:00:42 <ehird`> “Hello, ”⧺“world!”
22:00:48 <ehird`> ^ it's haskell's ++, in unicode :P
22:01:00 <Slereah> Why a cross in a circle?
22:01:40 <ehird`> beats me
22:01:58 <Slereah> Also, why quotation marks?
22:02:01 <ehird`> it's 'adding' to the output, but it's in the console, so it's "boxed in" because you can't see it directly from the program?
22:02:04 <Slereah> Wan't we do moar contrived?
22:02:08 <ehird`> Slereah: no
22:02:14 <ehird`> think about it, you can do this:
22:02:28 <ehird`> “Abc "def “ghi”
22:02:30 <ehird`> that's all one string
22:02:32 <ehird`> when printed:
22:02:40 <ehird`> Abc "def “ghi
22:02:41 <ehird`> you see?
22:02:54 <ehird`> the only char you need to escape is ”. if you have just "abc" in your quote it doesn't need escaping
22:02:55 <danopia> *PONG<CTCP>ehird`
22:02:57 <ehird`> Slereah: they're smart quotes
22:02:59 <ehird`> `` .. ''
22:03:05 <ehird`> danopia: did i ever ping you?
22:03:27 <Slereah> Well, there'ws "symbol for start of text" and end of text.
22:03:39 <ehird`> Slereah: show them
22:04:09 <Slereah> http://www.unicode.org/charts/PDF/U2400.pdf
22:04:15 <ehird`> copypaste
22:05:39 <Slereah> I can't. It apparently won't copy text to clipboard.
22:05:56 <Slereah> Either my PDF reader sucks or it's some copyright protection
22:20:43 <ehird`> My son's intuition was that "=" should be used to test equality, and assignment shouldn't have any symbol at all. <-- haha
22:20:56 <ehird`> i guess "var 5" wouldn't be too bad :P
22:22:11 <Slereah> Well, what we could do is use the substitution symbol for variable assignation.
22:22:25 <Slereah> :=
22:22:26 <Slereah> Or something
22:23:13 <oerjan> assignment is brutal. use a lightning stroke symbol.
22:23:45 <Slereah> Shouldn't we keep that for the deathray function?
22:24:10 <olsner> x `ZOMG ASSIGNMENT` 7
22:25:55 <ehird`> Slereah: 'shouldn't have any symbol at all'
22:25:56 <pikhq> Use the interrobang for assignment.
22:26:10 <oerjan> no, that would be the basilisk eye.
22:26:37 <pikhq> And for printing? Use the Chinese character for 'to write'.
22:26:57 <Slereah> Who speaks mandarin!
22:27:07 <pikhq> Slereah: I don't; just Japanese.
22:27:17 <pikhq> And my IME is borken, so I can't type out the appropriate character.
22:28:34 <pikhq> ?
22:30:15 <ehird`> pikhq: when i found out about IME i was so upset
22:30:17 <Slereah> Also, will Unikitten be able to output unicode?
22:30:23 <ehird`> i thought the japanese had huge keyboards with every kanji on them
22:30:25 <ehird`> :D
22:30:35 <ehird`> spanning whole rooms!
22:30:54 <ehird`> Slereah: No, we don't want to spend even one day on character sets! (PG parody.) Yes, of course it will.
22:31:53 <Slereah> So I guess there will have to be at least one escape char.
22:33:45 <ehird`> Slereah: yeah.
22:33:59 <ehird`> By the way, unikitten will take an awful long time to spec and impl :P
22:34:03 <ehird`> it's bigger than INTERCAL!
22:34:29 <pikhq> Obviously, it needs to include a mapping of INTERCAL.
22:34:40 <ehird`> pikhq: Bah, trivial.
22:34:47 <ehird`> An INTERCAL interp would be, what? 30 lines?
22:34:51 <ehird`> http://www.fileformat.info/info/unicode/char/241b/index.htm our esc char!
22:34:55 <pikhq> Not an interp.
22:34:58 <pikhq> A mapping.
22:34:58 <ehird`>
22:35:04 <ehird`> pikhq: well, compiler then
22:35:13 <Slereah> :D
22:35:30 <oerjan> ideally, it should include every other esolang as a subset...
22:35:39 <pikhq> It has the space.
22:35:46 <ehird`>
22:35:50 <ehird`> pikhq: ?
22:35:57 <pikhq> (you could even use the unallocated chars for some of the esolangs)
22:36:01 <ehird`> oerjan: there aren't that many esolangs. certainly less than 100,000
22:36:01 <Slereah> Also, who needs quotes! http://www.fileformat.info/info/unicode/char/2402/index.htm
22:36:01 <ehird`> :P
22:36:02 <Slereah> http://www.fileformat.info/info/unicode/char/2403/index.htm
22:36:08 <ehird`> but <>+-,.[]? nah.
22:36:22 <ehird`> Slereah: that's for WHOLE text
22:36:39 <ehird`> we could use a real escape for our escape.
22:36:42 <Slereah> Well, it doesn't have to be exactly the same meaning!
22:37:02 <Slereah> Unless you've got other plans for this.
22:37:52 <ehird`> Slereah: Well, we should be correct as much as possible :P
23:09:31 -!- Slereah has quit (Read error: 104 (Connection reset by peer)).
23:09:34 -!- Slereah has joined.
23:17:16 <ehird`> pikhq: Advocate Tcl to me. I have a feeling I'm just not seeing what's good about it.
23:21:50 -!- timotiis has quit ("leaving").
23:22:09 -!- calamari has quit (Remote closed the connection).
23:24:57 -!- oerjan has quit ("Good night").
23:27:31 <ehird`> (Hm. overloading == as definiton: genius or evil?)
←2008-02-09 2008-02-10 2008-02-11→ ↑2008 ↑all