00:13:30 -!- evincar has joined.
00:33:13 <GregorR> evincar cracked corn, and I don't care.
00:33:42 <ehird> evincar - I don't care.
00:34:01 <evincar> ehird: So I take it you stopped caring enough to make that interpreter? ^_^
00:34:11 <ehird> evincar: I kinda, er, lost it.
00:34:20 <evincar> It's okay, I didn't finish mine, either.
00:34:31 <evincar> I just got lazy when it came time to implement BECOME and ESCAPE.
00:34:43 <evincar> Also, I didn't feel like coming up with semantics for ESCAPE.
00:46:52 -!- SirGeo has changed nick to Sgeo.
00:57:45 -!- evincar has quit ("ChatZilla 0.9.82 [Firefox 2.0.0.14/2008040413]").
01:04:27 <ehird> I found the Zen in Smalltalk
01:04:28 <ehird> ProtoObject subclass: #ProtoObject
01:07:21 * Sgeo automatically goes to the #ProtoObject channel
01:07:42 <Sgeo> Can't help it, it began with #
01:08:25 <lament> Sgeo: ###################################################
01:08:37 <lament> that'll keep him busy for a while
01:08:37 <Sgeo> * ################################################### :Nick/channel is temporarily unavailable
01:08:52 <ihope> #, ##, ###, ####, #####, ######, ########, #########.
01:11:56 <ehird> * ############### :Cannot send to channel
01:14:09 <ihope> Ask SWMTBot to release it. :-P
01:15:34 <ehird> * ################### :You can't join that many channels
01:15:40 <ehird> Bye you guys. See me in any channel starting with a #.
01:15:44 <ehird> Preferably with 10 or less of 'em
01:15:47 -!- ehird has left (?).
01:23:39 -!- ehird has joined.
01:29:21 <Slereah_> ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
01:29:27 <ihope> Hmm, that's not quite right. Zoooooooom?
01:38:16 -!- ehird has quit (Remote closed the connection).
01:42:17 -!- GreaseMonkey has joined.
02:17:09 -!- olsner has joined.
03:13:12 -!- revcompgeek has joined.
03:13:12 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
03:13:21 -!- Slereah_ has joined.
03:44:16 -!- GregorR has quit ("Leaving").
04:02:27 -!- GregorR has joined.
04:07:00 -!- GreaseMonkey has quit (Read error: 110 (Connection timed out)).
04:08:34 -!- GreaseMonkey has joined.
04:26:34 -!- revcompgeek has quit ("ChatZilla 0.9.81 [Firefox 3.0b5/2008032619]").
05:19:45 -!- Judofyr has quit (Read error: 110 (Connection timed out)).
06:15:00 -!- Sgeo has quit ("Ex-Chat").
07:01:25 -!- Iskr has joined.
07:31:18 -!- GreaseMonkey has quit ("Unisex.").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:30:14 -!- kar8nga has joined.
09:51:13 -!- kar8nga has left (?).
10:20:32 -!- GregorR has quit (Read error: 104 (Connection reset by peer)).
10:21:43 -!- GregorR has joined.
10:42:47 -!- GregorR has quit (Read error: 110 (Connection timed out)).
10:43:11 -!- GregorR has joined.
11:28:38 -!- Judofyr has joined.
11:35:49 -!- Corun has quit ("This computer has gone to sleep").
12:40:54 -!- Corun has joined.
12:49:34 -!- ehird_ has joined.
12:55:08 -!- ehird_ has quit (Read error: 113 (No route to host)).
13:22:02 -!- ehird has joined.
14:25:51 <ihope> irc.slashnet.org, channel #nomic?
15:06:06 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
15:06:17 -!- Slereah_ has joined.
16:16:43 -!- Tritonio has joined.
16:37:30 -!- oklopol has joined.
17:19:07 -!- timotiis has joined.
17:33:36 -!- Judofyr has quit.
17:36:56 <ihope> Un pez dice al otro, "¿Qué hace tu papá?" El otro le responde, "Nada.
17:38:47 <oklopol> mu bise vatme do mitme luu kacmo mo
17:44:58 <ehird> oklopol: mi'e ... gah, I forgot the quoting rules
17:45:04 <ehird> I FORGOT THE LITTLE LOJBAN I KNOW :(
17:45:34 <oklopol> ehird: well i know what you said, wondering about olsner
17:45:48 <olsner> oklopol: only gibberish
17:46:19 <ehird> oklopol: I was trying to say "I say 'I am called Elliott Hird'"
17:46:21 <ehird> I used to be able to do that
17:46:41 <ehird> oklopol: anyway, we should invent a concatenative natural language ... but like Jo
17:47:27 <oklopol> ehird: what was wrong with what you said?
17:47:33 <olsner> fix ("I was trying to say '" ++)
17:47:41 <ehird> oklopol: i is Elliott Hird os I called am o I say
17:47:47 <ehird> stack-based concat!
17:47:56 <ehird> ["Elliott Hird" I called am] I say
17:49:19 <oklopol> ehird: oklopol: I was trying to say "I say 'I am called Elliott Hird'" <<< i didn't really manage to read this
17:49:56 <oklopol> i'm not sure about quoting either actually :D
17:52:47 <ehird> oklopol: fuckit, the highlight ends at <<< again
17:52:49 <ehird> HOW does that work
17:52:54 <ehird> ehird: oklopol: I was trying to say "I say 'I am called Elliott Hird'" <<< i didn't really manage to read this
17:52:57 <ehird> with a space in front
17:55:31 <oklopol> i don't know how to put a space in front
17:57:42 <ehird> oklopol: like this
17:57:48 <ehird> You hit the space bar.
17:57:51 <ehird> Then put the message.
18:01:12 <ihope> What, your client automatically removes spaces in front?
18:02:02 <oklopol> has probably saved many people from total embarrassment.
18:02:25 <ihope> Putting a space in front is indeed very embarrassing.
18:02:31 <oklopol> i don't really see wtf the reason could be, perhaps they just wanted to add random functionality
18:03:00 <ehird> oklopol: very funny
18:03:04 <ehird> <oklopol> ehird: oklopol: I was trying to say "I say 'I am called Elliott Hird'" <<< i didn't really manage to read this
18:03:08 <ehird> you actually have a space in front of that
18:03:56 <ehird> oklopol: let me show you
18:03:59 <ehird> <oklopol>__ehird: oklopol: I was trying to say "I say 'I am called Elliott Hird'" <<< i didn't really manage to read this
18:04:02 <ehird> the __ at the start are spaces
18:04:08 <ehird> you say your client strps spaces at the beginning of messages
18:04:15 <ehird> but you just sent one with a space at the beginning!
18:04:36 <oklopol> a-ha, well that implies there's something weird going on when i highlight someone with tab
18:04:52 <oklopol> is there a space before the first no?
18:04:56 <Tritonio> hello everyone. can someone explain to me some things about gpg?
18:05:29 <oklopol> ehird: i shall test <<< then, is there a space?
18:06:01 <Tritonio> ehird, I have subkeys related questions.
18:06:32 <oklopol> ehird: well i have no idea, perhaps mirc just occasionally removes the space, although it always shows the message without it on my screen.
18:06:41 <ehird> Tritonio: that's nice
18:13:53 -!- oklofok has joined.
18:15:54 -!- oklopol has quit (Read error: 113 (No route to host)).
18:39:44 -!- Sgeo has joined.
19:00:23 -!- oerjan has joined.
19:04:17 <Sgeo> What was the test for?
19:04:35 <oerjan> hm the logs don't show
19:05:18 <oerjan> oh you didn't see the discussion before we both entered
19:06:24 <oerjan> ah it's in the tunes log
19:08:46 * pikhq is off hold in Agora. Wheee.
19:09:43 <oerjan> no holds barred anymore
19:17:10 <ehird> pikhq: Seen Duck & Platypuss?
19:18:24 <ehird> IRCNomic is now called Canada
19:18:26 <ehird> so watch your words
19:18:33 -!- Corun has quit ("tired").
19:18:43 <ehird> And you're in #ircnomic and have not OPTOUT'd -- you're not former ;)
19:19:08 * oerjan blames Canada. Someone had to.
19:20:02 * oerjan realizes it's a long time since he saw that movie.
19:20:08 <pikhq> ehird: Urgh. That's painful.
19:20:47 <ehird> pikhq: But I don't really like ircnomic any more either
19:20:53 <ehird> pikhq: HaskellNomic is where it's at.
19:24:04 <oerjan> Thou Wicked Tempter Thou
19:24:16 <ehird> oerjan: Haha, I'm writing it actually.
19:25:12 <ehird> p1 `bites` p2 = (p1{score=(score p1)+1}, p2{score=(score p2)-1})
19:25:16 <ehird> oerjan: write that to be more elegant
19:25:30 <ehird> bites :: Player -> Player -> (Player,Player) -- of course
19:26:01 <oerjan> record syntax is rarely elegant :(
19:26:16 <ehird> oerjan: indeed, but we're gonna have to use it if anyone may augment the structure
19:26:33 <ehird> oerjan: actually, maybe `bites` should be in the Nomic monad, or something, since it'll never be used in functional form
19:26:36 <ehird> and that removes the ugly tuple
19:27:09 <ehird> <ihope> p1 `bites` p2 = do success <- p1 `canBite` p2; if success then damage p2 2 else return ()
19:27:11 <ehird> that's not too bad
19:27:30 <ehird> oerjan: comments on that?
19:28:18 <ehird> oerjan: 'use when'?
19:28:30 <ehird> when :: (Monad m) -> m Bool -> m a -> m ()
19:29:20 <ehird> p1 `bites` p2 = do { success <- p1 `canBite` p2; when success $ damage p2 2 }
19:29:25 <ehird> oerjan: is that what you had in mind?
19:29:32 <ihope> when (p1 `canBite` p2) (damage p2 2)
19:29:44 <ehird> whenM would be nice I guess
19:29:49 <ihope> when takes a Bool?
19:29:54 <ehird> whenM c x = do v <- c; when v x
19:30:02 <ehird> <lambdabot> forall (m :: * -> *). (Monad m) => Bool -> m () -> m ()
19:30:34 <oerjan> btw, i am _not_ promising to give in to the temptation.
19:31:17 <ehird> oerjan: It would make sure your program actually compiles at proposal-time.
19:31:23 <ehird> oerjan: So proposals would be typed.
19:31:41 <ehird> Also, if a proposal causes another proposal to be invalidly typed, players can only vote on one.
19:32:00 <ihope> If it causes another to be invalidly typed?
19:32:32 <ehird> p1 writes a proposal using FloobDoob
19:32:43 <ehird> p2 writes a proposal that removes FloobDoob and all the functions using it.
19:32:54 <ehird> Now, these can both result in a valid system, but not both.
19:32:59 <ehird> So, you can't vote for both proposals.
19:33:10 <ihope> How does a proposal remove FloobDoob?
19:33:32 <ehird> ihope: Um, by removing the line saying 'data FloobDoob = ....'?
19:34:01 <ihope> How does the system know that it's removing the line defining FloobDoob? Execute it safely and see if it's still there, I guess?
19:34:28 <ehird> oerjan: can you translate what ihope is saying, i can't tell
19:34:37 <ehird> ihope: When you change a file in a proposal, it runs ghc on it.
19:34:47 <ehird> If that succeeds, it's well-typed and accepted.
19:35:01 <ehird> No, I think you're right.
19:35:09 <ehird> OK, there's no way to solve the don't-mix issue.
19:38:29 <oerjan> actually this might make for some interesting voting strategies - if a proposal only takes effect if it gives a well-formed program
19:38:59 <ehird> oerjan: yes, but you can do things like
19:39:04 <oerjan> which could depend on previous proposals
19:39:05 <ehird> propose two proposals which on their own are well-typed
19:39:09 <ehird> oerjan: but together, are invalidly-typed
19:39:12 <ehird> oerjan: and pass them both
19:39:19 <oerjan> yes, so the last one will not take effect
19:39:21 <ehird> oerjan: then, it'd just reject them at activation-time
19:39:31 <ehird> oerjan: so, really, the type-checking-at-proposal-creation is just a convenience
19:39:38 <ehird> oerjan: and it helpfully removes all spammers
19:39:43 <ehird> oerjan: unless spammers spam with valid haskell code now
19:41:19 <ihope> Make sure the spammers don't create an account, also. :-P
19:52:39 <ehird> ihope: fun captcha:
19:52:44 <ehird> 'Enter some well-typed Haskell code:'
19:52:47 <ehird> (\x -> x) would work
19:53:04 <ehird> Well, rather, it'd be 'Enter some *compilable* Haskell code:'
19:53:19 <ihope> So (\x -> x) and id wouldn't work?
19:53:48 <oerjan> make registration happen by writing an appropriate action in the Player monad
19:55:03 <ehird> (\x -> x) is perfectly compilable
19:55:21 <ehird> oerjan: PerlNomic ties %players to the right file, creates a Player object, then adds it to %players
19:55:24 <ehird> oerjan: so that's not a new concept
19:55:40 <ehird> the adduser just creates a proposal to do the right thing in the Nomic monad
19:55:46 <ehird> (btw -- bites :: Player -> Player -> Nomic ())
19:55:49 <ihope> ehird: but 'a' isn't compilable?
19:56:14 <oerjan> i meant for the actual text the player writes to be that action :D
19:56:28 <ehird> ihope: Uh, why don't you try?
19:56:53 <ehird> __registrationCheck = (\x -> x)
19:56:56 <ehird> __registrationCheck = id
19:56:58 <ehird> __registrationCheck = a
19:57:06 <ihope> You said 'a', not a.
19:57:33 <ihope> What if it's a Freudian concept spammer, though? :-P
19:58:10 -!- Judofyr has joined.
20:02:14 <ehird> I could require a minimal length
20:23:00 -!- AnMaster has quit ("will be back in a bit").
20:31:05 -!- AnMaster has joined.
20:38:37 -!- Tritonio has quit (Remote closed the connection).
20:45:14 -!- oklopol has joined.
20:54:37 <GregorR> Hahahah, I totally forgot that my new system has KVM support, so even Qemu is fffffffffast! ^^
20:58:20 * SimonRC wonders why he dislikes Nomics so much.
20:59:21 <SimonRC> I think it is the way that there are actually things that can't change.
21:00:08 <GregorR> The immutable rules in the default ruleset?
21:00:11 -!- RedDak has joined.
21:00:21 <ehird> SimonRC: There isn't.
21:00:31 <GregorR> The immutable rules can be changed by a unanimous vote.
21:00:49 <SimonRC> but there are some things that can't change.
21:01:10 <GregorR> Are were you referring more to the psychological fact that certain properties of the game will never by changed by the majority of the people playing? :)
21:01:46 <SimonRC> like: people respond to information they receive in the past, and their response affects the future, not the other way round
21:02:19 <SimonRC> so you couldn't make a rule that made the game "bounce" off a certain ppoint in time and "fold" backwards through time
21:02:25 -!- oklofok has quit (Read error: 113 (No route to host)).
21:03:03 <SimonRC> and if you have a rule against laws that
21:03:17 <ehird> SimonRC: you could make a rule like that
21:03:24 <ehird> it would just, unsuprisingly, fail to have an effect
21:03:45 <ehird> SimonRC: Maybe codenomics would be more to your liking: Everything in the program can be changed.
21:03:52 <ehird> And the outside world doesn't exist, so there's nothing you can't change
21:04:21 <SimonRC> In ordinary rules: you can change any "rule" but you can't change the universe they're running in.
21:04:51 <ehird> SimonRC: In codenomics: you can change any 'rule' (program) and you can change the program
21:05:51 <SimonRC> actually my objection is rather flattened by the fact that people can disobey rules
21:06:00 <SimonRC> it's much worse with physics
21:06:13 <ehird> SimonRC: yeah, its impossible to disobey a program .. Unless you have a really weird language :P
21:06:32 <GregorR> Hahahaha, let's define an (impossible-to-play) Nomic where the physical laws of the universe are voted on! :P
21:06:37 <SimonRC> well in that case "disobeying" the program is obeying it, in a correct implementation
21:07:14 <SimonRC> I object more to a "you can change anything" attitude in languages actually.
21:07:31 <SimonRC> there has to be something immutable at the bottom, or there can't be anything
21:07:39 <ehird> SimonRC: You'll HATE Smalltalk.
21:07:53 <ehird> SimonRC just said 'Smalltalk?'
21:08:02 <ehird> SimonRC: smalltalk can change >anything<
21:08:11 <ehird> even the 'immutable' stuff since it's written in a subset of ST ;)
21:08:17 <SimonRC> depending on the implementation, you either can't change the virtual machine, or...
21:08:27 <SimonRC> ... you can't change the computer hardware
21:08:29 <GregorR> Yeah, the underlying bytecode is immutable.
21:08:33 -!- oklopol has quit (No route to host).
21:08:43 <GregorR> And the accessible invariant procedures are just that.
21:08:53 <SimonRC> you can't have a completely circular interpreter
21:09:00 <ehird> SimonRC: You can change the VM in smalltalk
21:09:09 <ehird> i think you just have to tell it to recompile the irhgt part
21:09:18 <GregorR> SimonRC: I'm going to go write a completely-circular interpreter.
21:09:24 <ehird> GregorR: ... All that for that?
21:09:26 <GregorR> SimonRC: It won't run, but it'll be AWESOME
21:09:30 <ehird> GregorR: And someone beat you to it.
21:09:30 <SimonRC> it would run infinitely slowly
21:09:37 <ehird> John McCarthy beat you to it, in particular.
21:09:51 <SimonRC> ehird: yeah, but that wasn't implemented completely circularly
21:10:01 <ehird> SimonRC: Yes it was... there was no implementation for it for a while.
21:10:10 <ehird> SimonRC: Just because someone manually translated it after doesn't make it any less circular
21:10:22 <SimonRC> there was a definition that wasn't in lisp too
21:10:41 <ehird> SimonRC: no there wasn't
21:11:06 <SimonRC> if nothing else, there was the definition that one would come up with by trying to figure out the language from its self-interpreter
21:12:17 <SimonRC> and just to show that being an atheist doesn't stop you being irrational:
21:12:39 <SimonRC> I also believe there are some immutable rules at the bottom of the universe too.
21:12:55 <SimonRC> whatever certain physicists hyupothesise
21:13:13 <SimonRC> an uncountable stack of rules might work too
21:23:41 <ehird> <SimonRC> and just to show that being an atheist doesn't stop you being irrational:
21:23:54 <ehird> the theists have enough fuel against us already don'tchathink :-)
21:26:43 <SimonRC> IMO monroe was irrisposible when he drew friday's xkcd
21:27:04 <SimonRC> I mean, after the rollercoaster chess incident...
21:35:14 <ihope> Challenge: Write a BF self-interpreter and convince us that it's actually a self-interpreter for some other language. :-P
21:36:12 <ihope> Make it reasonable, of course.
21:36:24 <Slereah_> This interpreter is actually an ook interpreter
21:36:32 <Slereah_> But instead of ooks, it has symbols.
21:37:26 <ihope> Ook is the same language.
21:37:46 <ihope> Especially if it uses symbols.
21:37:57 <oerjan> the obvious solution is of course to make a polyglot that _is_ also a self-interpreter for some other language
21:38:39 <ehird> Challenge: don't say "I refuse"
21:38:58 <ihope> oerjan: but would that be a BF self-interpreter?
21:39:50 <ihope> Yeah. Take a reasonable language and come up with a reasonable self-interpreter for BF that's also a reasonable self-interpreter for the other language.
21:41:22 <ehird> Just get a language that doesn't use +-,.[]<>
21:41:25 <ehird> and write a self-interp in it
21:41:28 <ehird> Then munge the code together
21:41:55 <ihope> No useless comments allowed. :-)
21:42:25 <ehird> ihope: Well sheesh
21:44:32 <SimonRC> Did I recommend my latesd obsessional game here yet?
21:45:43 -!- oklopol has joined.
21:46:50 <SimonRC> http://www.farbs.org/games.html
21:47:11 <SimonRC> it's like a dozen classic games all got mixed up
21:49:24 -!- oklopol has quit (Connection reset by peer).
21:50:07 <SimonRC> arrows to move, space to fire
21:51:13 <ehird> Incidentally, the guy who made that game also made a Python binding to a C++ library that is now maintained by someone I know, despite them being a Python newbie and not knowing /any/ C++
21:51:17 <ehird> (Python is his first language)
21:51:27 <ehird> The guy who made the library (and that game) was the one who suggested it.
21:51:32 <ehird> One question: Double you tee EFF?
21:52:33 <SimonRC> you mean, that a noob is maintaining a library?
21:52:39 <ehird> SimonRC: Why the maker of the library and the game would suggest that someone who only knew a little bit of Python and no C++, would maintain a Python binding to a C++ library
21:53:06 <ehird> SimonRC: let me draw it
21:53:07 <SimonRC> maybe a good way to learn?
21:53:44 <ehird> Library: http://www.farbs.org/pycap.html --> It's a binding to Python of a C++ lib --> Maker of library sez to friend: 'You should maintain this!' --> Friend only knows a tiny bit of python and NO C++ --> Friend is maintaining it, by doing nothing
21:53:53 <ehird> SimonRC: You must realize that this friend has no desire to learn C++ and won't.
21:54:01 <ehird> So he will be totally unable to maintain it in any way.
21:55:46 -!- oklopol has joined.
21:58:17 <SimonRC> um, so why did he maintain it then?
22:04:40 <ehird> SimonRC: 'Cause the owner of the library suggested it.
22:04:44 <ehird> I dunno, I thought 'WTF' too
22:04:53 <ehird> But it's a great way to kill a project!
22:06:21 <SimonRC> 'cause RCF almost likelyly uses the Python bindings for Pycap
22:07:03 <ehird> python bindings for *popcap*
22:07:08 <ehird> AKA unmaintained ;)
22:08:01 <SimonRC> is this freind "W.P. van Paassen"?
22:09:17 <ehird> SimonRC: err, I don't think so
22:09:45 <ehird> SimonRC: 'GNU/Linux (and Mac OSX) port of PopCap Games Framework ...'
22:09:50 <ehird> obviously they know C++ then
22:10:37 <SimonRC> There doesn't seem to be any author mentionned on Farbs's pycap page
22:10:52 <ehird> SimonRC: Yes obviously due to laziness
22:11:06 <ehird> Apparently at the last check my friend was trying to get a sourceforge project up and stumbling at every stpe.
22:11:14 <ehird> He's not the most technologically-minded ...
22:11:31 <SimonRC> why the heck maintain the library then?
22:11:41 <ehird> SimonRC: 'Cause farbs told him to.
22:11:48 <ehird> (I don't get it either.)
22:11:58 <ehird> (The last time I asked him, he laughed or something)
22:24:50 -!- oerjan has quit ("Good night").
22:38:29 -!- oklofok has joined.
22:55:28 -!- Iskr has quit ("Leaving").
22:56:11 -!- oklopol has quit (No route to host).
23:09:14 -!- RedDak has quit ("Killed (NickServ (Comando GHOST usato da DIO))").
23:34:33 -!- Judofyr has quit (Read error: 104 (Connection reset by peer)).
23:34:45 -!- Judofyr has joined.
23:43:14 -!- GregorR has quit (Read error: 104 (Connection reset by peer)).
23:43:56 -!- GregorR has joined.