00:16:32 -!- calamari has joined.
00:51:55 <ihope> oerjan: ` doesn't really mean much, monad-wise.
00:52:22 <ihope> Just the S and K combinators should work, except make it ap and return instead of S and K.
00:53:06 <oerjan> well the point is not to do that.
00:53:54 <ihope> The point is not to use ap and return instead of S and K?
00:54:10 <oerjan> let me look up the definition of ap.
00:54:33 <ihope> ap :: m (a -> b) -> m a -> m b
00:58:34 <oerjan> hm, consider ``sAB with that definition.
00:59:09 <ihope> A and B are of the same monad. A contains a function, and B contains the argument.
01:00:03 -!- rt has joined.
01:00:12 <oerjan> let A :: m (a->b) then.
01:00:58 <oerjan> then s :: (a->b) -> m <something>
01:01:41 <ihope> s :: m (a -> b) -> m a -> m b.
01:02:04 <oerjan> no. ` is bind, remember.
01:02:47 <oerjan> ` :: Monad m => (a->m b) -> m a -> m b
01:03:22 <oerjan> so s with your type would not fit.
01:05:36 <oerjan> on the other hand haskell types may not fit well either. Monads are tracked partially separate from the functional type.
01:06:10 <oerjan> not that i have thought much about whether this works at all.
01:06:46 <oerjan> in particular, m1 a and m2 b could be the same type.
01:08:58 <ihope> In your language, you mean?
01:12:32 <Razor-X> More examples of Forth code: Print out an ASCII table formatted to 5 entries per line.
01:12:33 <Razor-X> : A-TABLE 128 33 DO I . SPACE I EMIT SPACE I 28 - 5 MOD 0 = IF CR THEN LOOP ;
01:12:42 <Razor-X> Then run A-TABLE and all is well.
01:13:11 <xor_> Razor-X: capital letters suck
01:13:25 <Razor-X> xor_: Nah. It makes the code look more awesome :P
01:13:51 -!- GregorR-L has quit (Read error: 104 (Connection reset by peer)).
01:13:55 <Razor-X> Oh, and that's an ASCII table for all the printable characters, by the way.
01:14:14 <oerjan> however, making `k A B act like return A seems reasonable
01:15:54 <ihope> Oh, by the way, I somewhat designed a programming language.
01:16:12 <ihope> I'm not sure just how esoteric it is.
01:16:27 <oerjan> maybe it's a p-language then :)
01:16:50 <ihope> It's assembly-like.
01:17:18 <ihope> Possibly easy to compile into x86.
01:17:46 <oerjan> what is Erna, apart from a Norwegian party leader?
01:18:16 <Razor-X> Even read C.S. Friedman's Black Sun Rising series?
01:19:21 <ihope> Just what's x86 like?
01:19:55 <ihope> Impossible to virtualize?
01:20:31 <oerjan> i thought virtualization on x86 was all the rage nowadays
01:20:52 <ihope> Hard to virtualize?
01:21:00 <Razor-X> Well, x86 is a lot better than the z80 ASM on TI.
01:21:05 <Razor-X> That's just my opinion though.
01:21:50 <ihope> Well, surely x86 doesn't meet the Chaim-Potok virtualization requirements or whatever they're called.
01:23:22 * oerjan isn't going to pretend he understands what ihope is talking about.
01:24:26 <Razor-X> But who cares about that? Since when has anything popular *ever* followed standards?
01:24:30 <Razor-X> I mean, look at Microsoft.
01:24:44 <oerjan> ah, definitely not Chaim-Potok. he wrote "My name is Asher Lev".
01:25:12 <oerjan> which i've never read but it was in my parent's bookshelf
01:25:54 <ihope> Ah, it's the Popek and Goldberg virtualization requirements.
01:26:11 <oerjan> the main character in that novel, i assume
01:26:13 <Razor-X> Goldberg, Chaim, same difference.
01:26:31 <Razor-X> GregorR, Gates, same difference.
01:27:37 <oerjan> if you say so. you couldn't get gregorR to send me a couple million dollars?
01:27:50 <Razor-X> Nah. Ask his wife for that.
01:28:24 <Razor-X> Also, something tells me ihope knows who Asher Lev is.
01:28:52 <ihope> No idea, until I read the Wikipedia article.
01:29:02 <ihope> My English teacher assigned us The Chosen.
01:30:24 * Sgeo was a showoff in math today
01:30:46 * Sgeo is actually trying to show off here by mentioning this
01:31:39 <ihope> What'd you show off about?
01:32:03 <Sgeo> In Calculus, we started integrals
01:32:23 <Sgeo> So I showed that I already knew the stuff we were learning today
01:33:12 <Asztal> aww I thought I was the youngest one here :(
01:33:31 <ihope> Unless one of you's younger than me.
01:33:46 <Asztal> Well I did 1st year calculus 3 years ago... ;)
01:33:57 <ihope> I'm not to calculus yet.
01:33:58 * Sgeo is in High School
01:34:30 <ihope> I'm in pre-calculus, and I could be about the youngest guy in there.
01:34:40 * oerjan feels like he has one foot in the grave in this company.
01:35:13 <Asztal> <ihope>` doesn't really mean much, monad-wise.
01:35:15 <Asztal> Just the S and K combinators should work, except make it ap and return instead of S and K.
01:35:19 * Sgeo wonders if there's a way to find out who's the youngest by comparing years without actually revealing age..
01:35:24 <oerjan> someone yesterday said he was 15
01:35:25 <Asztal> ^ yeah, but I understand none of that ;)
01:35:43 <oerjan> i don't think it was any of you speaking now
01:35:45 <ihope> Sgeo: I turned 14 some days ago. Are you younger than that?
01:39:13 <oerjan> a great chance of employing zero-knowledge proofs wasted :/
01:39:29 <Sgeo> oerjan, that's what I was trying to refer to
01:40:01 <Sgeo> How would we do a zero-knowledge proof thingy here?
01:40:59 <ihope> Zero-knowledge proof?
01:41:31 <oerjan> a cryptographical technique for proving you have some knowledge without revealing it
01:42:14 <Sgeo> How could that be done in chat?
01:43:16 <oerjan> i'm sure it would be verbose. we would have to simulate the algorithm
01:44:06 <oerjan> although first we would perhaps have to find an algorithm.
01:45:30 <oerjan> i think it is based on huge keys like in RSA.
01:49:54 <ihope> Let's try to come up with a zero-knowledge proof.
01:51:09 <Sgeo> http://www.cs.fit.edu/~msilaghi/secure/
01:52:21 -!- wooby has joined.
01:52:50 -!- wooby has quit (Client Quit).
01:57:22 <Razor-X> My math teacher chews and spits out show-offs.
01:57:36 <Razor-X> And with Calculus III under her belt, I'm not one to challenge her.
01:58:21 <xor_> I hate math class
01:59:30 -!- kipple_ has quit (Read error: 145 (Connection timed out)).
02:18:50 <CakeProphet> to do a zero knowledge proof... you need to only do this.
02:20:05 * oerjan thinks the prophet must have eaten some bad cake
02:21:07 <Sgeo> Razor-X, what do you mean "chews and spits out show-offs"?
02:21:28 <ihope> The theory of everything is actually *
02:21:43 <Sgeo> ihope, I thought it was more like .*
02:22:04 <ihope> No, that's the regex of everything.
02:22:26 <ihope> Actually, the theory of everything is this: forall a. a
02:22:37 <ihope> I.e. "everything is true".
02:27:09 * Sgeo still wants to conduct zero-knowledge proofs in this channel
02:27:33 <oerjan> to get a COUNTEREXAMPLE, use the theory of something: exists a. a
02:28:09 <CakeProphet> -D|5╫aT╫4╘4G╢♥3-4A☺☼49§☼457c╞7524☻455»-┐M+B!☻♦♦♣455♦♣-445♦64654♦♦♣:7♪û☺jä1▼4
02:29:06 <oerjan> See http://en.wikipedia.org/wiki/Secure_multiparty_computation, there are links to programs
02:32:40 <oerjan> oh, you were linking to one of them
02:34:10 <Sgeo> Fairplay looks more flexible somehow
02:34:14 <Sgeo> But not enough docs
02:34:56 <oerjan> ah, SMC is a programming language
02:34:57 <ihope> oerjan: the theory of something contradicts the theory of everything?
02:35:46 <oerjan> of course. the theory of everything after all implies that everything contradicts everything.
02:36:18 * pikhq proposes a formal system of logic where everything I say is right
02:36:18 <oerjan> http://www.cs.fit.edu/~msilaghi/SMC/tutorial.html
02:36:50 <ihope> The theory of everything is pretty darn inconsistent, you know.
02:37:08 <ihope> Not that there are actually different levels of being inconsistent.
02:37:29 <oerjan> ah but there are in relevance logic
02:38:15 <oerjan> there, a contradiction from some propositions cannot affect irrelevant ones
02:38:26 <Sgeo> SMC confuses me
02:40:29 <Sgeo> Why is oblivious transfer important?
02:41:27 <oerjan> ah, Fairplay is a predecessor to SMC for only 2 participants
02:41:42 <xor_> sounds interesting
02:42:26 <oerjan> i don't know but wikipedia said that oblivious transfer could be used to construct secure multiparty computations
02:44:27 <Sgeo> http://64.233.161.104/search?q=cache:oMqmmv1jYlAJ:csrc.nist.gov/kba/Presentations/Day%25202/Jablon-Methods%2520for%2520KBA.pdf+%22Zero-knowledge+password+proof%22&hl=en&gl=us&ct=clnk&cd=3&client=opera
02:51:02 -!- ivan` has joined.
03:04:02 -!- thematrixeatsyou has joined.
03:08:15 <xor_> aaaaah where's egobot
03:08:37 <xor_> How did he taste?
03:08:58 <oerjan> like an electronic chicken
03:10:11 * pikhq likes Japanese. . .
03:10:55 <pikhq> But I used "oishii".
03:17:48 <oerjan> i say tomato, you say tomato...
03:18:25 <pikhq> I say tomato, you say redrum.
03:19:57 <xor_> because I'm already drunk?
03:32:10 -!- ihope has quit (Connection timed out).
03:38:26 <pikhq> xor_: Get MORE DRUNK!
03:40:40 <xor_> too drunk==not fun
03:41:13 <xor_> little drunk==fun
03:56:18 <xor_> cattttttttttttttttttttttttttttttttttttt
03:56:31 <oerjan> ddddddddddddddddddddddddddddddddddddog
03:57:22 <xor_> concatenaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaate
04:20:09 <Razor-X> I say 「あの人々は子供の動くようがあったし」 you say 「ナニッ?!子供心はとても主なことだったネ」.
04:25:44 -!- wooby has joined.
04:29:26 -!- wooby has quit (Client Quit).
04:29:38 -!- wooby has joined.
04:35:12 -!- oerjan has quit ("Good night.").
04:49:10 -!- Asztal has quit (Read error: 60 (Operation timed out)).
05:16:30 -!- calamari has quit ("Leaving").
05:20:35 -!- Sgeo has quit ("Ex-Chat").
05:38:08 -!- thematrixeatsyou has quit ("-- food and stuff -- bye -- still haven't done that english essay --").
06:08:44 -!- GregorR-L has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:27:26 -!- RodgerTheGreat has quit (Remote closed the connection).
08:28:07 -!- RodgerTheGreat has joined.
08:32:39 -!- ivan` has quit (" HydraIRC -> http://www.hydrairc.com <- State of the art IRC").
08:36:52 -!- RodgerTheGreat has quit (Read error: 104 (Connection reset by peer)).
08:38:50 -!- RodgerTheGreat has joined.
08:58:45 -!- GregorR-L has quit ("Leaving").
09:00:59 -!- RodgerTheGreat has quit (Read error: 110 (Connection timed out)).
09:02:45 -!- EgoBot has joined.
09:12:01 -!- CakeProphet has quit ("haaaaaaaaaa").
09:20:47 -!- RodgerTheGreat has joined.
09:38:06 -!- RodgerTheGreat has quit (Read error: 110 (Connection timed out)).
11:17:16 <EgoBot> cannot write checkpoint image
11:55:36 -!- kipple_ has joined.
11:59:42 -!- Asztal has joined.
12:45:09 -!- ihope__ has joined.
12:45:18 -!- ihope__ has changed nick to ihope.
13:02:42 <ihope> From now on, everything in this channel must follow Wikipedia official policies.
13:03:17 * ihope nominates his above statement for deletion, it being non-notable original research
13:04:34 <ihope> Oh, it's protected? Some administrator needs to unprotect it.
13:05:06 * ihope nominates that for deletion as well, for the same reason
13:08:09 * Asztal nominates User:ihope for deletion
13:09:01 * ihope votes "speedy keep"
13:29:48 -!- wooby has quit.
14:45:28 -!- tgwizard has joined.
14:54:50 -!- RodgerTheGreat has joined.
14:59:26 -!- kipple_ has quit ("See you later").
15:03:13 -!- Asztal has quit ("Chatzilla 0.9.72-rdmsoft [XULRunner 1.8.1b2/0000000000]").
15:45:06 -!- calamari has joined.
16:05:21 -!- Asztal has joined.
16:05:46 -!- calamari has quit (Read error: 110 (Connection timed out)).
16:26:04 * SimonRC decides that assembley would be great for functional programming.
16:26:14 <SimonRC> Functions really *are* data there.
16:26:31 <SimonRC> although the RO and NX bits may get in the way :-(
16:26:56 <SimonRC> also, by fucking with the stack pointer, you can easily do coroutines
16:29:34 <RodgerTheGreat> I'm working on my synthesys reference interpreter at the moment- I think I'm going to need to figure out how to use HashMaps in Java to do this properly.
16:32:31 <SimonRC> The trick to doing this kind of thing in Java is:
16:44:15 <RodgerTheGreat> sweet. these things are actually *really* easy to use.
16:45:02 <RodgerTheGreat> a hashmap is a perfect way to keep track of the name->value correlations for variables.
17:24:34 -!- CakeProphet has joined.
17:27:41 -!- Razor-X has quit (Remote closed the connection).
18:15:35 -!- CakeProphet has quit (Read error: 145 (Connection timed out)).
18:32:16 -!- CakeProphet has joined.
18:40:09 -!- Asztal has quit ("Chatzilla 0.9.72-rdmsoft [XULRunner 1.8.1b2/0000000000]").
18:45:32 -!- calamari has joined.
19:01:03 * calamari just found a major bug in bfbasic
19:01:17 <calamari> something has gone wrong with do/loop
19:06:14 -!- CakeProphet has changed nick to SevenInchBread.
19:06:26 -!- SevenInchBread has changed nick to CakeProphet.
19:07:17 -!- CakeProphet has changed nick to GrandmotherChaos.
19:07:30 -!- GrandmotherChaos has changed nick to CakeProphet.
19:10:29 -!- CakeProphet has changed nick to SevenInchBread.
19:12:07 <ihope> Are you somehow using Python to do esoteric things with Wikipedia or something?
19:14:38 -!- Sgeo has joined.
19:25:01 * calamari wonders who ihope is talking to
19:25:31 <ihope> To SevenInchBread.
19:25:39 * Sgeo wonders where calamari sees ihope talking
19:25:55 <ihope> <ihope> Are you somehow using Python to do esoteric things with Wikipedia or something?
19:26:36 <ihope> Where's Python come in, then?
19:26:49 <Sgeo> What's SevenInchBread doing with Wikipedia?
19:27:16 <ihope> Are you doing it to http://en.wikipedia.org/wiki/Python_(programming_language)?
19:27:35 <SevenInchBread> It is within the rustle of every leaf... in the blooming of every flower.
19:27:58 <SevenInchBread> ihope, Your question reflects the true answer that is.
19:28:37 <xor_> It would rock even more if it didn't use indentation
19:28:59 <SevenInchBread> ...pretty much every language uses indentation as a standard precedure....
19:29:02 * Sgeo <3 the indentation
19:29:19 <SevenInchBread> I mean... is it any worse than asking you to put {}'s around everything? :P
19:29:39 <xor_> because the indentation gets screwed up easily
19:30:18 <SevenInchBread> Nah... it's simple to fix... most of the screw-ups are just errors caused by mismatches parenthetical thingies somewhere.
19:30:42 <Sgeo> DM uses indentation
19:31:30 <ihope> Use Python without the indentation stuff.
19:32:33 <SevenInchBread> Unless you don't plan on using ifs, whiles, fors, or defs.
19:32:43 <ihope> Can't you use functions for if, while, and for?
19:33:21 <SevenInchBread> you could make one.. but that would require a def... which require indentation./
19:33:37 <ihope> Well then, only use... three blocks?
19:34:05 <SevenInchBread> and the interpreter usually autoindents everything for you... so... it's not like it's difficult or anything.
19:34:46 <SevenInchBread> you just have to dedent with a backspace at the end of the block... which is, in my opinion, much easier to do than shift+}
19:35:56 <xor_> It's very easy to screw up the indentation
19:36:26 <pikhq> C-j says otherwise.
19:36:37 <xor_> Editors will do it for you, I know, but just try editing in a different editor or posting it somewhere
19:36:52 <xor_> I don't mean mess it up while coding
19:37:00 <pikhq> SevenInchBread: BTW, God coded in Lisp.
19:38:20 <SevenInchBread> xor_, Why would you be editing Python outside of a Python editor?
19:38:20 <xor_> prefix notation, postfix notation
19:38:45 <pikhq> Nah, he just coded the Lisp interpreter in Forth.
19:40:07 <xor_> What's a python editor?
19:40:36 <xor_> some editors use tabs, some use 4 spaces, some use 2, some use 8
19:41:17 <SevenInchBread> the Python interpreter requires that only the indention of a certain indent level remains constant.
19:41:28 <xor_> "def foo():\n stuff()\n\tmorestuff()\n"
19:41:37 <SevenInchBread> and I'm pretty sure most editors auto-detect the indent settings being used.
19:41:53 <xor_> also, you can't cram a lot of code on one line
19:42:42 <xor_> if x: stuff(); else: oh wait, i'm screwed
19:44:07 <Sgeo> SevenInchBread, hm?
19:44:45 <SevenInchBread> prime = lamba nums: filter(lamba x: Ture not in map(lamba primecheck: x % primecheck == 0, range(2, x/2)), nums)
19:44:56 <SevenInchBread> I might have screwd it up.. I never saved it so I just sorta made it off of memory.
19:46:02 -!- Asztal has joined.
19:46:31 <xor_> You can't use normal code on just one line
19:48:15 <SevenInchBread> Python isn't supposed to do one-line statement-expression type things.
19:48:36 <xor_> But try and post your code to a forum that removes indentation
19:49:00 <pikhq> xor_: That would be called "borken".
19:49:07 <Asztal> or find a better forum. :)
19:49:15 <xor_> There are almost no decent languages that are whitespace sensitive
19:49:23 <SevenInchBread> most forums have a [code][/code] feature for preformatted stuff.
19:49:43 <SevenInchBread> Python is only whitespace sensitive at the front of a line.
19:49:50 <pikhq> It's whitespace sensitive.
19:49:59 <xor_> It would be better if it wasn't
19:50:03 <pikhq> Therefore, there's at least one decent language that's whitespace sensitive.
19:50:14 * SevenInchBread honestly doesn't understand how whitespace sensitivity makes a language better.
19:50:25 <xor_> There are _almost_ no decent languages that are whitespace sensitive
19:50:45 <pikhq> Most of them actually seperate tokens by whitespace.
19:51:09 <pikhq> Unless "chari=5;" means anything in C?
19:51:10 <SevenInchBread> I don't see how a language would find tokens easily without using whitespace.
19:51:56 <pikhq> Or "intmain(intfoo,charbaz){charbar=foo+baz;return(bar);}"?
19:52:46 <pikhq> SevenInchBread: "char i" would define a variable 'i' of type char, not a variable named "char i".
19:53:16 <pikhq> It's called "a typed language".
19:53:34 <SevenInchBread> >>> prime = lambda nums: filter(lambda x: True not in map(lambda primecheck: x % primecheck == 0, range(2, (x/2)+1)), nums)
19:56:02 <SevenInchBread> but now with the release of Python 2.5... the only control flow statements that don't have an expression equivalent are while and with
19:57:28 <xor_> you can do that in 2.5!
19:57:31 <pikhq> Must be hell to parse. XD
19:58:05 <SevenInchBread> squared = [n * n for n in (ThisList if HellFrozenOver == True else SomeOtherHellFriendlyList)]
19:59:51 * xor_ gets python 2.5
20:00:29 <xor_> I think python just got 2.5 times better
20:00:50 <SevenInchBread> yeah... but they're thinking about removing lambda in version 3
20:01:23 <SevenInchBread> which isn't that terrible... list comprehensions can pretty much do anything lambda could do...
20:01:44 <pikhq> foreach n [expr $HellFrozenOver ? $ThisList : $HellFriendlyList] {append squared [expr $n*$n]}
20:02:12 <SevenInchBread> looks like Perl... anything with $'s looks like Perl to me.
20:02:57 <xor_> you cant do "print x if y"
20:04:01 <xor_> print 2 if x else print 1
20:04:05 <xor_> SyntaxError: invalid syntax
20:04:23 <SevenInchBread> Because you can't just make print magically print nothing when you're telling it to print something.
20:05:21 <Sgeo> Wouldn't it be
20:05:45 <xor_> sys.stdout.write("1") if 1 else sys.stdout.write("2")
20:05:52 <Sgeo> print (2 if x else 1)
20:06:25 <xor_> print (2 if 1 else 1)
20:06:55 <Sgeo> My thing works
20:07:01 <Sgeo> (2 if x else 1) is a value
20:07:15 <Sgeo> print could just print that
20:07:52 <Sgeo> SevenInchBread, what version of Python?
20:08:04 <xor_> $ python2.5 --version
20:08:05 <Sgeo> >>> print (2 if 1 else 1)
20:08:09 <pikhq> SevenInchBread: That was Tcl.
20:09:01 <pikhq> puts [expr 1 ? 2 : 1]
20:09:24 <pikhq> % puts [expr 1 ? 2 : 1]
20:09:44 <Sgeo> SevenInchBread, worked for me
20:10:11 <Sgeo> SevenInchBread, "with" doesn't change color in IDLE
20:10:20 <xor_> >>> print (2 if 1 else 1)
20:10:24 <xor_> SyntaxError: invalid syntax
20:10:51 <xor_> ooops wrong version
20:11:30 <Sgeo> import sys; sys.version
20:12:00 <SevenInchBread> Sgeo, You need to enable it via the __future__ module.
20:12:20 <xor_> not in python2.5
20:13:02 <xor_> why not in 2.5?
20:13:23 <SevenInchBread> maybe for bug testing... or to make sure it's safe or something.
20:14:16 <xor_> iterator.send(x)
20:14:17 -!- EgoBot has quit (Read error: 110 (Connection timed out)).
20:17:10 <xor_> idle-python2.5
20:17:44 <xor_> with open('/etc/passwd', 'r') as f:
20:19:10 <xor_> "After this statement has executed, the file object in f will have been automatically closed, even if the 'for' loop raised an exception part-way through the block."
20:19:33 <SevenInchBread> but it has some extra funcionality with user-made classes.
20:19:49 <SevenInchBread> Most of Python's power is in its object-oriented stuff.
20:19:59 <xor_> "the context management protocol"
20:20:38 -!- ivan` has joined.
20:20:47 <SevenInchBread> I like the direction they're going with the whole "type/class unification" thingy.
20:21:07 -!- EgoBot has joined.
20:21:07 <EgoBot> cannot read elfstream /home/gregor/esoteric/egobot/egobot/daemons/.cat
20:21:26 <pikhq> !daemon cat bf ,[.,]
20:21:46 -!- ihope__ has joined.
20:21:50 <xor_> "The context manager must have __enter__() and __exit__() methods."
20:23:39 <SevenInchBread> On user-made classes.... __enter__() and __exit__() will be called to specify what exactly happens in the with statement.
20:24:08 <SevenInchBread> Like how __eq__() controls what happens when you use an instance in an == operation.
20:27:33 -!- SevenInchBread has changed nick to SixInchBread.
20:28:42 -!- SixInchBread has changed nick to SevenInchBread.
20:32:20 <xor_> I never understood method decorators
20:37:55 -!- ihope has quit (Connection timed out).
20:46:58 * SimonRC point out that FORTRAN and INTERCAL don't need whitespace at all.
20:47:18 <SimonRC> the language Whitespace needs whitespace, though
20:47:29 <xor_> That's what the docs call them
20:47:41 <SevenInchBread> Basically the __'s are just there to tell the user that the method is called somewhere special.
20:52:00 * SimonRC likes the Haskell program in which evey variable is named by a string of ?????
20:53:19 <SimonRC> you get lines like: let(???????)???(????????????????)=(??(?????))in(???????
20:54:08 <xor_> haskell is weird
20:54:36 <Sgeo> How do I replace "!@#$%^&*()" with a particular number in JavaScript?
20:55:12 <SimonRC> is there an "indexof"-type function?
20:57:48 -!- SimonRC has changed nick to VickyPollard.
20:57:55 -!- VickyPollard has changed nick to SimonRC.
21:13:01 <ihope__> SimonRC: I like strings of underscores better.
21:13:20 <ihope__> It's harder to count long strings of underscores.
21:13:28 <ihope__> _ being reserved is a good thing. :-)
21:15:58 * ihope__ has n40ber 36c2 6n and 5s 4s5ng a 3a*t6*
21:16:37 <SimonRC> you're writing in leet now?
21:16:53 <SimonRC> oh, wait, you have the nu pad on
21:22:40 <SimonRC> the thing that says /*-789+4561230. on it
21:24:36 <RodgerTheGreat> is there anyone here familiar with perl that thinks they could help me figure out what I'm doing wrong here? http://nonlogic.org/dump/text/1162675301.html
21:26:26 -!- oerjan has joined.
21:27:20 <SimonRC> have you tried putting a lod of prints in there?
21:28:17 <RodgerTheGreat> well, I put in a "print $x;" down by where I increment $x, and it never prints, so it may be getting caught in the ][ handlers somewhere...
21:29:19 <RodgerTheGreat> I just decided to learn it this afternoon, and I figured a BF interpreter was a fairly good starting point.
21:30:58 <ihope__> Nah, you should write a PE -> PE compiler.
21:31:08 <ihope__> One that adds virtualization.
21:33:19 <oerjan> silly ihope, this is a talk page, not an article page.
21:34:27 <oerjan> referring to your wikipedia policy
21:34:28 * ihope__ adds another instruction to his assembly-like language, making it 50
21:34:41 <ihope__> Am I supposed to sign all my messages, then?
21:34:57 <ihope__> s/instruction/nine instructions/
21:35:27 <oerjan> fortunately, you already do so.
21:35:52 <oerjan> a little backwards, though
21:36:12 <ihope__> I thought the servers did that.
21:36:17 <oerjan> well, _i_ certainly see your nick before your messages.
21:36:31 <Asztal> oerjan: what a ridiculous idea!
21:36:51 <Asztal> IRC is much more fun when the server supports anonymous channels. :)
21:36:59 <oerjan> so? in wikipedia you just push a button.
21:37:03 * ihope__ adds instruction number 51 to his language
21:37:14 <oerjan> don't even need to write your name
21:37:55 <oerjan> we do have a nearly anonymous channel here. it's called /msg egobot !cat
21:38:31 -!- EgoBot has quit (Read error: 104 (Connection reset by peer)).
21:38:46 -!- EgoBot has joined.
21:39:19 <oerjan> i hope that had no connection to what i said.
21:39:19 <ihope__> input, output, finish, jump, set, add, subtract, mult, div, mod, and, or, xor, nand, nor, nxor, equal, nequal, less, great, lesseq, greateq, popa, popb, pusha, pushb, user, popt, pusht, peeka, peekb, peekt, sizea, sizeb, sizet, rjump, load, retrieve, info, djump, drjump, popba, pushba, peekba, popbb, pushbb, flipa, flipb, call, choose
21:39:48 <ihope__> And actually, we need popbt, pushbt, peekbt, and flipt, too.
21:40:04 <oerjan> some of those sound like they're from some weird african language
21:40:33 <ihope__> "Popbt" = "pop from the bottom of the trap stack".
21:41:21 <ihope__> Anyway, this makes it 55 instructions.
21:41:22 <oerjan> you simply have to add a peekaboo instruction. so says i.
21:41:52 <oerjan> something with peeking and booleans, perhaps.
21:44:48 -!- EgoBot has quit (Read error: 104 (Connection reset by peer)).
21:46:17 <ihope__> Oh, and "popbt" is actually "pop from the bottom of the trap stack unless in user mode and the stacktt register is nonzero, in which case the instruction pointer as seen from system mode is to be pushed to the trap stack, system mode is to be entered, and a jump is to be done to the location in the stacktt register, or the trap stack is empty, in which case the jump instruction is to be...
21:46:19 <ihope__> ...called with the location in the stackte register".
21:46:27 <oerjan> referring to god, he coded in the following language: ftp://ftp.nvg.ntnu.no/pub/frc/39
21:46:50 <ihope__> It's one of those fancy assembly languages with support for system mode and user mode and all that stuff.
21:51:44 <ihope__> And I wondered why these assembly languages had to have so many instructions.
21:52:34 * ihope__ adds instruction number 56: cancel
22:02:20 * ihope__ finds his typing is not impaired that much when he removes his right index finger
22:03:59 <oerjan> i'm sure if you used a knife it _would_ impair it a great deal.
22:03:59 <pikhq> Did you remove it using a knife or something?
22:04:24 <ihope__> I stuck it in the thingy of a pen.
22:04:37 <ihope__> The thingy you use to stick it on things.
22:05:15 <oerjan> there is room for a finger in that?
22:28:25 -!- Razor-X has joined.
22:41:36 <oerjan> rodgerthegreat: i think you should set $iptr=0, not -1.
22:42:00 <oerjan> alternatively use ++$iptr instead of $iptr++.
22:42:15 <RodgerTheGreat> ah- that may be the issue. I confused pre and post increment
22:42:49 <oerjan> i cannot see why that should cause an infinite loop though.
22:43:06 <oerjan> do you use the -w flag?
22:43:25 <RodgerTheGreat> well, I commented out the [] code, and it doesn't i-loop anymore- still working on it
22:43:38 <Razor-X> I've been setting it aside.
22:44:00 <Razor-X> Aha. Language innaguration with a BF interpreter?
22:44:21 <Razor-X> (I'm doing the same in Forth.)
22:45:39 <Razor-X> I wrote all the code to deal with everything but [] and the actual parsing itself.
22:46:32 <Razor-X> I also thought up a new technique of representing the BF pointer that may be handy in writing an ASM version.
22:48:51 <Razor-X> The BF pointer is just an offset from the address of the first cell in the BF tape in memory.
22:52:37 <pikhq> I just got bored and did a Tcl Brainfuck interpreter.
22:52:43 <RodgerTheGreat> hm. I guess I'll try rewriting my postconditionals in a normal fashion- they might be causing some of my problems.
22:52:46 <pikhq> And I found something that I don't know in the language.
22:52:54 <Razor-X> It's a bit challenging in Forth. A bit.
22:52:58 <pikhq> How the hell are you supposed to get only a single char from stdin?
22:53:30 <Razor-X> Also because I'm trying to use as little non-stack memory as possible.
22:53:50 <Razor-X> I only allocate a dynamic amount of memory for the tape, and a variable to hold the size of the tape.
22:54:03 <Razor-X> The rest is just crafty usage of the main and return stacks.
22:59:38 <Razor-X> The Forth people are correct too. I suffer from a typical problem. I try and overplan.
22:59:58 <Razor-X> I hate it when I spend 10 minutes weighing an implementation idea in my head for advantages and disadvantages.
23:02:57 <oerjan> RTG: i note you are writing $x++;$ctr++ if $p[$x]=="["; . you are not wrongly assuming that the if would scope over both statements?
23:04:26 <RodgerTheGreat> x should be scoped higher than everything- it's defined on line 3.
23:04:48 <oerjan> that's not what i meant.
23:05:12 <oerjan> i wondered why you aren't splitting that into two lines...
23:05:56 <RodgerTheGreat> and I intended for X to be incremented for every iteration of that loop.
23:06:21 <oerjan> so that part is correct.
23:10:34 <oerjan> well, everything seems correct to me.
23:12:47 <oerjan> do you have an example program and input that goes wrong?
23:15:30 <oerjan> well it tells us something: , and . are working.
23:16:17 <RodgerTheGreat> if I run the same program with "ABC" as input, it outputs "ABC".
23:21:11 <oerjan> i am suspecting that your split("", does not work properly.
23:22:00 <oerjan> try replacing "" with //.
23:22:46 * pikhq has his Tcl Brainfuck interpreter working. . .
23:25:38 <oerjan> aha. you really should have used the -w flag.
23:25:59 <oerjan> it turns on lots of warnings.
23:27:56 <oerjan> what was it, apart from the @p array being strangely empty?
23:28:26 <RodgerTheGreat> the warnings telling me that I'm comparing numeric cells to a character.
23:32:31 <oerjan> ah. i got the warnings flying by so fast i didn't see that.
23:32:59 <oerjan> does it work when you change to string comparison?
23:33:58 <RodgerTheGreat> I double-checked everything it was giving warnings about, and it doesn't seem to fix things.
23:36:54 <RodgerTheGreat> that's the debugging I was using to make sure x incremented properly. you can take that line out.
23:37:17 <oerjan> actually i'll rather add some more...
23:37:47 -!- ihope__ has changed nick to ihope.
23:37:52 <oerjan> ok, it actually goes through the commands. although it seems to have an off-by-one error at the end.
23:38:21 <oerjan> ah, that's probably just the \n character.
23:40:12 * pikhq loves how his BF interpreter works. . .
23:40:23 <pikhq> We compile to Tcl, and evaluate the compiled code. XD
23:41:34 <oerjan> ah, interesting. reading the input gives the wrong character.
23:43:28 <oerjan> no. it was that $iptr=-1 thing.
23:45:21 <oerjan> the test worked. ,+. with ABC now gives output B and just that.
23:46:11 <oerjan> all == except one changed to eq
23:46:41 <oerjan> it's string comparison.
23:47:08 <oerjan> man perlop is your friend.
23:48:24 <oerjan> http://home.nvg.org/~oerjan/test.pl
23:49:15 <RodgerTheGreat> erm... 404. if you want, you can use http://nonlogic.org/dump
23:53:24 <oerjan> ok, http://nonlogic.org/dump/text/1162684351.html
23:57:04 <oerjan> also, the following man pages are good for reference: perlop, perlfunc and perlre.
23:58:32 <oerjan> and of course man perl to find all the other documentation.
23:59:58 <Sgeo> Are we going to work on the Factory language?