00:59:42 <ehird`> it appears coldfusion is not turing complete
00:59:49 <ehird`> based on the fact that you can't implement coldfusion in coldfusion
01:03:54 <bsmntbombdood> that means it could be more powerful than a turing machine
01:19:21 -!- ehird` has quit.
01:34:43 -!- Tritonio has quit (Remote closed the connection).
02:08:45 -!- SEO_DUDE has quit (Read error: 104 (Connection reset by peer)).
02:18:52 -!- SEO_DUDE has joined.
02:37:50 -!- SEO_DUDE has quit (Remote closed the connection).
03:07:38 -!- Rodger-Labs has left (?).
03:15:00 -!- importantshock has joined.
03:49:28 -!- poiuy_qwert has joined.
04:40:16 -!- zuzu_ has joined.
04:44:30 -!- importantshock has quit.
04:54:16 -!- poiuy_qwert has quit.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:20:42 -!- immibis has joined.
08:21:09 -!- immibis has left (?).
09:05:01 -!- RedDak has joined.
09:49:51 -!- oerjan has joined.
10:46:12 -!- SEO_DUDE has joined.
11:55:29 -!- ehird` has joined.
12:19:27 -!- RedDak has quit ("I'm quitting... Bye all").
12:40:44 -!- sebbu2 has joined.
12:54:50 -!- sebbu2 has quit ("@+").
12:59:05 -!- sebbu has quit (Read error: 110 (Connection timed out)).
13:03:37 -!- puzzlet_ has quit (Remote closed the connection).
13:15:40 -!- oerjan has quit ("leaving").
13:38:16 -!- sebbu has joined.
14:03:16 -!- jix has joined.
14:04:15 -!- SEO_DUDE has quit (Read error: 104 (Connection reset by peer)).
14:26:36 -!- Tritonio has joined.
14:33:09 -!- jix has quit (kornbluth.freenode.net irc.freenode.net).
14:33:44 -!- jix has joined.
14:34:28 -!- Overand has quit (Remote closed the connection).
14:34:31 -!- Overand has joined.
14:36:38 -!- lament has quit (Remote closed the connection).
14:36:46 -!- lament has joined.
14:51:24 -!- jix has quit (Nick collision from services.).
14:51:36 -!- jix has joined.
15:14:22 <bsmntbombdood> i wonder if you can make a turing-complete system out of differential and integral calculus
15:15:36 <oklopol> a rotten apple in the end of a string is tc
15:26:28 -!- Sgeo has joined.
15:28:12 * Sgeo wonders if he should include some function somewhere for putting 0x00 in the input stream
15:28:25 <Sgeo> Might be nice for some input processing..
15:48:05 -!- ihope has joined.
15:50:20 -!- ihope has quit (Client Quit).
15:51:31 -!- ihope has joined.
15:53:10 <ihope> How very interesting.
15:53:38 -!- importantshock has joined.
16:00:07 <ihope> Can't forget that !.
16:01:12 <EgoBot> BDSM: Parsing: Cannot evaluate number in compilation time (index: 2, row: 1, col: 3)
16:03:04 -!- puzzlet has joined.
16:03:22 -!- importantshock has quit (Remote closed the connection).
16:05:12 <Sgeo> Hi ihope and puzzlet
16:05:19 * Sgeo pokes his question
16:05:23 * Sgeo wonders if he should include some function somewhere for putting 0x00 in the input stream
16:06:01 <ihope> Seems a little pointless.
16:06:11 <ihope> Also, why limit it to 0x00?
16:06:51 <Sgeo> The input function, when set to read a newline, might be easier to process with a 0x00 added..
16:07:02 <Sgeo> There might be other things like that..
16:07:23 <Sgeo> Maybe I should just add a 0x00 after the 0x0A from that, instead of a function for adding characters?
16:07:27 <ihope> I don't see what you mean.
16:09:50 <Sgeo> In http://sgeo.diagonalfish.net/esoteric/psox.txt under Pseudodomains
16:10:16 <Sgeo> Should I just add a complimentary 0x00?
16:25:34 <ihope> http://pastebin.ca/692103
16:25:52 <ihope> My opinion on all this.
16:32:30 <ihope> Slightly revised version: http://pastebin.ca/692113
16:35:48 * Sgeo fails to see how that integrates with the current state of PSOX
16:35:57 <ihope> It's an alternative to PSOX.
16:36:46 <ihope> (An alternative to PSOX that happens to be able to switch to PSOX, if the implementation feels like allowing that to happen.)
16:43:31 <Sgeo> ihope, you want PSOX to be able to do arbitrary x86 stuff?
16:44:12 <ihope> Yet another version, with a magic number this time: http://pastebin.ca/692131
16:44:54 <ihope> Well, it's not PSOX, and the implementation (server, I guess) need not allow the program to do that.
16:46:24 -!- SEO_DUDE has joined.
17:14:35 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
17:18:21 -!- Sgeo has joined.
17:21:03 <SimonRC> heheh: http://crave.cnet.co.uk/0,39029477,49292669-1,00.htm
17:21:04 <SimonRC> Challenge: create similar images for: ZBB, DeviantArt, 4chan
17:38:53 <Sgeo> SimonRC, do you think it's easy enough for a BF program to process newlines in the current version of PSOX?
17:40:03 <SimonRC> dunno, I haven't been keeping track
17:40:20 <Sgeo> http://sgeo.diagonalfish.net/esoteric/psox.txt under Pseudodomains
17:50:02 <Sgeo> pokity poke poke poke
17:51:56 -!- puzzlet has quit (Remote closed the connection).
18:17:59 -!- Tritonio has quit (Read error: 104 (Connection reset by peer)).
19:09:13 -!- puzzlet has joined.
19:42:54 -!- SEO_DUDE has quit (Remote closed the connection).
19:53:38 -!- SEO_DUDE has joined.
20:01:22 * Sgeo should work on PSOX
20:01:42 -!- ehird` has quit (Read error: 104 (Connection reset by peer)).
20:02:20 -!- ehird` has joined.
20:07:18 * Sgeo needs to foce himself to get working on PSOX
20:08:25 * ehird` is trying to figure out even one usage case for emacs
20:08:27 <oklopol> try poking yourself, it seems to work so well for everyone else :)
20:19:06 <ihope> Sgeo: define some constants for http://pastebin.ca/692131 instead? :-P
20:19:57 <Sgeo> If you want raw x86 access, define a PSOX domain
20:24:31 <ehird`> i was just referring to my hunt for emacs-usage-cases. i can't even think of an esoteric one!
20:25:35 -!- Tritonio has joined.
20:26:35 <SimonRC> ehird`: what do you edit with?
20:28:00 <ihope> Is http://sgeo.diagonalfish.net/esoteric/psox.txt a complete spec for the current state of PSOX?
20:28:24 <Sgeo> I'm probably going to remove RStrings
20:28:32 <Sgeo> Er, there is another document outside of that file
20:29:01 <Sgeo> http://sgeo.diagonalfish.net/esoteric/psox-safety.txt will be part of it
20:29:13 <Sgeo> And of course, the files referred to by psox.txt
20:31:22 <ihope> http://sgeo.diagonalfish.net/esoteric/psox-utils.txt, you mean?
20:31:40 <Sgeo> There will be more files:
20:31:48 <Sgeo> One for the File I/O domain, and one for HTTP
20:31:56 <ehird`> SimonRC: but never emacs. =)
20:32:06 <ihope> Sgeo: mine's much simpler :-P
20:32:07 * SimonRC uses emacs for Haskell and vi for system stuff
20:32:33 <SimonRC> "for (int o=0; o<rng->Get(5)+1; o++)" <--- I bet the author didn't indend that
20:32:51 <ihope> (The x86 thing was just an example.)
20:32:57 <Sgeo> ihope, and less flexible >.>
20:33:02 <ehird`> ((why are you in #LOLCODE? you joined in my scathing criticism of it in here when it was first released :P))
20:33:12 <Sgeo> How would people add their own things and not risk conflicts?
20:34:11 <SimonRC> remember, I am the reason the 2-armed if comes in 72 different syntaxes
20:34:44 <ihope> SimonRC: pff, 72? 71 would be much more impressive :-P
20:34:49 <SimonRC> every time people disagreed about anything, I just
20:35:06 <SimonRC> involked the spirit of PL/I and sugested they compromise
20:35:09 <ihope> Sgeo: oh, someone could create a "switch" raw format or something.
20:35:57 <ehird`> "LOLCODE should be clean and kid-safe." -- wikipedia article
20:36:01 <ehird`> shit, are they gonna make kids use this stuff?
20:36:10 <ehird`> i fear for the next generation of programmers
20:36:38 <SimonRC> this generation grew up with BASIC
20:36:45 <SimonRC> ah, shit, I see what you mean
20:36:55 <ehird`> this generation uses PHP
20:37:09 <ihope> Does this mean that "shit" is going to be LOLCODE syntax? :-P
20:39:32 <ehird`> http://lolcode.com/contributions/contributions how much of this crap did you make, SimonRC?
20:40:33 <ehird`> "This describes continuations, or as we like to call them (rather confusingly), threads. " <-- what.
20:42:24 <SimonRC> I only contributed to the 1.0 spec; I missed the other meetings. http://lolcode.com/specs/1.0
20:43:15 <ehird`> Since all variables are arrays, <-- please tell me you did that
20:45:13 <Sgeo> Wasn't that in the factory language?
20:45:48 <ehird`> i honestly don't know but its such a retarded idea that it has to be a troll
20:47:06 * ihope ponders generalization
20:47:56 <ihope> I want a language feature that all other language features are really just instances of.
20:48:22 <ehird`> ihope: make it a Language Feature specification system
20:48:35 <ehird`> (Aka a turing-complete programming language so you can implement the features...)
20:49:49 <ihope> Maybe all language features are either checks or... um, that other thing.
20:49:52 <lament> all variables are arrays in MATLAB.
20:50:04 <ihope> What are they arrays of?
20:50:33 <ihope> Hey, you can do worse: all variables could be parsers :-)
20:50:44 <ihope> All values, rather.
20:51:07 <lament> ihope: numbers, usually.
20:51:11 <lament> ie, variables are matrices
20:51:34 <lament> setting a variable to a number actually sets it to be a 1x1 matrix.
20:52:05 <ihope> I'm guessing you don't have first-class functions in this language.
20:53:02 <ihope> Those could be hard to represent as matrices of numbers.
20:53:02 <fizzie> MATLAB has anonymous functions (stuff like "@(x) x*x") you can pass as parameters and return as values; but they might not do lexical closures or anything. Don't remember the details.
20:53:38 <fizzie> Not everything is an array there; but there are no non-array numeric types, all numbers are 1x1 arrays.
20:54:36 <Sgeo> Ok, see the "get newline" thing for the PSOX Pseudodomain input?
20:54:42 <Sgeo> Should I have a 0x00 come after it?
20:55:54 * Sgeo pokes lament and fizzie and SimonRC
20:56:18 <Sgeo> pikhq should probably have a say too
20:56:19 <fizzie> I haven't been following that particular discussion, so unable to comment.
20:56:23 <Sgeo> And ihope if he's interested
20:57:10 <ehird`> Sgeo - do you do anything but psox
20:57:36 <Sgeo> Browsing various flash movies right now :/
21:01:52 <ehird`> am i the only one who thinks http://esoteric.voxelperfect.net/files/fugue/src/hworld.mid is nice and tuneful?
21:02:17 <lament> you might possibly be the only one to listen to it.
21:03:14 <Sgeo> Listening to midi's == difficult
21:04:28 <ehird`> people should write more Fuge code
21:04:42 <ihope> I like this: http://www.stephensykes.com/choon/choonmul.wav
21:05:15 <ehird`> and then remake it in garageband or whatever with effects so you have the soundtrack for the next wtar sars movie and also a program to print 99 bottles of beer.
21:05:18 -!- oerjan has joined.
21:05:25 <ihope> This is even better: http://www.stephensykes.com/choon/choondiv.wav
21:06:58 <SimonRC> choon doing division sounds great
21:07:06 <ehird`> http://www.stephensykes.com/choon/choon.html this
21:08:27 <lament> my main complaint about choon was that it was monophonic
21:08:55 <ehird`> The John Cage instruction ('%') causes a one note silence in the output stream.
21:09:02 <ehird`> shouldn't that be 4:33 of silence?
21:09:46 <lament> but choon sounds nice and sci-fiish
21:10:37 <lament> Fugue gives much more freedom to the programmer and it's entirely possible to write decent-sounding music in it
21:10:55 <Sgeo> But... it's MIDI argharghargh!
21:11:24 <ehird`> http://www.stephensykes.com/play/index.html What the hell is this
21:11:52 <ehird`> i think it's a rubik's cube
21:12:07 <lament> Sgeo: hm, on my computer, i just have to enter the URL into firefox.
21:12:31 <lament> although i'm sure on windows the behavior is the same
21:12:38 * Sgeo is using Linux and a sound card with no decent MIDI support
21:12:53 <lament> well, why are you using an inferior os? :)
21:13:23 -!- fax has joined.
21:14:39 <fax> I am using os x
21:16:05 -!- jix has quit ("CommandQ").
21:17:32 <ihope> I'm using, um, Windows.
21:17:45 <ihope> (Yup. It's called, um, Windows now.)
21:19:10 * Sgeo decides to take inspiration from the inspiration for PSOX
21:20:22 <Sgeo> Funny, you know, the thing that caused me to consider safety features was little '*' by some functions indicating that it should ask the user first..
21:23:38 * ihope ponders queues in Choon
21:23:47 <ihope> If you can't implement a queue, it's not Turing-complete.
21:24:23 <oerjan> can you implement two stacks?
21:24:40 <oerjan> that can simulate a deque, i think
21:24:44 <ihope> I think that's of equal difficulty.
21:24:57 <oerjan> (also a turing tape, as you probably know)
21:25:02 <ihope> It can simulate a tape easily, which is equivalent to a queue.
21:25:19 <ihope> ...if not more powerful than a queue.
21:25:48 <ihope> No, a queue can simulate a tape.
21:27:00 <Sgeo> OSHI--- if I didn't reread the Easel API, I would have forgotten about time functions.
21:29:25 <SimonRC> also, if you have 3 registers that can hold nats, and some simple arithmatic, you have turing completeness
21:29:48 <ihope> I'm pretty sure a queue can simulate a tape.
21:29:58 <ihope> Ah, yes, Minsky machine.
21:30:15 <SimonRC> (you can use div and mod to get chunks of bits off the bottoms of the numbers, and mult and add to put them on, so you effectively have 2 stacks)
21:31:52 <ihope> Yeah, you can increment and decrement with transpositions and test with the tuning fork.
21:32:59 <ihope> A tape from a queue?
21:33:36 <fizzie> No, I think it was "how do you tape a stack from a queue".
21:33:48 <ihope> Have an end-of-tape marker embedded in it somewhere. Zeros can be added on either side of the end-of-tape marker as necessary.
21:33:58 <SimonRC> you fold the tape into a loop, and have a symbol to represent the beginning-end of the tape, and keep going round it a lot
21:34:56 <ihope> And a head marker, too.
21:35:24 <ihope> Put the head marker in right before the word the head is "over".
21:35:44 <SimonRC> you will need a couple of registers too, I think
21:36:05 <ihope> Finite storage, yes.
21:36:15 <bsmntbombdood> a queue has two operations: push, pop. implement the 4 tape operations left, right, read, write
21:37:17 <SimonRC> well, going left right is easy...
21:37:48 <SimonRC> you will have a register to hold th currently value
21:38:08 <SimonRC> you push the current value, then pop a new one
21:38:09 <ehird`> minsky machines are pretty crazy
21:38:22 <ehird`> i bet the most minimal esolang could come from one
21:38:40 <ihope> ehird`: I think BCT is pretty much the most minimal esolang.
21:39:15 <ihope> BCT doesn't have any flow control at all :-)
21:39:30 <SimonRC> to go left you have to push a marker before pushing the current value, then push-pop all the way round the queue to the point just before it
21:39:47 <SimonRC> I think you need two registers to do that, to give you look-ahead
21:40:24 * Sgeo pokes SimonRC to his question about input
21:41:12 <ehird`> i would like to see some sort of hello world in bct
21:41:28 <Sgeo> See for the 0x00 0x01 function, how you can choose to have PSOX give you up to a newline?
21:41:40 <ihope> ehird`: just have "Hello, world!" in your initial input.
21:41:44 <Sgeo> Should I include a complimentary 0x00 after that newline, to make processing easier in some circumstances?
21:41:49 <Sgeo> http://sgeo.diagonalfish.net/esoteric/psox.txt
21:41:54 <ehird`> ihope: cheating! i want a stack emulation
21:41:57 <Sgeo> Under Pseudodomains
21:42:00 <ehird`> ihope: which gets filled with Hello, world!
21:42:21 <ihope> Hmm, I guess initial input would be "1" for minimalness.
21:42:41 <ihope> (Oh, and MiniMAX also deserves a mention, of course.)
21:45:06 <Sgeo> So that a BF program might be doing [>,] or something if it knows the line won't have a NUL
21:45:36 <SimonRC> waitamo, *which* NL are we talking about here?
21:46:05 <Sgeo> After the newline retrieved by the function
21:48:51 <SimonRC> yes, there should, I think
21:50:20 <ihope> ehird`: it's pretty easy to fill input with an arbitrary string, as long as you know your starting string and your starting string contains a 1.
21:51:29 <ehird`> ihope: it shouldn't be an arbitary string - it should actually emulate a stack
21:53:25 <ihope> The BCT queue is an interesting data structure, isn't it?
21:54:03 <SimonRC> it is not really a datastructure
21:54:26 <ihope> ...Well, it's inaccessible.
21:54:36 <ihope> That sort of makes it not a data structure.
21:54:53 <SimonRC> there is no "choce" in how to use it
21:55:07 <SimonRC> it processes data rather than just storing it
21:55:32 <ihope> That too, I guess.
21:55:40 <SimonRC> a queue is a datastructure, a BCT is a compting machine
21:56:08 <SimonRC> a large array is a datastructure, a PC is a computing machine
21:56:40 <SimonRC> the PC is not a "datastructure", but it is built around one, roughly
22:02:47 <ehird`> nobody has wrote a significant yael program yet =(
22:05:25 -!- SEO_DUDE has quit (Read error: 104 (Connection reset by peer)).
22:14:27 -!- Sgeo has quit ("Ex-Chat").
22:32:26 -!- poiuy_qwert has joined.
22:32:52 <ehird`> there should be impromptu challenges organized in this topic
22:33:00 <ehird`> like, some sort of way of proposing a challenge
22:36:40 <SimonRC> time for an all-punctuation argument (join in):
22:37:55 <ehird`> there should be an esolang where parens must on no occasions be balanced
22:39:23 <oerjan> an esolang purely with parentheses?
22:39:23 <SimonRC> well, you could make the closing paren undo the opening paren
22:39:46 <SimonRC> then any program where al the parens matched would do nothing
22:40:15 -!- SEO_DUDE has joined.
22:40:33 <ihope> Parenthesis esolangs are easy.
22:40:49 <ihope> Take Iota. Replace * with ( and i with ). Prepend (.
22:40:52 <SimonRC> or, you could take the program specified by the parens, then run it to create a program in another language, which is in turn run
22:41:07 <SimonRC> then if the second program is nul because the first program matched, that is an error
22:41:35 <ihope> Hmm, that makes it so a list is interpreted as a list of things to be applied to i.
22:42:08 <ihope> Alternatively, don't prepend (. This'll make one where they can't be matched :-)
22:49:31 <oklopol> that kinda looks like it has balanced brackets
22:49:37 <oerjan> are they actually different?
22:49:40 <ihope> Doesn't that require twice as many characters as Iota, always?
22:49:54 <ihope> Mine requires exactly one more.
22:50:11 <ihope> bsmntbombdood: also, do you see how to simulate a tape with a queue?
22:50:14 <oklopol> i thought ihope's was for what ehird` said
22:59:44 <ehird`> html doesn't actually suck it turns out
23:00:01 <ehird`> html has this as a 100%, w3c-concurs valid document:
23:00:09 <ehird`> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
23:00:09 <ehird`> <title>Minimal HTML document</title>
23:00:14 <ehird`> (or, of course, with </p>)
23:00:29 <ehird`> seriously -- <head>, <html>, <body> -- all optional
23:01:12 <ehird`> thats been discussed many other times in many places; no point repeating the whole debate
23:01:18 <ehird`> use google or something :)
23:01:58 <oklopol> html sucks because you don't need to be consistent about your tag endings?
23:02:14 <oklopol> i mean, that makes html better than xhtml?
23:02:24 <ehird`> oklopol: you can tell the validator to scream at you for not matching tags
23:02:37 <ehird`> oklopol: i was referring more to the lack of bloat like a url in the doctype, stupid <html> tag itself, etc
23:02:48 <ehird`> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
23:02:48 <ehird`> <title>Minimal HTML document</title>
23:02:48 <ehird`> is equally as fine as an example
23:02:56 <ehird`> nice, simple, uncluttered, a non-sucky example
23:03:41 * ehird` is not fully decided on <p>
23:03:57 <ehird`> it can be interpreted as "PARAGRAPH {}" or "END PREVIOUS PARAGRAPH; START NEW ONE"
23:04:31 <ehird`> i think ending them is good.
23:05:00 <fax> I don't like putting identifiers in the </close tags>
23:05:23 <fax> I would if I could
23:05:39 <ehird`> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
23:05:39 <ehird`> <title>Minimal HTML document</>
23:05:39 <ehird`> <h1>This is a minimal HTML document</>
23:05:39 <ehird`> <p>It's a lot less cluttered than many HTML documents you might have seen.</>
23:05:45 <ehird`> http://validator.w3.org/#validate_by_input
23:05:59 <SimonRC> you left out the BODY tags
23:06:06 <ehird`> SimonRC: please read above
23:06:13 <fax> Line 1, Column 0: character "e" not allowed in prolog.
23:06:13 <fax> ehird`: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
23:06:15 <ehird`> SimonRC: 1. thats still 100% valid 2. <body> is retarded
23:06:37 <ehird`> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">\n<title>Minimal HTML document</>\n<h1>This is a minimal HTML document</>\n<p>It's a lot less cluttered than many HTML documents you might have seen.</>
23:06:41 <fax> Passed validation
23:06:53 <fax> I must modify my HTML generator thingy at once
23:06:56 <ehird`> however im not sure any browsers support that
23:07:11 <ehird`> it just doesn't recognize it as a closing tag
23:07:14 <fax> I will demand support
23:08:13 <fax> my stupid browser doesn't support it
23:08:20 * fax emails the programmers
23:08:32 <ehird`> the validator allows a lot of stuff that doesn't work in anything
23:09:55 <SimonRC> ah, you are usingthe abomination that is HTML 4.01, rather than the beautiful XHTML
23:10:15 <ehird`> xhtml is not beautiful
23:10:22 <SimonRC> it is from a computer's PoV
23:10:32 <fax> no it isn't :(
23:10:39 <SimonRC> TBH, I would prefer S-expressions
23:10:41 <ehird`> the html i showed is perfectly parsable trivially by a computer
23:10:48 <ehird`> don't blame shitty docs for the bad rep html has
23:11:31 <SimonRC> I meant that HTML is a little messy whereas XML is a bit cleaner
23:11:48 <ehird`> the downsides an xml-based language bring are probably not worth the little bit of messiness they fix ;)
23:11:58 <ehird`> + there's the whole "browser with initials IE" thing
23:12:06 <ehird`> and its, you know, "not supporting xhtml" thing
23:12:23 <SimonRC> (alternatively, HTML is practical whereas XHTML is interlectual wankery)
23:12:39 <ehird`> bsmntbombdood: <if><eq a="x" b="y">...</if>
23:12:56 <ihope> Is XHTML 1.0 Strict the... "cleanest"?
23:13:04 <ehird`> ihope: according to zealots
23:13:06 <ihope> ehird`: eew, a and b...
23:13:33 <fax> I would rather use [html](body){p}{/[}(/body)[/html]
23:13:34 <ehird`> ihope: according to sane people - including tons of people working at "nice valid web" companies like Opera - clean HTML 4.01 Strict is the way to go
23:13:34 <SimonRC> <call><function>fn</function><argument>arg1</argument><argument>arg2</argument></call>
23:13:51 <ehird`> html 4 has the advantage of, you know, being supported by IE
23:14:11 <ehird`> and, you know, not being a messy based-on-xml-but-sometimes-not-valid-xml standard
23:14:25 <oklopol> (+ (* 4 6) (- 8 2)) ==> <+> <*> 4 6 </*> <-> 8 2 </-> </+>
23:14:35 <ehird`> oklopol: not really...
23:14:42 <SimonRC> ehird`: actually XHTML is XML
23:14:53 <ehird`> SimonRC: iirc there are some cases where valid xhtml is not valid xml
23:15:07 <ihope> Indeed, IE over here doesn't like application/xhtml+xml.
23:15:21 <ehird`> SimonRC: i cannot recall
23:15:24 <SimonRC> except for some of the oddness I find with <meta>, ISTR
23:15:28 <ehird`> oklopol: + is not a valid identifier in xml
23:15:34 <ehird`> ihope: "doesn't like"?
23:15:42 <ehird`> ihope: its more like IE completely doesn't render application/xhtml+xml files
23:15:58 <oklopol> ehird`: being like xml != being xml
23:16:02 <ehird`> ihope: and if you serve it as text/html, you're breaking the standards (well, it DOES say you can send it like that for backwards compatibility--BUT:)
23:16:09 <ehird`> ihope: it renders text/html as, well, html
23:16:11 <fax> <apply><function>+</function><li><ul><apply><function>*</function><li><ul>4</ul><ul>6</ul></li></apply></ul><ul><apply><function>-</function><li><ul>8</ul><ul>2</ul></li></apply></ul></li></apply>
23:16:19 <ehird`> ihope: so really your xhtml is just tag soup with odd /> elements and stuff.
23:16:33 <ehird`> ihope: thus, IE absolutely and 100% does not support XHTML in any way
23:17:08 <ehird`> so: HTML 4.01 Strict is the way to go
23:17:37 * ihope sends XHTML as text/plain for fun
23:19:24 * SimonRC thinks up a FS where every file has its doctype in the metadata
23:19:45 <SimonRC> ehird`: I shall call it, HTTPFS
23:19:48 <ehird`> The title of this document should read exactly "TEST" and you should see "PASS" below:
23:19:48 <ehird`> FAIL <-- well that failed royally
23:19:55 <ehird`> SimonRC: http has nothing to do with doctypes k.
23:20:11 <SimonRC> ehird`: HTTP has a "doctype" header
23:20:28 * ihope ponders HTML with Haskell syntax
23:20:28 <SimonRC> so an HTTPFS would have doctypes as I described, I think
23:20:47 <ehird`> SimonRC: no it does not...
23:20:59 <fax> ihope: have you seen some haskell libs to generate html?
23:21:07 <fax> (so horrible)
23:21:10 <oerjan> i vaguely recall doctypes are part of the MIME standard, or something like that
23:21:20 <fax> it is worse than HTML
23:21:23 <ehird`> ihope: what's the syntax for maps in haskell?
23:21:28 <fax> SimonRC: D:
23:21:30 <ehird`> ihope: String => anything that is
23:21:38 <fax> I only saw one but it was by no means elegant
23:21:47 <ihope> ehird`: I don't think Haskell has a syntax for maps, unless you consider a function a map.
23:22:03 <SimonRC> ehird`: you just use Data.Map
23:22:07 <oerjan> well, MIME uses the same doctype designations, doesn't it?
23:22:21 <ehird`> SimonRC: example please ;)
23:23:33 <ehird`> Map ("key", "key") (1, 2) right?
23:23:39 <oerjan> http://haskell.org/ghc/docs/latest/html/libraries/base/Data-Map.html
23:24:48 <ehird`> Html (Map () ()) [Head (Map () ()) [Meta (Map ("http-equiv", "content") ("Content-Type", "text/html") [], Title (Map () ()) ["hello"]]
23:24:55 <ehird`> but that looks convoluted
23:25:09 <SimonRC> ehird`: what does map have to do with html?
23:25:41 <ehird`> children is a list of strings and Tag-s
23:25:47 <ehird`> attrs is some kind of string=>string map
23:25:53 <ehird`> voila, html in haskell
23:26:02 <fax> [([Char],[[Char]])]
23:26:12 <fax> eh that's not what I meant
23:26:48 <bsmntbombdood> (html (title "Minimal HTML document") (h1 "This is a minimal HTML document") (p "It's a lot less cluttered than many HTML documents you might have seen."))
23:26:55 <ihope> html {Head = head {Title = "foo"}; Body = [p "Hello, world!"]}
23:27:09 <fax> that would be ok
23:27:15 <fax> if its composable
23:27:50 <ihope> I like that sexp stuff.
23:27:59 <ihope> ...assuming that's a sexp :-P
23:28:04 <SimonRC> Text.Html does cool things with typeclasses to remove most of the hard part of writing Html
23:28:27 <ehird`> {HTML"@!!h~["fo"~@KO"Hello, world!
23:28:32 <fax> http://haskell.org/ghc/docs/latest/html/libraries/html/Text-Html.html
23:28:38 <SimonRC> ehird` was talking about it
23:28:49 <SimonRC> it is the Haskell HTML-producing library
23:28:51 <fax> wow that's real
23:29:00 <oerjan> although there is absolutely nothing in that sexp that is illegal haskell syntax...
23:29:01 <fax> I never saw that before
23:29:10 <ehird`> SimonRC: wow, I just described my own syntax
23:29:29 <ehird`> bsmntbombdood: what is different?
23:30:03 <SimonRC> ehird`: ah, you were not using Text.HTML
23:30:39 <SimonRC> you can do things like foo +++ bar, and both foo and bar are auto-converted to HTML
23:30:45 <SimonRC> and HTML is not just strings
23:30:50 <oerjan> bsmntbombdood: ok make those upper-case then it's data :)
23:30:50 <ehird`> cool, but i write my html in html
23:30:58 <ehird`> on the subject of html
23:31:05 <ehird`> what are people here's opinions of templating languages?
23:31:17 <bsmntbombdood> in haskell you would have to deal with all the horrid types
23:31:46 <fax> (<p> thing " " (<i> name) " not found")
23:32:48 <ihope> What's this about horrid types?
23:33:01 <fax> haskell's type system is great fun :p
23:33:13 <fax> and you can use it to code for you
23:33:39 <ehird`> haskell should have a subtype of (x -> y) -- "Halts"!
23:34:16 <ihope> I think that would sort of ruin the allness of forall a. a.
23:34:45 <ehird`> "Halts" doesn't fall prey to the p(p) problem does it?
23:34:56 <ehird`> where p = if x halts loop forever else halt
23:35:02 <ehird`> if x given itself as input
23:35:53 <SimonRC> here is Text.Html in use: http://www.willamette.edu/~fruehr/454/code/Webby.hs
23:36:19 <ehird`> i don't like it that much
23:36:41 <SimonRC> It is good for programattic generation
23:37:17 <ehird`> but a lot of those programmatic cases could be solved with a templating language ;)
23:37:21 <fax> lambda `beside` (haskell `above` purely)
23:37:24 <fax> that's cool
23:37:30 <ehird`> but some of them probably need it yeah
23:40:18 <SimonRC> this would look nicer if they had actually used the HTML typeclass properly http://www.cse.unsw.edu.au/~pls/repos/lambdaFeed/HTML.hs
23:42:35 <SimonRC> imageToHTML, itemToHTML, and enclosureToHtml should all have been methods of toHtml instead
23:45:20 <SimonRC> making Image, Item, and Enclosure instances of HTML
23:55:39 -!- fax has quit.