←2007-08-02 2007-08-03 2007-08-04→ ↑2007 ↑all
00:08:47 -!- RedDak has quit (Remote closed the connection).
00:53:51 -!- sebbu has quit ("@+").
01:25:13 -!- cherez has quit ("Leaving.").
02:08:30 -!- calamari has joined.
02:23:30 -!- calamari has quit ("Leaving").
02:41:12 <bsmntbombdood> what haskell book/tutorial should i read?
02:46:59 -!- ihope has quit (Connection timed out).
02:48:22 <pikhq> Jebus. . . 2.6.21 is *now* marked stable in Gentoo. . .
02:48:32 <lament> bsmntbombdood: ask in #haskell
02:48:52 <lament> they're probably more qualified
02:52:55 <bsmntbombdood> probably
04:08:58 -!- cherez has joined.
04:48:24 <RodgerTheGreat> 'night, guys
04:48:39 -!- RodgerTheGreat has quit.
05:08:21 -!- pikhq has quit (Read error: 104 (Connection reset by peer)).
05:09:43 -!- immibis has joined.
05:14:58 -!- pikhq has joined.
05:39:38 -!- immibis_ has joined.
05:53:21 -!- immibis has quit (Nick collision from services.).
05:53:24 -!- immibis_ has changed nick to immibis.
06:18:28 -!- ihope__ has joined.
06:18:43 -!- ihope__ has changed nick to ihope.
06:39:28 -!- GreaseMonkey has joined.
06:54:10 -!- GreaseMonkey has changed nick to thematrixeatsyou.
06:54:24 -!- MichaelRaskin1 has joined.
06:54:49 -!- MichaelRaskin1 has changed nick to MichaelRaskin.
07:02:56 <bsmntbombdood> haskell has sooo much syntax
07:03:41 <lament> yes, but it's all very reasonable
07:03:43 <lament> and pretty
07:03:54 <lament> really syntax is not the problem with haskell :)
07:04:08 <bsmntbombdood> i'd say it's not reasonable
07:04:33 <lament> what about it?
07:04:48 <bsmntbombdood> the hugeness
07:06:13 <bsmntbombdood> class Eq a where
07:06:13 <bsmntbombdood> (==), (/=) :: a -> a -> Bool
07:06:13 <bsmntbombdood> x /= y = not ( x == y)
07:06:18 <bsmntbombdood> that's pretty?
07:11:51 -!- MichaelRaskin_ has quit (Read error: 110 (Connection timed out)).
07:25:06 <lament> bsmntbombdood: where's the hugeness?
07:25:15 <bsmntbombdood> the syntax
07:25:22 <lament> i see a type class definition, a signature and a function definition.
07:25:47 <lament> nearly every language has equivalents.
07:25:56 <bsmntbombdood> not as syntax
07:26:03 <lament> usually as syntax
07:26:20 -!- ihope has quit (Connection timed out).
07:27:14 <bsmntbombdood> there's also terribly ugly whitespace significance, and two completely unrelated uses of ()
07:28:13 <lament> i'm honestly not sure what's the problem, haskell is just like any other langugae
07:30:43 <bsmntbombdood> maybe it's just unfamiliarity
07:31:17 <lament> probably. I think haskell is very pretty.
07:34:26 <lament> whitespace significance follows somewhat odd rules but leads to consistent pretty indentation
07:35:25 <immibis> i don't know haskell, but am i allowed to ask: where's the definition of ==?
07:35:49 <lament> missing
07:36:03 <lament> it's a type class definition
07:36:10 <lament> somewhat like an interface
07:36:32 <lament> (==) will be implemented for individual types
07:40:16 <lament> in plain language, "there's a type class Eq, and any type deriving it will provide two operations, (==) and (/=), that take two values of that type and return a Bool; and x /= y is always defined as not (x == y)"
07:42:14 <lament> but i need to sleep.
07:42:22 <bsmntbombdood> sleep is for the week
07:42:25 <bsmntbombdood> weak
07:42:35 <lament> yes. sleep is for the week.
07:42:52 <bsmntbombdood> no, weak
07:43:06 <lament> i'll go to sleep, be back in a week!
07:47:47 <bsmntbombdood> i wish i could sleep for a week
07:47:58 <bsmntbombdood> sleep for a week, awake for 2
07:53:54 * immibis gives lament a lecture about interfaces being abstract and not containing implementations
07:54:16 * immibis gives himself a lecture about giving people lectures
07:54:19 <immibis> lol
07:54:23 * bsmntbombdood smacks immibis
07:54:30 * immibis slaps bsmntbombdood with a rainbow trout
07:54:37 <bsmntbombdood> OOP is not about fancy words
07:54:43 * immibis goes to ##topic
07:56:01 * immibis makes everyone autoopped on ##topic
07:58:45 <immibis> but interfaces still should not contain implementations if you use java
07:58:54 <immibis> and even if you don't
07:59:00 <bsmntbombdood> you shouldn't use java
07:59:06 <immibis> why not
07:59:07 <bsmntbombdood> or use fancy words about oop
07:59:22 * immibis slaps bsmntbombdood with a rainbow trout
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:02 * immibis slaps bsmntbombdood with another rainbow trout because he can
08:00:12 * bsmntbombdood frys then eats the trout
08:00:16 <bsmntbombdood> mm, delicious
08:00:20 * immibis notices that catching rainbow trout without a license is illegal in new zealand
08:00:38 * immibis doesn't have a license and doesn't need one anyway because it's only irc
08:01:34 -!- RainbowTroutPoli has joined.
08:01:53 -!- RainbowTroutPoli has changed nick to TroutPolice.
08:02:43 <TroutPolice> NO SLAPPING WITH RAINBOW TROUTS
08:02:43 <TroutPolice> NO SLAPPING WITH RAINBOW TROUTS
08:02:44 <TroutPolice> NO SLAPPING WITH RAINBOW TROUTS
08:02:48 <TroutPolice> NO SLAPPING WITH RAINBOW TROUTS
08:02:52 <TroutPolice> NO SLAPPING WITH RAINBOW TROUTS
08:02:56 <TroutPolice> NO SLAPPING WITH RAINBOW TROUTS
08:02:56 <bsmntbombdood> gtfo
08:03:06 -!- TroutPolice has left (?).
08:03:40 * immibis notices that the username is a bit of a give-away
08:03:59 <immibis> TroutPolice (n=toBogE@...) has left #esoteric ()
08:12:04 -!- immibis has quit ("When the chips are down, well, the buffalo is empty").
08:26:51 -!- immibis has joined.
08:34:49 -!- immibis has quit ("Pull the pin and count to what?").
08:47:19 -!- cherez has quit ("Leaving.").
09:21:46 -!- Sukoshi` has joined.
10:28:09 -!- thematrixeatsyou has quit ("testing OS, then going to bed, gnight").
10:51:44 -!- asiekierka has joined.
10:51:48 <asiekierka> Hi!
10:51:55 <asiekierka> Writing from another P
10:51:56 <asiekierka> PC
10:52:00 <asiekierka> my is at repair :DDD
10:54:59 <asiekierka> I AM DI\]i=\
10:55:04 <asiekierka> s21i123r
10:55:06 <asiekierka> sor22r2y2
10:59:23 <asiekierka> I am an idiot
11:00:04 -!- asiekierka has quit.
11:00:44 -!- asiekierka has joined.
11:00:53 <asiekierka> Sorry for all that.
11:01:04 -!- asiekierka has quit (Client Quit).
11:03:08 -!- asiekierka has joined.
11:03:13 <asiekierka> My friend did all thar
11:03:16 <asiekierka> that*
11:03:21 -!- asiekierka has quit (Client Quit).
11:09:47 -!- Figs has joined.
11:09:53 <Figs> hey oklopol
11:10:00 <Figs> did you ever play my song? :P
11:20:16 -!- Figs has left (?).
11:27:41 -!- ehird` has joined.
11:27:51 -!- ehird` has set topic: Esoteric programming language discussion | FORUM AND WIKI: esolangs.org | CHANNEL LOGS: http://ircbrowse.com/cdates.html?channel=esoteric.
15:08:25 -!- asiekierka has joined.
15:08:30 <asiekierka> HI!
15:10:30 -!- McDonalato has joined.
15:11:00 <asiekierka> Hi McDonalato!
15:11:13 <asiekierka> McDonalato, how's your day?
15:11:17 <McDonalato> The acorn is the channel in an animal that eats both plant and animal farm.
15:11:25 <McDonalato> asiekierka: What am i to you? Some sort of encyclopaedia or something? Let's change the subject...
15:11:49 <asiekierka> McDonalato, okay. Let's talk about rules. What are your rules?
15:11:58 <McDonalato> asiekierka: I had the misfortune to talk about rules. What are your rules?
15:12:15 <asiekierka> McDonalato: My rules are for you to say your rules.
15:12:27 <McDonalato> asiekierka: I wish that i could jump out of things to talk about rules. What are your rules?
15:12:48 <asiekierka> McDonalato: Rules are: 1. STFU. 2. Break at least one rule.
15:13:03 <McDonalato> asiekierka: Which one of us is the one asking all the judges i've had the misfortune to talk about rules. What are your rules?
15:13:38 <asiekierka> McDonalato: You are more intelligent than me! I don't have any rules really though.
15:13:46 <McDonalato> asiekierka: My rules are for you to say your rules.
15:14:02 <asiekierka> McDonalato: What if i don't have any rules?
15:14:17 <McDonalato> asiekierka: You are more intelligent than me! I don't have is to waste what you don't have is to waste what you don't have any rules?
15:14:51 <asiekierka> McDonalato: You are false. You are more intelligent than me and Brainf**k haters.
15:14:58 <McDonalato> asiekierka: You are more intelligent than me and brainf**k haters.
15:15:16 <asiekierka> McDonalato: Don't laugh at me. YOU are more intelligent.
15:15:24 <McDonalato> asiekierka: You are false. You are more intelligent.
15:15:38 <asiekierka> McDonalato: If you think so... okay.
15:15:49 <McDonalato> asiekierka: I am a human being, which means i do what i want to think about your mind.
15:16:09 <asiekierka> McDonalato: ... this didn't make sense.
15:16:25 <McDonalato> asiekierka: So, who is using the family brain cell at the centre of the process, the rain is part of an ass and a mare breeding.
15:16:49 <ehird`> asiekierka, What were you told about letting that bot talk in here?
15:16:50 <ehird`> It's a flood monster.
15:16:57 <asiekierka> what?
15:17:02 <asiekierka> I am just talking?
15:17:09 <asiekierka> talking!*
15:17:20 <asiekierka> STFU ok
15:17:23 <ehird`> You're flooding with a bot that you've been kicked for flooding with before
15:17:32 <asiekierka> if lament will say something then i will make him quit
15:17:36 <asiekierka> flooding?
15:17:41 <asiekierka> He dosen't flood
15:17:44 <asiekierka> i just talk with him
15:17:51 <ehird`> about 20 messages you/bot in a row
15:18:05 <asiekierka> so you sho--- oh wait
15:18:43 <McDonalato> STFU, ehird`.
15:18:47 -!- McDonalato has left (?).
15:18:57 -!- Tritonio has joined.
15:19:08 <asiekierka> It's my new bot?
15:19:13 <asiekierka> he is so intelligent
15:19:24 <asiekierka> nope
15:19:25 <ehird`> that's not your bot
15:19:27 <asiekierka> it's not
15:19:30 <asiekierka> Tritonio!!!
15:20:05 -!- blahbot` has joined.
15:22:16 <asiekierka> What about esoteric-blah?
15:22:24 <asiekierka> not there too
15:22:39 <asiekierka> blah = halb = hlab = lab = bal = bol = bot
15:22:41 -!- puzzlet has joined.
15:23:26 -!- puzzlet_ has quit (Remote closed the connection).
15:23:28 -!- asiekierka has set topic: Esoteric programming language discussion | FORUM AND WIKI: esolangs.org | CHANNEL LOGS: http://ircbrowse.com/cdates.html?channel=esoteric | Rules: 1. Break at least one rule. 2: At least (10^10) bots must be on #esoteric.
15:37:42 -!- ehird` has quit ("Leaving").
15:38:26 -!- blahbot` has quit (Remote closed the connection).
15:39:30 -!- RodgerTheGreat has joined.
15:39:45 <RodgerTheGreat> howdy, folks
15:41:09 <asiekierka> howdy
15:41:17 <asiekierka> join #esoteric-bf
15:41:17 <RodgerTheGreat> hi, asiekierka
15:41:24 <asiekierka> if you want to talk about brainf***
15:45:08 -!- Tritonio has quit (Remote closed the connection).
15:54:35 -!- ihope__ has joined.
15:54:47 -!- ihope__ has changed nick to ihope.
16:06:29 -!- sebbu2 has joined.
16:48:34 -!- mtve has left (?).
16:49:12 -!- mtve has joined.
16:55:06 <asiekierka> Anybody willing to talk about FBF?
16:55:08 <asiekierka> BF*?
16:55:53 <pikhq> Doubtful.
16:56:05 <asiekierka> i liked the channel more one year ago
16:56:34 <pikhq> Hmm.
16:56:42 <pikhq> Try looking at Dimensifuck.
16:56:50 <pikhq> It *will* blow your mind away. >:D
16:58:10 <asiekierka> how
16:58:23 <pikhq> It's an n-dimensional language.
16:58:55 <asiekierka> i rather like Dimensional Areas.
16:59:10 <pikhq> You want to write your code as a Klein bottle?
16:59:14 <pikhq> You can do it!
17:00:54 <asiekierka> nope
17:00:56 <asiekierka> i mean
17:01:02 <asiekierka> Dimensional Areas from one anime
17:01:08 <RodgerTheGreat> pikhq: I have a question about how PEBBLE handles variables
17:01:09 <asiekierka> that you all 99% hate
17:01:19 <asiekierka> You know what i'd like?
17:01:19 <pikhq> RodgerTheGreat: Sure.
17:01:30 <asiekierka> An Brainf**k OS in only 5120b (5KB)
17:01:44 <asiekierka> with some more features
17:01:53 <RodgerTheGreat> does it recognize structures like [>], where the pointer moves on loop iterations, and adjust accordingly?
17:01:57 <pikhq> I believe someone's tried an OS in Brainfuck; not sure how well it was.
17:02:02 <asiekierka> nope
17:02:07 <asiekierka> a OS that interprets BF.
17:02:12 <asiekierka> and has a command prompt for it.
17:02:20 <asiekierka> it can do only that
17:02:26 <asiekierka> and it'll have some new functions:
17:02:31 <RodgerTheGreat> because the simple way to do them seems like just running through the program, ignoring loops and using state that way to figure out relative locations
17:02:36 <pikhq> RodgerTheGreat: No, it doesn't. You have to explicitly say which location you're at at the end.
17:02:43 <RodgerTheGreat> and for an unbalanced loop, you'd have to do something else
17:02:47 <RodgerTheGreat> ah. hm
17:02:56 <pikhq> Your solution is *exactly* how I do it.
17:03:04 <RodgerTheGreat> sweet. I'm on the right track.
17:03:25 <pikhq> (well, actually, I've got it set to turn off the state-tracking when it detects an explicit > or <. . . But, yeah.)
17:03:30 <asiekierka> BUT, i don't know how to do it
17:03:31 <asiekierka> really
17:03:35 <asiekierka> Except if i'll do
17:03:46 <asiekierka> @(filename.txt|4)
17:03:47 <pikhq> asiekierka: It'd actually be trivial to pull off.
17:03:52 <asiekierka> reads 4th char from filename.txt
17:03:59 <asiekierka> it must be there for something cool enough
17:04:04 <RodgerTheGreat> so when you < or >, it goes into "nontracking mode", and then you specify where to pick up again before you use another variable?
17:04:15 <pikhq> If I knew *16 bit* assembly, I'd do it.
17:04:17 <pikhq> RodgerTheGreat: Exactly.
17:04:40 <asiekierka> An OS like this will ROCK.
17:04:45 <asiekierka> i have a friend that may do it
17:04:45 <RodgerTheGreat> alright. Hm.
17:04:53 <asiekierka> it will have 10 commands in total
17:04:58 <asiekierka> debug, 8 default and file-reading
17:05:26 <RodgerTheGreat> do you allow coders to explicitly define a memory layout, require explicit definitions of a memory layout, or let it float and trust the compiler to optimize things?
17:05:47 <asiekierka> It will be a port of one of optimized interperters
17:05:52 <asiekierka> it will interpret in runtime!
17:06:06 <asiekierka> optimizations: ... none.
17:06:10 <pikhq> RodgerTheGreat: You can either specifically state variable location or let the compiler do it automatically.
17:06:12 <asiekierka> except for max CPU speed
17:06:19 <asiekierka> since nothing takes CPU/RAM
17:06:25 <RodgerTheGreat> gotcha
17:06:33 <pikhq> It doesn't optimize that (yet); it merely assigns variable location in order of variable declaration.
17:06:41 <RodgerTheGreat> yeah, I figured
17:07:04 * pikhq wonders what a good algorithm to pull that off would be. . .
17:07:06 <asiekierka> It'll also use 10 for newlines, not 13 and 10
17:07:13 <RodgerTheGreat> but allowing the compiler to make optimizations will allow you to upgrade the compiler and simultaneously upgrade every program
17:07:15 <pikhq> asiekierka: That's the only way to do it.
17:07:20 <RodgerTheGreat> pikhq: I actually have an algo for that
17:07:21 <asiekierka> yes
17:07:27 <pikhq> Well, yeah.
17:07:36 <pikhq> The compiler is set up to be *very* optimizable.
17:07:42 <asiekierka> I will always make new versions that'll be optimalized of my OS.
17:07:52 <asiekierka> supporting MMX, SSE, SSE2... maybe
17:07:55 <asiekierka> so it'll work faster
17:07:58 <pikhq> Unfortunately, the current optimization pass added a small handful of commands to let you tell things it can't handle itself. . .
17:08:10 <pikhq> asiekierka: Do you know C and assembly?
17:08:20 <asiekierka> no... my friend does, he'll probably do it
17:08:26 <pikhq> (especially assembly for MMX, SSE, SSE2, and SSE3)
17:08:36 <asiekierka> at least the beginning
17:08:41 <asiekierka> it'll be open-source
17:08:50 <pikhq> Also, none of those will be much/any use; those extensions just do floating point numbers, not ints.
17:09:07 <RodgerTheGreat> count the number of "accesses" on every variable cell (large bias on +-, smaller bias on ,., smallest bias on []), to get a metric for how often particular variables are used (priority)
17:09:08 <asiekierka> And it'll support 2 modes... you set the second one with $.
17:09:14 <asiekierka> 1st mode - numbers 0-255
17:09:21 <asiekierka> 2nd mode - numbers 0-65536
17:09:40 <RodgerTheGreat> then, group the variables with common variables in the center, less common values further away
17:09:43 <asiekierka> so 11 commands in total
17:09:49 <RodgerTheGreat> however, this is not the only way to do it
17:09:53 <asiekierka> 2 added by me (needed for a proj like this), 1 debug, 8 normal
17:10:02 <pikhq> Efficient way to do it, though.
17:10:24 <RodgerTheGreat> another algo would involve examining what cells are most frequently accessed sequentially
17:10:25 <pikhq> I'll probably add that to the next PEBBLE version; thanks, Rodger.
17:10:29 <RodgerTheGreat> this would improve speed
17:10:35 <RodgerTheGreat> pikhq: no prob
17:12:08 <asiekierka> pikhq: I will make it open source, so if you may make PEBBLE emulated in Brainf**k, it will allow you with 2 files.
17:12:16 <asiekierka> 1st one - pebbleemu.b
17:12:23 <asiekierka> 2nd one - pebblecode.pb
17:12:29 <pikhq> asiekierka: PEBBLE already *compiles* to Brainfuck.
17:12:41 <asiekierka> oh
17:12:44 <asiekierka> cool
17:12:48 <asiekierka> so it'll support it too
17:12:51 <pikhq> Yeah.
17:12:55 <asiekierka> Cool one.
17:13:00 <asiekierka> You just take a floppy disk
17:13:02 <pikhq> Could be an interesting project.
17:13:02 <asiekierka> slot it in
17:13:11 <pikhq> Highly useless, but, then, that's the point of #esoteric, isn't it?
17:13:13 <asiekierka> and launch it even without Windows or anything
17:13:19 <RodgerTheGreat> I'm going to do some experiments with an optimizing brainfuck macrolanguage myself- I think it could be a tremendous learning experience
17:13:25 <pikhq> Bah. Windows? Ick.
17:13:30 <asiekierka> or Linux
17:13:38 <asiekierka> it'll be it's own OS all in itself
17:13:39 <pikhq> RodgerTheGreat: If you need any help, I'm willing to offer it.
17:13:40 <asiekierka> with BF software
17:13:48 <asiekierka> and some commends builtin
17:13:49 <asiekierka> dir
17:13:51 <asiekierka> echo
17:13:56 -!- cherez has joined.
17:13:59 <pikhq> Of course, I assume you'll mostly just want "How did you do this?"
17:13:59 <asiekierka> (oh wait, echo will be in BF)
17:14:09 <asiekierka> cat too
17:14:40 <pikhq> I'd recommend you just start off with a prompt for raw Brainfuck commands.
17:14:53 <pikhq> Anything more complex than that could be good for future version.
17:15:24 <RodgerTheGreat> pikhq: I appreciate the offer, but I'm going to try to do this on my own as much as possible. I'll let you know if I get stuck on anything
17:15:33 <asiekierka> but i will add 2 more commands anyway
17:15:35 <asiekierka> and stop it
17:15:36 <pikhq> RodgerTheGreat: Of course.
17:15:38 <asiekierka> only release bugfixes
17:15:44 <asiekierka> raw BF will not work with such thing
17:15:50 <asiekierka> there'll be one more command :DDD
17:15:59 <pikhq> For a first version, it will work perfectly.
17:16:13 <RodgerTheGreat> I mainly asked you about the variables to check and see if you'd come up with something insanely more clever than what I was thinking about. :)
17:16:14 <asiekierka> and then just bugfixes
17:16:17 <asiekierka> it'll be opensource
17:16:18 <pikhq> Just a prompt where you type in Brainfuck code. When it ends, the prompt comes back up.
17:16:23 <asiekierka> not only
17:16:25 <asiekierka> :D
17:16:35 <asiekierka> you type name of BF file OR BF code
17:16:40 <asiekierka> then it reads the BF file
17:16:52 <pikhq> RodgerTheGreat: I think you'd like to know about what I do with loops and cell clears, though.
17:17:05 <asiekierka> so you can save up to 1,33MB of BF stuff on a diskette
17:17:06 <RodgerTheGreat> we'll see
17:17:21 <pikhq> I try to keep track of whenever a cell is guaranteed to be 0, so that I can skip loops that will never run.
17:17:25 <asiekierka> i will later make 2 subversion
17:17:29 <asiekierka> versions*
17:17:37 <asiekierka> one will be basic BF with the one more command
17:17:44 <asiekierka> second will have anything that others add
17:18:00 <pikhq> asiekierka: Hmm. . .
17:18:12 <asiekierka> so?
17:18:22 <pikhq> I'm tempted to try working on that; I've needed an idea for a trivial OS to do.
17:18:44 <asiekierka> ok
17:18:45 <asiekierka> try then
17:18:48 <asiekierka> i'll surely use IT
17:18:50 <asiekierka> but
17:18:59 <asiekierka> 1) you need know-how to use any file-system read-only
17:19:02 <asiekierka> for my idea
17:19:07 <asiekierka> 2) you'll need BF know-how
17:19:14 <RodgerTheGreat> pikhq: in theory, you could fit a BF-OS into a bootloader quite readily
17:19:16 <asiekierka> 3) and file-reading know-how
17:19:17 <pikhq> Ans, of course, I have a lot of that.
17:19:18 <asiekierka> Yes...
17:19:22 <asiekierka> in THEORY
17:19:24 <asiekierka> it should work
17:19:24 <pikhq> RodgerTheGreat: Oh, absolutely.
17:19:32 <asiekierka> Original was 240b
17:19:41 <asiekierka> FAT12 reader can fit in ~250b i guess
17:19:44 <pikhq> The full floppy disk would be good for storing any Brainfuck programs, though.
17:19:47 <asiekierka> yes
17:19:49 <asiekierka> or nearly full
17:19:58 <asiekierka> eventually you put 1-5kb on floppy disk
17:20:19 <pikhq> So, I'd want to just fit a bootloader in the boot block, and make that load up BF-OS, along with a FAT16 reader.
17:20:28 <asiekierka> FAT12 or ext2
17:20:43 <pikhq> ext2, for usage from other folk's computers.
17:20:43 <asiekierka> if you have any space left
17:20:49 <asiekierka> or both
17:20:50 <asiekierka> !
17:20:53 <asiekierka> FAT12 and ext2
17:20:55 <pikhq> Err.
17:21:02 <asiekierka> i recommend first one
17:21:03 <pikhq> FAT16, so non-Linux users can do something with it.
17:21:12 <asiekierka> but floppies can't have FAT16 :P
17:21:15 <pikhq> Or FAT12; it'd depend upon floppy size.
17:21:19 <pikhq> Oh? News to me.
17:21:24 <asiekierka> i guess
17:21:28 <asiekierka> FAT12 first
17:21:34 <asiekierka> then add FAT16, 32, ext2, ext3
17:21:36 -!- asiekierka has changed nick to asie_idle.
17:21:38 <asie_idle> will be back soon
17:22:32 <asie_idle> I know of a person that did OS programming once
17:22:40 <asie_idle> so he could do it even in 2-3 days i guess
17:22:45 <asie_idle> once or twice
17:22:47 <asie_idle> i don't know
17:24:54 * pikhq hasn't done any, so it'd take a while longer
17:25:30 <asie_idle> so team up
17:25:34 <asie_idle> he probably knows english
17:25:39 <asie_idle> I will get him here later
17:26:03 <RodgerTheGreat> pikhq: how difficult would it be to trend PEBBLE towards being self-hosting?
17:26:18 <pikhq> To make PEBBLE self-hosting?
17:26:20 <pikhq> Rewrite.
17:26:40 <RodgerTheGreat> I know this. I'm asking how hard the rewrite would be.
17:26:45 <pikhq> I'd need to actually *write* a parser. . .
17:26:54 <RodgerTheGreat> you didn't?
17:27:00 <pikhq> And the "source" command wouldn't work at all. . .
17:27:16 <pikhq> No; PEBBLE's syntax is a subset of Tcl.
17:27:29 <RodgerTheGreat> aw, cheap
17:27:34 <pikhq> So, I just create a subinterpreter using Tcl's "interp" command, remove Tcl's own commands, and add in my own.
17:27:43 <RodgerTheGreat> I started building a system around StreamTokenizer
17:27:46 <pikhq> I need to redo that with a proper parser someday.
17:28:00 <pikhq> Unfortunately, I lack knowledge of BNF.
17:28:15 <RodgerTheGreat> BNF isn't the only way to build a parser
17:28:57 <RodgerTheGreat> I designed some simple programming languages and their interpreters long before I knew what things like BNF were
17:29:02 <pikhq> Yeah; it's just a way to specify your syntax.
17:29:09 <pikhq> And I know jack about parsers.
17:29:37 <RodgerTheGreat> it just breaks down into a state machine with some string manipulation crap
17:29:47 <pikhq> Ah.
17:32:44 <lament> bsmntbombdood: figured out haskell yet?
17:41:55 -!- asie_idle has changed nick to asiekierka.
17:41:58 <asiekierka> Hi HI HI HI
17:42:06 <pikhq> 'Lo.
17:45:41 <asiekierka> Look, if we have an interperter that we can write BF code directly to for MS-DOS
17:45:47 <asiekierka> we can try and run it from a floppy
17:45:47 <asiekierka> :)
17:45:50 <asiekierka> so we don't need to wait
17:45:53 <asiekierka> but it may NOT work
17:46:55 * pikhq thinks about just doing DJGPP from DOS
17:47:37 <asiekierka> nope
17:47:44 <asiekierka> i have an better idea
17:47:48 <asiekierka> and i will try!
17:47:55 <asiekierka> Is there any interperter like that?
17:48:05 <asiekierka> if yes, put it and bootsector on a floppy
17:48:07 <asiekierka> and just BOOT
17:48:14 <asiekierka> or compile BF code
17:48:17 <asiekierka> to stuff like that
17:48:33 <pikhq> Not quite; realise that a DOS program won't boot directly.
17:48:38 <asiekierka> ... i know
17:48:40 <asiekierka> but i did it once
17:48:42 <asiekierka> it runs it
17:48:46 <asiekierka> though really really limited
17:48:51 <asiekierka> 99% of stuff dosen't work
17:48:54 <asiekierka> but it's possible
17:49:02 <asiekierka> it just loads EXE in it's own method
17:49:04 <asiekierka> without DOS apis
17:49:07 <asiekierka> but some stuff WORKS!
17:49:31 <asiekierka> i still CAN go on and make a Pascal API emulator
17:49:37 <asiekierka> since some people implemented then in Pascal/ASM
17:50:18 <asiekierka> them*
17:50:22 <asiekierka> some of APIs
17:50:25 <asiekierka> it'll make more stuff work
17:50:33 <asiekierka> if we could put them into the bootloader
18:02:49 <asiekierka> anybody?
18:06:49 <asiekierka> Ramrod?
18:28:53 -!- asiekierka has quit.
18:40:33 -!- cherez has quit ("Leaving.").
18:50:35 -!- ehird` has joined.
18:52:10 <ehird`> RodgerTheGreat, i updated the mvldo site
18:52:18 <ehird`> loads of pages on the wiki: http://mvldo.nonlogic.org/wiki/index.php?title=Main_Page
19:07:16 -!- oerjan has joined.
19:26:22 -!- ihope has quit (Read error: 104 (Connection reset by peer)).
19:27:28 <ehird`> :)
19:41:27 <ehird`> ping
19:42:00 <oerjan> Gepongenpoken mit dem Fingerspitzgefhl
19:44:16 <ehird`> mvldo would not understand. :P
20:13:55 * pikhq has a remarkably slow idea for optimizing variable location. . .
20:14:14 <pikhq> Just test every permutation to try to find the shortest version.
20:15:57 <oerjan> this in Pebble?
20:17:08 <pikhq> Yeah.
20:17:34 <oerjan> so you would want to minimize a sum of absolute values of differences of locations...
20:17:45 <oerjan> i guess
20:17:55 <pikhq> RodgerTheGreat: My initial implementation of that algorithm managed to actually lengthen PFUCK.
20:18:26 <pikhq> 4943 characters with "optimized" variable location vs. 4558 without.
20:19:54 <oerjan> you could do local permutations, swapping only a small set
20:20:19 <oerjan> until you find a local minimum.
20:21:52 <pikhq> Or I could implement the optimization algorithm correctly.
20:22:13 <pikhq> I've currently got the highest-referenced variables at the beginning of the variable space, rather than in the middle.
20:27:42 <oerjan> it sounds sort of like a reversed traveling salesman problem, the path is fixed but the distances are not
20:36:27 <pikhq> Maybe only counting the +'s and -'s would help. . . Or figuring out how to weight each one. . .
20:40:38 <oerjan> that's what i meant with the sum of absolute values thing
20:41:04 <pikhq> RodgerTheGreat: Okay, I implemented *exactly* the algorithm specified. . .
20:41:07 <pikhq> And it seems to suck.
20:41:45 <bsmntbombdood> lament: ha, no
20:42:20 <pikhq> It's fairly consistently lengthening code.
20:42:40 -!- cherez has joined.
20:42:43 <pikhq> Even *remarkably* naive code.
20:50:34 -!- MichaelRaskin has left (?).
20:54:41 <pikhq> Ah. I see *why* it sucks. . .
20:54:53 <pikhq> Cherez and I figure that this *is* an NP problem. . . :/
20:55:13 <pikhq> RodgerTheGreat: I blame you for making me want to do this. :p
20:56:30 <bsmntbombdood> wait, how do you do variables in pebble?
20:57:31 <bsmntbombdood> how can you calculate an offset with something like .[[>+<-]>-]
20:58:17 <cherez> I think it can be generalized to a sequencing problem, (most of which are NP-complete.)
20:58:25 <pikhq> I've already explained it. . .
20:58:40 <pikhq> Variables are either explictly or dynamically assigned a location in Brainfuck memory.
20:59:16 <pikhq> State of where in Brainfuck memory the thing is is kept.
20:59:43 <pikhq> When a loop which ends somewhere different from where it began occurs, state is ignored until you tell the compiler where you are again.
21:00:11 <bsmntbombdood> how do you do that?
21:01:50 <pikhq> brainfuck.tcl in PEBBLE should be enlightening.
21:16:56 * pikhq curses at NP completness
21:32:10 <bsmntbombdood> all you need to do is to find a polynomial time solution to an NP complete problem
21:32:13 <bsmntbombdood> home free!
21:34:56 <pikhq> Why not say "all you need to do is solve the halting problem"?
21:36:09 <bsmntbombdood> because that's proven impossible
21:37:08 <bsmntbombdood> actually, inventing a machine to solve the turing halting problem would be better than proving P=NP
21:37:20 <bsmntbombdood> because you could use it to prove that
21:38:08 <oerjan> only if P actually is =NP
21:38:53 <bsmntbombdood> you could use it find if P did =NP
21:41:06 -!- sebbu3 has joined.
21:42:49 <ehird`> RodgerTheGreat, become alive! :P
21:43:22 <oerjan> i knew people here were insane but i didn't know they thought they were Jesus...
21:43:32 <ehird`> bsmntbombdood, i want the computer from http://qntm.org/responsibility
21:43:44 <lament> damn, parsec error messages aren't helpful at all.
21:44:03 <oerjan> they aren't?
21:44:33 <ehird`> bsmntbombdood, cat >script { calculate last digit of pi; solve halting problem; prove that the laws of thermodynamics are actually complete bullshit }; interpret natural language script
21:44:54 <bsmntbombdood> uhh, there is no last digit of pi
21:45:13 <oerjan> indeed not
21:46:15 <ehird`> read the story first please
21:46:26 <bsmntbombdood> icba
21:46:27 <ehird`> "But it was still pretty exciting stuff. Holy Zarquon, they said to one another, an infinitely powerful computer? It was like a thousand Christmases rolled into one. Program going to loop forever? You knew for a fact: this thing could execute an infinite loop in less than ten seconds. Brute force primality testing of every single integer in existence? Easy. Pi to the last digit? Piece of cake. Halting Problem? Sa-holved."
21:46:37 <ehird`> notable "pi to the last digit?"
21:47:28 <pikhq> ehird`, that guy is perhaps my favorite author. . .
21:47:36 <ehird`> pikhq, ditto
21:47:52 <pikhq> cherez: You may wish to join in on the Sam Hughes worship.
21:48:21 <ehird`> do we have to build him a shrine made out of nanobots or something?
21:48:33 <oerjan> "to the last" has a bit different connotation
21:48:50 <cherez> What does it involve?
21:49:18 <ehird`> oerjan, "to the last digit"
21:49:27 <ehird`> oerjan, If it can compute up to that -- it can display it
21:49:43 <ehird`> oerjan, The whole machine is impossible to *start* with - it can do impossible things
21:50:51 <cherez> Pi to any arbitrary digit maybe, but to the last is meaningless.
21:51:06 <ehird`> "Pi to the last digit? Piece of cake."
21:51:08 <ehird`> >last<
21:51:18 <bsmntbombdood> it doesn't have a last digit
21:51:22 <ehird`> Anyway, a computer with infinite power is meaningless in the first place
21:51:26 <ehird`> bsmntbombdood, i am well aware
21:51:44 <ehird`> bsmntbombdood, but this is clearly in an alternate universe where the impossible is possible
21:52:02 <ehird`> thus, it would be possible to get the last digit of pi... even though that is meaningless, which is why it's *fiction*
21:52:30 <bsmntbombdood> that's like saying it can find the largest integer
21:52:40 <pikhq> One would assume that that means that it calculates all of pi (and displays it infinitely small).
21:53:13 <pikhq> And in the context that they discuss it, one would assume that they mean that unliterally. . .
21:53:18 <ehird`> Sure.
21:53:23 <ehird`> But taking unliterally things literally is fun.
21:53:29 <pikhq> True.
21:53:48 <ehird`> Of course, this is why infinite calculation is such a bizzare paradox:
21:54:05 <ehird`> Computing all of pi requires it to terminate. It will terminate when the last calculation is done. Thus, at some point, it decides it knows the last digit of pi.
21:54:52 <cherez> Am I the only one who finds primality testing of every integer more interesting?
21:55:06 <pikhq> Yeah.
21:55:08 <pikhq> :p
21:56:39 <lament> mm this "haskell" thing is impossible to debug
21:56:42 <lament> :|
21:56:46 <pikhq> I prefer the idea of a superTuring system.
21:57:59 <lament> the existence of superturing systems doesn't contradict logic
21:58:05 <lament> the existence of the last digit of pi contradicts logic
21:58:09 <ehird`> cherez, I'd like to know the sum of N!
21:58:17 <lament> things that contradict logic are inherently boring because they're all equivalent
21:58:37 <ehird`> lament, the existance of anything that can compute infinites in less than infinite time and thus have infinite capability contradicts logic
21:58:41 <lament> so saying "calculate pi to the last digit" is equivalent to saying "round square", etc
21:58:48 -!- sebbu2 has quit (Read error: 110 (Connection timed out)).
21:58:58 <lament> ehird`: no it doesn't, actually.
21:59:16 <lament> ehird`: i'm using "logic" in the strict mathematical sense.
21:59:23 <ehird`> yes.
21:59:33 <pikhq> There is one way for one to calculate pi to the last digit.
22:00:03 <pikhq> If this infinity machine proves that, in fact, pi is *not* an irrational number, then it can find Pi's last digit trivially.
22:00:41 <lament> but it can't prove that, since it's already been disproven.
22:01:28 <cherez> Incompleteness theorem.
22:01:29 <pikhq> Even if it disproves the validity of those?
22:01:53 <lament> cherez: what
22:01:58 <pikhq> Hmm.
22:02:13 <pikhq> Instead, just ask the thing for an *elegant* proof of Fermat's last theorem.
22:02:15 <cherez> An arithmetic mathematic system cannot be proven to be internally consistent.
22:02:18 <pikhq> Now *that* would be interesting. . .
22:03:27 <cherez> It's conceivable that a contradiction could be found in basic arithmetic which could mean we have to throw the whole thing out.
22:04:34 <lament> true.
22:06:22 <oerjan> numbers above 10^40 might be inconsistent...
22:07:07 <cherez> I doubt it would be anything like that, but it can't be proven with our mathematics system.
22:08:05 <ehird`> oerjan, um, why?
22:08:15 <ehird`> 10^40 + 1 = universe collapses!
22:08:43 <cherez> >>> 10**40+1
22:08:43 <cherez> 10000000000000000000000000000000000000001L
22:08:51 <cherez> We're ok, guys!
22:08:51 <bsmntbombdood> zomg
22:09:05 <cherez> Wait, I think my closet collapsed.
22:09:07 <oerjan> because!
22:09:17 <oerjan> no, not all numbers but _some_
22:09:34 <lament> phew thank god i solved the problem!
22:09:42 <cherez> We can't prove that they don't.
22:09:48 <lament> i had to use endBy1 instead of sepBy1
22:10:21 <ehird`> lament, the HALTING problem??!1111
22:10:46 <oerjan> Parsec's power is immense.
22:10:58 * pikhq proposes a new Nobel prize. . .
22:11:06 <pikhq> The Nobel DidTheImpossible prize.
22:11:09 <cherez> I think it's called the Turing prize.
22:11:22 <pikhq> No, that's for AI.
22:11:29 <cherez> Good.
22:11:44 <cherez> It would be unfair to give a guy Turing's award for stealing Turing's unsolvable problem.
22:11:44 <ehird`> and the first winner of Nobel DidTheImpossible prize is... a speck of dust!
22:11:53 <ehird`> then whoever awarded that wins the didtheimpossible award
22:11:53 <pikhq> Of course, if you discover an AI that solves the halting problem, then you win.
22:11:56 <ehird`> ad infinium
22:12:02 <oerjan> i think it should be the Adams prize
22:12:35 <cherez> I'm pretty sure the halting problem is provably unsolvable.
22:12:45 <cherez> At least in the most general sense.
22:12:45 <bsmntbombdood> I'm pretty sure it's been proven
22:13:20 <cherez> At least, a program that can analyze whether it itself halts is contradictory.
22:13:29 <cherez> Halt if and only if it doesn't halt.
22:14:01 <cherez> You can solve the halting problem for any arbitrary machine with finite memory.
22:14:18 <pikhq> Using a machine with greater memory, of course.
22:14:48 <cherez> Right, just run it until the state repeats or it halts, recording each state as you go.
22:14:58 <bsmntbombdood> the max shifts function is computable on machines with finite memorys
22:15:59 <cherez> The Busy Beaver function?
22:16:04 <lament> woohoo i wrote my first parser
22:16:10 <lament> (in parsec)
22:18:37 <cherez> Now make it self-hosting.
22:19:06 <bsmntbombdood> interpreters are self-hosting, not parsers
22:19:36 <oerjan> that would sort of defeat the purpose of using parsec
22:19:43 <pikhq> He's just being evil. ;)
22:20:12 <cherez> It should at least be able to parse its own code.
22:20:54 * oerjan makes note to self: never run your own universe as a simulation.
22:21:40 <lament> cherez: it doesn't parse anything attempting to be a turing-complete language.
22:21:59 <lament> although i suppose you don't need turing-completeness to be a parser.
22:22:00 <RodgerTheGreat> I'm back
22:22:10 <bsmntbombdood> woohoo
22:22:12 <oerjan> it's alive!
22:22:28 <RodgerTheGreat> pikhq: dayum. It seemed intuitive that the algo I described could work... hm.
22:22:36 <cherez> Who attempts to be Turing-complete?
22:22:40 <pikhq> RodgerTheGreat: I may have done something horridly wrong.
22:23:07 <RodgerTheGreat> I'll do some work on it once I get my compiler off it's feet
22:23:17 <pikhq> Looking at it some more, I'm sure that I did. . .
22:23:20 <pikhq> a3 8.0} {a1 9.5} {a2 10.0} {call_itoa 21.0} {i 21.5} {temp2 24.75} {temp0 318.25} {temp1 283.25} {temp4 55.5} {opcode 41.25} {temp3 33.75} {no_match 25.25} {temp2 24.75}
22:23:32 <pikhq> +- is 1, ., is 0.5, [] is 0.25
22:24:32 <RodgerTheGreat> tweaking your weighting values around a bit ought to at least help
22:25:30 <oerjan> why would you want anything but +- counted?
22:25:48 <pikhq> The issue is that it's not actually getting the variable location assignment right.
22:26:01 <RodgerTheGreat> ah
22:26:23 <pikhq> oerjan: It's measuring cell accesses, weighted towards +-.
22:26:26 <RodgerTheGreat> oerjan: because all operations done with a cell indicate it's being used for something
22:26:49 <RodgerTheGreat> we're trying to rank things based on how often they're used
22:26:53 <cherez> Why not measure the number of times each cell has to be reached?
22:27:05 <RodgerTheGreat> hm. that is a point
22:27:06 <oerjan> oh, i thought you were just concerned with program length
22:27:30 <pikhq> Got a simple way to make a sorted list go to having the highest things in the center?
22:27:49 <RodgerTheGreat> a fucked up bubblesort. :D
22:27:51 <pikhq> Like, from "5 4 3 2 1" to "1 3 5 4 2"
22:27:52 <cherez> If 1 cell is incremented a ton of times then left to rot, it only is a block in the middle.
22:28:04 <pikhq> cherez: You have a point.
22:28:11 <cherez> And belongs on an edge.
22:28:21 <RodgerTheGreat> pikhq: actually, take the second half of the list and flip it
22:28:27 <cherez> I'd count the number of nonconsecutive accesses.
22:28:32 <RodgerTheGreat> then you have low to high to low
22:28:34 <RodgerTheGreat> ish
22:28:37 <pikhq> RodgerTheGreat: Tried.
22:28:42 <RodgerTheGreat> damn
22:29:00 <pikhq> On my example, that produces "5 4 1 2 3" or "1 2 5 4 3"
22:29:25 <RodgerTheGreat> sort them and then start a new list, and then insert them, in order, to the center of the new list
22:29:34 <RodgerTheGreat> then it should grow outwards from the center
22:29:46 <RodgerTheGreat> use a Vector of some kind
22:30:28 <pikhq> There's a though.
22:30:37 <cherez> Are we trying to produce the shortest BF?
22:30:45 <pikhq> Just a sec while I experiment with cherez's idea.
22:30:49 <pikhq> Yeah.
22:30:52 <RodgerTheGreat> yes. cell access optimization
22:31:13 <cherez> Since compiling it to C you can easily reference any pointer in 1 line.
22:31:59 <pikhq> In C, it doesn't matter.
22:33:34 <ehird`> RodgerTheGreat, hey
22:33:40 <RodgerTheGreat> hey
22:33:47 <ehird`> i wrote some stuff about mvldo http://mvldo.nonlogic.org/wiki/index.php?title=Main_Page
22:33:49 <RodgerTheGreat> looking good so far on the wiki
22:33:52 <ehird`> ah
22:33:54 <ehird`> you've read it :)
22:33:56 <ehird`> ok
22:34:01 <RodgerTheGreat> :)
22:35:53 <pikhq> {opcode 69} {temp2 0} {call_itoa 0} {temp3 0} {no_match 0} {temp4 0} {i 0} {a1 0} {a2 0} {a3 0} {temp0 0} {temp1 0}
22:35:57 <pikhq> That can't be right. . .
22:36:15 <pikhq> Oh. Did it wrong. XD
22:36:30 <ehird`> RodgerTheGreat, anything you'd suggest changing/adding?
22:36:37 <cherez> Freudian slip?
22:36:50 -!- oerjan has quit ("Good night").
22:37:16 <ehird`> cherez, what where
22:37:33 <RodgerTheGreat> ehird`: aside from additional content I dunno... a cool logo of some kind for the top left corner?
22:37:39 <cherez> {opcode 69} {temp2 0} {call_itoa 0} {temp3 0} {no_match 0} {temp4 0} {i 0} {a1 0} {a2 0} {a3 0} {temp0 0} {temp1 0}
22:37:49 <ehird`> RodgerTheGreat, heh, i meant in terms of the actual bot design :)
22:37:52 <ehird`> cherez, ah
22:37:53 <cherez> We know what pikhq programmed his compiler to do.
22:37:54 <RodgerTheGreat> oh, yes. "LOL 69"
22:38:09 <cherez> I was talking about the 0 you perv.
22:38:17 <ehird`> i think i shall laugh whenever the number 4 comes up.
22:38:19 <ehird`> why?
22:38:26 <ehird`> because it's the number i laugh at when it comes up, obviously!
22:38:39 <pikhq> Odd.
22:38:52 <RodgerTheGreat> ehird`: are you going to be using markov chains?
22:38:55 <cherez> Is the code too optimum?
22:38:59 <pikhq> Somehow, gotos to opcode are now *not* being counted, but gotos to everything else *are*.
22:39:03 <ehird`> RodgerTheGreat, no, we've already discussed that :p
22:39:15 * pikhq uses goto to mean "go to a memory location" in PEBBLE, BTW
22:39:35 <ehird`> RodgerTheGreat, see the Response page
22:40:44 <RodgerTheGreat> "You can almost taste the peer pressure, can't you?"
22:40:57 <pikhq> My stupidity.
22:41:50 <ehird`> RodgerTheGreat, :)
22:42:15 <RodgerTheGreat> pikhq: what's borked?
22:42:17 <ehird`> with enough persuasion, it will believe 2+2=5!
22:42:43 <pikhq> RodgerTheGreat: I just forgot to keep track of the location in the varopt pass.
22:42:57 <RodgerTheGreat> ah
22:43:27 <pikhq> Now, we're still getting something inefficient. . .
22:43:41 <pikhq> Maybe measure the distant it has to move?
22:43:58 <RodgerTheGreat> is it somewhat less horrible, at least?
22:44:15 <RodgerTheGreat> OOoooh
22:44:18 <RodgerTheGreat> idea-
22:44:36 <RodgerTheGreat> we could represent mappings of locations as a graph structure
22:44:48 <pikhq> It's behaving as I expect, at least.
22:44:56 <RodgerTheGreat> each variable keeps track of others that are accessed before or afterwards
22:45:22 <cherez> Forgetfulness has a typo!
22:45:31 <cherez> Clearly wikis aren't a reliable source of information.
22:46:23 <ehird`> cherez, oh no
22:46:27 <ehird`> well fix it then =p
22:46:54 -!- immibis has joined.
22:46:55 <cherez> Can't you see I represent traditionalist views of knowledge!
22:47:39 <cherez> It would be against my character to try to fix a wiki when I can instead condemn it and try to sell my $50 textbook.
22:48:36 <RodgerTheGreat> speaking of textbooks, who's interested in some lucrative deals? Who'll bid on a copy of "The C++ Programming Language"?
22:49:07 <cherez> $4
22:49:22 <RodgerTheGreat> [reserve not met]
22:49:26 <ehird`> $891
22:49:35 <bsmntbombdood> haha c++
22:49:48 <ehird`> if i ever write a C compiler
22:49:49 <cherez> $15.88
22:49:52 <ehird`> this will be an easter egg:
22:49:54 <RodgerTheGreat> yeah, fuck this language and in particular fuck this book
22:50:14 <cherez> What did the book do?
22:50:15 <ehird`> typedef language int; language C = <C standard number - 89, or 99>; C++; /* rest of program is in C++ */
22:50:45 <immibis> er, isn't thaat
22:50:47 <immibis> oops
22:50:52 <immibis> you mean typedef int language;
22:51:12 <RodgerTheGreat> cherez: it's poorly written, while still conveying a mindblowing degree of smugness in the forging of this stillbirth of a language
22:51:12 <cherez> That would be a lot of extra work for an easter egg.
22:51:25 <immibis> language C=C++; ?
22:51:40 <immibis> what would C be then?
22:51:42 <cherez> Ya, I'd be embarrassed if I made C++.
22:51:48 <pikhq> Bad theory. . .
22:52:02 <RodgerTheGreat> I'm slowly warming up to C proper, though, I must say
22:52:12 <ehird`> how about just
22:52:18 <bsmntbombdood> c is so much better than c++
22:52:18 <ehird`> language C++;
22:52:23 <ehird`> where C is something
22:52:23 <ehird`> nah
22:52:26 <ehird`> not easter-eggy enough
22:52:32 <ehird`> i need something that's valid C code
22:52:35 <RodgerTheGreat> I consider C a poorly designed language, but C++ compounds it with mind-numbing degrees of idiocy
22:52:45 <ehird`> perfectly valid C code containing C++
22:52:48 <immibis> such as what?
22:52:51 <cherez> language C=C++; is valid but undefined.
22:52:52 <bsmntbombdood> C isn't poorly designed
22:53:03 <bsmntbombdood> it's very nice for it's purpose
22:53:08 <RodgerTheGreat> C wasn't poorly designed when it was initially made
22:53:37 <immibis> //This is C++
22:53:39 <immibis> that's valid c
22:53:43 <immibis> and it contains C++
22:53:54 <ehird`> immibis, har har har
22:53:58 <ehird`> cherez, undefined = :(
22:54:13 <ehird`> anyway
22:54:15 <ehird`> that's
22:54:18 <ehird`> language C = (C += 1)
22:54:22 <ehird`> well, kind of
22:54:24 <ehird`> ++C would be that
22:54:27 <ehird`> but either way
22:54:32 <ehird`> its not just undefined; its completely meaningless
22:54:49 <cherez> Which is why it's a good easter egg.
22:54:53 <immibis> language C=C+1;
22:54:57 <cherez> No one will code like that seriously.
22:55:11 <immibis> C+=C++ + ++C;
22:55:20 <cherez> If they do, they probably meant to use C++ anyway.
22:55:50 <immibis> C+=C++ + ++C - (C -= C-- - --C)
22:56:09 <cherez> what's unclear is whether C = C++ should compile to:
22:56:23 <cherez> temp = C
22:56:23 <cherez> C++
22:56:23 <cherez> C = temp
22:56:27 <cherez> or
22:56:31 <immibis> C+=C++ + ++C - C-- - --C
22:56:35 <cherez> temp = C
22:56:35 <cherez> C = temp
22:56:35 <cherez> C++
22:56:35 <ehird`> okay, how about:
22:56:48 <ehird`> int C = (language)<89 or 99>;
22:56:49 <ehird`> C++;
22:56:54 <ehird`> /* IN C++ */
22:57:00 <ehird`> it's the casting to (language) y'see.
22:57:18 <immibis> probably temp=C, C=temp, C++
22:57:25 <cherez> int C = (language)<89 or 99 or k&r>
22:57:48 <immibis> int k=rand(); int r=rand();
22:57:51 <cherez> immibis: It can mean either, and compilers have been written that assumed both.
22:57:54 <immibis> you need to define k&r first
22:58:00 <cherez> One compiler produced C = C + 2 somehow.
22:58:26 <ehird`> cherez, the <> is metaphorical
22:58:31 <ehird`> you put whatever C version you're compiling in there
22:58:44 <ehird`> i.e. "int C = (language)89" C is the language I am using, it is C89
22:58:46 <ehird`> C++ -> zoom
22:59:01 <immibis> you need brackets. (C++)->zoom, don't you?
22:59:18 -!- jix has joined.
22:59:22 <immibis> struct {int zoom;} *C;
23:00:13 <ehird`> no
23:00:17 <ehird`> what i mean is:
23:00:19 <ehird`> C++ means zoom
23:00:25 <ehird`> So:
23:00:25 <immibis> well at least you need to define C first.
23:00:31 <ehird`> /* using C89 */
23:00:35 <ehird`> int C = (language)89;
23:00:36 <ehird`> C++;
23:00:40 <ehird`> /* using C++ */
23:00:43 <immibis> struct {int zoom;} *C; C++ -> zoom
23:00:52 <ehird`> i didn't mean zoom in that way
23:00:55 <ehird`> it was a diagram
23:00:59 <ehird`> "C++" -> zoom
23:01:14 <immibis> you can't use -> on a string
23:01:41 <immibis> only on a class, struct, or union
23:01:50 <pikhq> w00t. . .
23:01:59 <pikhq> Finally got variable assignment down to something sane.
23:02:22 <ehird`> immibis, stop that!
23:02:23 <pikhq> Unfortunately, *still* elongating programs.
23:02:25 <ehird`> you know what I meant!!!!
23:02:32 <pikhq> 4866 vs. 4558.
23:02:34 <ehird`> it was an arrow of illustration! not a peice of code!!
23:02:37 <immibis> ok
23:02:54 <immibis> 486
23:02:56 <immibis> oops
23:03:10 <ehird`> pikhq, does pebble allow macros to compute something at compile time?
23:03:16 <pikhq> {a1 9} {i 24} {call_itoa 27} {opcode 43} {temp4 68} {temp1 271} {temp0 252} {temp3 45} {temp2 35} {no_match 25} {a2 10} {a3 8}
23:03:19 <ehird`> and if so does it have a push_brainfuck_code_to_src or similar?
23:03:22 <pikhq> ehird`: Not really.
23:03:27 <cherez> Just think of it as 7% worse.
23:03:29 <ehird`> if so, you can implement subroutines and just about anything in itself
23:03:53 <pikhq> It's not that complex of a macro language.
23:04:06 <pikhq> Think "C preprocessor", not "Lisp macros".
23:04:13 <cherez> Is that using the weighting method I suggested?
23:04:20 <pikhq> Yeah.
23:04:28 <pikhq> Each goto counts as 1.
23:04:34 <pikhq> And now it's got each bit centralised.
23:04:49 <pikhq> Let's see how it works on my game, which is much more naive. . .
23:04:52 <ehird`> pikhq, i was thinking of implementing, like, a function system in it
23:04:55 <ehird`> using a stack and stuff.
23:05:26 <ehird`> sub would be a macro which compiled some stack-stuff to push the function, then it'd create the function's name as a macro which would expand to the calling code
23:05:45 <ehird`> i guess maybe i could do that using low-level commands?
23:06:01 <pikhq> Maybe. . .
23:06:24 <pikhq> The naive game is 41177 chars with optimisation, and 37324 without.
23:06:45 <pikhq> I think that I'm better at figuring what's good out than my compiler is.
23:08:10 <pikhq> RodgerTheGreat: Didn't you suggest something about fiddling with sequential access?
23:08:30 <RodgerTheGreat> kinda
23:08:34 <pikhq> (that'd be much harder to implement, but I bet it'd be a bit more efficient)
23:08:42 -!- ehird` has quit (Read error: 104 (Connection reset by peer)).
23:09:53 -!- sebbu3 has quit ("@+").
23:26:40 <lament> damn. Programming requires thinking.
23:27:15 <bsmntbombdood> suprise suprise
23:27:22 <lament> :(
23:27:26 <lament> bsmntbombdood: how's haskell going?
23:27:44 <bsmntbombdood> not studying right now
23:29:02 <lament> when you get the basics, look at parsec ( http://legacy.cs.uu.nl/daan/download/parsec/parsec.html ) and you'll realize how awesome haskell is.
23:29:23 <bsmntbombdood> ok
23:29:59 -!- jix has quit ("CommandQ").
23:37:31 <lament> http://www.wired.com/culture/education/news/2007/08/winniecooper_QA
23:38:14 <bsmntbombdood> vlech
23:38:45 <bsmntbombdood> *blech
23:42:56 <lament> that's so cool
23:50:06 -!- pikhq has changed nick to pikhq_.
23:50:43 -!- pikhq_ has changed nick to pikhq.
←2007-08-02 2007-08-03 2007-08-04→ ↑2007 ↑all