←2009-04-09 2009-04-10 2009-04-11→ ↑2009 ↑all
00:06:19 -!- BeholdMyGlory has quit (Remote closed the connection).
00:06:24 <Slereah> What's a good program to input a character and it gives you its unicode number?
00:06:35 <Slereah> I have no idea what to google for
00:07:11 <ehird> python -c 'print "U+" + raw_input().decode("UTF-8").strip()[0]'
00:07:20 <ehird> er
00:07:26 <ehird> not quite
00:07:26 <ehird> here:
00:07:56 <ehird> Slereah:
00:07:56 <ehird> python -c 'print "U+%04x" % ord(raw_input().decode("UTF-8").strip()[0])'
00:07:59 <Slereah> thx
00:08:00 <ehird> example:
00:08:01 <ehird> a
00:08:02 <ehird> U+0061
00:08:09 <Slereah> I use the python interpreter directly, what's the -c for?
00:08:22 <ehird> wait make it
00:08:22 <ehird> python -c 'print "U+%04X" % ord(raw_input().decode("UTF-8").strip()[0])'
00:08:22 <Slereah> >>> print "U+%04x" % ord(raw_input().decode("UTF-8").strip()[0])
00:08:22 <Slereah> a
00:08:22 <Slereah> U+0061
00:08:27 <Slereah> Close enough I guess
00:08:30 <ehird> Slereah: lets you specify a script on the command line
00:08:32 <ehird> also, make it X
00:08:37 <ehird> also whaddya mean close enough
00:08:40 <ehird> unicode codepoints are in hex
00:08:46 <ehird> python -c 'print "U+%04X" % ord(raw_input().decode("UTF-8").strip()[0])'
00:08:50 <ehird> use the X since it uppercases hexy things
00:09:57 <Slereah> UnicodeDecodeError: 'utf8' codec can't decode byte 0x81 in position 0: unexpected code byte
00:10:00 <Slereah> Oh boners.
00:11:32 <ehird> Slereah: it's not in utf-8
00:11:35 <ehird> windoze?
00:11:39 <ehird> try changing UTF-8 to UTF-16
00:12:02 <Slereah> Owait
00:12:09 <Slereah> http://www.decodeunicode.org/en/project
00:12:13 <Slereah> This may work
00:12:27 <Slereah> Hm.
00:12:29 <Slereah> I guess not
00:12:37 <ehird> change utf-8 to utf-16
00:12:40 <Slereah> I'm trying to fine the unicode of different spaces
00:12:46 <Slereah> How do I do such a thing?
00:13:39 <ehird> what
00:14:32 <Slereah> <ehird> change utf-8 to utf-16
00:14:40 <ehird> python -c 'print "U+%04X" % ord(raw_input().decode("UTF-8").strip()[0])'
00:14:43 <ehird> see that UTF-8?
00:14:54 <Slereah> k
00:15:28 <Slereah> U+4081
00:15:33 <Slereah> Thankies.
00:15:48 <ehird> er
00:15:48 <ehird> no
00:15:57 <Slereah> Why not?
00:16:02 <ehird> that isn't a valid unicode char
00:16:02 <ehird> :-P
00:16:08 <Slereah> Isn't it?
00:16:34 <Slereah> Is shifted JIS part of unicode, or is it another standard alltogether?
00:16:41 <ehird> Totally separate
00:16:57 <Slereah> Dickballs.
00:19:40 <Slereah> SJIS infos are much more sparse.
00:29:03 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)).
00:47:01 -!- Asztal_ has quit (Read error: 110 (Connection timed out)).
00:49:49 -!- M0ny has quit ("PEW PEW").
00:53:11 -!- psygnisfive has joined.
01:36:28 <FireFly> ->
01:36:32 -!- FireFly has quit ("Later").
02:07:14 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)).
02:07:16 -!- psygnisfive has joined.
02:24:26 -!- sebbu2 has joined.
02:26:32 -!- sebbu has quit (Read error: 60 (Operation timed out)).
02:26:32 -!- sebbu2 has changed nick to sebbu.
02:31:08 -!- zzo38 has joined.
02:33:19 <zzo38> Now I know what is unitary matrix! I read the book ROAD TO REALITY but now really I know.
02:33:32 <zzo38> I guess the matrix also has to have a reciprocal.
02:33:48 <zzo38> Becuase I read somewhere that the computation has to be reversible
02:34:12 <zzo38> So [1,1;1,-1] is unitary, am I right? And [1,1;-1,1] is also unitary I think. (Ignoring normalization)
02:34:59 <zzo38> I found the equation for measure of quantum state it is (<x|y><y|x>)/(<x|x><y|y>) I have programmed it into my graphing calculator and it works OK
02:35:44 <zzo38> And I have made many cards in Magic: the Gathering
02:35:54 <zzo38> And including new entity/playercard rules.
02:36:31 <zzo38> They originally wanted planeswalkers to be another player but it didn't. My rule playercards they are another player.
02:39:20 <kerlo> Hey, wait.
02:39:26 <kerlo> Unitary ignoring normalization?
02:40:11 <zzo38> Roger Penrose doesn't bother with normalization, so neither do I.
02:40:13 <kerlo> Mm, okay.
02:41:18 <zzo38> How many people do and do not insist on normalization and in what circumstances?
02:41:27 <zzo38> Sometimes normalization is useful, though.
02:41:47 <kerlo> What's a non-unitary matrix with determinant equal to 1?
02:42:44 <zzo38> I don't know everything
02:43:25 <zzo38> But I do know that a quantum state vector cannot be all zero it is obviously to me that if you do, you are dividing by zero when doing the measurement according to the equation that I have described, just by looking at it.
02:48:03 <zzo38> I looked at the Google search for site:tunes.org zzo38
02:55:55 <zzo38> I only got 9 results, though.
03:06:34 -!- zzo38 has quit.
03:42:07 <psygnisfive> poundcake!
03:42:08 <psygnisfive> :D
03:42:12 <psygnisfive> who wants the recipe? :d
04:00:54 -!- zzo38 has joined.
04:01:48 <zzo38> Is the recipe for poundcake necessary? Isn't it just you put 1 pound of each ingredient and put in oven, I think. But you can post recipe if you want to
04:02:19 <zzo38> Do you have the idea of Magic: the Gathering cards, please?
04:02:44 <zzo38> I made 2 sets of Magic: the Gathering cards, called Unplugged and Super Unplugged.
04:03:03 <zzo38> The Super Unplugged is incomplete. And the next one will be called Hyper Unplugged.
04:03:36 <zzo38> Do you like these cards?
04:03:59 <zzo38> Many of them I invented or make a similar version, some are from another source, though.
04:07:04 <zzo38> O, I forgot to write the URL for the cards
04:08:50 <zzo38> "Lose priority" is now the cost of some abilities.
04:08:59 <zzo38> Some activated abilities do nothing.
04:10:55 <zzo38> Some cards do not have any effect.
04:11:23 <zzo38> Drawing cards, gaining life, and gaining mana, can all be costs in some of these cards.
04:14:33 -!- zzo38 has quit (Read error: 104 (Connection reset by peer)).
04:27:10 <psygnisfive> oklopol
04:27:15 <psygnisfive> or ehird
04:27:16 <psygnisfive> or someone
04:43:23 -!- sebbu2 has joined.
04:57:58 -!- sebbu has quit (Read error: 110 (Connection timed out)).
04:57:58 -!- sebbu2 has changed nick to sebbu.
05:00:58 -!- GregorR has quit (Read error: 110 (Connection timed out)).
05:01:12 -!- GregorR has joined.
05:41:29 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)).
06:35:24 -!- psygnisfive has joined.
06:50:29 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)).
07:34:42 <oklopol> o
07:37:41 <oklopol> megadeth is hideous music
07:37:50 <oklopol> well okay, i guess i just hate the singer
07:38:35 <oklopol> a youtube comment said an arch enemy piece was a ripoff of this one megadeth song; has a superficially similar beginning, then 6 minutes of filler unmusic
07:50:00 -!- psygnisfive has joined.
07:51:14 <psygnisfive> guys
07:51:16 <psygnisfive> im really bored
07:51:20 <psygnisfive> and i want to programming something
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:01:04 -!- fizziet has joined.
08:01:07 <oklopol> HAHA YOU MADE A GRAMMATICAL ERROR :DDDDDDDD
08:01:37 <oklopol> i mean
08:01:53 <fizziet> (Obligatory train-visit.)
08:02:05 <oklopol> maybe you should program like a program that calculates factorials!
08:02:29 <oklopol> fizziet: obligatory irc-visit during train trip?
08:02:40 <fizziet> oklopol: Yes, that.
08:02:43 <oklopol> right, right
08:02:55 <oklopol> is someone else seeing this?
08:03:07 <oklopol> i'm assuming you're not traveling alone
08:03:28 <psygnisfive> cmooooon
08:03:31 <fizziet> Well, no, not alone, but my travelling company is sleeping.
08:03:36 <psygnisfive> gimme stuff to code :(
08:04:02 <oklopol> fizziet: HOW CAN A WHOLE COMPANY SLEEP?
08:04:30 <oklopol> psygnisfive: code a program that like, writes hello world in the standard input
08:04:41 <fizziet> Obviously only a company that does not care about PROFIT MARGINS can sleep.
08:04:41 <oklopol> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;>
08:04:43 * psygnisfive smacks oklopol
08:05:30 <oklopol> profffiiiit
08:05:31 <oklopol> well
08:05:34 <oklopol> need to sleep
08:05:35 <oklopol> again
08:05:45 <oklopol> this was a temporary waking up
08:06:14 <oklopol> psygnisfive: write like a program that can ask the users name and then like, you know, greet them?!?
08:06:47 <oklopol> i'm so useful!
08:06:57 <oklopol> well night, this company'll sleep too, now
08:06:57 <oklopol> ->
08:16:34 -!- fizziet has quit ("it is all so quiet").
08:33:55 -!- oerjan has joined.
08:43:30 <oerjan> <zzo38> I looked at the Google search for site:tunes.org zzo38
08:43:44 <oerjan> google doesn't seem to pick up all the logs
08:46:24 <oerjan> <kerlo> What's a non-unitary matrix with determinant equal to 1?
08:46:27 <oerjan> hm...
08:47:10 <oerjan> ab-cd=1 but not unitary
08:47:25 <oerjan> several ways, one is to scale each vector the opposite way
08:48:03 <oerjan> so, [1/2,0;0,2] is a trivial example
08:48:26 <AnMaster> hi oerjan
08:48:29 <oerjan> hi AnMaster
08:49:44 <oerjan> allowing non-normalized unitary matrices ruins the simple algebraic definition
08:49:51 <oerjan> A*A = AA* = I
08:50:30 <oerjan> i.e. the conjugate transpose _is_ the reciprocal
08:58:00 -!- tombom has joined.
09:36:52 -!- oerjan has quit ("leaving").
09:42:45 -!- BeholdMyGlory has joined.
10:01:18 <oklopol> 0,
10:06:46 -!- KingOfKarlsruhe has joined.
10:09:28 -!- M0ny has joined.
10:10:11 -!- FireFly has joined.
10:47:05 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)).
10:47:39 -!- BeholdMyGlory has joined.
10:51:01 -!- M0ny has quit ("PEW PEW").
10:56:04 -!- BeholdMyGlory has quit ("say goodbye to ATI Catalyst").
11:08:14 -!- BeholdMyGlory has joined.
11:31:33 -!- Gracenotes has quit (Read error: 54 (Connection reset by peer)).
11:33:09 -!- tombom has quit ("Peace and Protection 4.22.2").
11:43:36 -!- neldoreth has quit ("Lost terminal").
11:45:50 -!- BeholdMyGlory has quit ("ATI sucks").
11:48:14 -!- BeholdMyGlory has joined.
11:56:42 -!- FireFly has quit ("Later").
12:01:06 -!- fizziep has joined.
12:01:30 <fizziep> Hello again, this time from the hotel.
12:01:52 -!- FireFly has joined.
12:02:51 -!- ehird_ has joined.
12:12:55 <oklopol> well another morning to you!
12:13:08 <oklopol> and your cpu.
12:14:16 <fizziep> I could've been here to do a third "hello" before leaving home, around 06am, but we had some technical difficulties in waking up, and the departure was a bit... hurried.
12:17:27 -!- ehird has quit (Read error: 110 (Connection timed out)).
12:17:34 -!- ehird_ has changed nick to ehird.
12:21:24 -!- asiekierka has joined.
12:21:26 <asiekierka> Woo
12:21:30 <asiekierka> Finally got the virus sorted out
12:21:48 <asiekierka> Now to install IMs and stuff
12:26:28 <oklopol> yay
12:27:35 <asiekierka> but no deving
12:27:48 <asiekierka> I'm busy with MS Paint Adventures's new subforum for your own MSPA's
12:32:15 <asiekierka> http://mspaintadventures.com/phpBB3/viewforum.php?f=35
12:32:19 <asiekierka> feel free to register and make one
12:54:16 <asiekierka> I can't believe my topic stayed for 5 days or so
13:00:40 -!- M0ny has joined.
13:02:38 <oklopol> okay the downhill is steepening, i got a 4, and 6/38 got a 5.
13:03:50 <oklopol> of course, that was a scheduling failure on my part, read the wrong material
13:03:51 <oklopol> but still
13:03:54 <oklopol> there are now people
13:03:56 <oklopol> in our university
13:04:04 <oklopol> that have beaten me in an exam.
13:09:16 -!- Robdgreat has quit (calvino.freenode.net irc.freenode.net).
13:09:53 -!- Robdgreat has joined.
13:42:02 -!- fizziep has quit ("/quit").
14:01:34 -!- Asztal_ has joined.
14:39:35 -!- ehird has left (?).
14:39:47 -!- ehird has joined.
14:50:28 <ehird> My nice looking Squeak/Pharo setup: http://xs538.xs.to/xs538/09155/picture_1638.png
14:54:33 -!- KingOfKarlsruhe has quit (Remote closed the connection).
15:01:54 <ehird> http://www.sorting-algorithms.com/
15:01:57 <ehird> ↑ sort porn
15:05:11 <oklopol> cool
15:05:55 <ehird> also http://www.users.muohio.edu/helmicmt/sorting/sorting.html
15:11:52 <AnMaster> hi fizzie
15:12:17 <ehird> he's not here
15:12:19 <AnMaster> oh wait his bnc is still connected
15:12:24 <AnMaster> that explains it
15:12:30 <ehird> he was in here earlier
15:12:32 <ehird> on the train
15:12:44 <AnMaster> yes we had guests
15:12:49 <AnMaster> so I was kind of preocupied
15:13:22 <ehird> i was sleeping
15:13:26 <ehird> so I was kind of preoccupied
15:15:21 <ehird> "'We're Linux' Commercial Winner ANNOUNCED! Linux ads on TV could be coming soon!"
15:15:23 <ehird> Oh, god, no.
15:15:29 <ehird> I bet one of the shit ones won.
15:15:43 <ehird> Oh god.
15:15:46 <ehird> The first one is fine
15:15:51 <ehird> The second one is the CULT BACTERIA BJORK VIDEO one.
15:16:34 <ehird> Aw the funny one was only third place
15:16:36 <ehird> Harumph
15:16:38 <ehird> ANyway they all suck
15:16:42 <ehird> They don't say what linux is
15:16:46 <ehird> PR disaster
15:16:46 <ehird> Oh wel
15:16:46 <ehird> l
15:35:41 <Deewiant> Many ads don't say what it is they're advertising
15:36:26 <ehird> Sure, but in a lot of cases, it's easy to find out, easy to deduce, or people probably have already heard of it, or can ask someone who has
15:36:57 <ehird> Linux is virtually unknown and all this advert says is "YOU CAN TWEAK IT A LOT", which I might add is not a huge selling point for an OS -- a lot of tweakers probably already use Linux, that market isn't hard
15:37:06 <ehird> It doesn't even mention computers.
15:37:09 <ehird> Once.
15:37:53 <Deewiant> People know what Macs and Windows are, so juxtaposition works there IMO
15:38:45 <ehird> Deewiant: I did not see Mac or Windows mentioned in the winning ad.
15:38:55 <Deewiant> Oh, there's a winning ad
15:39:03 <ehird> Yes.
15:39:10 <Deewiant> Which one was it
15:39:13 <ehird> http://www.gizmostyle.com/2009/04/09/were-linux-winner-announced-are-linux-ads-coming-to-tv-screens/
15:39:18 <ehird> The crayon-y one.
15:39:29 <ehird> The second one is the cult-bacteria-Bjork-video one.
15:39:49 <ehird> The third one is the hilarious-and-helpful (it mentions computers and windows and apple...)
15:39:54 <ehird> So it probably should have won
15:39:57 <Deewiant> The crayon-y one is typical of modern ads, I think
15:39:58 <ehird> With dubbing that i
15:39:59 <ehird> s
15:40:12 <ehird> Deewiant: Yes but it's also not going to help at all
15:40:21 <Deewiant> It's supposed to pique your interest
15:40:25 <Deewiant> And make you want to find out more
15:40:34 <ehird> Amusingly surreal ads are also common, so that doesn't rule out #3.
15:45:22 <oklopol> first one was kinda gay
15:45:40 <ehird> the second one is so unbelievably crap
15:45:44 <ehird> it's fucking scary!
15:45:47 <oklopol> i can't get it to play
15:45:52 <ehird> oklopol: huh
15:45:54 <Deewiant> It's cool but it's not much of an advertisement :-)
15:46:03 <ehird> click the vimeo logo and it should bring up a separate page
15:46:14 <ehird> Deewiant: cool? it's not even entertaining
15:46:16 <ehird> it's just disturbing
15:46:26 <Deewiant> I thought it was cool
15:47:23 <oklopol> blah still won't open
15:47:36 <ehird> oklopol: you're on jewbuntu right?
15:47:39 <ehird> which flash plugin?
15:47:41 <ehird> adobe's?
15:47:49 <oklopol> should have dat
15:47:55 <ehird> right but is it adobe's or gnash or w/e
15:48:29 <oklopol> no idea.
15:48:36 <oklopol> which button do i press?
15:48:46 <ehird> "vimeo" on the second video
15:48:50 <ehird> should load a vimeo page
15:48:58 <oklopol> i meant to know which flash
15:49:01 <ehird> o
15:49:04 <oklopol> i have the vimeo place open
15:49:04 <ehird> go to about:plugins
15:49:10 <oklopol> *page, although both work
15:49:12 <ehird> and find something about flasher or gnash or adobe or whatevar
15:49:56 <oklopol> application/x-shockwave-flash Shockwave Flash swf Yes
15:50:06 <ehird> riiiight okay anything else?
15:50:19 <oklopol> err tons of shit
15:50:28 <ehird> anything about adobe or flasher or gnash
15:50:47 <ehird> for instance
15:50:48 <ehird> Shockwave Flash
15:50:49 <ehird> File name: Flash Player.plugin
15:50:51 <ehird> Shockwave Flash 10.0 r22
15:50:54 <ehird> if that's there, or similar, it's adobe
15:50:57 <oklopol> no.
15:50:59 <ehird> if gnash or something is there, it's...gnash
15:51:11 <oklopol> no gnash, no adobe, no flasher
15:51:14 <ehird> oklopol: err
15:51:20 <ehird> there has to be or the other vidyas wouldn't play :D
15:51:21 <ehird> screenshot?
15:52:12 <oklopol> http://www.vjn.fi/pb/p663436216.txt
15:52:22 <ehird> textual screenshots :D
15:52:25 <oklopol> yes
15:52:25 <ehird> Shockwave Flash
15:52:25 <ehird> File name: libflashplayer.so
15:52:27 <ehird> Shockwave Flash 9.0 r31
15:52:32 <ehird> hokie, maybe flash 10's needed
15:52:37 <oklopol> cool.
15:52:40 <ehird> oklopol: system->administration->synaptic package manager
15:52:43 <ehird> search for "flash"
15:52:45 <ehird> which one's ticked
15:52:48 <ehird> and is there any "10"s
15:53:44 <oklopol> well let's see.
15:55:28 <oklopol> there's flashplugin, and it's 9
15:55:35 <oklopol> flashplugin-non
15:56:10 <ehird> oklopol: no 10 ones?
15:56:42 <ehird> oklopol: then you'll have to uninstall that and get it from adobe, think it's worth it? :P
15:57:02 <oklopol> nothing's worth something that drastic :D
15:57:16 <ehird> yeah 30 seconds of work is drastic :D
15:57:51 <oklopol> it's not the duration, it's the principle! who am i kidding, it's the insanity.
15:58:00 <ehird> :D
16:00:28 <oklopol> the level 3 ai is scary, it's like playing against god, except he actually moves the pieces
16:00:36 <ehird> define level 3
16:00:49 <oklopol> well you know the reversi that came with the os
16:00:56 <ehird> ah.
16:00:59 <ehird> you didn't specify :P
16:01:02 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)).
16:01:03 * ehird starts up ubuntu vm
16:01:04 -!- psygnisfive has joined.
16:01:11 <oklopol> well i assumed it was self-evident ;)
16:01:15 <ehird> which one's reversi?
16:01:21 <ehird> o ya
16:01:21 <ehird> that game
16:01:22 <oklopol> the one where you reverse
16:01:27 <ehird> you mean Iagno
16:01:29 <oklopol> yes
16:01:34 <ehird> love that game
16:01:44 <ehird> does iagno have multiplayer over network
16:01:55 <oklopol> dunno. i wouldn't play with you :)
16:02:01 <ehird> yeah cuz I'd beat you
16:02:04 <oklopol> yes
16:02:07 <oklopol> exactly
16:02:13 <ehird> actually i'm pretty shit at reversi
16:03:05 <ehird> ha
16:03:08 <ehird> it does have networking
16:04:29 <oklopol> i'm shit at all games
16:04:57 <Slereah> Even pong?
16:05:02 <ehird> damn that level 3 ai is impossible
16:05:06 <ehird> me 5 it 59
16:05:20 <oklopol> okay i'm shit at games that are about intelligence
16:05:31 <oklopol> i'm very good at interactive games
16:06:11 <ehird> oklopol: if I set up a network game now how unlikely are you to not not accept it :-D
16:06:42 <oklopol> very!
16:06:58 * oklopol counts nots
16:07:02 <oklopol> yay!
16:07:05 <ehird> what if I said you had no choice :-D
16:07:39 <oklopol> well i guess i can lose one game
16:07:53 <ehird> right I'm just figuring out this multiplayer thingy
16:08:05 <oklopol> okay, just tell me which button to press when you're done :)
16:09:14 * ehird hopes for best
16:10:04 <ehird> it just keeps hanging :<
16:15:35 -!- provvl has joined.
16:15:46 <provvl> hey guys
16:15:54 <provvl> what was that programming language that was way ahead of its time?
16:16:56 <ehird> erm
16:17:00 <ehird> haskell?
16:17:06 <oklopol> Java!
16:17:06 <ehird> lisp?
16:17:09 <ehird> oklopol: AAAAAAAAAAA
16:17:53 <provvl> no i mean from like the 70s i think
16:18:00 <provvl> give or take a decade
16:18:03 <ehird> lisp is from the 50s
16:18:12 <provvl> haskell and java is not
16:18:14 <provvl> and no not lisp
16:18:19 <ehird> oklopol was joking with java
16:18:21 <provvl> OH i remember how to find it now
16:18:26 <ehird> anyway more details?
16:18:30 <ehird> also hi have you been here before?
16:18:35 <provvl> squirrelfish has a new feature specifically pulled from this one
16:18:48 <provvl> i think polymorphic is in the name of the feature
16:18:49 <ehird> The JS engine?
16:18:51 <provvl> yes
16:18:54 <ehird> Not ringing a bell.
16:19:12 <ehird> provvl: do we mean implementation technique or language feature?
16:19:18 <ehird> squirrelfish doesn't add any language freatures
16:19:19 <provvl> implementation technique
16:19:20 <ehird> *feature
16:19:21 <ehird> s
16:19:33 <ehird> provvl: like how squirrelfish infers types as the program runs?
16:19:35 <provvl> something to do with caching
16:19:41 <provvl> no,
16:19:46 <provvl> sorry i might have used the wrong word
16:19:57 <ehird> I think I know what you mean
16:19:59 <ehird> dunno the name
16:20:00 <provvl> rats
16:20:03 <ehird> or specifically what it does
16:20:06 <provvl> well it takes that concept from this old language
16:20:09 <provvl> thts way ahead of its time
16:20:12 <ehird> provvl: read the squirrelfish announcements?
16:20:15 <provvl> trying
16:20:21 <ehird> + squirrelfish extreme + nitro (rebranded SFE)
16:20:30 <provvl> right
16:24:53 -!- ais523 has joined.
16:25:29 <provvl> Polymorphic Inline Cache!
16:25:38 <ehird> yep
16:25:42 <ehird> hi ais523
16:25:47 <ais523> hi
16:26:45 <provvl> Self!
16:27:08 <ehird> YES
16:27:08 <ehird> Self
16:27:10 <ehird> came out
16:27:13 <ehird> in the 90s
16:27:15 <ehird> :-P
16:27:23 <provvl> :'(
16:27:26 <ehird> well
16:27:27 <ehird> 1986
16:27:32 <ehird> but more public in the 90s
16:27:41 <ehird> The first public release was in 1990, and the next year the team moved to Sun Microsystems where they continued work on the language. Several new releases followed until falling largely dormant in 1995 with the 4.0 version. The latest 4.2 version was released in 2004 and runs on Mac OS X and Solaris.
16:27:53 <provvl> aha, i was right!
16:28:12 <ehird> you said 70 give or take 10 years
16:28:12 -!- provvl has quit (Remote closed the connection).
16:28:13 <ehird> 1980
16:28:15 <ehird> so 6 years off
16:28:16 <ehird> so ha.
16:28:19 <ehird> damn he's gone.
16:29:17 <ehird> wtf, the T-Mobile G1 (the phone running google's Android os) has a music player but no headphone jack
16:29:19 <ehird> how ridiculous
16:32:40 <ais523> who was provvl?
16:34:13 <ehird> a guy
16:34:18 * ehird shrug
16:34:33 <ehird> never been in here before
16:34:34 <ehird> says grep
16:34:41 <ehird> he just asked about one thing
16:34:51 <ehird> not entirely esolang related
16:34:52 <ehird> but programming related
16:34:56 <ehird> and language related
16:35:02 <ehird> and obscure language related
16:35:57 <ehird> http://blog.morrildl.net/2008/09/various-software-licenses-in-single.html
16:36:52 <ais523> ehird: heh
16:36:56 <ais523> not entirely accurate, but still funny
16:42:47 <ehird> also
16:42:48 <ehird> http://www.jwdt.com/~paysan/httpd-en.html
16:43:08 <ehird> I love how Forthers, whenever they see a data format, think "How can I evaluate this as Forth"?
16:43:18 <ehird> s/"\?/?"/
16:43:39 <ehird> It's an apache-esque webserver with mime types, keepalive http connections,
16:43:46 <ehird> and embedded forth scripting
16:43:48 <ehird> in only a 100 or so lines
16:43:53 <ehird> Very impressive
16:44:34 <ais523> Forth have obviously stolen that old Overload trick
16:44:51 <ais523> the idea was that you could run any language by changing the syntax of Overload to emulate that language
16:45:16 <ehird> heh
16:45:19 <ehird> forth does it much simpler
16:45:22 <ehird> they just define words
16:45:30 <ais523> well, Overload just defined characters
16:45:35 <ehird> they only hack the parser if they absolutely cannot wrangle it to start with a word and a space
16:45:45 <ehird> (because with a word and a space you can read arbitrary characters/words)
16:45:57 <ehird> (if it starts with @@<anything>, gotta hack the parser, though)
16:49:36 <AnMaster> hi
16:49:40 <ehird> hi
16:49:47 <ehird> I love especially how that article end with how it's much too long
16:51:33 <ais523> ehird: is that entire article written in literate Forth?
16:51:50 <ehird> ais523: no such thing, it's just html with forth snippets :P
16:51:56 <ais523> what do you mean no such thing
16:51:57 <ehird> literate programming involves rearranging code, BTW
16:52:00 <ehird> for reading order
16:52:03 <ais523> ah, ok
16:52:03 <ehird> so it's not literate forth
16:52:09 <ehird> ais523: it's not marked in any way
16:52:12 <ehird> apart from html tags
16:52:13 <ehird> and whatnot
16:52:17 <ais523> the HTML tags are enough, IMO
16:52:25 <ais523> even literate Haskell can use LaTeX tags
16:53:19 -!- MigoMipo has joined.
16:53:19 <ehird> I added some whitespace in between the definitions of that and put it in a text file
16:53:29 <ehird> 180 lines of lightly-commented, well factored forth with whitespace
16:53:44 <ehird> and it's a core-of-apache clone
16:53:58 <ehird> with mimetype file parsing, a CGI-alike, error handling and keepalive connections
16:54:16 <ehird> if only you could read it.
16:55:32 <AnMaster> hah
16:57:02 <ehird> : test DOES> ." Hello, world!" ; ok
16:57:02 <ehird> test ok
16:57:03 <ehird> : foo test ; ok
16:57:05 <ehird> foo Hello, world! ok
16:57:07 <ehird> ↑ i love it
16:57:12 <ehird> if you interpret the word, it d oes nothing
16:57:14 <ehird> put it in a definition?
16:57:16 <ehird> BAM, it expands.
17:09:06 <ehird> uuencode should have an option to make lines 80 characters
17:10:15 <AnMaster> ehird, hm about forth web server, I haven't had time to read that fully and I know almost no forth... What about security. How easy would it be to trick the web server into running something esle
17:10:26 <ehird> AnMaster: I think it runs in a restricted vocab.
17:10:27 <ehird> Dunno.
17:10:42 <AnMaster> else*
17:10:44 <AnMaster> ehird, ah ok
17:10:56 <AnMaster> you mean somewhat like a perl sandbox or such
17:13:03 <ehird> yeah.
17:19:29 <ehird> Grah.
17:19:38 <ehird> My editor cannot handle selecting 2000 lines in one go very well.
17:19:41 <ais523> anyway, by populat demand: http://filebin.ca/kfseue/ais52308_1.xml
17:19:50 <ais523> I wrote Pong in Enigma
17:20:04 <ais523> ehird: C-space C-u 2000 <down>
17:20:12 <ehird> yes, vim can do that too
17:20:16 <ais523> I know
17:20:16 <ehird> but I'm not using vim
17:20:17 -!- asiekierka has quit.
17:20:19 <ehird> ais523: ALSO HOT.
17:20:19 <ais523> even more easily
17:20:23 * ehird downloads
17:20:25 <ais523> V2000j, isn't it?
17:20:27 <ais523> or is that a lowercase v?
17:20:37 <ehird> V2j
17:20:39 <ehird> yep
17:20:43 <ehird> (for 2 lines down)
17:20:48 <ehird> v2j also works
17:21:43 * ehird ^space Enigma enter
17:22:01 * ais523 alt-f2 enigma enter
17:22:07 <ehird> ais523: mine searches.
17:22:08 <ehird> also
17:22:10 <ehird> needs better controls
17:22:11 <AnMaster> ais523, hm I have ais52301_1.xml ais52304_1.xml ais52306_1.xml ais52308_1.xml here
17:22:21 <AnMaster> the rest are not completed?
17:22:28 <ais523> AnMaster: I released 7 as well
17:22:31 <ais523> and yes, the rest aren't completed
17:22:37 <AnMaster> link to 7
17:22:43 <ais523> I'll repaste it
17:22:47 <ehird> ais523: with better controls and a ball that acts more like a pong ball it'll be brilliant
17:22:47 <AnMaster> thanks
17:23:06 <ais523> http://filebin.ca/eeephv/ais52307_1.xml
17:23:16 <ais523> ehird: I know, it could do with improvement
17:23:25 <ais523> the AI's good but not perfect, after all you have to be able to win somehow
17:23:31 <ehird> ais523: yeah, like not losing totally every time you get hit? :-)
17:23:46 <ais523> what do you mean by that?
17:23:48 <AnMaster> those controls just doesn't work well indeed
17:23:59 <ehird> ais523: every time the AI hits you, all your progress is lost
17:24:02 <ais523> ehird: oh, yes
17:24:07 <ais523> but in easy, you only have to win 3 times in a row
17:24:30 <ais523> and in hard, you also only have to win 3 times, but you have to win towards the top half of the map or it doesn't count
17:24:47 <ais523> how is the ball different from a pong ball, anyway?
17:24:58 <AnMaster> ais523, I can't manage the control in that pong level
17:25:01 <ehird> ais523: when your bat hits it, it sort of curves
17:25:02 <AnMaster> I just bounce around
17:25:03 <ehird> instead of whacking
17:25:21 <ais523> ehird: whacking's easier but much less playable, as you can't determine the angle the ball comes back at
17:25:28 <ehird> HARUMPH
17:26:15 <AnMaster> ais523, what mouse speed thingy do you use for that pong level
17:26:22 <AnMaster> since it is unplayable for me
17:26:27 <AnMaster> and why the ice...
17:26:42 <ais523> AnMaster: why the ice, so the ball can go across it without stopping, but you have friction
17:26:46 <ais523> there's a pin in your inventory
17:26:47 <AnMaster> hm
17:26:51 <ais523> and you have 5 times standard mouseforce
17:26:53 <AnMaster> right
17:26:55 <ais523> so it works like standard floor
17:27:16 <ais523> I could multiply the mouseforce up higher, or you can adjust it by hand using left and right
17:27:25 <AnMaster> ais523, but what mouse force setting do you use, I usually use 2 or 3 for most levels
17:27:32 <ais523> what?
17:27:33 <ais523> I use 9
17:27:37 <AnMaster> hm ok
17:27:37 <ais523> no wonder you're no good at the fast level
17:27:39 <ais523> *level
17:27:41 <ais523> *levels
17:27:46 <ais523> and 9 is the default as well, AFAIR
17:27:48 <AnMaster> then I just bounce around randomly in pong level
17:28:05 <ais523> moving large objects always is tricky in Enigma
17:28:39 <AnMaster> ais523, that's unplayable for me, I do not have that fast reaction time
17:28:51 <ais523> AnMaster: well, pong's all about fast reaction time
17:28:55 <ais523> you mean, the level's too difficult
17:28:56 <AnMaster> I just end up bouncing around randomly
17:29:11 <ais523> how do you do levels like DownDown or Magic Triangle with a mouseforce that low?
17:29:35 <AnMaster> ais523, well maybe, I don't know. But I played pong and handled it fine, but with the ball bouncing back and forth thus moving it up and down in the same spot: unplayable
17:29:38 <AnMaster> for me
17:29:48 <AnMaster> ais523, I don't
17:30:01 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)).
17:30:04 <ais523> so what you really want is all Enigma levels to be easy?
17:30:14 -!- psygnisfive has joined.
17:30:19 <AnMaster> ais523, well I like the bf one for example
17:30:27 <AnMaster> and several other ones
17:30:28 <ais523> that one's kind-of weird
17:30:32 <ais523> do you like my nim level?
17:30:41 <ais523> actually, you might like _07
17:30:49 <ais523> that doesn't require speed at all
17:30:51 <ais523> not really
17:30:53 <AnMaster> nim, was that the first one
17:30:54 <AnMaster> or
17:30:59 <AnMaster> and I haven't tried 07 yet
17:31:01 <ais523> nim's _01
17:32:06 <AnMaster> well I don't know the rules of nim, but it was obvious how to solve it on easy, I guess it is less pointless easy on the normal difficulty mode.
17:32:20 <ais523> easy is the two-player mode
17:32:25 <ais523> you're meant to play it against another human
17:32:29 <ais523> I put it in just because I could
17:32:50 <ehird> ais523: question:
17:32:56 <ehird> does this work:
17:32:57 <ehird> trap "foo" blah blah
17:32:58 <ehird> exec bar
17:33:03 <AnMaster> ais523, what do you think about that level where there are hidden switches under the grass that activate the coloured stones and you have to navigate a hidden maze to activate them
17:33:04 <ais523> ehird: which lang?
17:33:05 <ehird> so that when bar makes the signal it gets trapped?
17:33:07 <ehird> ais523: bash
17:33:08 <ehird> shell
17:33:09 <ehird> etc
17:33:10 <AnMaster> ais523, I loved that level for example
17:33:11 <ehird> in general
17:33:13 <ehird> unix
17:33:15 <ais523> AnMaster: I hate that sort of level
17:33:19 <AnMaster> ais523, why? :(
17:33:29 <ais523> because it's just about finding things out, rather than intelligence
17:33:33 <ehird> AnMaster: because it doesn't require intelligence, just dumb persistence?
17:33:36 <ehird> that's not rewarding
17:33:39 <ehird> that's insulting
17:33:43 <ais523> I prefer levels to have all the information you need on-screen
17:33:51 <ais523> or at least easy to deduce by experimentation
17:33:58 <ais523> unless it's randomized and it's a memory level, then that's OK
17:33:59 <AnMaster> ais523, so you never played nethack while wearing a blindfold? I haven't managed to ascend that one yet but I did get down to castle with it.
17:34:05 <AnMaster> :P
17:34:18 <ais523> AnMaster: I haven't played Zen, but that's rather different, the whole point is that you have ways to do things
17:34:22 <AnMaster> ehird, I solved it by making a map on paper.
17:34:34 <AnMaster> ais523, heh indeed.
17:34:37 <ais523> e.g. a hidden maze full of death items, plus a way to get glasses so you can see it, that's fine
17:35:09 <AnMaster> a pitty that hidden maze level wasn't random every time
17:35:15 <AnMaster> would have made it much more interesting
17:35:56 <ais523> let's see... 1, 4, 6, 7, 8 are finished (although 8 could probably do with improvements, I'm not sure how)
17:36:05 <ais523> 5 is sort-of finished, but I don't really like it
17:36:10 <ais523> I'll paste it anyway if anyone's interested
17:36:14 <AnMaster> what is the 5 one about
17:36:16 <ais523> and 2 and 3 are missing AIs
17:36:24 <ais523> AnMaster: I'll paste it so you can look
17:36:38 <ais523> http://filebin.ca/txvcq/ais52305_1.xml
17:37:02 <AnMaster> "burn your bridges" it seems like the new one in the auto dir
17:37:06 <ais523> yes
17:37:14 <AnMaster> oh no speed :(
17:37:19 <ais523> not very
17:37:23 <ais523> if you can't outrun a fire, what can you do?
17:37:54 <AnMaster> ais523, that's trying to think under short time limit, I guess I could do it, have done some such, but it isn't anything I enjoy
17:38:05 * AnMaster goes playing wesnoth instead
17:38:12 <ais523> well, after trying to get that level working, I've decided not to mess with fire in Enigma again
17:38:14 <AnMaster> new campaign merged with mainline
17:38:17 <ais523> it's just much more trouble than it's worth
17:38:23 <AnMaster> ais523, might interest you
17:38:30 <AnMaster> if you are tracking wesnoth trunk
17:38:41 <AnMaster> I don't remember if you were doing that
17:38:47 <ais523> I'm not, I'll wait for the new release to be packaged
17:38:55 <ais523> probably at the end of the month with the next version of Ubuntu
17:39:13 <AnMaster> that sounds like an odd co-incidence
17:39:24 <AnMaster> I mean, this version feels rather unstable currently at least.
17:39:34 <ais523> AnMaster: the latest /release/ of Wesnoth
17:39:45 <ais523> which was a couple of weeks ago, and added a new campaign but not the one you're talking about now
17:39:54 <AnMaster> ais523, well the last release of it (1.6 atm iirc) doesn't have this campaign
17:40:02 <ais523> yes, but it has one that isn't in 1.5
17:40:07 <AnMaster> the campaign I talked about was added yesterday or so
17:40:16 <ais523> AnMaster: are you not listening to what I'm saying
17:40:22 <AnMaster> I try to
17:40:30 <AnMaster> but I guess we are talking about different things
17:40:53 <AnMaster> I was saying, that unless 1.7 is released by end of month it is unlikely the new ubuntu version will include it.
17:41:20 <AnMaster> and the one that was new in 1.6, iirc it was great
17:41:28 <AnMaster> if it is the one I'm thinking about
17:41:32 <AnMaster> very epic
17:41:36 <ais523> yes, I mean I only have the ones in 1.5 atm, so I'm getting a new one but not the one you were talking about earlier
17:41:40 <ais523> also, what's so good about epic?
17:41:47 <AnMaster> like say, Northen rebirth or Under the burning sun
17:41:56 <AnMaster> ais523, I just like that style of campaigns
17:42:00 <AnMaster> a matter of taste
17:42:09 <ais523> I care mostly about the battles than the plot
17:42:11 <ehird> grr
17:42:13 <ais523> I can get the plot by sourcereading
17:42:17 <ehird> what's the sh(1) syntax for <<EOF but without interpolation
17:42:21 <AnMaster> ais523, oh it had some interesting stuff for that too
17:42:22 <ais523> <<'EOF'
17:42:37 <ais523> if you quote the end-of-heredoc marker, the stuff in between gets quoted the same way
17:42:45 <ais523> AnMaster: I know
17:42:58 <ais523> just some of the Wesnoth campaigns are too difficult for me atm, I'm not actually very good at Wesnoth
17:42:58 <AnMaster> ais523, in other news it seems wesnoth also use lua now as well as it's own odd DSL, I don't know for how long it did this
17:43:01 <ais523> even though it's a good game
17:43:14 <AnMaster> it might have been for ages and I just missed it
17:45:34 * ehird almost has a script that takes a forth file and produces a sh-binary
17:45:36 <AnMaster> ais523, personally I'm hoping Invasion from unknown gets mainlined at some point, I played it (needs wesnoth trunk sadly, and is rather buggy in parts atm) but is vast. Takes place after the fall (so great epic-potential there, as well as rather interesting battles, though it need some more work in that area)
17:45:40 <ehird> of course, it's platform-specific, so not very useful
17:46:00 <ais523> platform-specific in what way?
17:46:02 <AnMaster> sh-binary?
17:46:05 <ais523> does it generate nonportable sh?
17:46:13 <ehird> it embeds the gforth binary
17:46:17 <ehird> it's standalone
17:46:24 <AnMaster> hah
17:46:34 <ehird> AnMaster: sh-binary: a sh with uuencoded blocks that uudecodes them then runs theem
17:46:35 <ehird> *them
17:47:07 <ehird> ais523: oh god that bridges one
17:47:08 <ehird> fucking water
17:47:42 <ais523> ehird: I don't really like it either
17:47:53 <ais523> it's annoying in lots of ways, annoying to play, it was annoying to make too
17:48:10 <ais523> I more or less abandoned it, but given that it is completable I think I may as well paste it just in case someone sees some merit in it eventually
17:49:42 <ehird> uudecode: stdin: no "begin" line
17:49:44 <ehird> How queer.
17:49:52 <ehird> Relevant snippet:
17:49:53 <ehird> echo "$GFORTH" | uudecode -o "$GFORTH_LOC" || exit 255
17:49:54 <AnMaster> ais523, that new one in 1.6 is "intermediate" btw, the new one in 1.7 is "novice". So far I played through 3 of it's 24 scenarios. It seems good. Too early to tell if it is "great".
17:49:54 <ehird> echo "$IMAGE" | uudecode -o "$IMAGE_LOC" || exit 255
17:56:51 <ehird> enigma 1.01 new #39, City Life
17:56:52 <ehird> wow.
17:57:14 <ais523> I haven't done that one, but it's interesting
17:57:16 <ais523> I keep getting lost
18:03:11 <ehird> wow, RPMs?
18:03:13 <ehird> People use them?
18:07:31 <ehird> http://twitter.com/wikileaks/status/1490956462 freedom--
18:08:26 -!- Slereah_ has joined.
18:08:41 <ais523> ehird: Red Hat and Fedora still exist, you know
18:08:50 <ehird> ais523: I know, I just don't know why :-
18:08:52 <ehird> :-P
18:09:37 <psygnisfive> ehird
18:09:40 <psygnisfive> i want to make something.
18:09:44 <psygnisfive> something AWESOME.
18:09:47 <psygnisfive> what should i make.
18:09:49 <ehird> make a baby
18:09:56 <psygnisfive> but babies arent awesome
18:10:00 <psygnisfive> nor do they involve programming!
18:10:09 <ehird> i'll have you know I used to be a baby and I have been awesome all my life
18:10:19 <ehird> also, I program babies minds
18:10:21 <ehird> they are my slaves.
18:10:22 <ehird> get to it.
18:10:25 <psygnisfive> CRAZY
18:12:32 -!- Judofyr has joined.
18:12:47 <psygnisfive> but seriously
18:12:53 <ehird> serious? here?
18:12:55 <psygnisfive> i need something to do. :\
18:13:06 <ehird> ehm
18:13:08 <ehird> code a new language
18:15:03 <ais523> psygnisfive: write a Forte interp
18:15:19 <ehird> ais523: that's easy peasy
18:15:47 <ais523> ehird: what, really?
18:15:51 <ehird> sure
18:15:52 <ais523> I'm the only person who's managed it so far
18:16:07 <ais523> I'm slightly surprised there aren't more, so either Forte is deceptively difficult, or nobody was bothered
18:16:10 <ais523> although I know oerjan tried and failed
18:16:12 <ehird> latter.
18:16:18 <ehird> I tried and gave up out of boredom
18:16:32 <ehird> Here, I'll write one in Python/Ruby or some other lowest common denominator.
18:18:14 <psygnisfive> the would require that i know what forte is.
18:18:22 <ais523> http://esolangs.org/wiki/forte
18:18:28 <psygnisfive> dont give me this nonsense
18:18:39 <ehird> psygnisfive: why not
18:18:40 <ehird> you asked
18:19:54 -!- Slereah has quit (Read error: 110 (Connection timed out)).
18:20:23 * psygnisfive gives ehird and ais523 pound cake
18:20:53 <ais523> ?
18:20:56 * ais523 gives it back
18:20:58 <psygnisfive> D:
18:21:00 <psygnisfive> but its yummy!
18:21:04 <psygnisfive> eat it! >|
18:21:13 <ais523> but this is over IRC?
18:21:20 <ais523> I don't trust food that's been sent over wireless
18:21:23 <ais523> it could have got all sorts of corrupted
18:21:28 <psygnisfive> well it wasnt.
18:22:00 <ehird> ais523:
18:22:01 <ehird> All whitespace, apart from newlines and whitespace inside strings
18:22:04 <ehird> what, so "R EM" works?
18:22:05 <ehird> :-D
18:22:16 <ais523> not sure
18:22:22 <ais523> that may be a bug
18:22:23 <psygnisfive> i dont see why
18:22:23 <ehird> I'll let it work
18:22:27 <ehird> ais523: can you escape in strings with \
18:22:27 <psygnisfive> forte is so magical
18:22:31 <ehird> it seems not
18:22:34 <ais523> I don't think so
18:22:40 <ehird> ais523: how do you print "?
18:22:42 <ehird> can't?
18:23:28 <ais523> probably
18:23:32 <ais523> let me check
18:23:45 <ehird> ais523: wait, if 8 = 4 and 2 = 3, is 82 = 43?
18:23:48 <ehird> I hope not
18:23:49 <ais523> you can use PUT
18:23:51 <ais523> and no
18:23:54 <ehird> phew :P
18:23:57 <ais523> it only operates on numbers, not their decimal representations
18:24:14 <ais523> but yes, you use PUT to output characters that don't fit in strings
18:24:22 <ehird> right okay, this should be easy
18:25:10 <ehird> well, apart from string parsing, have to specialcase not filtering that
18:25:14 <ehird> (I'm parsing with a loop and regex :-D)
18:25:42 -!- M0ny has quit ("PEW PEW").
18:27:12 <psygnisfive> ehird: surely you mean lexing.
18:27:19 <ehird> nope, parsing.
18:27:23 <ehird> i'm a lazy bitch.
18:27:27 <psygnisfive> really now.
18:27:43 <psygnisfive> how are you managing to parse tree structures with a regex?
18:27:52 <ehird> "a loop and a"
18:28:02 <psygnisfive> still!
18:28:02 <ais523> psygnisfive: never heard of recursive regices?
18:28:18 * ais523 concludes that as regex is an abbreviation anyway, it's correct to use any pseudo-Latin plural you want to
18:28:28 <psygnisfive> ive never heard of a regular express that has non-star recursion.
18:28:56 <psygnisfive> expression*
18:29:22 <ehird> actually I think I will lex
18:29:26 <ehird> to avoid killign myself
18:29:32 <psygnisfive> good boy.
18:32:35 * ehird switches to haskell.
18:32:43 <ehird> ais523: the main issue is the syntax :P
18:32:52 <Judofyr> ehird: seriously?
18:32:58 <psygnisfive> syntax! :D
18:33:05 <ehird> Judofyr: it's not _hard_
18:33:07 <ehird> it's just a pain
18:33:08 <psygnisfive> whats so complicated about this syntax, ehird
18:33:13 <ehird> without a proper parser
18:33:15 <ehird> like parsec
18:33:20 <psygnisfive> well build a proper parser then!
18:33:23 <ehird> i am.
18:33:24 <ehird> with parsec.
18:33:30 <psygnisfive> wuss.
18:33:31 <psygnisfive> do it by hand
18:33:37 <ehird> _|_
18:33:43 <psygnisfive> i hand code all my parsers. :D
18:34:14 <psygnisfive> i should probably write a generic parser thing for my little experiments.
18:34:24 <Judofyr> are you all C guys?
18:34:31 <psygnisfive> no.
18:34:44 <psygnisfive> are any of us really "C guys"?
18:34:46 <ais523> we'lre mostly everything guys
18:34:53 <ais523> I'm probably the most C person here, or possibly AnMaster is
18:34:58 <ais523> but I do high-level stuff too
18:35:07 <Judofyr> well, I haven't touched C at all…
18:35:58 <ehird> i'm an FP zealot!
18:36:31 <Judofyr> I'm a Ruby guy (probably the most boring one here)
18:36:42 <ais523> ruby's less boring than Python
18:36:49 <ais523> boring != bad, though
18:37:01 <AnMaster> ais523, "It is called Forte due to the mess it makes of the Peano postulates" <-- AUGH!
18:37:18 <Judofyr> still, http://judofyr.net/posts/morse.html
18:37:33 <Judofyr> and http://judofyr.net/posts/morse.html
18:37:37 <Judofyr> uh
18:37:41 <Judofyr> copy fail
18:37:44 <ehird> yeah X and X man
18:37:55 <ais523> AnMaster: am I not allowed a truly hideous pun now and again?
18:38:04 <Judofyr> and http://judofyr.net/posts/tribute.html :P
18:38:18 <Judofyr> </spam>
18:38:20 <AnMaster> ais523, well, it was oerjan quality.
18:38:24 <ehird> SPAM SPAM BAM BAM
18:38:37 <psygnisfive> ehird, do you know anything about Fluxus?
18:38:42 <ehird> what
18:38:55 <ais523> apparently not
18:38:57 <ais523> I don't either
18:39:36 -!- Hiato has joined.
18:40:00 <ehird> resolveInteger :: Universe -> Integer -> Integer
18:40:01 <ehird> resolveInteger u i | res == i = i
18:40:02 <ehird> | otherwise = resolveInteger u res
18:40:04 <ehird> where res = Map.findWithDefault i i u
18:40:06 <ehird> haskell is so pretty
18:41:26 <ehird> i love how you can condition on whether to enter the body using stuff that's meant to be calculated inthe body
18:42:55 <ehird> ais523: I take it (N/0) is undefinde
18:43:00 <ehird> unless 0 is ®edefined that is
18:43:01 <ehird> *re
18:43:09 <ais523> ehird: what a typo!
18:43:12 <ais523> and yes
18:43:20 <ehird> option-r vs r
18:43:36 <Deewiant> Why would you press option there accidentally
18:43:38 * ehird makes undefined programs output "Demons fly out of your nose, washing the Windows API."
18:43:41 <ehird> Deewiant: /shrug
18:46:28 <AnMaster> ais523, Forte does seem easy to implement, if you know about lexers (I suck at them).
18:46:43 <AnMaster> ais523, but I think the example has a bug, not 100% sure
18:46:50 <AnMaster> 172 LET 114=95
18:47:10 <AnMaster> shouldn't that be: 172 LET 174=95
18:47:11 <ais523> AnMaster: it's not the lexing that's the hard part I think, but the maths
18:47:19 <ehird> ais523: why?
18:47:26 <ehird> you just recursively lookup every integer, then lookup the result
18:47:29 <AnMaster> ais523, just copy the value of the relevant variable
18:47:33 <AnMaster> ehird, exactly
18:48:18 <AnMaster> this would be as easy in a high level language like python as a dict with mappings or such I think.
18:48:25 <ehird> or haskell
18:48:28 <AnMaster> yeah
18:48:32 <ehird> type Universe = Map Integer Integer
18:48:32 <oklopol> or forte
18:48:43 <AnMaster> um...
18:48:53 <AnMaster> forte in forte sounds hard
18:49:28 <AnMaster> ais523, anyway what about that possible bug
18:49:43 <AnMaster> I might just have confused things and 114 was redefined before
18:49:44 * oklopol guesses AnMaster s wrong
18:49:51 <oklopol> *is
18:49:51 <ais523> AnMaster: but 114 and 174 are the /same number/ at that point
18:49:58 <oklopol> HAH!
18:49:59 <ais523> redefinitions are transitive
18:50:00 <AnMaster> ais523, aha
18:50:16 * oklopol owns at forte!
18:50:19 <AnMaster> ais523, anyway I never said I was a good interpreter for it
18:50:20 <AnMaster> :P
18:51:44 <ehird> *Main> evalExpr emptyUniverse (Div (Const 2) (Const 0))
18:51:44 <ehird> *** Exception: Demons fly out of your nose, washing the Windows API.
18:52:12 <ais523> ehird: you got my sig wrong
18:52:18 <ehird> ais523: Howso?
18:52:23 <ais523> <ais523> <fungot> fizzie: it makes demons fly out of my window, washing the windows api
18:52:24 <fungot> ais523: just a harmless comment? :p
18:52:29 <oklopol> :D
18:52:30 <ehird> Ah.
18:52:32 <oklopol> very harmless
18:52:36 <ehird> I think I prefer my version :P
18:52:39 <ais523> I don't
18:52:45 <oklopol> fungot: just funny that's all
18:52:46 <fungot> oklopol: hello everyone :) usage: sad!code have fun!!
18:52:48 <ais523> without the windows reference to start with it makes no sense
18:52:56 <AnMaster> <ais523> <ais523> <fungot> fizzie: it makes demons fly out of my window, washing the windows api <-- recursive quote yay
18:52:57 <fungot> AnMaster: i'm not implying anything about perl... that, and whenever i go to university
18:53:10 <ais523> <AnMaster> <ais523> <ais523> <fungot> fizzie: it makes demons fly out of my window, washing the windows api <-- recursive quote yay <--- why?
18:53:10 * AnMaster waits for someone to comment on his comment on it
18:53:12 <fungot> ais523: and it doesn't change the _current_ handler. no wonder that it turned out
18:53:13 <ehird> ais523: Naw, I got a psychedelic image of demons flying out of your nose to a window coloured like the windows logo, which they then wash
18:53:17 <fizzie> fungot: You are being awfully coherent today.
18:53:17 <AnMaster> * AnMaster waits for someone to comment on his comment on it
18:53:17 <AnMaster> <ais523> <AnMaster> <ais523> <ais523> <fungot> fizzie: it makes demons fly out of my window, washing the windows api <-- recursive quote yay <--- why?
18:53:17 <fungot> fizzie: not without extra definitions for stalin is this: if v is an n-dimensional inner product space has an orthonormal basis v_1,..., the calls to, log, sqrt, we have the kernel be the glass interpreter... brilliant.
18:53:18 <fungot> AnMaster: i'm a very slow mail client in python :) yes fnord/ writings/ bignums.ps will be forced to disagree)
18:53:19 <AnMaster> hah!
18:53:20 <ehird> ais523: Naw, I got a psychedelic image of demons flying out of your nose to a window coloured like the windows logo, which they then wash
18:53:26 <oklopol> wow cool floods
18:53:27 <ehird> fungot's a very slow mail client in python
18:53:27 <fungot> ehird: you wouldn't happen to be a newer version than my netbsd box
18:53:29 <oklopol> o
18:53:29 <oklopol> o
18:53:29 <oklopol> o
18:53:32 <ais523> okok
18:53:34 <ais523> okokok
18:53:35 <AnMaster> ais523, same second though
18:53:36 <ais523> okokokok
18:53:49 <ais523> ehird: are you a newer version than fungot's netbsd box?
18:53:51 <fungot> ais523: help!! i'll have to write some stuff in common-scheme, and some stuff to crunch...)
18:53:57 <Deewiant> ehird: I'd write that as resolveInteger u i = maybe i (resolveInteger u) (Map.lookup i u)
18:54:02 <ehird> ais523: yes!
18:54:08 <ehird> Deewiant: Oh, nice
18:54:19 <ehird> my evalExpr is kind of ugly, meh
18:54:22 <AnMaster> <ais523> <AnMaster> <ais523> <ais523> <fungot> fizzie: it makes demons fly out of my window, washing the windows api <-- recursive quote yay <--- why&quot; <-- why not
18:54:22 <Deewiant> It's still a bit ugly, it refers to itself
18:54:23 <fungot> AnMaster: they have nothing worth listening to.
18:54:33 <ehird> *Main> evalExpr (Map.fromList [(1,7),(64,2)]) (Div (Const 2) (Const 64))
18:54:33 <ehird> 7
18:54:35 <ehird> HOORJ
18:54:35 <ais523> "&quot;"?
18:54:41 <ais523> someone encoding fail
18:54:50 <ehird> he's being annoying
18:54:51 <ehird> and trying to avoid ?
18:54:56 <ehird> and failing at it by encoding wrongly
18:55:02 <AnMaster> that was intentional
18:55:06 <ehird> Uh huh
18:55:10 <ehird> why"
18:55:14 <ehird> Damn that's funny and intentional
18:55:17 <ehird> (may be ', I forget)
18:55:20 <fizzie> Maybe it was a quostion and not a question.
18:55:21 <psygnisfive> well, i have something to code now. :)
18:55:27 <oklopol> AnMaster: " and ? are on opposite sides of the kb, that makes no sense.
18:55:31 <oklopol> psygnisfive: the hello world?
18:55:35 <psygnisfive> no :P
18:55:43 <oklopol> i can give you a tutorial if you need one
18:55:43 <oklopol> oka
18:55:44 <oklopol> y
18:55:48 <AnMaster> oklopol, ...
18:55:50 <psygnisfive> a tree drawing utility for my honors thesis
18:56:19 <oklopol> by that do you mean like a binary tree data structure?
18:56:29 <oklopol> that's a bit hard man, you'll never succeed
18:56:37 <psygnisfive> n-ary tree representations
18:56:42 <psygnisfive> of sentences.
18:56:49 <psygnisfive> but thats incidental.
18:56:50 <oklopol> n-ary 8| WTH man get outta here!
18:56:54 <psygnisfive> ;)
18:56:58 -!- oerjan has joined.
18:57:18 <oklopol> oerjan: i burned my tongue because my coffee is too hot
18:57:23 <ais523> ok, who made an Enigma Sokoban level with invisible blocks?
18:57:28 <oklopol> just fyi, don't tell the others
18:57:33 <oerjan> oklopol: ok
18:58:30 <oerjan> oklopol: i sometimes bite my lip when eating and stressed. please don't pass on.
18:58:44 <AnMaster> ais523, huh
18:58:56 <oklopol> oerjan: i'll keep that between me.
18:59:06 <ais523> AnMaster: it has an easy mode where you can see them
18:59:12 <oerjan> darn almost did it again
18:59:21 <oklopol> ha
18:59:28 <ehird> "INPUT. This works like LET, except that the redefinition of the number is taken from the input, not from an expression. The expression gives the number to redefine. "
18:59:30 <ehird> ais523: separator?
18:59:31 <ehird> newline?
18:59:33 <AnMaster> ais523, which level is this
18:59:34 <ehird> any non-integer?
18:59:40 <ais523> ehird: I intended newline
18:59:41 <ehird> what happens if input starts with non-digit
18:59:49 <ais523> but it's not as if you can safely put INPUT in a program anyway, it's like gets
18:59:51 <Deewiant> ehird: \u -> fst . until (isNothing.snd) (((,) <*> flip Map.lookup u) . fromJust . snd) . ap (,) Just
19:00:05 <ehird> Deewiant: you know what?
19:00:07 <ehird> kill yourself :-D
19:00:12 <ais523> and if input starts with non-digit, pritn "Redo from start" and input again
19:00:13 <Deewiant> Nah
19:00:19 <ais523> *print
19:00:21 <ehird> ais523: kay
19:00:48 <Deewiant> ehird: That one's less efficient probably though, since it constructs tuples
19:00:59 <oerjan> ehird: what you don't think that was obvious? *duck*
19:01:28 <oklopol> obvious duck
19:01:36 <oklopol> is that your comic?
19:01:48 * oerjan swats oklopol -----###
19:01:53 <ehird> ais523: can I pick something other than "Redo from start?
19:02:03 <ais523> if you want to
19:02:10 <ais523> I was trying to parody traditional BASIC with that
19:02:16 <oerjan> if i made a comic it would be a stick figure one
19:02:21 <ais523> because that is the actual error message, and it's useless
19:02:27 <oerjan> since i cannot really draw, especially people
19:03:10 <oerjan> and also, i am much too perfectionist to make a stick figure comic
19:03:20 <oklopol> well umm make a blob comic
19:03:30 <oerjan> which is one reason why i rarely finish anything, ever :/
19:04:10 <oklopol> same here
19:04:21 <oklopol> also i'm very lazy, but i guess so are you.
19:04:31 <oerjan> that would be another reason :D
19:05:02 -!- Hiato has quit (Read error: 104 (Connection reset by peer)).
19:05:04 <ehird> "END. This causes the program to end. If this isn't given, the program enters an infinite loop rather than ending."
19:05:07 <ehird> you mean it starts from the beginning
19:05:09 <ehird> or just sits there?
19:05:25 <ais523> just sits there
19:05:41 <ais523> basically, all line numbers that aren't used contain NOPs
19:05:45 <ais523> and it runs them off to infinity
19:05:53 <ehird> heh
19:05:55 <oerjan> on second thought i _might_ be able to draw ducks :D
19:06:09 <oerjan> animals are easier than people
19:06:11 <ehird> execCommand done
19:06:14 <ehird> all I need now is the main loop
19:06:16 <ehird> and the parser
19:06:28 <ehird> 69 lines so far, including whitespace and readability
19:08:50 -!- bsmntbombdood has quit (Read error: 104 (Connection reset by peer)).
19:09:21 -!- bsmntbombdood has joined.
19:10:16 <ehird> ais523:
19:10:17 <ehird> *Main> u <- execCommand emptyUniverse (Let (Const 9) (Const 7))
19:10:17 <ehird> *Main> execCommand u (PrintE (Mul (Const 6) (Const 9)) True)
19:10:19 <ehird> 42
19:10:21 <ehird> fromList [(9,7)]
19:10:24 <ehird> why is this hard again?
19:10:45 <ais523> does it work for indirect redefinitions too?
19:10:51 <ehird> ais523: example?
19:11:05 <ais523> for instance, LET 3 = 5 : LET 12 = (1 + 2) + 4
19:11:10 <ais523> that should set 12 = 9
19:11:47 <ais523> also, LET 3 = 5 : LET 3 = 4 should set 5 to 4
19:11:47 <oerjan> <AnMaster> forte in forte sounds hard
19:11:48 <ehird> *Main> u <- execCommand emptyUniverse (Let (Const 3) (Const 5))
19:11:48 <ehird> *Main> execCommand u (Let (Const 12) (Add (Add (Const 1) (Const 2)) (Const 4)))
19:11:50 <ehird> fromList [(3,5),(12,9)]
19:11:56 <ehird> ais523: so hard :-P
19:12:16 <ehird> *Main> u <- execCommand emptyUniverse (Let (Const 3) (Const 5))
19:12:16 <ehird> *Main> execCommand u (Let (Const 3) (Const 4))
19:12:18 <ehird> fromList [(3,5),(5,4)]
19:12:21 <ais523> wrong
19:12:26 <ais523> it should be [(3,4),(5,4)]
19:12:28 <ehird> wa
19:12:28 <oerjan> hm maybe if you divided integers according to moduli wrt some number
19:12:28 <ehird> t
19:12:37 <ehird> ais523: erm
19:12:38 <ehird> howso
19:12:46 <ehird> oh, I see.
19:12:49 <ais523> because I just set 3 to 4, it should be 4 not 5
19:12:52 <ehird> sir, that's retarded.
19:12:58 <ehird> ais523: however
19:13:03 <ehird> ais523: that's just the internal data structure
19:13:08 <ehird> ais523: when you do the lookup of 3
19:13:09 <ehird> you get 4
19:13:11 <oerjan> so that some numbers were guaranteed not to be messed up
19:13:11 <ais523> ah
19:13:15 <ehird> since it sees that 5 is defined
19:13:16 <ehird> and keeps going
19:13:17 <ais523> oerjan: agreed
19:13:26 <ais523> ehird: that's the important point, you've probably got it right then
19:13:27 <ehird> it makes things easier
19:13:30 <ehird> resolveInteger :: Universe -> Integer -> Integer
19:13:31 <ehird> resolveInteger u i = maybe i (resolveInteger u) (Map.lookup i u)
19:13:32 <ehird> replaceInteger :: Universe -> Integer -> Integer -> Universe
19:13:34 <ehird> replaceInteger u i j = Map.insert i j u
19:15:17 <ehird> "Whenever a command finishes, the command with the next lowest number is run, even if that command has run earlier. "
19:15:18 <ehird> so
19:15:21 <ehird> resolve all line numbers
19:15:25 <ehird> pick the lowest
19:15:26 <ehird> repeat?
19:15:27 <ehird> except
19:15:30 <ehird> that does one line over and over
19:15:33 <ehird> your semantics are shaky
19:15:40 <ehird> well
19:15:46 <Judofyr> "*next* lowest number"
19:15:48 <ehird> resolve all line numbers, keep track of last line number, condition on > last
19:15:50 <ehird> pick lowest
19:15:51 <Deewiant> "next lowest" seems quite clear
19:15:52 <ehird> should work
19:16:12 <ais523> ehird: pick the next
19:16:22 <ais523> you pick the lowest that's higher than the current one
19:16:22 <ehird> "condition on > last"
19:16:24 <ehird> itt we read
19:16:26 <ais523> yep
19:16:31 <ais523> typing lag ftw
19:16:32 <oerjan> ehird: when i as usual overengineered my forte interpreter (in haskell too) to the point of never getting anywhere, i pondered how to shorten chains of numbers automatically
19:17:37 <oerjan> so that long-running programs shouldn't slow down
19:18:08 <ehird> ais523:
19:18:09 <ehird> 10 A
19:18:10 <ehird> 10 B
19:18:14 <ehird> is this an error or is 10=
19:18:15 <ehird> B
19:18:17 <ehird> or even more complex
19:18:26 <ais523> oerjan: the wimpode Thutu interp does automatic shortening
19:18:32 <ais523> ehird: undef
19:18:39 <ais523> it says so in the article, IIRC
19:19:02 <ehird> execCommand . snd . head . sortBy (\(a,_) (b,_) -> a <=> b) . toList . Map.filter (> l) . Map.map (resolveInteger u) $ p
19:19:13 <ehird> well
19:19:13 <Deewiant> ehird: sortBy (comparing fst)
19:19:18 <ehird> that doesn't handle undefinedies
19:19:21 <ehird> Deewiant: oo
19:19:39 <Deewiant> Assuming <=> = compare, anyway
19:19:46 <Deewiant> If not, sortBy ((<=>) `on` fst)
19:20:14 <ehird> case cmds of
19:20:14 <ehird> [] -> let x = x in x
19:20:16 <Deewiant> ehird: And instead of head . sortBy, minimumBy
19:20:22 <ehird> Deewiant: yeah but I'm casing on [] now
19:20:24 <ehird> so I can't do that
19:20:35 <Deewiant> Whatever
19:20:41 <Deewiant> let x = x in x = fix id
19:20:50 <ehird> Sure
19:20:53 <ehird> Mine's cuter :P
19:21:16 <oerjan> ehird: let x = x in x will probably halt with <loop> error in ghc, not really loop
19:21:19 <Deewiant> It won't loop forever, though
19:21:21 <Deewiant> Yep
19:21:26 <ehird> darn
19:21:44 <oerjan> you need to trick ghc's autodetection
19:21:58 <oklopol> are you sure it's possible?!?!?
19:22:15 <oerjan> let f n = f (n+1) in f 1 should do it
19:22:16 <oklopol> wait did that get old already.
19:22:46 <oklopol> well. maybe some coffee, for some reason my cup keeps emptying
19:22:47 <oklopol> ->
19:24:01 <ehird> Deewiant: where's "comparing"
19:24:15 <Deewiant> ehird: Ask lambdabot or hoogle? Data.Ord
19:24:16 <oerjan> or so i hope - that's something a strictness analyzer could probably detect
19:25:16 <Deewiant> last (repeat ())
19:25:35 <oerjan> hm...
19:26:48 * ehird realises that mapWithKeys doesn't let you change the key
19:29:03 <ehird> yay
19:29:06 <ehird> the parse tree of
19:29:06 <ehird> 30 LET 9=7
19:29:07 <ehird> 40 PRINT 6*9
19:29:09 <ehird> prints 42 and hangs
19:29:11 <Asztal_> mapKeysWith ?
19:29:19 <ehird> Asztal_: I didn't need a map after all
19:29:30 <ehird> TODO: parser, command line interface
19:29:37 <ehird> current loc: 89
19:30:35 <ehird> ais523: er wait
19:30:42 <ehird> with : the second part doesn't get its own line right?
19:30:49 <ais523> no
19:30:54 <ais523> the second part just runs after the first part does
19:30:55 <ehird> number i mean
19:30:55 <ehird> darnit okay
19:31:33 <oklopol> what's the biggest real number you know *without googling*?
19:31:52 <ais523> oklopol: fixed point 2 is pretty large, there are much larger though
19:31:56 <ehird> oklopol: 7
19:32:02 <ehird> it is a very real number
19:32:05 <ehird> forte [(100110,Let (Const 110) (Add (Const 110) (Const 3)))
19:32:05 <ehird> ,(109,Let (Const 100110), (Const 108))
19:32:07 <ais523> I assume fixed point 3 is larger
19:32:07 <ehird> ,(110,Do (PrintS "Looping..." True) (Let (Const 108) (Add (Const 108) (Const 3))))]
19:32:08 <oklopol> wait fixed point 2?
19:32:10 <ehird> let's see if this works
19:32:33 <ehird> ais523: "Looping..." forever.
19:32:34 <ehird> That's right is it not
19:32:36 <oklopol> ais523: what kind of fixed point are we talking about?
19:32:52 <ais523> ehird: shouldn't be forever, IIRC
19:32:54 <ais523> oh, yes
19:32:57 <ehird> Indeed it gets slower and slower
19:32:58 <ais523> if that's all you have in your loop
19:33:04 <ehird> I'll make some elimination stuff
19:33:06 <ehird> ais523: yours -- it's your program
19:33:07 <ais523> oklopol: doesn't get substantially larger even if you Ackermann it
19:33:53 <ais523> line 172 is meant to end it
19:33:53 <oklopol> ah. is it bigger than 7?
19:33:57 <ais523> but you didn't put it in there
19:33:59 <ais523> oklopol: yes
19:34:00 <oerjan> i guess it will have to slow down some just due to the map growing
19:34:05 <oklopol> ehird: you were beaten
19:34:13 <ehird> oklopol: ?
19:34:17 <ehird> :-(
19:34:24 <oklopol> ehird: ais523's was bigger
19:34:28 <ehird> darn
19:34:28 <ehird> :D
19:34:29 <ehird> ais523:
19:34:31 <ehird> This outputs 77, followed by 462. This sort of thing is why bracketing is compulsory in Forte. The line shows that non-newline whitespace is ignored (for technical reasons, there are no form feeds, tabs, or vertical tabs in the above line, but there could be and the line would still work).
19:34:35 <ehird> 100110 LET 110=110+3
19:34:37 <ehird> 109 LET 100110=108
19:34:39 <ehird> 110 PRINT "Looping...": LET 108=108+3
19:34:41 <ehird> This prints the output
19:34:43 <ehird> yeah i totally see the 172
19:35:04 <ais523> ehird: I mean, my example had a line 172, which broke the loop
19:35:09 <ehird> it didn't
19:35:10 <ehird> This outputs 77, followed by 462. This sort of thing is why bracketing is compulsory in Forte. The line shows that non-newline whitespace is ignored (for technical reasons, there are no form feeds, tabs, or vertical tabs in the above line, but there could be and the line would still work).
19:35:10 <ais523> you didn't put line 172 in your example
19:35:13 <ehird> 100110 LET 110=110+3
19:35:15 <ehird> 109 LET 100110=108
19:35:16 <ais523> so the loop doesn't break in your case
19:35:17 <ehird> 110 PRINT "Looping...": LET 108=108+3
19:35:19 <ehird> This prints the output
19:35:21 <ais523> ehird: it's all one big program
19:35:21 <ehird> that is a DIRECT QUOTE
19:35:23 <ehird> from YOUR WIKI PAGE
19:35:25 <ehird> oh
19:35:27 <ehird> jeez
19:35:33 <ais523> 172 LET 114=95 is the line that terminates the loop
19:35:38 <ais523> what, have you never seen literate Forte before?
19:36:13 <ais523> <Forte wiki page> All the examples here are part of one long program.
19:37:04 <oklopol> well it is a bit confusing if you don't actually read the intermission texts
19:37:37 <ehird> Darn I introduced a bug
19:37:51 <oklopol> to whom?
19:38:02 <ehird> bug all gone
19:38:05 <ehird> oklopol: ololololol
19:38:12 <oklopol> ;;;;;;;;;;)
19:38:13 <ehird> ais523: now it runs in constantness!
19:38:17 <ehird> neu koed:
19:38:18 <ehird> resolveInteger :: Universe -> Integer -> Integer
19:38:18 <ais523> yay
19:38:19 <ehird> resolveInteger u i = Map.findWithDefault i i u
19:38:21 <ehird> replaceInteger :: Universe -> Integer -> Integer -> Universe
19:38:23 <ehird> replaceInteger u i j = Map.insert i j . Map.fromList . map eliminate . Map.toList $ u
19:38:25 <ehird> where eliminate (a,b) = (elim a,elim b)
19:38:27 <ehird> elim x | x == i = j
19:38:29 <ehird> elim x | otherwise = x
19:39:00 <oklopol> ehird: usually when it's that bad, i don't expect you to laugh, but to answer. not that it's a good excuse, but anyway.
19:39:05 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)).
19:39:13 <ehird> ais523: question
19:39:14 <ehird> forte [(0,PrintE (Const 2) True)
19:39:15 <ehird> ,(1,Let (Const 2) (Add (Const 2) (Const 1)))]
19:39:16 -!- psygnisfive has joined.
19:39:20 <ehird> ais523: that hangs
19:39:21 <ehird> should it?
19:39:22 <ehird> it's:
19:39:27 <ehird> 0 PRINT 2
19:39:30 <ehird> 1 LET 2=2+1
19:39:33 <ehird> oh
19:39:34 <ehird> ofc
19:39:36 <ehird> it hangs after printing 2
19:39:38 <ehird> cuz I don't loop
19:39:39 <ehird> ;)))
19:39:45 <ais523> yep
19:40:03 <oklopol> hangs because you don't loop?
19:40:19 <ehird> ais523: er
19:40:20 <ehird> forte [(0,PrintE (Const 4) True)
19:40:20 <ehird> ,(1,Let (Const 4) (Add (Const 4) (Const 1)))
19:40:22 <ehird> ,(2,Let (Const 3) (Const 0))]
19:40:24 <ehird> that prints 4 then hangs
19:40:26 <ehird> is that correct?
19:40:41 <ais523> let's see
19:40:44 <ais523> you print 4
19:40:46 <ais523> then set 4 = 5
19:40:50 <ehird> ais523: no
19:40:51 <ais523> then set 3 = 0
19:40:52 <ehird> not quite
19:40:53 <ehird> I set 4=4+1
19:40:55 <ais523> well, yes
19:40:57 <ehird> which differs post-loop
19:40:58 <ehird> but yeah
19:40:59 <ehird> 3 = 0
19:41:01 <ehird> so
19:41:02 <ais523> I'm working out what actually happens, not what your program says
19:41:03 <ehird> it should go on to 3
19:41:05 <ehird> which is 0
19:41:07 <ehird> and print 5
19:41:09 <ais523> yep
19:41:16 <ehird> well hmm
19:41:19 <ehird> post-resolving, it'll come to
19:41:22 <ehird> 3->printe etc
19:41:24 <ehird> and it'll look for >2
19:41:24 <ais523> then go onto 4, which is 5, and infiniloop because it's fallen off the end
19:41:26 <ehird> so yes ab ug
19:41:31 <ehird> ais523: darn :-D
19:41:34 <ehird> but yeah
19:41:37 <ehird> I need to print twice
19:42:11 <ehird> *Main> main
19:42:11 <ehird> [(0,PrintE (Const 4) True),(1,Let (Const 4) (Add (Const 4) (Const 1))),(2,Let (Const 3) (Const 0))]
19:42:13 <ehird> 4
19:42:15 <ehird> [(1,Let (Const 4) (Add (Const 4) (Const 1))),(2,Let (Const 3) (Const 0))]
19:42:17 <ehird> [(2,Let (Const 3) (Const 0))]
19:42:19 <ehird> [] (forever)
19:42:19 <oklopol> so setting a number to another, A=B, means all instances of A seen later on, are turned into B's?
19:42:25 <ehird> how oddery.
19:42:33 <ehird> oklopol: yes, and if 2=3, then 1+1=3
19:42:51 <oerjan> assuming 1 is not changed
19:42:59 <ehird> yes
19:43:03 <ais523> and 3 is not changed
19:43:14 <ehird> ([(0,PrintE (Const 4) True),(1,Let (Const 4) (Add (Const 4) (Const 1))),(2,Let (Const 3) (Const 0))],[(0,PrintE (Const 4) True),(1,Let (Const 4) (Add (Const 4) (Const 1))),(2,Let (Const 3) (Const 0))],[(0,PrintE (Const 4) True),(1,Let (Const 4) (Add (Const 4) (Const 1))),(2,Let (Const 3) (Const 0))])
19:43:16 <ehird> 4
19:43:18 <ehird> ([(0,PrintE (Const 4) True),(1,Let (Const 4) (Add (Const 4) (Const 1))),(2,Let (Const 3) (Const 0))],[(1,Let (Const 4) (Add (Const 4) (Const 1))),(2,Let (Const 3) (Const 0))],[(1,Let (Const 4) (Add (Const 4) (Const 1))),(2,Let (Const 3) (Const 0))])
19:43:20 <oklopol> i was just wondering about the direction of assignment
19:43:22 <ehird> ([(0,PrintE (Const 4) True),(1,Let (Const 4) (Add (Const 4) (Const 1))),(2,Let (Const 3) (Const 0))],[(2,Let (Const 3) (Const 0))],[(2,Let (Const 3) (Const 0))])
19:43:25 <ehird> ([(0,PrintE (Const 4) True),(1,Let (Const 4) (Add (Const 4) (Const 1))),(2,Let (Const 3) (Const 0))],[],[]) {{Forever}}
19:43:28 <ehird> which is
19:43:29 <oklopol> it's quite intuitive how the actual evaluation goes
19:43:41 <ehird> (line numbers looked up,line numbers greater than last one,sorted by line number)
19:43:51 <ehird> aaand
19:43:59 <ehird> the problem is that it isn't resolving
19:44:00 <ehird> properly.
19:44:16 <ehird> ie
19:44:19 <ehird> it fixes the line numbers
19:44:23 <ehird> but only existing ones that are redefined
19:44:46 <ehird> and the bestest thing?
19:44:49 <ehird> can't think of a good fix.
19:45:28 <oerjan> um how is that incorrect?
19:45:31 <ais523> I told you it wasn't as easy as it looked
19:46:00 <ehird> oerjan: because 3 = 0
19:46:03 <ehird> therefore 3 is defined
19:46:05 <ehird> and it's the same as 0
19:46:09 <ehird> therefore when we go on to 3
19:46:12 <ehird> we go on to 0
19:46:34 <ehird> i -could- go over every line, even undefined ones, but then if your first number is huge it'll take ages to get there
19:46:34 <ais523> oh
19:46:34 <ehird> so
19:46:36 <ehird> what I need to do
19:46:38 <oerjan> um you need to change the line numbers in the actual program, i would think
19:46:39 <ais523> you want to set 0 = 3, don't you
19:46:42 <ehird> is look up the line number, somehow
19:46:45 <ais523> rather than 3 = 0
19:46:46 <ehird> ais523: yes but
19:46:51 <ehird> we're on 2
19:46:53 <ehird> and redefine 3
19:46:55 <ehird> then we go onto 3
19:46:56 <ehird> = 0
19:46:57 <ehird> and we're at 0
19:46:59 <ais523> no
19:47:00 <ais523> if you set 3 = 0
19:47:10 <ais523> then you look for a line numbered 3, and there isn't one
19:47:10 <ehird> ais523: then...
19:47:12 <ais523> because 3 no longer exists
19:47:13 <ehird> no
19:47:21 <ais523> so you go on to looking for a line numbered 4
19:47:21 <ehird> you look for a line numbered 3 -- which is 0 -- so you look for a line numbered 0
19:47:24 <ais523> no
19:47:26 <ais523> no
19:47:27 <ais523> no
19:47:31 <ehird> it isn't fair to let the implementation cheat the redefinition, ais523
19:47:32 <ais523> you've misunderstood the language
19:47:44 <ehird> no, i understand
19:47:48 <ais523> ehird: the implementation only uses numbers that exist
19:47:48 <ehird> I just think it's worse this way
19:47:48 <ehird> imo
19:47:54 <ehird> ais523: 3 exists
19:47:58 <ehird> it's another word for 0
19:48:01 <oerjan> ehird: for each line in the current program, look up its line number, then replace that in the program and resort
19:48:03 <ais523> 3's just a new name for 0
19:48:06 <ais523> therefore it's /lower/ than 2
19:48:07 <ehird> anyway:
19:48:14 <ais523> so the next number up from 2 is 4
19:48:15 <ehird> ais523: well
19:48:16 <ehird> good point
19:48:27 <ehird> forte [(0,PrintE (Const 4) True)
19:48:27 <ehird> ,(1,Let (Const 4) (Add (Const 4) (Const 1)))
19:48:29 <ehird> ,(2,Let (Const 0) (Const 3))]
19:48:31 <ehird> which is
19:48:33 <ehird> 0 PRINT 4
19:48:35 <ehird> 1 LET 4=4+1
19:48:37 <ehird> 2 LET 0=3
19:48:41 <ehird> of course, this fails.
19:48:43 <ais523> that terminates, not lopos
19:48:44 <ehird> I need to keep going up
19:48:45 <ais523> *loop
19:48:47 <ais523> *loops
19:48:48 <ehird> yeah
19:48:51 <ehird> it gives 4,5,hang
19:48:55 <ais523> yep, that's what's expected
19:49:03 <ehird> yes, what i need is a do
19:49:03 <ehird> aka a :
19:49:05 * ehird does so
19:49:16 * ais523 isn't convinced that Forte would be TC if not for :
19:49:27 <ais523> I mean, Forte without : is not obviously TC
19:49:39 <ais523> Forte with : is not /obviously/ TC either, just almost certainly is
19:49:57 <ehird> 4
19:49:57 <ehird> 5
19:49:59 <ehird> 6
19:50:01 <ehird> 8
19:50:03 <ehird> 32
19:50:05 <ehird> 128
19:50:07 <ehird> 512
19:50:09 <ehird> 2048
19:50:11 <ehird> 8192
19:50:13 <ehird> that was unintentional
19:50:15 <ehird> :-D
19:50:19 <oerjan> without : i think you can only loop with lines that copy themselves
19:50:22 <ehird> 0 PRINT 4: LET 4=4+1: LET 0=0+1
19:50:26 <ehird> was the code
19:50:36 <oerjan> and do nothing else
19:50:40 <oerjan> *renumber
19:50:54 <ais523> oerjan: yes
19:51:05 <ais523> as far as I can tell, you can't do anything inside such a loop
19:51:27 <oerjan> er actually
19:51:41 <oerjan> you probably could make a set of lines that renumber each other
19:51:49 <ehird> hmm
19:51:51 <oerjan> but each line can only renumber one line
19:51:56 <ehird> 0 PRINT 0: LET 0=0+1
19:52:00 <ehird> shouldn't this give:
19:52:02 <ehird> 0,1,2,3
19:52:03 <ehird> etc
19:52:08 <ehird> instead I get
19:52:14 <ehird> 0,1,2,4,8,16,32,...
19:52:32 <oerjan> so the number of "surviving lines" == number of infinitely renumbering lines
19:53:24 <ehird> ais523: ?
19:53:31 <oerjan> so without : you can only do a finite total number of other actions
19:53:32 <ehird> i mean, 1 never changes
19:53:36 <ehird> so 0 always increases by 1
19:53:39 <ehird> so 0 is 0
19:53:41 <ehird> then 0 becomes 1
19:53:42 <ehird> then 0 becomes 2
19:53:54 <ehird> so, ais523, is me getting 0,1,2,4,8 an interp bug?
19:54:00 <oerjan> ehird: when 0 becomes 2, 1 also does
19:54:04 <ais523> ehird: that's undefined behaviour
19:54:08 <oerjan> because they are the same
19:54:08 <ehird> oerjan: erm. why.
19:54:16 <ais523> because you're renumbering the line you're on
19:54:28 <ehird> 1 != 2
19:54:29 <oerjan> once you have made two numbers equal, they stay equal
19:54:33 <ais523> yes
19:54:38 <ehird> ah
19:54:43 <oerjan> and changing one changes the other too
19:54:44 <ais523> there's no way to reclaim a number once you've redefined it
19:54:50 <ais523> and no way to make two numbers different once they're the same
19:54:53 <oklopol> heh, forte is one sick language.
19:55:18 <ehird> ais523: I love how hard it is to make a trivial counter
19:55:23 <ais523> yes
19:55:44 <ais523> probably it's best to convert to decimal yourself, rather than trying to use PRINT
19:56:09 <ais523> I think I decided a long time ago that any practical Thutu program would most likely leave numbers from 1 to 256 untouched so you could output them
19:56:10 <oerjan> it should work if you start with 2 instead of 0
19:56:23 <ais523> oerjan: that's cheating
19:56:40 <ais523> but I suppose you could just have a PRINT "0": PUT 10 : PRINT "1" : PUT 10
19:56:48 <ais523> oh, you don't even need the double newlines
19:56:51 <ais523> because no semicolon
19:56:55 <ais523> PRINT "0": PRINT "1"
19:57:11 <ehird> 0 PRINT "Hello, world!": LET 1=1+2
19:57:15 <oerjan> you don't need the quotes
19:57:17 <ehird> 1 LET 0=0+3
19:57:22 <ehird> so close
19:57:29 <oerjan> if you print before changing anything
19:57:57 <ehird> so wait let me step through
19:58:10 <oerjan> (that was to ais523)
19:58:19 <ais523> oerjan: good point
19:59:42 <ehird> 0 PRINT "Hello, world!": LET 1=1+2
19:59:42 <ehird> 1 LET 0=0+4
19:59:44 <ehird> prints hw thrice.
20:00:28 <ehird> ais523: I'll write a parser now.
20:00:42 <ehird> Uh, do you want to change the spec so that 1 3PR INT "Hello, world!"
20:00:44 <ehird> isn't valid? :P
20:00:52 <ehird> Just say "whitespace between _TOKENS_"
20:00:55 <oerjan> NO!
20:01:02 <ehird> oerjan: but he says it was a bug
20:01:06 <ehird> that 1 3PR INT was valid
20:01:52 <oerjan> bah, just write a lexer
20:02:04 <ehird> oerjan: no such distinction in parsec.
20:04:19 <ehird> I guess I could do a pass over it
20:05:26 <ehird> ais523: is \n\n equiv to \n
20:05:28 <ehird> I assume so
20:05:32 <ehird> it just isn't stated anywhere
20:05:36 <ais523> int the program, yes
20:05:38 <ais523> *in
20:05:41 <ais523> but not in the output
20:05:46 <ehird> right
20:08:16 <ehird> *Main> dewhitespace "1 3PR INT \"Hello, world!\""
20:08:16 <ehird> "13PRINT\"Hello, world!\""
20:08:23 <ehird> now for parsery
20:08:45 <ehird> ais523: I estimate ~130-150 lines for the final thing
20:09:04 <ais523> that's quite a lot...
20:09:11 <ehird> ais523: well, I'm not golfing
20:09:12 <ais523> oh, Parsec is pretty verbose but easy to understand
20:09:17 <ehird> I just wrote it pretty dumbly
20:09:20 <ehird> ais523: I mean the final interp
20:09:23 <ehird> Not just the parser
20:09:45 <ehird> and I've defined data types, split things into functions, done error handling, optimization
20:09:45 <ehird> etc
20:09:53 <ehird> and this includes blank lines
20:10:21 * ehird open ~/.cabal/share/doc/parsec-3.0.0/html/index.html
20:10:25 <ehird> with open(1), naturally
20:10:47 <Judofyr> open(1) is the best thing about Mac
20:10:59 <ehird> s/Mac/OS X/; and, well, I wouldn't go that far
20:11:04 <ehird> There is a gnome version IIRC
20:11:15 <ais523> what does open(1) do?
20:11:22 <ais523> presumably, it's rather different from open(2)
20:11:24 <ehird> ais523: give it a URI/filepath/anything, it opens it in the right application
20:11:31 <ais523> ehird: like start in windows?
20:11:37 <ehird> er, no?
20:11:43 <ehird> open http://google.com # opens in your browser
20:11:47 <ehird> open foo.html # this too
20:11:54 <ais523> that is what start does in Windows
20:11:55 <ehird> open foo.doc # opens whatever app does word docs
20:11:56 <ehird> etc
20:11:57 <ais523> the command, rather than the button
20:12:00 <ehird> ais523: hm, okay
20:12:06 <ehird> well it's presumably less intelligent
20:12:07 <ehird> also:
20:12:16 <ehird> open -a "Application Name" # opens the app in qusetion
20:12:18 <Deewiant> Windows bases it on the file extension
20:12:18 <ais523> start's just the command-line version of double-clicking, I think
20:12:22 <ehird> open -e foo # opens with TextEdit
20:12:28 <ehird> open -t foo # opens with <default editor>
20:12:29 <Deewiant> And I guess URLs have their own thing depending on the protocol
20:12:34 <ehird> open -W foo # blocks until the app finishes
20:12:39 <ehird> open -g foo # opens app in background
20:12:47 <ehird> open -f # opens stdin with textedit
20:12:49 <fizzie> URL handlers in Windows certainly are in the same place as the file extension mappingsies.
20:12:52 <ehird> -h, --header Searches header file locations for headers matching the given filenames, and opens them.
20:12:59 <ehird> ↑ that's a bit out ofp lace
20:13:05 <ehird> but, yeah, you can combine most of those ops
20:13:08 <ehird> *options
20:13:10 <ehird> fizzie: hiii
20:13:32 <ehird> tl;dr open(1) opens umber of things in the right way and you can tell it just how you want it to open them
20:13:42 <fizzie> Hello.
20:13:46 <ehird> s/umber/any number/
20:13:52 <ehird> fizzie: current fizzielocationupdate?
20:13:59 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)).
20:14:09 -!- psygnisfive has joined.
20:14:22 <fizzie> Hotel Puustelli, Lieksa, Eastern Finland.
20:14:41 <fizzie> The only hotel in the whole city, as a matter of fact.
20:14:55 <fizzie> The "city" having about 12k inhabitants.
20:15:05 <ehird> right okay so in my brain that classifies finland as "on fizzie's train VS not on fizzie's train", it says you're not on a train. right. got it.
20:15:18 <fizzie> Yes. Not on a train.
20:15:29 <ehird> thrilling.
20:15:31 <Deewiant> Hmm, Lieksa
20:15:36 <ehird> when will you next be on a train, so I can ask you what a train is like?
20:15:40 <ehird> (despite knowing)
20:15:46 <Deewiant> Is that north or south of Kuopio?
20:15:49 <ehird> i mean maybe finn trains are different
20:16:17 <oerjan> they probably have saunas
20:16:47 <fizzie> I go by "fizziet" when on a train, because I pay by kilobyte for the GPRS and don't want to bouncer-backlog.
20:16:47 <fizzie> Next train is on Sunday-evening (~18-23 I think) Joensuu -> home.
20:16:47 <fizzie> Deewiant: "Hmm"?
20:17:15 <fizzie> Deewiant: I think it's Norther, but not too much. It's about 100 km from Joensuu to a bit northwardy direction.
20:17:32 <Deewiant> fizzie: The hotel's Internet connection seems poor
20:17:52 <Deewiant> And alright, then I've got some kind of idea about where it is
20:17:54 <fizzie> Deewiant: How so? You mean the "just a regular DSL link" thing?
20:18:27 <Deewiant> fizzie: Three messages within one second in rapid succession and a minute later than their context
20:18:39 <AnMaster> hi fizzie
20:18:51 <fizzie> Oh. Well, the wlan's a bit laggy, yes.
20:18:53 <Deewiant> fizzie: "I go by", "Next train", and '"Hmm"?' all after "they probably have saunas"
20:19:10 <AnMaster> what
20:19:16 <AnMaster> I did /ping fizzie
20:19:17 <AnMaster> and
20:19:23 <AnMaster> got three replies
20:19:25 <fizzie> AnMaster: It's this bouncer thing, all my connected clients answer. :p
20:19:36 <ehird> ais523: is forte CASE SENSITIVE?
20:19:37 <fizzie> You can do version too.
20:19:45 <ehird> 20:16 fizzie: I go by "fizziet" when on a train, because I pay by kilobyte for the GPRS and don't want to bouncer-backlog.
20:19:46 <ehird> but dude
20:19:49 <ehird> fizziet is one byte more
20:19:52 <ehird> that's pretty wasteful
20:19:54 <AnMaster> fizzie, that gave *FOUR* replies
20:19:54 <ehird> try fizzy
20:19:54 <AnMaster> even
20:20:05 <Deewiant> AnMaster: I suppose the bouncer would reply as well
20:20:11 <AnMaster> guess so
20:20:17 <ehird> 20:20 CTCP-reply VERSION from fizzie : LimeChat for OSX 0.20
20:20:17 <ehird> 20:20 CTCP-reply VERSION from fizzie : irssi v0.8.12
20:20:18 <AnMaster> is the bouncer called "bip"
20:20:23 <ehird> LimeChat buddies fizzie!
20:20:26 <fizzie> AnMaster: Yes.
20:20:33 <AnMaster> never heard of that one before
20:20:37 <fizzie> ehird: Well, I installed it because you said nice things about it.
20:20:42 <ehird> that I did.
20:20:44 <fizzie> And bip because it's in the Debian repository.
20:20:55 <AnMaster> ah
20:21:19 <fizzie> Deewiant: Looked at a map, Lieksa is pretty much directly northwards from Joensuu, and approximately as much "more North" from Kuopio than Kuopio itself is from Joensuu.
20:21:52 <Deewiant> fizzie: Sounds like where I placed it in my mind
20:22:20 <fizzie> About them bytes, my regular "using the phone itself for IRC" nick is "fizn". Not sure if I thought about bytes when choosing it, though.
20:23:25 <ais523> ehird: I don't think I ever defined whether it was case-sensitive
20:23:36 <ehird> ais523: shall we say it is?
20:23:43 <ehird> whitespace insensitive but casesensitive is funny
20:25:00 <ais523> well, the general idea is to mimic BASIC
20:25:06 <ais523> traditional BASIC is, QBASIC isn't
20:25:11 <ais523> so maybe different interps can be different about it
20:31:51 <ehird> ais523: in
20:31:53 <ehird> 30 REM foo
20:31:56 <ehird> does 30 "exist"?
20:31:58 -!- KingOfKarlsruhe has joined.
20:32:32 <ais523> I think so
20:32:41 <ais523> that shouldn't make any practical difference, though
20:32:48 <ais523> except to make things undefined when they wouldn't have been
20:44:46 <ehird> ais523: 174 lines, now to test it
20:45:04 <ehird> [ehird:~/Code/scraps/2009-04] % cat>test.forte
20:45:04 <ehird> 30 LET 9=7
20:45:05 <ehird> 40 PRINT 6*9
20:45:07 <ehird> [ehird:~/Code/scraps/2009-04] % ./forte test.forte
20:45:09 <ehird> Stack space overflow: current size 8388608 bytes.
20:45:11 <ehird> Use `+RTS -Ksize' to increase it.
20:45:24 <ehird> That's so debuggable.
20:46:06 <ehird> Deewiant: know how to get a stacktrace out of that?
20:46:27 <ehird> agh
20:46:29 <Deewiant> You can't stacktrace Haskell
20:46:32 <ehird> I don't handle colon-newline-negation
20:46:34 <ehird> Deewiant: :<
20:46:45 <ehird> ais523: does colon always negate newlines?
20:46:46 <ehird> even in REM?
20:46:47 <ehird> that's fucked. up.
20:46:59 <Deewiant> ehird: With laziness, the operation doesn't really make sense
20:47:04 * oerjan cackles evilly
20:47:06 <Deewiant> The GHCi debugger can do some things
20:49:15 <ehird> ais523:
20:49:20 <ehird> 10 REM Foo:
20:49:23 <ehird> 20 A
20:49:25 <ehird> how does that parse?
20:49:26 <ehird> and
20:49:29 <ehird> 10 REM Foo:
20:49:32 <ehird> <empty line>
20:49:33 <ehird> 20 A
20:50:03 <ais523> ooh, interesting
20:50:08 <ais523> I'd say a : only cancels out one newline
20:50:20 <ais523> and 10 REM Foo: 20 A just has 20 A as part of the comment
20:50:27 <ehird> gah
20:50:28 <ehird> I was going to do
20:50:35 <ehird> do char ':'; many (char '\n'); anyChar <|> anyChar
20:50:38 <ehird> which would have made
20:50:40 <ehird> 10 REM Foo:
20:50:41 <ehird> <empty line>
20:50:42 <ehird> 20 A
20:50:44 <ehird> all one comment
20:50:45 <ehird> but nooo
20:50:49 <ehird> I have to do it COMPLICATEY
20:50:50 <ais523> oh, maybe that's better
20:50:54 <ais523> I don't really care
20:50:56 <ehird> nah
20:50:59 <ehird> : just cancels a newline
20:51:17 <oerjan> ehird: leaving out many is complicatey? :D
20:51:30 <ehird> err
20:51:32 <ehird> nothing to do with that
20:51:33 <ehird> separate issue
20:51:41 <ehird> ais523: what about
20:51:44 <ehird> 10 PRINT "A":
20:51:46 <ehird> <empty line>
20:51:52 <ehird> does that wait for the next command?
20:52:07 <ais523> "wait for the next command"?
20:52:15 <ais523> Forte isn't a repl...
20:53:03 <ehird> ais523: in the input stream.
20:53:32 <ais523> ehird: you compile the whole program
20:53:39 <ais523> you stop reading at EOF
20:53:43 <ehird> Thaaaank you captain obvious.
20:53:45 <ehird> I meant
20:53:48 <ais523> I don't think a : can cancel out EOF, that would be ridiculous
20:53:48 <ehird> When the parser sees
20:53:50 <ehird> 10 PRINT "A":
20:53:52 <ehird> <empty line>
20:53:52 <ehird> foo
20:53:54 <ehird> is it
20:53:56 <ehird> syntax error
20:53:58 <ehird> or
20:54:00 <ehird> 10 PRINT "A": foo
20:54:09 <ehird> if it's the latter, then REM's : handling differs from everyone else's
20:54:11 <ehird> which is ridiculos
20:54:13 <ehird> ridiculous
20:54:13 <ais523> I don't think there's an "official" line
20:54:19 <ais523> but probably the former
20:54:21 <ehird> I'm asking you to make one :P
20:54:32 <ehird> I was gonna go for the latter
20:54:36 <ehird> to make it more whitespace-lenient
20:55:08 <ehird> Deewiant: so how do you debug a stack overflow
20:55:30 <oerjan> ehird: it's probably an infinite loop anyway
20:55:37 <ehird> oerjan: yes, but
20:55:41 <ehird> i shouldn't get a stack overflow
20:55:42 <ehird> and it's not that
20:55:45 <ehird> it's a parser bug
20:55:48 <Deewiant> ehird: Profile it
20:55:52 <ehird> Deewiant: how >_<
20:55:56 <Deewiant> ehird: RTFM
20:55:58 <oerjan> ehird: left recursion in parsec? :D
20:56:05 <ehird> oerjan: yes, but there's a base case
20:56:11 <Deewiant> I don't remember the profiling options by heart
20:56:12 <ehird> pExpr :: Parser Expr
20:56:12 <ehird> pExpr = choice
20:56:14 <ehird> [do digits <- many1 digit; return (Const (read digits))
20:56:16 <ehird> ,op '+' Add
20:56:18 <ehird> ...
20:56:20 <ehird> where op c r = do e <- pExpr; char c; f <- pExpr; return (r e f)
20:56:26 <ehird> also
20:56:28 <ehird> that branch is never called
20:56:30 <ehird> my program's just a REM
20:57:08 <oerjan> oh dear
20:57:17 <oerjan> left recursion _never_ works in parsec
20:57:26 <ehird> oerjan: what, why
20:57:28 <oerjan> please understand that
20:57:30 <ehird> even when there's a base case?
20:57:31 <ehird> that's shit
20:57:44 <ehird> anyway it's irrelevant
20:57:45 <oerjan> because it literally recurses before doing anything
20:57:46 <ehird> that branch is never called
20:57:49 <ehird> the program is
20:57:50 <ehird> 10 REM This is an example program:
20:57:51 <ehird> it is written for the Esolang wiki.
20:57:56 <ehird> oerjan: no, because it tries to find an integer first
20:58:00 <ehird> then goes onto the recursy solutions
20:58:04 <ehird> [do digits <- many1 digit; return (Const (read digits))
20:58:04 <ehird> ,op '+' Add
20:58:06 <ehird> see?
20:58:36 <oerjan> but if it does _not_ find an integer?
20:58:46 <Deewiant> ehird: fmap (Const . read) (many1 digit)
20:59:02 <ehird> Deewiant: nothx
20:59:14 <ehird> oerjan: then it looks for an expression (which looks for an integer)
20:59:33 <ehird> anyway, that's not my bug ffs
20:59:33 <Deewiant> ehird: No, it keeps looking for an integer forever
20:59:37 <Deewiant> I think
20:59:37 <oerjan> yes, and then you infinitely recurse because there is none to find
21:00:10 <ehird> i'll deal with that when I come to that.
21:00:22 <oerjan> ehird: but that _might_ be the problem
21:00:29 <ehird> 10 REM This is an example program:
21:00:29 <ehird> it is written for the Esolang wiki.
21:00:35 <oerjan> is pExpr tried before the REM check?
21:00:35 <ehird> that program cannot possibly parse a pExpr
21:00:49 <oerjan> of course not
21:00:51 <ehird> oerjan: no, because they're all behind string "FOO"s
21:00:57 <ehird> so they never get to that point
21:01:29 <oerjan> bah paste it
21:02:07 <ehird> oerjan: http://pastie.org/443146.txt?key=uqwgsv07ofssmmmcr9dzq
21:04:10 <oerjan> ehird: i see an indentation error at least
21:04:17 <oerjan> <|> directly below do
21:04:17 <ehird> oerjan: erm ghc disagrees
21:04:26 <ehird> (do char ':'; many (char '\n'); return ()
21:04:26 <ehird> <|> do anyChar; return ())
21:04:29 <ehird> how's that an error
21:04:40 <oerjan> oh wait
21:04:46 <oerjan> that just ends the do
21:04:49 <Deewiant> It's confusingly intended is all
21:04:51 <Deewiant> Er
21:04:54 <Deewiant> Indented*
21:05:16 <Asztal_> wouldn't it usually be something like: term = digit* | '(' expr ')'; expr = term (op expr)*; op = '+' | '-' | '*' | '/'
21:05:21 <oerjan> ehird: the <|> ends the _outer_ do
21:05:31 <ehird> okay
21:05:42 <Deewiant> oerjan: It can't, it's in ()
21:05:48 <oerjan> because it's directly below string
21:05:50 <oerjan> it is?
21:05:53 <ehird> yeh, makes no difference
21:05:56 <ehird> so yer wrong
21:06:15 <Deewiant> What it /might/ be is be in the same expression as the return ()
21:06:20 <oerjan> no!
21:06:25 <oerjan> that _is_ the error
21:06:31 <Deewiant> So it's actually = do char ':'; many (char '\n'); return () <|> do anyChar; return ()
21:06:39 <oerjan> ehird: indent that <|> a bit
21:06:43 <ehird> I did
21:06:45 <ehird> and nothing changed
21:06:46 <ehird> so stfu
21:06:51 <ehird> the only branch hit is the REM one
21:06:55 <ehird> :-P
21:07:07 <Deewiant> oerjan: But since the whole thing is () it can't hit the outer do
21:07:34 <oerjan> Deewiant: the <|> is _not_ in () inside the do
21:07:55 <ehird> ...
21:07:56 <ehird> you're blind.
21:07:58 <Deewiant> oerjan: "do char ':'; many (char '\n'); return () <|> do anyChar; return ()" is in ()
21:08:13 <oerjan> Deewiant: that's not the <|> i was referring to
21:08:29 <oerjan> i am talking about the one after PRINT
21:08:37 <Deewiant> Oh
21:08:39 <ehird> dammit
21:08:41 <ehird> you're reading wrong
21:08:44 <ehird> it's fine
21:08:45 <Deewiant> Well that one is definitely in the outer do
21:08:51 <Deewiant> But it's also meant to be
21:08:57 <oerjan> em no
21:08:58 <Deewiant> Since the do above it is in ()
21:09:14 <Deewiant> oerjan: It won't end the outer do
21:09:16 <oerjan> it is not _in_ the outer do
21:09:18 <oerjan> yes it will
21:09:19 <Deewiant> Since it's indented below it
21:09:23 <oerjan> indentation error
21:09:36 <oerjan> you cannot start a do line with an operator
21:09:36 <ehird> you are wrong.
21:09:43 <ehird> oerjan: tell ghc that
21:09:47 <ehird> because it happened to let me
21:09:47 <oerjan> ehird: try indenting it
21:09:50 <ehird> I DID
21:09:51 <ehird> NOTHING CHANGED
21:09:56 <ehird> WHATSOEVER
21:10:13 <Deewiant> main = do putStrLn "foo"
21:10:13 <Deewiant> >>
21:10:13 <Deewiant> putStrLn "bar"
21:10:18 <Deewiant> oerjan: Works as one might expect
21:10:47 <oerjan> oh well ghc may not be strict about it
21:11:10 <ehird> ghc is not the culprit here.
21:11:40 <oerjan> um according to haskell 98 that <|> _should_ end the do or possibly just error
21:12:09 <ehird> can we go on to the real problem now
21:12:16 <Deewiant> I'm not sure you're right
21:12:33 <oerjan> well since you tested it and it didn't help
21:13:02 <oerjan> the indentation rule says to insert a ; before the <|>
21:13:31 <Asztal_> do notation considered harmful. :)
21:13:33 <ehird> brb
21:13:50 <oerjan> but let me look at the REM then
21:16:37 -!- Gracenotes has joined.
21:16:50 <Deewiant> oerjan: Based on a quick look at the report I'd say you're right, but FWIW Hugs accepts the code I pasted as well
21:17:08 <oerjan> hm
21:20:14 <Asztal_> I think the code you pasted becomes (do putStrLn "foo") >> putStrLn "bar", so the <|> maybe indeed be escaping
21:20:28 <Deewiant> Hmm, that could be
21:21:07 <oerjan> but if so indenting it should help
21:21:14 <oerjan> unless there is another bug
21:21:50 <oerjan> because if the <|> escapes, it creates exactly a forbidden left recursion in the second branch
21:22:30 <Deewiant> Asztal_: You're right, it does
21:22:32 <oerjan> erm, it calls pExpr i mean, which left recurses because there is no integer at that spot
21:22:35 <Deewiant> main = do let x = 1
21:22:35 <Deewiant> putStrLn "foo"
21:22:35 <Deewiant> >>
21:22:35 <Deewiant> print x
21:22:40 <Deewiant> That fails because x isn't in scope
21:23:06 <oerjan> Deewiant: is that with ghc?
21:23:15 <Deewiant> oerjan: And Hugs
21:23:36 * oerjan realizes his hugs installation is mesozoic
21:24:22 <oerjan> the parsec module names have changed
21:24:43 <Deewiant> Hugs is mesozoic :-P
21:25:47 * Slereah_ hugs oerjan
21:25:50 <oerjan> ehird: given what Deewiant says, you _really_ should check that indentation of the <|> in the PRINT branch
21:28:54 <oerjan> unless you are _really_ sure that's what you did when you said nothing changed
21:31:51 <oerjan> ehird: also, check out Debug.Trace.trace for simple debug print statements
21:33:58 <AnMaster> ais523, only downside of svn wesnoth is that you sometimes get stuck due to bugs making the levels not work (just reported such a bug)
21:34:41 <ais523> that's a general downside of sticking on svn head
21:34:44 <ais523> and it isn't the only downside
21:34:50 <ais523> the need to install things by hand is another, I'd think
21:35:06 * ais523 is vaguely surprised that AnMaster even uses a package manager
21:35:31 <AnMaster> ais523, wesnoth can be run from build dir...
21:35:36 <AnMaster> well with a few symlinks
21:35:43 <AnMaster> so it finds it's data dir
21:36:14 <AnMaster> ais523, anyway of course I use package manager for everything outside /home
21:36:22 <AnMaster> I prefer to keep track of files
21:37:59 <AnMaster> and for stuff in my home dir I use a separate directories for each package, like ~/local/llvm/2.5 ~/local/flightgear/trunk ~/local/valgrind/trunk ~/local/python/3.0 and so on
21:38:57 <AnMaster> ais523, that helps for keeping stuff organized
21:39:03 -!- CakeProphet has joined.
21:39:08 <AnMaster> err
21:39:09 <AnMaster> grammar
21:39:32 <ais523> ~/local
21:39:37 <ais523> is that like /usr/local?
21:40:22 <Deewiant> I call my such directory ~/opt
21:41:32 <oerjan> is that the optimal name?
21:41:41 <Deewiant> Quite.
21:47:10 <ais523> I have ~/research for things on my computer that I didn't work on
21:47:18 <ais523> like downloaded programs
21:47:24 <ais523> unless they fit under ~/esoteric
21:47:54 -!- oerjan has quit ("Good night").
21:50:26 <AnMaster> ais523, and now it was fixed,
21:50:37 <AnMaster> very quick, usually it takes an hour or so at least
21:50:47 <ais523> maybe someone who knew how to fix it was online
21:51:45 <AnMaster> ais523, indeed, one of the maintainers of the campaign was.
21:51:53 <AnMaster> now I got a C++y build error instead though
21:52:01 <AnMaster> http://rafb.net/p/0HD0mx75.html if anyone cares
21:52:09 <AnMaster> bbl
21:52:13 <oklopol> ehird: RAFB ALERT
21:52:24 <Deewiant> SOUND THE ALARM
21:52:34 <oklopol> *BEEEEP BEEEEEEEP*
21:52:58 <Deewiant> WEEEOOOO WEEEEOOOO WEEEEOOOO
21:53:10 <oklopol> COFFEE IS SOOOOOOOOOOOOOOOOOOOOOOO GOOD
21:53:24 <Deewiant> That's not the alarm, that's the coffee machine!
21:53:31 <ais523> that's a very C++y error
21:53:55 <AnMaster> ais523, indeed.
21:55:32 <lifthrasiir> http://entangle.mearie.org/sapzil/pyfunge-docs/funge98.html i don't know why i wrote that thing... strange.
21:56:42 * lifthrasiir made pyfunge 0.5 branch while doing a lot of refactoring
21:56:46 <ais523> lifthrasiir: you're just doing what things like gcc do, documenting all the interp-specific stuff
21:57:43 <lifthrasiir> you are maybe right.
21:58:29 <ais523> it's also a very professional-looking docs for a Funge interp
22:00:10 <lifthrasiir> maybe i was trying to do it since behavior of many fingerprints is never precisely documented, except for reference implementation
22:00:36 <Deewiant> Yeah, I've often wondered about writing such a thing as well, for the RCS fingerprints
22:00:41 <ehird> checkinstall FTW
22:01:13 <ehird> (AnMaster and non debianists:
22:01:22 <ehird> checkinstall does "make install" or w/e and prompts you for a lil bit of metadata
22:01:29 <ehird> then it makes a .deb out of it and installs it
22:01:30 <ehird> )
22:01:33 <AnMaster> <ais523> lifthrasiir: you're just doing what things like gcc do, documenting all the interp-specific stuff <-- cfunge do something like that too, a short section in the readme on it
22:01:35 <Asztal_> checkinstall seems to fail a lot of the time.
22:01:42 <AnMaster> ccbi has it in --help or something iirc
22:01:45 <ehird> up to date 3rd party software + one package manager = FUCK YEAH
22:01:51 <ehird> Asztal_: it's easy to get it working in my experience
22:01:53 <AnMaster> but not as complete as that list of lifthrasiir
22:01:55 <Deewiant> AnMaster: --implementation
22:02:01 <AnMaster> ah ok
22:02:06 <ehird> 21:58 ais523: it's also a very professional-looking docs for a Funge interp
22:02:10 <Deewiant> Or wait, --print-fprints for the fingerprint stuff
22:02:11 <ehird> python's official doc system
22:02:16 <ehird> so not his doing
22:02:32 <ais523> still, though
22:02:33 <Deewiant> It should be complete, it just assumes you know what the documentation is supposed to say ;-P
22:02:38 <ehird> also, I'm not repasting that C++ error paste because, like every C++ error, it carries 0 bits of information
22:02:43 <ehird> "sfwd:61: error: declaration of &#8216;struct std::"
22:02:46 <ehird> Pastebin escaping fail.
22:02:53 <AnMaster> ais523, agreed
22:03:02 <ais523> lifthrasiir: planning to implement IFFI at all?
22:03:19 <AnMaster> ehird, agreed about that
22:03:43 <ehird> AnMaster: you know, you could have just appended 2>&1 | lisppaste to the invocation
22:03:44 <ehird> :-P
22:04:12 <ehird> Deewiant: oerjan-not-here: I did fix the indentation
22:04:13 <ehird> It's not that
22:04:17 <AnMaster> ehird, assuming it was in $PATH and not ~/irc/freenode/esoteric/ehird/lisppaste :P
22:04:18 <lifthrasiir> ais523: what fingerprint? i have no information about it.
22:04:22 -!- neldoreth|lp has joined.
22:04:32 <ehird> AnMaster: ln -s ~/irc/freenode/esoteric/ehird/lisppaste ~/local/bin
22:04:38 <lifthrasiir> (but the name reminds me FFI....)
22:04:40 <ehird> directory order kept while convenience enhanced.
22:04:47 <ehird> lifthrasiir: intercal<->funge98 interface
22:04:47 <ais523> lifthrasiir: let me paste the relevant parts of the cfunge+ick docs
22:04:48 <AnMaster> ehird, also I couldn't have done that, because there were loads of "updating mo" before
22:04:56 <ehird> AnMaster: | tail -N |
22:04:57 <ais523> ehird: it's intercal-like FFI
22:04:57 <AnMaster> for about 200 or so different *.po
22:05:00 <ehird> err, tail +N
22:05:03 <ehird> or, sed or w/e
22:05:04 <ais523> it doesn't have to have anything to do with INTERCAL, really
22:05:10 <ehird> or, just copy it and paste into $ lisppaste
22:05:20 <ehird> which is faster than rafb.nte anyway, most probably
22:05:23 <ehird> *rafb.net
22:06:12 <ais523> lifthrasiir: http://rafb.net/p/t9sHPM29.html
22:06:15 <ais523> on rafb to annoy ehird
22:06:43 <ehird> You know, you don't have to be a dick.
22:06:52 <ehird> http://paste.lisp.org/display/78378, pasted as "ais523" to annoy ais523.
22:07:11 <ais523> ehird: put it this way, the docs are available in a C-INTERCAL distribution anyway
22:07:22 <ais523> so putting it somewhere permanent is just wasting storage space bytes
22:07:22 <ehird> Sure.
22:07:30 <lifthrasiir> i think that's too strange to be implemented for near future. ;)
22:07:35 <ehird> Yeah, the whole KB or so of text.
22:07:40 <ehird> How wasteful.
22:07:43 -!- neldoreth|lp has quit (Client Quit).
22:07:47 <ehird> It's not like 10TB is affordable to put in a server nowadays.
22:08:16 <lifthrasiir> (and i'm not good at intercal, of course)
22:08:21 -!- M0ny has joined.
22:08:27 <ais523> hi M0ny
22:08:45 <M0ny> hi ais523
22:08:46 <ais523> ehird: I think you're mostly just missing the fact that some conversations are just ephemeral
22:08:54 <ehird> ais523: They would be if not for clog.
22:09:06 <ehird> Clog exists to preserve our ephemeral conversations.
22:09:09 <ais523> most conversations here don't make sense afterwards anyway
22:09:19 <ehird> ais523: Sure they do; I'm an avid logreader, I do it for interest and fun.
22:09:19 <ais523> clog exists to preserve the set of things which are actually intelligible months later
22:09:24 <ehird> It is irritating seeing a link that has expired.
22:09:32 <ehird> & kind of defeats the point
22:09:41 <ais523> proto: put all the pastes on pastebin.ca, and set it to expire after 5 minutes, but only when ehird isn't here
22:10:04 <ehird> proto: Don't be an asshole just to annoy me. Crazy, I know
22:10:17 <ais523> it's just that you're annoying everyone else with the whole pastebin thing
22:10:35 <ehird> You know I haven't complained about rafb much in ages.
22:11:11 <ehird> It's such an interestingly common thing with humans: if a thing used to happen a lot and now happens only sporadically - heck, if it completely stops and is only survived by people joking about it when it would usually happen - they, for some reason, assume it still happens constantly.
22:11:28 <ais523> you did it earlier
22:11:33 <ais523> without prompting
22:11:50 <ehird> Oh did I?
22:11:51 <ehird> Wrong.
22:11:59 <ehird> 21:52 oklopol: ehird: RAFB ALERT
22:11:59 <ehird> 21:52 Deewiant: SOUND THE ALARM
22:12:00 <ehird> 21:52 oklopol: *BEEEEP BEEEEEEEP*
22:12:02 <ehird> 21:52 Deewiant: WEEEOOOO WEEEEOOOO WEEEEOOOO
22:12:04 <ehird> 21:53 oklopol: COFFEE IS SOOOOOOOOOOOOOOOOOOOOOOO GOOD
22:12:09 <ais523> I wasn't here then
22:12:13 <ehird> Well then.
22:12:16 <ais523> I thought there was another time...
22:12:24 <ehird> ais523: yes you were!
22:12:38 <ehird> 21:52 AnMaster: http://rafb.net/p/0HD0mx75.html if anyone cares
22:12:38 <ehird> 21:52 AnMaster: bbl
22:12:39 <ehird> 21:52 oklopol: ehird: RAFB ALERT
22:12:41 <ehird> [...]
22:12:43 <ehird> 21:53 Deewiant: That's not the alarm, that's the coffee machine!
22:12:45 <ehird> 21:53 ais523: that's a very C++y error
22:12:47 <ehird> no joins in between
22:13:46 <ais523> oh, I thought there was another occasion today
22:13:57 <ais523> it must be that oklopol's allcaps hit my mental spam filter
22:14:18 -!- neldoreth|lp has joined.
22:14:56 <ehird> The problem with mental spamfilters on IRC is that on email people don't have in-depth conversations with viagra spammers.
22:15:22 <ais523> ehird: you get lots of spam from other people, though
22:15:35 <ais523> often people getting annoyed and writing in allcaps, or one word a line, or doing large pastes
22:15:38 <ais523> in-channel
22:15:42 <ehird> The point is that every time I ignore AnMaster I unignore him because I can't follow the channel.
22:15:54 <ehird> So spamfiltering IRC doesn't really work.
22:15:54 <ais523> people think it adds weight to their words, but actually it just makes them impossible to read
22:16:14 <ais523> well, you know, most people think that conversations involving AnMaster can be interesting
22:16:19 -!- neldoreth|lp has quit (Client Quit).
22:16:20 <ehird> ais523: Your brain's weird if it can't parse a wimpy enter-as-space.
22:16:23 <ehird> Also, that's the point.
22:16:33 <ehird> You say that /ignore lets everyone see what they want and everyone's happy
22:16:35 <ais523> my brain ignores it because the content of the message is generally useless in such cases
22:16:36 <ehird> but it doesn't work in practice
22:16:43 * AnMaster turns off highlight flashing for this channel for a while, busy playing wesnoth
22:16:54 <ehird> AnMaster AnMaster AnMaster AnMaster AnMaster
22:17:03 -!- neldoreth|lp has joined.
22:17:04 <ais523> *ehird misses the point
22:17:18 <ehird> ais523: if I say it enough his client will give in and beep
22:17:19 <ehird> AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster
22:17:59 <ais523> ehird: no, you'll just annoyingly spam everyone else
22:18:08 <ehird> Nobody's talking, ais523.
22:18:26 <ais523> that doesn't make spamming any less annoying
22:18:34 <ais523> because it means that I have to focus on the channel
22:18:40 <ehird> you don't _have_ to
22:18:43 <ais523> whereas if here's empty, I can just do other things
22:18:53 <ais523> well, no, but I do if I want to determine if anything useful was said or not
22:19:09 <ehird> anything useful
22:19:16 <ehird> Answer: Yes. Now you can ignore this channel.
22:25:08 -!- neldoret1|lp has joined.
22:25:21 -!- neldoret1|lp has quit (Client Quit).
22:26:13 -!- zzo38 has joined.
22:26:48 <oklopol> <ehird> You know I haven't complained about rafb much in ages.
22:26:48 <oklopol> It's such an interestingly common thing with humans: if a thing used to happen a lot and now happens only sporadically - heck, if it completely stops and is only survived by people joking about it when it would usually happen - they, for some reason, assume it still happens constantly. <<< yep, interesting phenomenon
22:27:11 <zzo38> I think Burro programs do not form a group because a anti-condition by itself does not mean anything. Am I wrong?
22:27:48 <oklopol> not sure i assumed it happens constantly ofc, my brain doesn't really understand time, but i've noticed that multiple times too.
22:28:13 <zzo38> And now for the game "Pulling the rules of Magic: the Gathering as far as possible and even a bit more farther as well"
22:28:40 <zzo38> A card has only the type Tribal and no other types or text. Its mana cost is {G}.
22:28:42 <oklopol> <ehird> The problem with mental spamfilters on IRC is that on email people don't have in-depth conversations with viagra spammers. <<< you say lots of clever things today, are you especially lucid for some reason?
22:28:54 <zzo38> You tell me what you think it does and I will tell you what I think it does, based on the rules.
22:28:57 <ehird> oklopol: umm no, but let's just say yes so I feel cooler
22:28:58 <ais523> zzo38: it isn't a permanent, although I'm not sure offhand if it can be played at all
22:29:55 <ehird> oklopol: I think it's when I use correct grammar like this. I sound more sage-like.
22:29:59 <zzo38> I think it is a "permanent card" although it still cannot be played at all, but something can put it into play.
22:30:01 <oklopol> <zzo38> I think Burro programs do not form a group because a anti-condition by itself does not mean anything. Am I wrong? <<< just check the axioms
22:31:29 <oklopol> ehird: i'm a bit disappointed you didn't think that was sarcasm. i hate it when people know what i mean.
22:31:56 <zzo38> Another card: It has 2 types, Instant and Land. What does it do? Again, after you tell me what you think, I will tell you what I think.
22:32:08 <oklopol> i have a mental spam filter for most of the unix programs and stuff talk
22:32:17 <ehird> oklopol: I considered that it might be sarcasm but then cried.
22:32:51 <oklopol> also for many programming topics that aren't entirely algorithmic
22:33:00 <ehird> oklopol: but unix programs are like megaawesome
22:33:17 <oklopol> the problem is i usually really would like to understand those conversations :P
22:33:20 <Deewiant> zzo38: Otherwise like a land but you can play it whenever you can play an instant
22:33:54 <ais523> zzo38: you can only play it if it's legal to play an instant, and if you haven't played a land that turn
22:33:57 <oklopol> it seems i like noticing other people's intelligence atm.
22:34:05 <ais523> once it comes into play it goes straight into the graveyard because it's an instant
22:34:15 <zzo38> Deewiant: No, I don't think so. How I think it works is: You can play it any time you have priority, as long as it is your turn and you haven't played a land yet this turn. However, when played, it stays in your hand instead of going into play, but it still counts as your land for the turn.
22:34:37 <ehird> oklopol: did you get a bad grade or sth
22:34:41 <Deewiant> zzo38: Why would it stay in your hand?
22:34:44 <ais523> zzo38: I think it goes into the graveyard, bouncing through play, but you're otherwise right
22:34:50 <oklopol> ehird: err, yes, actually :D
22:34:57 <ehird> oklopol: what out of 5 :-D
22:35:05 <oklopol> 4, and this time there were 5's.
22:35:07 <zzo38> The rule 212.5d
22:35:07 <ais523> also, if you play it when you couldn't play a sorcery, you have to pay its mana cost
22:35:09 <ehird> oklopol: 7/5 as opposed to your wanted 7.001/5?
22:35:10 <oklopol> 6/38 got a 5.
22:35:44 <Deewiant> zzo38: Sorry, the rule set that I know relatively well is 15 years old ;-)
22:36:36 <ais523> zzo38: what does it say? I don't have the rules handy
22:36:43 <zzo38> Would you be correct if it was the 15 year old rule set? Do you think I am correct with the current rule set?
22:36:49 <oklopol> ehird: the problem was i didn't have time to read the lecture notes, because i'd read the 600 page (optional) book, and i'd been sick so i just had one weekend to do that.
22:36:57 <Deewiant> zzo38: Like said, what does the rule say
22:36:58 <zzo38> 212.5d Instants can't come into play. If an instant would come into play, it remains in its previous zone instead.
22:36:58 <oklopol> but still, failure is a failure
22:37:00 <ais523> also, 15 years old? isn't that before instants were invented?
22:37:02 <ehird> oklopol: xD
22:37:09 <ais523> zzo38: ah, I forgot about that one
22:37:18 <Deewiant> ais523: Instants were always there, but interrupts were there as well
22:37:26 <ehird> how many rules does magic have
22:37:29 <ehird> like 70 billion?
22:37:30 <ais523> Deewiant: that's something entirely different to modern instants
22:37:34 <ais523> ehird: a few hundred
22:37:36 <Deewiant> ais523: Yes, I know
22:37:44 <ehird> ais523: is it a nomic yt
22:37:45 <ehird> yet
22:37:54 <ais523> ehird: sadly no
22:37:54 <oklopol> the book was about use case based software engineering, exam was mostly about agile development, because the lecturer has a boner for it
22:38:09 <ehird> oklopol: then I think you should be proud to fail that
22:38:10 <Deewiant> I don't know the details of the modern instants but from what I gather they're essentially interrupts
22:38:14 <ehird> oklopol: because it sounds like a heap of shit :D
22:38:45 <Deewiant> zzo38: I think ais523'd be right with the old rules
22:38:45 <oklopol> agile development isn't a fundamentally bad idea, if done right
22:38:49 <zzo38> In the modern Magic: the Gathering rules there is the stack, if you know the old rules, I'm not sure if it worked at all like the modern stack or not.
22:39:08 <Slereah_> http://esoteric.voxelperfect.net/forum/kareha.pl/1192759617/l50
22:39:10 <Slereah_> heheheh
22:39:12 <oklopol> (and "mostly" meant half of the questions were about AD)
22:39:19 <Slereah_> Dude didn't notice that this board has no text art :D
22:39:19 <Deewiant> There always was a stack
22:39:23 <ais523> zzo38: the way interrupts used to work made them equivalent to stacked instants, except that timing of turns was slightly different
22:39:37 <Deewiant> ais523: Different how?
22:39:38 <zzo38> OK
22:39:40 <ehird> 22:38 oklopol: agile development isn't a fundamentally bad idea, if done right ← The first & last time oklopol will ever endorse something billing itself as a "software development methodology"
22:39:43 <ehird> Cherish this moment.
22:39:46 <ais523> there was also a batch, which was how instants stacked, it was like a stack except everything popped simultaneously instead of one at a time
22:39:54 <oklopol> ehird: i enforce a lot of things on paper! :D
22:40:01 <ehird> oklopol: *endorse
22:40:06 <oklopol> whoops.
22:40:14 <ais523> Deewiant: I don't think you could play two stacked instant-speed effects without giving the opponent a chance to interrupt under the old rules
22:40:34 <ehird> oklopol: but, you know, I just got the image of you forcing various things to have sex with paper and I kind of don't like that image
22:40:55 <oklopol> ehird: explanation to that, i tend to copy paste other people's expressions when responding to their msg's.
22:41:03 <ehird> :-D
22:41:10 <ais523> oh, even waterfall isn't a fundamentally bad idea if done right
22:41:21 <ais523> although you have to modify it a lot for it to work correctly in practice
22:41:27 <Deewiant> ais523: So, these days you can play two instants without the opponent being able to respond in between?
22:41:30 <ehird> waterfall is fundamentally bad imo
22:41:40 <ehird> "Be completely and utterly perfect before you do anything at all."
22:41:43 <oklopol> waterfalls are pretty
22:41:58 <zzo38> The third card: It is a card with the type Creature and P/T=1/1, with mana cost {G} and text "Phasing; When ~ comes into play, it becomes an Instant in addition to its other types." Tell me what you think and I tell you what I think, and then argue about who is correct.
22:42:02 <ais523> Deewiant: yes, but the opponent gets to do things before they /resolve/
22:42:42 <ais523> zzo38: the opponent kills it with Shock before it gets to do anything interesting
22:43:05 <ais523> also, I disagree with you about the instant land
22:43:10 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
22:43:11 <zzo38> Assume neither you nor the opponent doesn't do anything to interfere
22:43:24 <ais523> it doesn't go back into your hand; it stays on the stack
22:43:33 <zzo38> ais523: Please tell us what you think the instant land does.
22:43:34 <Deewiant> ais523: So is the essential difference that you can still affect only the top of the stack, meaning that you can only affect the other one? Or what?
22:43:37 <ais523> then it gets put into the graveyard as a state-based effect due to being stuck on the stack
22:44:00 <oklopol> my brain keeps filtering this too, even though i've played tons of M&G
22:44:00 <zzo38> Lands don't go on the stack! A land is always played as a land rather than as the other type that it is.
22:44:00 <ais523> Deewiant: there's only an essential difference if something happens as the card goes onto the stack
22:44:08 <ais523> oh, right
22:44:15 <ais523> Deewiant: such as saccing a creature as an additional cost
22:44:57 <ais523> zzo38: actually, I think your just-a-tribal breaks the rules just by existing
22:45:01 <Deewiant> ais523: That sacrifice is resolved before the opponent gets to do anything?
22:45:06 * oklopol has spirit of the night, which has a curse, it's been in play about 50 times, occasionally even with those "dig up spirit of the night from your pile" cards, but it's never gotten to play :|
22:45:07 <ais523> because the rules say tribals already have a different part
22:45:15 <oklopol> i mean
22:45:17 <ais523> Deewiant: the sacrifice /happens/ before the opponent gets to do anything
22:45:20 <oklopol> in the deck.
22:45:45 <oklopol> four fucking gravediggers or what's that dig-up card called
22:45:48 <ais523> but any effects that might happen as a result, such as gaining life when sacs happen, go on the stack
22:46:04 <Deewiant> ais523: Right, that's what I meant, I think.
22:49:42 <zzo38> Please tell me what you think about the third card.
22:49:44 * AnMaster just ran into esr on irc
22:49:44 <AnMaster> heh
22:50:29 <ais523> what?
22:50:50 <ehird> AnMaster: really?
22:50:52 <ehird> I feel for you.
22:50:54 <ais523> I'm sure he'd be amused that there's a channel where he's mostly famous for INTERCAL
22:50:55 <ehird> Do you want therapy?
22:51:27 <ehird> ais523: he's "esr"
22:51:27 <ehird> on here
22:51:33 <ehird> wesnoth/developer/esr
22:52:35 <AnMaster> indeed esr is a wesnoth developer
22:52:43 <AnMaster> that is where I ran into him
22:52:44 <AnMaster> :P
22:52:52 * ehird tries to combine INTERCAL, islamophobia and "gun rights"; fails miserably.
22:52:59 <ehird> No trolling a public figure for ehird today.
22:53:59 <bsmntbombdood> i wonder if you can implement a mutex with a pipe
22:54:32 <ehird> hmm well if you smoke it just the right way
22:55:40 <bsmntbombdood> void mutex_lock(int *pipe) { char ignore; read(pipe[0], &ignore, 1); } void mutex_unlock(int *pipe) { char ignore; write(pipe[1], &ignore, 1); }
22:56:50 <zzo38> Make more weird cards to confuse the rules of Magic: the Gatheirng cards if you want to.
22:56:56 <AnMaster> haha
22:57:07 <AnMaster> to bsmntbombdood that is
22:57:10 <ehird> how can you confuse an inanimate concept, zzo38
22:57:19 <bsmntbombdood> i think that would work...
22:57:25 <zzo38> I don't mean "confuse" in that sense, please.
22:57:34 <ehird> zzo38: please?
22:57:57 <ais523> zzo38: the beautiful T: Destroy target creature. Add (1) to your mana pool.
22:58:04 <ais523> so deceptively simple
22:58:22 <oklopol> haha
22:58:23 <ais523> but it utterly destroys Magic's timing rules, so badly that Wizards have been carefully avoiding anything like that for years
22:58:57 <oklopol> guaranteed mana burn, right?
22:58:58 <Deewiant> Hmm, how is that problematic
22:59:03 <ais523> oklopol: nope, much worse
22:59:05 <oklopol> hmm
22:59:15 <ais523> Deewiant: you can legally play it halfway through paying a mana cost
22:59:15 <oklopol> okay then i can't
22:59:16 <zzo38> I think that is not a mana ability, because a mana ability is one that provides mana and does not have a target (rule 406.1)
22:59:21 <ais523> oh
22:59:27 <ais523> "Destroy a creature", then
22:59:56 <Deewiant> Oh, mana abilities
23:00:06 <Deewiant> Hmm, I wonder if they're new or old
23:00:18 <zzo38> O. Then I guess it is a mana ability and the creature will be destroyed without the chance for opponent to respond (except conceding, which can be done at any time regardless of anything else, you are even allowed to concede if a card says "Players may not concede")
23:00:31 <ais523> zzo38: for bonus points, work out how it interacts with convoke
23:00:34 * AnMaster hit another blocker bug in that campaign
23:01:25 <AnMaster> and I'm not sure what it is, except I lost all units to recall and my advanced leader unit returned to level 1 in the third last level of the campaign.
23:01:28 * AnMaster debugs
23:01:38 <AnMaster> bsmntbombdood, it might indeed
23:01:51 <ehird> a
23:02:06 <bsmntbombdood> AnMaster: the idea is that you can now select/poll your lock
23:02:25 <Deewiant> ais523: Convoke?
23:02:41 <zzo38> Convoke is rule 502.46
23:02:56 <ais523> Deewiant: a relatively new ability, it's only 4 blocks old
23:03:12 <ais523> lets you tap creatures instead of or as well as mana while playing the spell
23:03:23 <oklopol> zzo38: do you remember the rule numbers?
23:03:31 <Deewiant> The last time I played was with that expansion full of black cards
23:03:34 <Deewiant> I forget its name
23:03:39 <Deewiant> Onslaught block?
23:03:41 <ais523> wow, that's old
23:03:42 <zzo38> I just looked it up, I have the file open in a text editor for quick lookup of rules
23:03:44 <ais523> you're probably thinking of Torment
23:03:52 <Deewiant> Possibly
23:04:04 <AnMaster> bsmntbombdood, yes I know
23:04:24 <Deewiant> Yes, Torment
23:05:07 <Deewiant> My preferred set is still anything older than Mirage :-P
23:05:50 <ais523> I stopped playing quite recently, because I didn't enjoy most of the sets that were still standard-legal
23:06:29 <zzo38> I don't play Magic much, mostly I just think about it
23:06:51 <Deewiant> I think I still have two Blood Lusts from Legends somewhere but that's it
23:07:13 <zzo38> I even made up two sets of cards http://zzo38computer.cjb.net/magic_set_editor/Unplugged.mse-set and http://zzo38computer.cjb.net/magic_set_editor/SuperUnplugged.mse-set
23:07:48 <zzo38> And I still prefer the old card style
23:08:05 <zzo38> (Hint: The .mse-set files are just .zip file with different extension)
23:09:10 <zzo38> I am currently reading rule 409.1
23:11:49 <Deewiant> MSE looks new, I wonder if it's decent
23:12:48 <zzo38> If you don't have MSE you can still open it as a ZIP archive
23:13:07 <AnMaster> what is magic the gathering...
23:13:40 <zzo38> Magic: the Gathering is card game
23:13:59 <ais523> it's not really a typical card game
23:14:06 <ais523> you have to spend an absolute fortune buying the cards
23:14:08 <AnMaster> short summary<q>
23:14:16 <ais523> and you have to keep buying more cards to get better cards than your opponents
23:14:21 <Deewiant> No, you just buy 60 cards and play with proxies
23:14:30 <Deewiant> Or play online using Apprentice32 or whatever :-P
23:14:35 <AnMaster> ais523, can't you make your own cards then or something
23:14:43 <ais523> AnMaster: then nobody will play with you
23:14:54 <zzo38> I never play Constructed (except casual games when I borrow other people card), so I am not bothered with the cost. I only pay when playing Limited. In other cases I just think about the game, make up something on computer, use proxies, etc.
23:14:54 <Deewiant> They might if they're smart cards
23:14:58 <ais523> but yes, I suspect there's a huge black market in playing the same rules with proxies
23:15:02 <AnMaster> well not up your sleeve style of course
23:15:25 <AnMaster> ais523, what are the rules like
23:15:32 <ais523> very long and complex
23:15:34 <zzo38> ais523: You don't have to keep buying more cards to get better cards than your opponent if you are only playing Limited. That is why I like Limited
23:15:47 <ais523> zzo38: I only like limited if the cards themselves are interesting
23:17:07 <zzo38> If you just want to try card with interesting, don't bother with tournaments, just use proxies. In a tournament, you pay entrance fee, draft the cards passing around the table, keep the cards you drafted, and if you get in a good enough placing you can win extra packs. And then you can sell all the cards if you want to. Different card are woth a different amount of money
23:17:27 <AnMaster> proxies in this case is<q>
23:17:38 <ais523> AnMaster: proxy = unofficial card made by hand
23:17:59 <Deewiant> AnMaster: Buy sleeves for the cards and then put a piece of paper inside the sleeve next to the card saying what card it's actually meant to be
23:18:01 <zzo38> I don't play tournaments that often either, usually only very rarely I like to play the tournament. And only Limited, and usually never more than once per each new set coming out.
23:19:41 <zzo38> I won't play Magic: the Gathering in any situation where a player has an advantage because they are rich
23:19:59 <ais523> I liked Time Spiral because you could play insanely good decks on mostly commons
23:20:16 <ais523> especially Time Spiral + 9th, that was about perfect, I didn't care for the third set
23:20:34 <ais523> oh, Time Spiral + 9th + Coldsnap
23:20:38 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server").
23:21:02 <ais523> AnMaster: each of those are entire /sets/ of cards, you can see how it gets expensive very quickly
23:21:21 <Deewiant> Whaat, Homelands was taken out of Ice Age, mehhh
23:21:28 <zzo38> I would like it if you can look at the card I have in the sets I invented so that a comment can be made of it
23:21:29 <ais523> Deewiant: that was a joke
23:21:42 <Deewiant> ais523: ?
23:22:06 <Deewiant> I just Wikipedia'd Coldsnap and that's what it says
23:22:10 <ais523> well, yes
23:22:37 <ais523> it's official, but the joke was that Homelands was introduced by a rival company and Coldsnap was the actual third set in that block
23:22:55 <ais523> the point being that modifying Ice Age block makes no difference this late, as nobody plays Ice Age block tournaments anyway
23:23:22 <Deewiant> I would if there were any :-P
23:23:35 <Deewiant> Well no, I probably wouldn't
23:23:46 <Deewiant> But I'd be more attracted to such than other tournaments
23:24:24 <AnMaster> ..
23:24:38 <AnMaster> are you aware of how silly this sounds to someone not playing the game
23:24:40 <zzo38> The tournament is generally the newest set. But at the anime convention they played with two of one set and one pack of another set
23:24:45 <AnMaster> ais523, ^
23:24:50 <ais523> AnMaster: yes, that's why lots of people stopped playing
23:24:57 <AnMaster> oh ok
23:25:16 <ais523> zzo38: tournament is generally the newest /block/, it was probably 2 of the first in the block and 1 in the second because the third hadn't been released at the time
23:25:43 <AnMaster> ais523, so what do you do, match numbers in suites or what. You haven't actually explained what it IS yet.
23:26:01 <Deewiant> AnMaster: The rules are long and complicated, as said.
23:26:24 <ais523> AnMaster: basically: you play lands which allow you to play other cards, then you play creatures, your creatures hurt the opponent but can be blocked by the opponent's creatures, first to takes 20 damage loses
23:26:26 <AnMaster> yes, but surely you can make some sort of representative example or something
23:26:32 <ais523> that is a very summary, though
23:27:03 <AnMaster> ais523, where do the creatures evolve in this game...
23:27:09 <AnMaster> ;P
23:27:12 <ais523> it isn't pokemon
23:27:19 <AnMaster> ais523, I was trying to joke
23:27:19 <Deewiant> AnMaster: Basic idea: each player has 20 life points and a deck, you lose when you go below zero or run out of cards. Most cards need mana to play, which you typically get from land cards of which you can play only per turn. There are five different colours of mana.
23:27:21 <ais523> although the pokemon card game is made by the same people who make M:tG
23:27:45 <zzo38> Basically the rules are: Each player 7 cards, you play land card, generate mana, cast a spell by spending the mana, you start 20 points and if you have 0 points you are the loser. You can lose life points by combat damage(from creatures) or other effects. You also lose if you run out of cards
23:27:56 <AnMaster> ais523, Deewiant: this sounds like a crazy cross between D6D, pokemon, a card game and insanity to me.
23:28:01 <AnMaster> D&D*
23:28:07 <Deewiant> AnMaster: This is older than Pokémon.
23:28:13 <ais523> zzo38: I can think of at least 3 other ways to lose, so why mention running out of cards? that hardly ever happens
23:28:20 <Deewiant> And yes, the concept draws from D&D.
23:28:27 <ais523> very vaguely
23:28:31 <zzo38> Running out of cards happened to my opponent in the anime convention.
23:28:38 <ais523> what was he doing?
23:28:40 <Deewiant> Not so much nowadays.
23:28:42 <AnMaster> Deewiant, only the grappling rules I presume.
23:28:43 <AnMaster> :P
23:28:54 <Deewiant> Sorry, I don't think there are grappling rules. :-P
23:29:01 <AnMaster> oh
23:29:07 <Deewiant> ais can correct me, he evidently knows the newer sets.
23:29:09 <zzo38> I played three tournaments so far, two I lost, but in the anime convention I won that tournament because te other players didn't know the rules very well (one player conceded because he didn't like the rules of the game!)
23:29:12 <ais523> Deewiant: that's an old D&D joke, you need to get D&D's history to get it
23:29:23 <Deewiant> ais523: I know the joke.
23:29:28 <ais523> ah
23:29:40 <ais523> Magic's rather inconsistent flavour-wise
23:29:43 <Deewiant> Fortunately I don't remember the rules very well. :-P
23:29:47 <AnMaster> I was implying it was as crazy as that.
23:29:51 <ais523> the cards have rules on and flavour text, but the flavour text doesn't do anything
23:29:57 <ais523> which is good as it's very inconsistent between cards
23:30:28 <zzo38> To me, I can play without art or flavor text, but sometimes they are ones I like, but it can still be done without.
23:30:29 <AnMaster> how many unique cards are there
23:30:33 <Deewiant> I liked the old kind of flavour text: The Rime of the Ancient Mariner was probably one of the best
23:30:39 <Deewiant> AnMaster: Over 10000 these days, probably
23:30:43 <zzo38> A lot of unique card you can check on Wizards of the Coast
23:31:09 <zzo38> I also mostly prefer the old art and old flavor text.
23:31:15 <AnMaster> Deewiant, so you could create your own cheat card, and if it looked good enough no one would notice<question/>
23:31:41 -!- Asztal_ has quit (Read error: 104 (Connection reset by peer)).
23:31:45 <AnMaster> also what happens with a card after you play it
23:31:47 <ais523> AnMaster: amazingly, many people have memorized the entire list
23:31:49 <Deewiant> AnMaster: In theory, yes. You couldn't go to tournaments with it.
23:31:52 <ais523> AnMaster: depends on what sort of card
23:31:54 <ais523> most stay in play
23:32:04 <AnMaster> well you get them back after playing or...
23:32:05 <ais523> although instants and sorceries have one-off effects and are then discarded
23:32:10 <Deewiant> Most stay in play, some go to the graveyard a.k.a. discard pile
23:32:23 <ais523> stay in play = you leave them on the table and they continue doing things until someone gets rid of them
23:32:47 <AnMaster> ais523, I mean isn't there a risk of mixing up your own card with the opponents when the game is over
23:32:59 <Deewiant> AnMaster: Only if you don't take care of your cards :-P
23:33:05 <AnMaster> heh
23:33:06 <ais523> you keep them on your side of the table to not mix them
23:33:13 <zzo38> You could use different color of card sleeves if you wanted to. The other way is you could make a list of the cards
23:33:15 <ais523> and normally the players will use differently-coloured sleeves to make sure
23:33:16 <Deewiant> ais523: There's stuff like Enchant Creature
23:33:26 <Deewiant> Which will end up on the other side of the table
23:33:31 <ais523> Deewiant: sometimes I keep those on my side of the table when enchanting an opponent's card
23:33:37 <ais523> although not when using different sleevs
23:33:40 <ais523> *sleeves
23:33:54 <Deewiant> ais523: Sounds like a good source of confusion to me :-P
23:33:58 <ais523> and I know from personal experience that enchantment cards often do end up in the wrong player's decks
23:34:09 <zzo38> The cards that enchant other cards are Auras in the modern rules, with the ability called "Enchant Creature" which indicates what type of entities it can enchant. The rules says players and objects, my own rule extend that to "entities"
23:35:29 <zzo38> When I invented the entities/playercard rules, someone didn't understand it and thought I was trying to make combat damage into another player!
23:35:39 -!- Asztal_ has joined.
23:35:41 <ehird> damage as a player?
23:35:43 <ehird> that sounds awesome
23:35:47 <ehird> I don't understand but it sounds awesome
23:36:39 -!- Asztal_ has quit (Remote closed the connection).
23:36:40 <zzo38> Of course that isn't what I was doing. See http://zzo38computer.cjb.net/magicvar/Entity.txt for the actual rules I wrote (I'm not trying to make combat damage into another player). See also http://zzo38computer.cjb.net/magicvar/Planeswalkers_Variant.txt
23:37:33 <ais523> enchant combat damage?
23:37:47 <ais523> we've already had enchant two cards in a graveyard
23:38:58 <zzo38> Combat damage and cards in a graveyard are both objects, so even the standard rules allow that.
23:39:43 <AnMaster> the rules changed a lot?
23:39:54 <AnMaster> over the years I mean
23:39:58 <Deewiant> Yes
23:40:01 <AnMaster> mhm
23:40:01 <zzo38> Someone once made a card that said "Add {U} to target {G}'s manapool." In standard rules that means nothing and is unplayable.
23:40:02 <Deewiant> Annoyingly
23:40:24 <ais523> mana doesn't have manapools
23:40:26 <zzo38> In entity/playercard rules, that card can be played if anyone has green mana in their mana pool, but the card still won't have any effect.
23:40:48 <ais523> what if combined with {R}: Target {G} can play spells this turn
23:40:53 <zzo38> It will have a valid target but the effect on the target is invalid
23:40:57 <ais523> then you just have to get a card into the green mana's hand
23:41:00 <Deewiant> AnMaster: Garfield being the designer of the game: 'Finkel won match one because Garfield misplayed the current timing rules at least twice during the course of the game.'
23:41:01 <AnMaster> mana comes in different colours nowdays?
23:41:06 <AnMaster> that was news to me
23:41:09 <ais523> AnMaster: it always has done, that's the core of the game
23:41:13 <AnMaster> oh
23:41:33 <zzo38> "{R}: Target {G} can play spells this turn" won't have any effect either in entity/playercard rules, but at least it means something and is playable (in standard rules it would be meaningless and unplayable)
23:41:40 <AnMaster> Deewiant, wut
23:42:00 <Deewiant> AnMaster: Example of the rules changing
23:42:14 <ais523> tbh, they mostly add or generalise rules, rather than make things illegal
23:42:20 <Deewiant> I'd fail stuff like that too if I played noncasual
23:42:31 <ais523> there's an official website where they have translations of all the old cards into modern rules
23:42:45 <Deewiant> Removing interrupts changed a lot :-P
23:42:54 <zzo38> That is the Gatherer/Oracle where the texts are converted to new rules texts
23:43:01 <ais523> not really, they removed instants then renamed interrupts to instants
23:43:15 <Deewiant> That's the other way of looking at it
23:43:17 <ais523> zzo38: Orcale has the new rules text, Gatherer's a search engine for it
23:43:54 <Deewiant> Also, I guess these days you die instantly when you go below 1 life?
23:43:54 <zzo38> I once made a program packgen that created random booster packs from Gatherer
23:44:17 <AnMaster> why not continue playing by original rules then
23:44:21 <AnMaster> and ignore the newer ones
23:44:35 <Deewiant> I would do that but I haven't run into folks who agree with me :-P
23:44:42 <zzo38> It is a state-based effect that you die when you go below 1 life. So you don't wait for end of turn like before, but still it isn't completely instant (like if you have 2 life and a card says "You lose 5 life you gain 4 life" then you won't lose)
23:45:20 <ais523> the problem is most new cards are meaningless under old rules
23:45:26 <AnMaster> Deewiant, I'd like to see what happened if someone went and added a new piece to chess some day (<insert relevant TP reference, but it wasn't what I meant>)
23:45:30 <zzo38> I invented a card which says you have to play by the old rules (it is a "unglued/unhinged/un____" styles)
23:46:03 <zzo38> People often do add new pieces to chess, but they are variants rather than standard rules
23:46:45 <ais523> zzo38: wouldn't that get rid of every ability invented since sixth edition?
23:46:48 <ais523> what would happen to spiders?
23:46:58 <ais523> they used to have text that worked under the old rules, but were reworded to reach, which doesn't
23:47:09 <AnMaster> why are they changing the rules
23:47:09 <ais523> would reminder text actually be official under your backdated rules?
23:47:15 <AnMaster> were the original ones broken or something
23:47:18 <ais523> AnMaster: because they can't fit them all onto the card
23:47:26 <ais523> they mostly define terms on the cards
23:47:37 <zzo38> If you use the old rules then you would use the old texts also (but only for old cards obviously)
23:47:44 <AnMaster> ais523, make a rule book and call it something like "Cards and Centaurs"
23:47:45 <AnMaster> or whatever
23:48:02 <ais523> zzo38: ok, something as simple as ashcoat bears, what would that do under the old rules?
23:48:11 <ais523> new card with new simple ability with obvious reminder text
23:48:35 <Deewiant> AnMaster: I guess the changes that I'm most annoyed about are indeed cases where the old rules were seen as too complicated/broken
23:48:51 <zzo38> ais523: I don't know, it was just a crazy idea, a "Un-" cards idea not a real one
23:49:13 <ais523> Deewiant: banding? phasing?
23:49:24 <Deewiant> ais523: What, have they been removed?
23:49:34 <ais523> no
23:49:38 <ais523> but they're never put on new cards
23:49:46 <ais523> because they're too complicated, they have entire rules /sections/ each
23:49:48 <zzo38> Banding and phasing still exist although they aren't used on new cards. On cards in my set, phasing is used however (look to see how if you want to)
23:49:50 <ais523> stretching for many paragraphs
23:49:59 <Deewiant> Well boo hoo :-P
23:50:18 <Deewiant> In practice you don't need to know the sections by heart to be able to play with them
23:50:20 <ais523> challenge: write reminder text for phasing which fits on a card
23:50:38 <AnMaster> how large are these cards<q> or how small is the rules text<q>
23:50:41 <Deewiant> I'm opposed to reminder text, lose it and add more interesting flavour text
23:51:30 <zzo38> Even the reminder text that exists, isn't the actual rules (I think reach ability actually does nothing but flying checks for reach. I invented the card that sways flying and trample and that is why I thought about it at first)
23:51:36 -!- impomatic has joined.
23:51:44 <impomatic> Hi :-)
23:51:46 <ais523> hi
23:51:56 <ais523> zzo38: correct, about reach
23:52:04 <zzo38> I also don't use reminder text in my cards generally (even if it has no flavor text or arts)
23:52:25 <Deewiant> ais523: Does reminder text generally encompass the whole rule?
23:52:46 <ais523> Deewiant: no, it's generally a summary of the bits that come up most often
23:52:53 <ais523> but with phasing, you have loads of common problems
23:52:58 <ais523> enchantments and equipment, for one
23:54:14 <zzo38> I have made many changes to the rules, for examples, auras that are also creatures can now still continue to enchant things while being creatures, the Haunt keyword takes a parameter being what it haunts (if no parameter, "creature" is assumed), and new keyword abilities
23:54:16 <Deewiant> Then I'd just say something like "Before your untap phase, this card phases out, unless it is phased out, in which case it phases in. It retains its enchantments and tappedness."
23:54:36 <Deewiant> And leave it to the player to remember that "phased out" means essentially "is removed from play"
23:55:00 <ais523> what if its enchantments are themselves enchanted?
23:55:05 <ais523> (I don't actually know what happens then)
23:55:07 <zzo38> Am I correct that if a card in play somehow becomes an instant while in play and phases out, it will never phase back in? Or is that wrong
23:55:12 <Deewiant> Not possible under the old rules :-P
23:55:27 <ais523> zzo38: doesn't it go to the graveyard as a state-based effect?
23:55:30 <ais523> when it becomes an instant?
23:56:00 <zzo38> Let me check the list of state-based effects again. Even if it is, I have made a card called "Unstate" which says "State-based effects stop working until end of turn"
23:56:59 <zzo38> I don't see that state-based effect under rule 420.5
23:57:00 <ais523> zzo38: when does that effect stop working?
23:57:01 <AnMaster> ...
23:57:05 <AnMaster> this is insane
23:57:12 <ais523> in particular, I'm trying to remember if ending at end of turn is state-based
23:57:15 <ais523> although I don't think it is
23:57:19 <zzo38> All I see is the rules that say if an instant or sorcery tries to come into play, instead it remains in its current zone
23:57:28 <Deewiant> AnMaster: ?
23:57:30 <AnMaster> ais523, the game is described by a state-machine?
23:57:32 <AnMaster> or what
23:57:37 <ais523> no
23:57:44 <AnMaster> mhm
23:57:44 <ais523> state-based just means it happens whenever the conditions are met
23:57:48 <ais523> as opposed to in response to something
23:57:48 <AnMaster> k
23:57:58 <zzo38> Ending at end of turn is part of the cleanup step, I think. Well, I have also invented a card "Dirty Game" which says "All players skip their cleanup step"
23:58:32 <AnMaster> Deewiant, wth is "tappedness". I don't think the word even exists.
23:58:39 <ais523> zzo38: there's almost certainly several degenerate combos if you mix with fundamentals like that
23:58:49 <ais523> AnMaster: tapped = can be used once per turn, and has already been used this turn
23:58:50 <Deewiant> AnMaster: You're right, it doesn't
23:59:00 <impomatic> Did I join #mtg ?
23:59:00 <AnMaster> mhm
23:59:07 <ehird> impomatic: Nope.
23:59:23 <AnMaster> this is off topic here unless it is TC
23:59:25 <AnMaster> :(
23:59:29 <AnMaster> IMO
23:59:37 <Deewiant> AnMaster: When a card is tapped it's conventionally turned sideways, it indicates its abilities can't be used until it is untapped again
23:59:46 <ais523> AnMaster: http://esolangs.org/wiki/Magic:_the_Esolang
23:59:46 <AnMaster> insane.
23:59:50 <Deewiant> AnMaster: If you really care at all, http://en.wikipedia.org/wiki/Magic:_The_Gathering_rules
23:59:51 <ais523> I'm not convinced it's TC, but I suspect it might be
←2009-04-09 2009-04-10 2009-04-11→ ↑2009 ↑all