←2008-12-26 2008-12-27 2008-12-28→ ↑2008 ↑all
00:00:16 -!- puzzlet_ has quit (Read error: 60 (Operation timed out)).
00:03:18 -!- puzzlet has joined.
00:17:27 -!- puzzlet_ has joined.
00:17:54 -!- Corun has quit ("This computer has gone to sleep").
00:24:49 -!- Corun has joined.
00:28:31 -!- oerjan has quit ("Good night").
00:29:21 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
00:31:23 -!- jix has quit ("...").
00:51:23 <oklopol> o
00:52:08 -!- moozilla has joined.
01:04:16 -!- moozilla has quit (Read error: 131 (Connection reset by peer)).
01:06:36 -!- mib_vg1sr6 has quit ("http://www.mibbit.com ajax IRC Client").
01:08:02 <psygnisf_> oko
01:21:26 <oklopol> ooooo
01:21:41 <ais523> opopopo
01:30:14 <psygnisf_> koko
01:35:29 <oklopol> size
01:35:38 <ais523> assize
01:42:47 <Warrigal> Assassinate.
01:47:52 <oklopol> basmati senate
01:47:56 <oklopol> sleep! ->
01:49:11 <Warrigal> Etanissassa.
01:49:14 <Warrigal> A tiny saucer.
01:52:27 -!- ais523 has quit.
02:04:05 -!- moozilla has joined.
02:06:31 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
02:06:55 -!- CakeProphet has joined.
02:59:37 -!- Corun has quit ("This computer has gone to sleep").
03:00:11 -!- Corun has joined.
03:01:07 -!- Sgeo has joined.
03:03:22 -!- moozilla has joined.
03:21:06 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
03:24:32 -!- Corun has quit (Remote closed the connection).
03:24:59 -!- Corun has joined.
03:31:45 -!- Corun has quit (Remote closed the connection).
03:34:06 -!- Corun has joined.
04:23:51 -!- moozilla has joined.
04:26:11 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
05:18:42 -!- Asztal has quit (Read error: 110 (Connection timed out)).
05:26:57 -!- moozilla has joined.
05:27:28 -!- Corun has quit (Read error: 104 (Connection reset by peer)).
05:35:34 -!- moozilla_ has joined.
05:35:36 -!- moozilla has quit (Nick collision from services.).
05:46:10 -!- moozilla_ has quit (Read error: 145 (Connection timed out)).
06:03:33 -!- Corun has joined.
06:17:23 -!- moozilla has joined.
06:20:00 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
07:05:25 -!- seveninchbread has joined.
07:05:57 -!- CakeProphet has quit (Nick collision from services.).
07:06:15 -!- seveninchbread has changed nick to CakeProphet.
07:13:24 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
07:14:15 -!- seveninchbread has joined.
07:14:54 -!- CakeProphet has quit (Nick collision from services.).
07:15:04 -!- seveninchbread has changed nick to CakeProphet.
07:36:23 -!- Corun has quit ("This computer has gone to sleep").
07:36:51 -!- Corun has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:29:23 -!- SpaceMan has joined.
08:29:32 -!- SpaceMan has quit (Client Quit).
08:29:52 -!- Mony has joined.
08:30:30 -!- SpaceMan has joined.
08:30:50 -!- SpaceMan has quit (Client Quit).
08:31:56 -!- SpaceManPlusPlus has joined.
08:32:27 <Mony> plop guys :)
08:32:36 <SpaceManPlusPlus> hi.
08:32:56 <Mony> how are you ?
08:32:56 <SpaceManPlusPlus> im using a homebrew app
08:33:15 <SpaceManPlusPlus> i created a new esoteric language
08:35:41 <SpaceManPlusPlus> im going to browse esilang, bye
08:35:43 -!- SpaceManPlusPlus has quit (Client Quit).
08:52:36 -!- SpaceManPlusPlus has joined.
08:53:29 -!- SpaceManPlusPlus has quit (Client Quit).
10:15:34 -!- Corun has quit ("This computer has gone to sleep").
10:48:39 -!- Corun has joined.
12:04:41 -!- Judofyr has joined.
12:05:49 -!- LinuS has joined.
12:05:53 -!- Linus` has joined.
12:05:59 -!- Linus` has quit (Remote closed the connection).
12:31:48 -!- Judofyr has quit.
12:33:12 -!- oklopol has quit ("( www.nnscript.com :: NoNameScript 4.2 :: www.regroup-esports.com )").
15:30:34 -!- Asztal has joined.
15:48:28 -!- mib_c2zegu has joined.
15:58:56 -!- oklopol has joined.
16:01:22 -!- oklopol has set topic: THIS IS THE LINK TO THE LOGS >>> http://tunes.org/~nef/logs/esoteric/ <<< IT'S FUCKING ANNOYING HAVING TO GOOGLE IT ALL THE TIME, IF SOMEONE REMOVES IT AGAIN, I WILL put it back.
16:07:41 -!- mib_c2zegu has set topic: I love your mom.
16:12:22 -!- oklopol has set topic: THIS IS THE LINK TO THE LOGS >>> http://tunes.org/~nef/logs/esoteric/ <<< IT'S FUCKING ANNOYING HAVING TO GOOGLE IT ALL THE TIME, IF SOMEONE REMOVES IT AGAIN, I WILL put it back.
16:12:52 <Mony> hum...
16:12:56 <Mony> hi oklopol :p
16:13:00 <oklopol> hi Mony
16:13:19 <Mony> did you see my esolang ?
16:13:24 <oklopol> yep
16:13:30 <Mony> it's my very first esolang so ...
16:14:06 <oklopol> relink it if you want a comment, i don't remember much, since it wasn't fundamentally different from the mass
16:14:27 <oklopol> (not much is)
16:14:40 <Mony> here it is http://mony.servhome.org/esolang/h0rR0r.html
16:16:34 <oklopol> and a goto was added right?
16:16:46 <Mony> yah
16:16:57 <Mony> but i don't remember how they work -_-
16:17:03 <oklopol> haha
16:17:36 <Mony> in fact, i made this esolangs some weeks ago
16:17:45 <oklopol> well, comment on that subset, it doesn't really have any computational powah
16:17:54 <oklopol> do you have bignums
16:18:09 -!- puzzlet_ has quit (Remote closed the connection).
16:18:17 -!- puzzlet has joined.
16:20:11 <Mony> bignums ?
16:23:13 <mib_c2zegu> http://www.codinghorror.com/blog/archives/001201.html Whine whine whine bitch bitch bitch. I wish Jeff Atwood would just go die or something.
16:30:49 <oklopol> i didn't find that all that annoying
17:12:53 -!- Corun has quit ("This computer has gone to sleep").
18:02:20 -!- ais523 has joined.
18:02:58 -!- oerjan has joined.
18:03:18 <oerjan> what a horrible threat
18:03:32 <ais523> yes
18:03:38 <ais523> well done oklopol for setting that
18:03:49 -!- mib_c2zegu has set topic: BLOOD AND FIRE.
18:04:35 * oerjan hits mib_c2zegu with the saucepan ====\___/
18:05:00 -!- ais523 has set topic: THIS IS THE LINK TO THE LOGS >>> http://tunes.org/~nef/logs/esoteric/ <<< IT'S FUCKING ANNOYING HAVING TO GOOGLE IT ALL THE TIME, IF SOMEONE REMOVES IT AGAIN, oklopol WILL put it back.
18:05:26 -!- mib_c2zegu has set topic: oklopol SHALL change this topic.
18:05:40 -!- mib_c2zegu has set topic: oklopol SHALL change this topic. everyone else SHALL NOT.
18:06:39 * Mony hits plop with the saucepan ====\___/
18:06:41 -!- oerjan has set topic: oklopol SHALL change this topic. everyone else SHALL NOT. or ELSE..
18:06:43 <Mony> \o/
18:06:55 -!- ais523 has set topic: THIS IS THE LINK TO THE LOGS >>> http://tunes.org/~nef/logs/esoteric/ <<< IT'S FUCKING ANNOYING HAVING TO GOOGLE IT ALL THE TIME, IF SOMEONE [probably ehird] REMOVES IT AGAIN, SOMEONE [quite possibly oklopol] WILL put it back.
18:07:02 <ais523> oerjan: or else they'll be me
18:08:35 <oklopol> :-D
18:08:44 <oklopol> btw j is pretty awesome, have i mentioned
18:08:55 <oerjan> oklopol: i'm pretty sure
18:08:55 <ais523> possibly, I know ehird mentions it often enough
18:09:03 <oklopol> hmm. does he now?
18:09:28 <oklopol> well. he should, since it's pretty awesome.
18:10:09 <oklopol> also building about 1000 pages of tutorial labs into the interpreter kinda makes it hard to lazy out of learning the language
18:10:23 <oklopol> i mean i can just start the interp, and "hmm. what should i do? oh! maybe read another lab."
18:10:54 <oklopol> and you can play with the language as you go, test all the things you learn, because the lab runs in the repl
18:10:59 <oklopol> that's pretty awesome too.
18:11:13 * oklopol continues, more random praise in a moment.
18:11:44 <mib_c2zegu> hrmph.
18:14:54 <oerjan> j cures malaria and prevents babies from crying. it also can be usedas a laundry detergent.
18:22:26 <oklopol> (*:^:_1) 4 <<< *: is square, ^:_1 applies it minus i times; evaluates to 2
18:22:40 <mib_c2zegu> ^:_1 applies it minus i times
18:22:41 <mib_c2zegu> wat
18:22:42 <oklopol> *minus 1 times
18:23:27 <oklopol> (*:^:7) 2 would be *: *: *: *: *: *: *: 2
18:23:45 <oklopol> (*:^:_1) 4 is naturally the square root of 4
18:23:53 <mib_c2zegu> how can you apply negative times
18:24:01 <oklopol> through magic :D
18:24:03 <ais523> grr... J should stop looking like Underload, it's confusing me
18:24:14 <oklopol> i'm assuming a verb can contain info about how to negate its effects
18:24:39 <oklopol> this is mainly used for conjunctions that first apply ^:1 of a verb, then ^:_1
18:25:22 <oklopol> for instance stuff like geometric mean can be done by having the stages of squaring and square rooting kinda wrapped over the part where you just do arithmetic mean
18:25:30 <oklopol> in quite a pretty way
18:26:04 <oklopol> because you don't have to provide squaring and square rooting separately, just the square will do as long as it knows how it's effects are negated
18:27:24 <oklopol> also i don't know how to specify the function for negating a function, or how to specify other things functions can have, like units (0 for + and 1 for *)
18:27:31 <AnMaster> oklopol, talking about reversible programs or?
18:27:47 <oklopol> and i don't know whether you can add concepts like this yourself, i'm assuming you can't, but wouldn't be the first surprise
18:27:55 <oklopol> AnMaster: not really
18:27:59 <AnMaster> ah
18:28:01 <AnMaster> what then?
18:28:10 <ais523> reversible functions, I think
18:28:28 <AnMaster> oh? Sounds quite similar, if you have the result you can get the arguments
18:28:33 <oklopol> being able to annotate functions with certain info higher-order functions need.
18:29:09 <oklopol> not the same thing, reversible programming would require the language to be able to look inside functions, and do algebra
18:29:11 <AnMaster> however lots of functions can't be reversed, just consider additions, you have to know at least two of: a + b = c, to get the third
18:29:14 <oklopol> i mean
18:29:21 <oklopol> making functions reversible
18:29:32 <oklopol> if the language is reversible, that's a whole another issue of course
18:29:53 <oklopol> AnMaster: yes. but you're missing the point
18:29:57 <AnMaster> oklopol, there is an reversible programming language at the esolang wiki iirc
18:29:59 <AnMaster> forgot the name
18:30:05 <AnMaster> 2D iirc
18:30:11 <oklopol> there are many,
18:30:16 <oklopol> has nothing to do with this.
18:30:16 <AnMaster> ok
18:30:19 <AnMaster> hm ok
18:30:33 <oklopol> this is about... well i just said
18:30:37 <oklopol> being able to annotate functions with certain info higher-order functions need.
18:30:49 <AnMaster> oklopol, and that isn't very clear
18:31:03 <mib_c2zegu> yes it is.
18:31:13 <oklopol> i'm elaborating, be patient. things like what / (fold) should use as the unit when given an empty list as arg
18:31:20 <oklopol> + has 0, * has 1
18:31:33 <oklopol> so +/ 0$0 would be 0, and */ 0$0 would be 1
18:31:41 <AnMaster> hm
18:31:45 <oklopol> (0$0 is just a hacky way to make an empty list)
18:31:56 <AnMaster> oklopol, what language is this?
18:32:02 <oklopol> this is J
18:32:05 <AnMaster> spec?
18:32:23 <mib_c2zegu> jsoftware.com
18:32:26 <ais523> is the spec closed-source, or just the implementation?
18:32:34 <oklopol> i don't know and i don't care
18:32:37 <mib_c2zegu> clicky: http://www.jsoftware.com/
18:32:49 <mib_c2zegu> now watch AnMaster rant about how much it sucks because its' closed
18:33:27 <oklopol> AnMaster: reversability here was just an example of something you can annotate a function with: have another function to reverse it with, somehow stored with the function
18:33:50 <AnMaster> hm
18:33:57 <AnMaster> is this an esolang or?
18:34:00 <mib_c2zegu> no.
18:34:05 <mib_c2zegu> you could have clicked the link...
18:34:07 <ais523> it's meant to be serious, it acts a bit like an esolang now
18:34:16 <AnMaster> mib_c2zegu, I was waiting for browser to load
18:34:17 <AnMaster> ...
18:34:22 <ais523> I see many similarities with Overload, for instance, although also differences
18:34:27 <mib_c2zegu> Slow computer.
18:34:28 <ais523> J's a lot faster, for one thing, and has more syntax
18:34:47 <AnMaster> mib_c2zegu, rather: fast computer rendering images with raytracing
18:35:01 <oklopol> J's syntax seems very clever, it solves some of the problems i was struggling with with oklotalk simply better than i did
18:35:06 <AnMaster> so result is slow for everything else
18:35:09 <oklopol> and i don't admit that easily
18:35:38 <ais523> I think J is a non-esolang that does well at solving many of the problems in implementing an oklotalk/Overload-style esolang (something multiple people here have obviously thought of)
18:35:56 <AnMaster> hm
18:36:40 <oklopol> well one of J's greatest benefits is having an incredible amount of *algorithmic* modules
18:36:56 <oklopol> i mean, yeah, java and python have a million networking modules. who gives a shit.
18:38:04 <oklopol> or, at least if the small subset i've seen is, in fact, a small subset and not most of it :P
18:40:21 <AnMaster> oklopol, that is probably because J and Java try to solve different problems
18:43:40 <oklopol> true. j solves all problems, while java doesn't.
18:43:44 <oklopol> :-)
18:45:09 <oklopol> i don't know much about j's module facilities. there's a lab about Object Oriented Programming though, and i'm sure j + oo is better than not j + oo.
18:49:51 <oklopol> (to be honest i'm pretty sure it's really ugly)
18:50:03 <Asztal> which VPS host do you guys use?
18:50:29 <mib_c2zegu> slicehost.com
18:50:40 <mib_c2zegu> it's el greato maximus
18:50:42 <Asztal> ah, good, I was just looking at those
18:51:00 <mib_c2zegu> _0x44 from ##nomic works there :-)
18:55:41 <oklopol> mib_c2zegu: is that a permanent nick?
18:56:17 <mib_c2zegu> oklopol: what?
18:56:36 <ais523> no, ehird's just using random mibbit links atm
18:56:50 <ais523> because for some reason he seems not to like using an IRC client but not a bouncer
18:56:57 <mib_c2zegu> lazy
18:57:02 <mib_c2zegu> my irc client is configured to my bouncer
18:57:22 <ais523> reconfiguring a client is easier than using Mibbit, IMO
18:58:10 <oklopol> so. no.
18:58:16 <mib_c2zegu> cmd-n mibbit enter click click Freenode click esoteric type click
18:58:17 <mib_c2zegu> vs
18:58:34 <oklopol> mib_c2zegu: wanna know something mind-blowing?
18:58:39 <mib_c2zegu> look thru menus, connections, delete, add, freenode, irc.freenode.net, add #esoteric, click, connect
18:58:40 <oklopol> assuming i didn't tell you yet.
18:58:43 <mib_c2zegu> oklopol: sure
18:58:45 <ais523> vs F2 alt-e irc.freenode.net enter enter
18:58:52 <ais523> which is all it took to reconfigure my client
18:59:06 <mib_c2zegu> ais523: that does not join #esoteric.
18:59:07 <ais523> although I went through the menus because I forgot the keyboard shortcuts, so two clicks not F2
18:59:12 <ais523> mib_c2zegu: yes it does
18:59:14 <mib_c2zegu> also, I don't memorize the shortcuts for reconfiguring my irc client.
18:59:18 <mib_c2zegu> crazy I know.
18:59:22 <ais523> my client was set up to join #esoteric by default beforehand
18:59:27 <mib_c2zegu> ais523: that's cheating.
18:59:29 <oklopol> i tried a version control system
18:59:30 <mib_c2zegu> mine wasn't.
18:59:31 <ais523> via the bouncer
18:59:35 <mib_c2zegu> oklopol: holy fuck. which one
18:59:37 <mib_c2zegu> please say git
19:04:24 <oklopol> nope
19:04:30 <oklopol> i was just the user of the system
19:04:34 <oklopol> used tortoisesvn
19:04:51 <mib_c2zegu> oklopol: svn is kinda suck :{
19:04:52 <ais523> there are some development models svn is good for
19:05:00 <ais523> I've only once been in a situation where svn was useful, though
19:05:03 <mib_c2zegu> ais523: and they all work just as well with a dvcs
19:05:05 <ais523> and used it on more projects than one
19:05:12 <ais523> mib_c2zegu: pretty much, yes
19:05:17 <mib_c2zegu> cvcs's are an inferior subset of dvcs's
19:05:37 <ais523> although #interhack are using a dvcs, when they really need a cvcs I think
19:05:49 <ais523> at least, you get in trouble for doing something a cvcs couldn't do
19:05:52 <mib_c2zegu> ais523: no; they just have a bad development model
19:05:53 <oklopol> hey. at least i liked it. meaning i might even try the other options.
19:05:54 <mib_c2zegu> :P
19:06:01 <mib_c2zegu> oklopol: you liked it? hoshit :D
19:06:12 <mib_c2zegu> oklopol is turning into an enterprise programmer :<
19:06:16 <oklopol> :DD
19:06:55 <oklopol> hey i'm moving from python to j now, clearly i'm struggling against it
19:07:02 <mib_c2zegu> lo
19:07:03 <mib_c2zegu> l
19:07:38 <oklopol> well actually i thought i'd start my language learning spree over, but this time actually learn the languages instead of just enough to forget it right away
19:08:01 <oklopol> and j and haskell are first
19:08:08 <mib_c2zegu> hee
19:08:31 * ais523 thinks there should be a lang like J, but more tinkerable
19:08:35 <oklopol> well haskell i know much better than i did j of course
19:09:39 <mib_c2zegu> j is tinkerable, no?
19:09:48 <ais523> yes, but you can always get more tinkerable
19:10:15 <oklopol> can you elaborate on tinkerable
19:10:41 <ais523> like, able to change things about the language
19:10:43 <ais523> like syntax
19:11:39 <oklopol> mib_c2zegu: what was the thing i was trying to solve in j?
19:11:45 <oklopol> when we had the whole #j episode
19:11:57 <mib_c2zegu> oklopol: err, factorial with @ or something
19:12:35 <oklopol> (#j has both an autoinvite on part, and autoban on join-flood, it's a fun channel to part considering i have autojoin on invite :DD)
19:12:54 <ais523> autoinvite on part? why?
19:13:06 <oklopol> ais523: because quakenet
19:13:14 <ais523> could you elaborate?
19:13:18 <oklopol> well it's inhabited by gamers
19:13:39 <oklopol> i dunno. just seems like a very quakenety thing to do
19:13:45 <ais523> hmm... does the autoinvite do anything but cause people to rejoin the channel?
19:13:57 <mib_c2zegu> it asks them to rejoin
19:13:59 <mib_c2zegu> obviously
19:14:03 <mib_c2zegu> with an invite
19:14:06 <oklopol> ais523: it may cause them to rejoin if their clients are like that
19:14:08 <mib_c2zegu> very quakenet, I agree
19:14:08 <ais523> I mean, anything else?
19:14:11 <mib_c2zegu> ais523: no
19:14:19 <ais523> the invite doesn't let them join voiced, for instance?
19:14:21 <oklopol> otherwise it does nothing, because why would someone rejoin if they just parted
19:14:40 <mib_c2zegu> ais523: it's just to get them to come back.
19:15:15 <oklopol> ais523: i doubt that, they should be voiced if Q-bot considers them worthy
19:17:34 <oklopol> mib_c2zegu: the reason for why i couldn't get it to work is @: is function composition, and the @ i used is actually not, it has a small difference, it uses the rank of the latter verb for both verbs
19:17:54 <oklopol> rank is kinda like whether arguments are of type [a] or [[a]].
19:18:02 <mib_c2zegu> yes you said
19:18:03 <oklopol> or just a
19:18:09 <oklopol> well yes
19:18:12 <oklopol> but i didn't actually know :P
19:18:15 <oklopol> now i do
19:18:27 <oklopol> it was just a sophisticated guess back then
19:18:46 <oklopol> i guess that's a bit irrelevant from your perspective.
19:35:37 -!- oerjan has quit ("Trying a reboot").
19:39:00 -!- oerjan has joined.
20:13:01 <oklopol> so, tonight, programming or algorithms?
20:13:29 <mib_c2zegu> programming
20:13:34 <oerjan> documentation
20:13:50 * oerjan cackles evilly
20:14:36 <oklopol> oerjan: not much difference :<
20:14:50 <mib_c2zegu> programming is documentating YOUR MOTHER
20:15:32 <oklopol> RIR
20:17:44 <oerjan> RIR?
20:19:51 <oklopol> RIRIRIR
20:27:30 -!- Judofyr has joined.
20:27:34 -!- Judofyr has quit (Read error: 104 (Connection reset by peer)).
20:28:04 -!- Judofyr has joined.
20:48:06 -!- Sgeo has joined.
20:57:54 <oklopol> o
20:58:27 <ais523> oko
21:02:30 <oklopol> oko
21:02:34 <ais523> o
21:02:37 <oklopol> o
21:02:41 <ais523> oko
21:02:43 <oklopol> okoko
21:02:50 <ais523> okokoko
21:02:52 <oklopol> oko
21:03:26 <ais523> okokokokoko
21:03:31 <ais523> o
21:03:38 <oklopol> okoko
21:03:42 <ais523> oko
21:03:44 <oklopol> o
21:04:26 <Mony> okookokk
21:04:41 <ais523> kookook
21:05:07 <Mony> ok?ok!Ok.
21:05:21 <Sgeo> Ook? Ook!
21:05:29 <ais523> let's play Nim with okos
21:05:49 * Sgeo should probably look up Ni,
21:05:51 <Sgeo> Nim
21:05:57 -!- Asztal has quit (Read error: 110 (Connection timed out)).
21:05:57 <ais523> it's a good game, and very simple
21:06:04 <ais523> basically, you start with a certain number of piles of objects
21:06:07 <ais523> okos in this case
21:06:15 <ais523> players take turns to remove objects from a pile
21:06:24 <ais523> as in, you can remove any number of objects but they all have to be in the same pile
21:06:30 <ais523> whoever takes the last object loses
21:06:54 <Sgeo> Isn't Nim solved or something?
21:06:58 <oklopol> yes
21:07:18 <ais523> yes, it is, that's why I'll beat you at it
21:07:27 <ais523> unless you start in a winning position and either have also solved it, or are lucky
21:07:52 <oklopol> you have to be exponentially lucky
21:08:12 <ais523> yes
21:08:25 <Sgeo> You'd be the one choosing who goes first?
21:08:32 * Sgeo is looking at it on Wikipedia
21:08:38 <oklopol> no
21:08:46 <oklopol> err.
21:08:54 <oklopol> yeah that's not enough
21:08:55 <ais523> if I choose who goes first and there are two players, I'll win unless I screw up really badly
21:09:03 <ais523> even if someone else chose the board before that
21:09:09 <ais523> i.e. the starting position
21:09:26 <oklopol> now, is it pspace-complete if you have two stacks?
21:09:37 <oerjan> huh?
21:10:07 <oerjan> i would imagine it is logspace
21:10:09 <oklopol> oerjan: well in pspace, but not known to be in np, isn't that the usual game classification
21:10:20 <oklopol> hmm
21:10:20 <oerjan> far below pspace
21:10:30 <ais523> the strategy for winning it is O(log n), where n's the largest stack you have remaining
21:10:42 <oklopol> hmm
21:11:27 <oerjan> by stack you mean pile?
21:11:29 <oklopol> hmm. yeah okay it doesn't really make the game more interesting
21:11:43 <oklopol> oerjan: umm. well yes
21:11:44 <ais523> oerjan: yes
21:11:50 <oklopol> oh, ais523
21:11:57 <oklopol> oh, me too
21:12:23 <oklopol> hmm.
21:12:30 <oklopol> how about some kinda graph...
21:12:54 <oerjan> see hackenbush, i think
21:13:15 <oklopol> no that's just either the original or multiple stacks if you can cut it into a forest
21:13:21 <oklopol> hackenbush? k
21:14:43 <oerjan> http://en.wikipedia.org/wiki/Hackenbush
21:15:19 <oerjan> and sprouts
21:15:46 <oerjan> http://en.wikipedia.org/wiki/Sprouts_(game)
21:15:59 <ais523> sprouts with oko wouldn't really work
21:16:51 * oerjan once played sprouts with conway in person
21:17:14 <ais523> who won?
21:17:17 <ais523> and wow
21:17:17 <oerjan> of course i lost, since i hadn't seen the game before
21:18:10 * oerjan hasn't really tried learning it since either
21:18:50 <ais523> brussels sprouts always has the same winner no matter who plays where
21:18:59 <oklopol> :D
21:20:12 <oklopol> ahh, hackenbrush is essentially my graph idea, except when split into components, some components are removed from the game
21:20:29 <oklopol> == nim -> game
21:20:45 <oklopol> oerjan: how come you've seen a celebrity?
21:21:21 <oerjan> he was giving a lecture in seattle when i was there during my ph.d.
21:22:43 <oerjan> and afterwards there were some discussions in the institute's lunch room
21:23:11 <oerjan> (the lecture was on surreal numbers iirc)
21:23:58 <oklopol> you have an awesome life
21:25:10 <ais523> oklopol: was that sentence an attempt at alphanumeric-only oko?
21:30:17 <oklopol> ...yes of course
21:31:07 <oklopol> so
21:31:09 <oklopol> what if
21:31:11 <oklopol> o
21:31:15 <oklopol> o's were
21:31:16 <oklopol> umm
21:31:21 <oklopol> on the ground
21:31:59 <oklopol> and a word, "xozy", for instance, meant the graph consisting of the characters of english, contained the path xozy
21:32:08 <oklopol> linking x, o, z and y
21:32:26 <oklopol> so you could eodermdrome hackenbrush
21:32:40 <oerjan> now if you mix scrabble into that...
21:32:48 <oklopol> :P
21:32:50 <oklopol> oh wait
21:33:00 <oklopol> nim is still an incomplete game if everyone can remove any line?
21:33:04 <oklopol> hmm.
21:33:21 <oerjan> what do you mean incomplete?
21:33:35 <oklopol> an incomplete game, trivial
21:33:52 <oklopol> dunno.
21:33:55 <oklopol> hmm
21:33:59 <oerjan> see the sprague-grundy theorem linked from the hackenbush article
21:34:29 <oklopol> ah
21:34:31 <oklopol> !
21:34:50 <oerjan> not that that implies complete triviality. sprouts hasn't been completely solved despite being theoretically under that theorem
21:35:04 <oklopol> alright
21:35:40 <oklopol> oooooooooo
21:35:52 <oklopol> now
21:35:59 <GregorR> *boom*
21:36:20 <oerjan> the red-blue-(green) hackenbush described is sort of to get conway's general games rather than just nimbers
21:36:25 <oklopol> how about someone start the game, the obvious scrabble rule is you can only use english words when doing transformations
21:36:55 <oerjan> (or so i assume, i haven't actually read that book)
21:53:50 -!- Judofyr_ has joined.
21:54:10 -!- Judofyr has quit (Read error: 110 (Connection timed out)).
21:54:13 <mib_c2zegu> hi Judofyr_
21:54:41 <Judofyr_> hi :-)
21:54:43 -!- Judofyr_ has changed nick to Judofyr.
21:54:53 <Judofyr> wazzzzzzup?
21:55:06 <mib_c2zegu> the sky
21:55:18 <Judofyr> oh
21:55:30 <mib_c2zegu> duh.
21:55:53 <Judofyr> what book should I buy from Amazon?
21:55:57 <Judofyr> say one
21:55:59 <Judofyr> a good one
21:56:06 <mib_c2zegu> one\na good one
21:56:08 <mib_c2zegu> >
21:56:14 <mib_c2zegu> err how abou
21:56:15 <mib_c2zegu> t
21:56:20 <mib_c2zegu> Enterprise Esoteric Programming: From Brainfuck to Underload
21:56:24 <mib_c2zegu> by Fake T. Name
21:56:37 <Judofyr> I would love that book!
21:56:45 <mib_c2zegu> yes!
21:56:48 * mib_c2zegu = ehird
21:56:52 <ais523> so would I
21:57:00 <mib_c2zegu> I should write a book about esolangs
21:57:00 <ais523> pity it doesn't exist
21:57:02 <mib_c2zegu> it'd be awesome.
21:57:12 <ais523> actually, I think it might be interesting to convert Esolang the wiki into book form
21:57:25 <Judofyr> mib_c2zegu: why the heck are you mib_c2zegu and not ehird?
21:57:31 <ais523> together with commentary
21:57:36 <mib_c2zegu> Judofyr: mibbit
21:57:37 <ais523> and explanations
21:57:47 <ais523> Judofyr: because he's too lazy to change the default nick, even with /nick
21:58:03 <mib_c2zegu> ais523: better idea: cite it with little footnotes in the book, except have it reference it as saying stuff entirely different from what it does
21:58:04 <Judofyr> ah
21:58:08 <Judofyr> understandable
21:58:26 <ais523> mib_c2zegu: why?
21:58:30 <ais523> that would mean a lot more writing
21:58:34 <mib_c2zegu> ais523: because that's esoteric
21:58:41 <mib_c2zegu> also, writing a book about esolangs sounds fun
21:58:50 <mib_c2zegu> (so does playing with its typography for 7 years)
21:59:14 <Judofyr> brb
21:59:21 <Judofyr> the toilet needs me
21:59:59 <mib_c2zegu> uh, thanks.
22:02:18 <Judofyr> back!
22:02:26 <Judofyr> but seriously, a good book?
22:02:34 <mib_c2zegu> sicp :-P
22:02:39 <Judofyr> right now I got SICP and The Little Schemer in my cart :P
22:02:51 <Judofyr> and the From NAND to Tetris-book
22:02:55 <mib_c2zegu> enterprise javabean development with struts
22:02:57 <oklopol> well everyone needs rwh
22:03:05 <mib_c2zegu> oh yeah, throw in rwh
22:03:10 <Judofyr> rwh?
22:03:14 <oklopol> rwh.
22:03:14 <mib_c2zegu> real world haskell
22:03:18 <mib_c2zegu> http://www.realworldhaskell.org/
22:03:19 <Judofyr> ah
22:03:29 -!- mib_c2zegu has set topic: functional programming weenies..
22:03:57 <Judofyr> hm... haskell?
22:03:58 <Judofyr> really?
22:04:02 <mib_c2zegu> what about it?
22:04:05 -!- oklopol has set topic: functional programming weenies. also THIS IS THE LINK TO THE LOGS >>> http://tunes.org/~nef/logs/esoteric/ <<< IT'S FUCKING ANNOYING HAVING TO GOOGLE IT ALL THE TIME, IF SOMEONE REMOVES IT AGAIN, I WILL put it back.
22:04:06 <mib_c2zegu> haskell is cool.
22:04:52 <ais523> I like Haskell
22:05:07 <ais523> btw, anyone know how to write a recursive function with base case inside the GHCi REPL?
22:05:12 <ais523> it's easy enough in an actual program
22:05:17 <ais523> func 0 = ...
22:05:20 <ais523> func x = ...
22:05:23 <mib_c2zegu> ais523: ;
22:05:23 <ais523> but that doesn't work inside the REPL
22:05:25 <mib_c2zegu> instead of \n
22:05:28 <mib_c2zegu> actually
22:05:31 <mib_c2zegu> you can do \n too
22:05:32 <mib_c2zegu> let func 0 = ...
22:05:35 <mib_c2zegu> let func x = ...
22:05:40 <ais523> IIRC I tried that
22:05:45 <ais523> and the second definition overwrote the first
22:05:48 <mib_c2zegu> oh, right
22:05:50 <ais523> and I got a syntax error when I used a ;
22:05:51 <mib_c2zegu> well do the first first!
22:05:57 <mib_c2zegu> let func 0 = ...; func x = ...
22:06:06 <ais523> ah, that might be it
22:06:07 <mib_c2zegu> yeah
22:06:08 <mib_c2zegu> do that
22:06:10 <mib_c2zegu> it is it
22:06:10 <mib_c2zegu> :P
22:07:34 <oklopol> o
22:07:41 -!- psygnisf_ has quit (Read error: 110 (Connection timed out)).
22:09:41 <Judofyr> I'm thinking of buy Programming in Lua
22:09:55 <Judofyr> what you think about Lua?
22:10:03 <mib_c2zegu> Lua is alright, but I wouldn't buy a book about it
22:10:34 <ais523> I wouldn't buy a book about most langs, though
22:10:38 <ais523> I'd just download a free one
22:10:48 <mib_c2zegu> I would buy a book about my language! Despite there not existing one! <.<
22:11:08 * ais523 remembers the fun he had trying to cite in an academic paper a book he downloaded via the Debian/Ubuntu repos
22:11:13 <ais523> "published on the Internet, but not the Web"
22:11:33 <oerjan> you know, with all those fingerprints "Practical Befunge" almost sounds like a reasonable idea
22:11:39 <ais523> yes
22:11:48 <mib_c2zegu> I should write Practical Befunge.
22:11:49 <ais523> and INTERCAL is almost practical, it just needs better string-handling
22:11:53 <mib_c2zegu> In fact, I should just write a series of books on esolangs.
22:11:59 <mib_c2zegu> Who wouldn't buy them?
22:12:13 <mib_c2zegu> They would, of course, treat the subject entirely seriously.
22:12:16 <mib_c2zegu> :D
22:12:31 <ais523> and Underlambda is meant to be practical eventually, once I finish it
22:12:34 <Judofyr> okey. more books I *really* should read!
22:12:41 <Mony> 'night
22:12:44 -!- Mony has quit ("Quit").
22:13:27 <oklopol> Judofyr: algorithm design is a pretty fun book
22:13:29 <Judofyr> it's evil to say goodbye before you can respond :-(
22:13:55 <oklopol> Mony is like that, plops in and 'nights out, doesn't have a care in the world
22:14:07 <oerjan> Judofyr: i kept seeing Concepts Techniques and Models of Computer Programming recommended when i was following Lambda The Ultimate
22:14:10 <Judofyr> probably an /amsg
22:14:56 <oklopol> i recently read the first four or so chapters of ctmcp
22:15:00 <ais523> Mony has distilled the essence of eso
22:15:03 <oklopol> it was quite enlightening
22:15:07 <mib_c2zegu> haha
22:15:09 <ais523> (which is different from oklopol, who /is/ the essence of eso)
22:16:08 <oerjan> Judofyr: also, i prefer to say my goodbyes in my quit message. saves everyone work.
22:16:23 <oklopol> it describes the language oz via a nice set notation
22:16:39 <oklopol> essentially describes an interpreter in math
22:16:59 <ais523> Chaitin apparently once wrote a Diophantine equation which implemented Lisp
22:17:12 <oklopol> adds concepts as they are discussed, dataflow variables, lazy evaluation, exceptions etc
22:17:18 <oklopol> so.
22:17:20 <oklopol> i recommend too.
22:17:29 <ais523> <oklopol> so. <--- so what?
22:17:36 <oklopol> i recommend too. <<< this.
22:17:43 <ais523> sorry, I've been waiting to make that joke for months
22:17:46 <oklopol> :D
22:17:58 <oklopol> well. that's funnier than the actual joke :P
22:18:03 <ais523> oh dear, I must be turning into AnMaster
22:18:59 <oklopol> i was planning to buy ctmcp myself, but sicp won for now
22:19:30 <oklopol> since i can just borrow a brand new ctmcp from the lib if i have the time to continue on in
22:21:09 <oerjan> hm actually Lambda the Ultimate had a book list
22:21:42 <oklopol> link it so i can read them all
22:21:58 <oerjan> i've got to find it again first
22:24:12 <oerjan> hm it may have been a thread actually, possibly this one: http://lambda-the-ultimate.org/node/492
22:43:48 <oklopol> o
22:44:26 -!- oerjan has quit ("Good night BWAHAHAHA").
22:44:53 <mib_c2zegu> hrmph
22:54:34 <oklopol> god i hate java
22:55:33 <oklopol> it kills my creativity
22:55:58 <oklopol> i just end up slowly writing up a crappy solution and thinking "python is so much nicer"
22:56:22 <ais523> so does everyone else who knows both Java and Python
22:56:24 <oklopol> it's not that you can't do things well with java, it's just i just can't, because i hate it
22:56:30 <mib_c2zegu> oklopol: use Jython
22:56:31 <mib_c2zegu> :P
22:56:37 <mib_c2zegu> just replace your whole program with sth like
22:56:41 <oklopol> well yeah that probably would've been a good solution
22:56:45 <mib_c2zegu> (new JythonInterpreter()).eval("PYTHON YAY");
22:56:57 <oklopol> i just thought, since this is a trivial little application, it doesn't matter how i do it
22:57:01 <mib_c2zegu> oklopol let's make a language based on kittens
22:58:03 <oklopol> it's just even a trivial program takes ages to write considering most of my coding time is just looking at the source and hoping the 15 lines to do something trivial would write itself.
22:58:11 <oklopol> because i don't want to write 15 lines to do something trivial
22:58:21 <oklopol> i want trivial things to be trivial :<
22:58:59 <oklopol> almost done though, yay.
23:02:11 <mib_c2zegu> oklopol: write a java module called Shit.java
23:02:18 <mib_c2zegu> that contains shit that makes life a little less painful.
23:02:28 <mib_c2zegu> heck, you could even fake lambdas:
23:02:40 <mib_c2zegu> new L(){void c(){...}}
23:02:41 <oklopol> yes, i should do that
23:02:51 <oklopol> the problem is, i don't want to.
23:02:52 <mib_c2zegu> that's only like 100 characters bigger than python's lambdas
23:02:52 <mib_c2zegu> :P
23:03:00 <oklopol> because i don't want to use java
23:03:01 <mib_c2zegu> oklopol: I'll write it for you. Because I am so kind/
23:03:05 <mib_c2zegu> and bored
23:03:15 <oklopol> so as a protest, i'm punishing myself by doing everything the hard way
23:03:42 <mib_c2zegu> i wonder if "package net.freenode.irc.esoteric;" is acceptable :-P
23:03:44 <oklopol> for instance i'm not using any kind of serialization, because you can't do it functionally.
23:04:02 <oklopol> if you can't write serialize(object) or something conceptually as simple, the language is flawed.
23:04:18 <oklopol> well not the language necessarily, but the stdlib anyway
23:04:51 <ais523> Underlambda has S and D commands
23:04:59 <ais523> which serialise and deserialise something, respectively
23:05:03 <ais523> to stdout or from stdin
23:05:17 <mib_c2zegu> obj serialize
23:05:21 <mib_c2zegu> "" deserialize
23:05:27 <mib_c2zegu> ^ my vaporware language
23:06:28 <oklopol> serialization is ugly the way it's done in most languages
23:06:52 <oklopol> i mean, if serialization is done to get a bitstring out of an object, so you can send it over a network, or put it in a file
23:07:18 <mib_c2zegu> obj serializeTo: stream
23:07:20 <oklopol> that's just retarded, you shouldn't have to have two conceptual representations of an object, and have different things use different represenations
23:07:20 <mib_c2zegu> :P
23:07:24 <oklopol> *representations
23:07:31 <oklopol> that should be hidden from the programmer completely
23:07:31 <mib_c2zegu> oklopol: it's not a conceptual representation
23:07:35 <mib_c2zegu> an object "has" no representation
23:07:43 <mib_c2zegu> an object just is
23:07:52 <mib_c2zegu> serializing is giving it a bytestring representation
23:08:42 <oklopol> can't really think where that'd be useful, except maybe for hash values, but that should be in the stdlib anyway
23:09:00 <mib_c2zegu> oklopol: putting on a disk?
23:09:02 <mib_c2zegu> or whatever
23:09:08 <mib_c2zegu> you can't put plain objects on to disk
23:09:11 <mib_c2zegu> it's just a fact
23:09:16 <mib_c2zegu> the disk is made up of bytes
23:09:17 <oklopol> :|
23:09:21 <mib_c2zegu> objects, being conceptual, aren't
23:09:40 <ais523> in Underlambda, one neat trick is to serialise a continuation
23:09:41 <oklopol> i don't see where it'd be useful to think of the disk as made up of bytes
23:09:44 <ais523> gives a trivial way to save your program
23:09:46 <mib_c2zegu> oklopol: because it _is_
23:09:55 <mib_c2zegu> do you want your language to -lie- to you?
23:10:01 <mib_c2zegu> the disk is made up of bytes in files.
23:10:02 <mib_c2zegu> end of.
23:10:05 <ais523> you write the serialised continuation out to disk; to run the program from there, just deserialise and give it an argument
23:10:24 <oklopol> mib_c2zegu: it's just a different level of abstraction to think of it as not being made up of bytes
23:10:33 <mib_c2zegu> oklopol: no -- it's a layer on top of
23:10:35 <oklopol> an abstraction that doesn't lose generality
23:10:43 <mib_c2zegu> it's not a different level, it's a new abstraction
23:11:08 <GregorR> "IF SOMEONE REMOVES IT AGAIN, I WILL put it back"
23:11:11 <GregorR> What a threat
23:11:19 <oklopol> :-)
23:13:37 <oklopol> anyway mib_c2zegu, what's the problem with that abstraction?
23:14:05 <oklopol> i mean the fact it's made up of bytes so the programmer should know that too isn't really much of an argument
23:14:16 <mib_c2zegu> it stops the programmer using existing files which are made of bytes?
23:14:19 <oklopol> it's also made up of electricity, but the programmer doesn't know that
23:14:33 <mib_c2zegu> and stops them writing out files for use in other things which use them as bytes?
23:15:15 <oklopol> mib_c2zegu: that's a better argument, although i'm not really satisfied with it
23:15:33 <oklopol> there are better ways around that than serialization
23:15:42 <oklopol> raw mode should be an exception, not the standard
23:15:47 <mib_c2zegu> files are made of bytes, this is the API exposed to the programmer from the OS (electricity isn't), and the rest of the universe expects them to be bytes
23:15:57 <mib_c2zegu> and it's more useful to create files that work with everything else, and read them, than just this language
23:15:58 <mib_c2zegu> in general
23:16:03 <mib_c2zegu> so the most common case should be default
23:16:35 <oklopol> well in the case of serialization, nothing else can read the file anyway
23:16:44 <oklopol> because serialization is specific to the language
23:16:47 <mib_c2zegu> yes
23:16:54 <mib_c2zegu> but serialization in that case can build on top of the byte exposing
23:16:59 <mib_c2zegu> and just be obj.serialize() -> String
23:17:16 <ais523> in Underlambda, serialisation is specific to the interp, or the executable in the case of compilation
23:18:07 <oklopol> mib_c2zegu: it can, yes, i still think it's not pretty.
23:18:16 <oklopol> if you don't agree, fine
23:18:34 <mib_c2zegu> yay, my java lambdas work
23:18:38 <mib_c2zegu> although they're hideously verbose
23:18:41 <mib_c2zegu> I think I can make them lesso
23:18:42 <mib_c2zegu> but,
23:19:00 <mib_c2zegu> L<String,String> addWorld = new L<String,String>() { public String _(String a) { return a + " world!'; }};
23:19:01 <mib_c2zegu> vs python
23:19:06 <mib_c2zegu> addWorld = lambda a: a + " world!"
23:19:22 <oklopol> :)
23:19:51 <oklopol> an example with multiple arguments would make the distinction even greater
23:20:03 <mib_c2zegu> yes, mine doesn't do multiple arguments
23:20:04 <ais523> well, Java's typed, so the specifying types everywhere is hardly surprising
23:20:08 <mib_c2zegu> put them in an array :P
23:20:10 <mib_c2zegu> ais523: Haskell:
23:20:13 <oklopol> mib_c2zegu: well i meant with an array
23:20:13 <oklopol> yeah
23:20:15 <mib_c2zegu> addWorld = \a -> a ++ " world!"
23:20:16 <mib_c2zegu> it's typed too :P
23:20:27 <ais523> at least you're using templates, even though Java's implementation of templates is stupid
23:20:30 <mib_c2zegu> java is just totally inexcusable as a language.
23:20:37 <mib_c2zegu> ais523: ah, wait, I should get rid of the template stuff
23:20:39 <mib_c2zegu> just make it Object
23:20:41 <mib_c2zegu> then there's less typing
23:20:53 <mib_c2zegu> no, I dont' care about safety :P
23:21:06 <oklopol> java isn't exactly type safe.
23:21:23 <oklopol> it's just annoying
23:21:46 <oklopol> haskell's type system has actually helped me a few times, java's is just in the way
23:21:58 <mib_c2zegu> L addWorld = new L(){public Object _(Object a){return a + " world!";}};
23:22:01 <mib_c2zegu> ^ that's better, slightly
23:22:07 <mib_c2zegu> now to see if I can eliminate those Object's
23:22:17 <mib_c2zegu> btw, you call like
23:22:20 <ais523> Java's sort of got an anti-type-system
23:22:21 <mib_c2zegu> lambda._(arg)
23:22:29 <ais523> it checks types at compile time, then forgets about them
23:22:33 <oklopol> yeah
23:22:46 <ais523> and at runtime it doesn't have any type information so you have to tell it what types things are all over again
23:22:55 <ais523> then it just errors if things are the wrong type, which can somehow happen anyway
23:23:33 <oklopol> java knows what type things are, just not the generic parameters, afaik
23:23:42 <oklopol> *types
23:23:54 <ais523> oklopol: not in cases of inheritance
23:23:58 <ais523> which you're doing all the time in OO langs
23:24:12 <oklopol> hmm.
23:24:14 <mib_c2zegu> damnit, you need to explicitly specify public for anon classes
23:24:20 <mib_c2zegu> I think I may have reached the limit here.
23:24:24 <oklopol> i'm pretty sure it does know the exact types.
23:24:30 <mib_c2zegu> oklopol: are you wary of running a preprocessor over your program?
23:24:49 <oklopol> mib_c2zegu: do you expect me to use your system? :D
23:24:52 <mib_c2zegu> YES.
23:24:53 <mib_c2zegu> :)
23:24:56 <mib_c2zegu> I could write a python program that turned FUN(a -> a + " world!")
23:24:56 <oklopol> :D
23:24:57 <mib_c2zegu> into
23:24:58 <oklopol> well err.
23:25:11 <mib_c2zegu> new L(){public Object _(Object a){return (a + " world!");}}
23:25:12 <mib_c2zegu> :D
23:25:16 <mib_c2zegu> oklopol: ISN'T THAT TEMPTING??
23:25:21 <mib_c2zegu> heck, you could even have maps.
23:25:26 <oklopol> but... can you make it infer the types so i don't have to do explicit type conversions?
23:25:39 <mib_c2zegu> oklopol: well, perhaps
23:25:45 <mib_c2zegu> I may allow explicit types defaulting to Object
23:25:51 <mib_c2zegu> so you could do FUN(StupidType a -> ...)
23:26:26 <mib_c2zegu> Map._(FN(a -> a + " world!"), {"a","b","c"})
23:26:31 <mib_c2zegu> ^ that's pretty awesome I think.
23:26:37 <mib_c2zegu> i mean, as far as using java goes
23:26:42 <mib_c2zegu> I think that's pretty cool :P
23:28:19 <oklopol> hmm.
23:28:30 <oklopol> {"a","b","c"}?
23:28:41 <mib_c2zegu> tha's javas array literal syntax no?
23:28:49 <oklopol> i think it's more like new String[]{...}
23:28:59 <mib_c2zegu> well, whatever
23:29:06 <mib_c2zegu> it's still better than a hueg for loop and reassign and shit
23:29:31 <oklopol> anything is better than a loop
23:30:17 * mib_c2zegu wonders what to name the utils package
23:30:21 <mib_c2zegu> make.java.less.crap?
23:30:28 <oklopol> okay booker time.
23:30:31 -!- Judofyr has quit (Read error: 60 (Operation timed out)).
23:30:37 <mib_c2zegu> oklopol: NOES.
23:30:38 <mib_c2zegu> :P
23:31:08 <oklopol> i wonder if british universities are as keen on java as finnish ones
23:31:14 <mib_c2zegu> maybe.
23:31:14 <mib_c2zegu> oklopol:
23:31:16 <mib_c2zegu> x+4 = 3
23:31:19 <mib_c2zegu> WHAT IS X
23:31:50 <oklopol> hmm
23:31:51 <oklopol> well
23:32:01 <Slereah> I don't know what X is
23:32:02 <oklopol> x+4 is a temporary object on the stack
23:32:08 <Slereah> I know what x is, though
23:32:12 -!- Judofyr has joined.
23:32:13 <oklopol> and we need to convert it to an lvalue
23:32:31 <oklopol> now, we have all integers as lvalues somewhere in the memory, for literals that is
23:32:53 <oklopol> we just look up the reference to where ever x + 4 is, and rewrite that to 3
23:33:08 <oklopol> x stays the same
23:33:11 <mib_c2zegu> The answer was x+4.3089£&
23:33:36 <oklopol> i don't understand
23:33:41 <oklopol> you will have to walk me through this.
23:33:43 <mib_c2zegu> k
23:33:45 <mib_c2zegu> $£56@£
23:33:51 <mib_c2zegu> have you noticed oklopol
23:33:55 <mib_c2zegu> I drew you from your book.
23:33:56 <mib_c2zegu> MWAHAHA
23:33:59 <oklopol> ...
23:34:03 <oklopol> oh my god!
23:34:04 <mib_c2zegu> er
23:34:05 <mib_c2zegu> forget I said that
23:34:06 <mib_c2zegu> <.<
23:34:07 <mib_c2zegu> so oklopol
23:34:08 <mib_c2zegu> what is x
23:34:17 <oklopol> i already told you
23:34:22 <mib_c2zegu> no you did not
23:34:31 <oklopol> wait i didn't?
23:34:32 <oklopol> hmm.
23:34:34 <mib_c2zegu> nope
23:34:38 <oklopol> let's see...
23:34:45 <oklopol> 01:32… oklopol: x stays the same <<< i so did,.
23:34:54 <oklopol> .,.,.,.,.,.,.,.,.,.
23:34:58 <oklopol> ,.,.,.,.,.,.,.,.,.,
23:34:59 <mib_c2zegu> k
23:35:01 <mib_c2zegu> :P
23:35:04 <ais523> oklopol: that looks like BF
23:35:09 <oklopol> it is
23:35:26 <mib_c2zegu> import functional.java.Fn; public class Example { public static void main(String[] args) { System.out.println(FN(a => a + " world!")._("Hello,")); } }
23:35:43 <oklopol> it's an interactive conversation program
23:36:55 <oklopol> mib_c2zegu: ._ is ugly.
23:37:06 <mib_c2zegu> oklopol: got a better idea?
23:37:09 <mib_c2zegu> I could also make it $
23:37:14 <oklopol> just make the trivial type inference code and use () :o
23:37:16 <mib_c2zegu> FN(a => a + " world!").$("Hello, ")
23:37:24 <mib_c2zegu> also, that can't be performed as a simple rewrite of the source
23:38:21 <oklopol> it can, although you need to infer the types of all callers
23:38:25 <oklopol> wait...
23:38:35 <oklopol> well yeah, more or less.
23:38:50 <mib_c2zegu> oklopol: i don't think you understand, mine just runs a few regexs
23:38:51 <mib_c2zegu> :P
23:39:18 <oklopol> i know, i'm joking for teh most part :)
23:49:07 <mib_c2zegu> hmm, well basic compilationeration works
23:49:10 <mib_c2zegu> can't specify return type atm
23:49:22 <mib_c2zegu> can specify input tho
23:50:16 <mib_c2zegu> oklopol: how should return valuamations be specified
23:50:18 <mib_c2zegu> I'm thinking liek
23:50:31 <mib_c2zegu> FN(a =>Object a + " world!")
23:50:32 <mib_c2zegu> or sth.
23:52:17 <oklopol> maybe have A=>B be reduced to L<A,B>, and use -> for lambdas
23:52:20 <oklopol> dunno.
23:52:29 <mib_c2zegu> mayb.
23:52:35 <mib_c2zegu> still
23:52:38 <mib_c2zegu> it compiles this:
23:52:39 <mib_c2zegu> import functional.java.*; public class Example { public static void main(String[] args) { System.out.println(FN(a => a + " world!")._("Hello,")); } }
23:52:40 <mib_c2zegu> into this:
23:52:44 <mib_c2zegu> import functional.java.*; public class Example { public static void main(String[] args) { System.out.println((new Lambda<Object,Object>() { public Object _(Object a) { return (a + " world!"); }})._("Hello,")); } }
23:52:46 <mib_c2zegu> not bad.
23:53:42 <oklopol> ooooooooooo
23:54:03 <oklopol> it's nice, but i can't help thinking it's also very trivial :P
23:54:10 <mib_c2zegu> oklopol: shur, it is
23:54:14 <mib_c2zegu> but wait till I add more stuff :P
23:54:29 <oklopol> well yeah add all the stuff python has and i'm good to go
23:54:41 <mib_c2zegu> wellllll not all of it
23:54:49 <mib_c2zegu> oklopol: I'm just trying to avoid you committing suicide.
23:57:18 <oklopol> :)
23:59:03 -!- Judofyr has quit.
←2008-12-26 2008-12-27 2008-12-28→ ↑2008 ↑all