00:59:42 it appears coldfusion is not turing complete 00:59:49 based on the fact that you can't implement coldfusion in coldfusion 01:03:54 that means it could be more powerful than a turing machine 01:05:45 heh 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:09:24 * pikhq はピックエッチキューだ!!! 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 i wonder if you can make a turing-complete system out of differential and integral calculus 15:15:09 i'm pretty sure you can 15:15:36 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 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:51:47 Hello, world! 15:53:01 !sadol !9 15:53:04 9 15:53:10 How very interesting. 15:53:38 -!- importantshock has joined. 15:59:56 !sadol ,/4234 16:00:00 !sadol !,/4234 16:00:04 34 16:00:07 Can't forget that !. 16:00:37 !sadol !!3 16:00:40 33 16:01:00 !sadol !!3456 16:01:02 33 16:01:09 !sadol !,!3456 16:01:12 BDSM: Parsing: Cannot evaluate number in compilation time (index: 2, row: 1, col: 3) 16:01:38 Yay, error. 16:03:04 -!- puzzlet has joined. 16:03:22 -!- importantshock has quit (Remote closed the connection). 16:05:12 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 Seems a little pointless. 16:06:11 Also, why limit it to 0x00? 16:06:51 The input function, when set to read a newline, might be easier to process with a 0x00 added.. 16:07:02 There might be other things like that.. 16:07:23 Maybe I should just add a 0x00 after the 0x0A from that, instead of a function for adding characters? 16:07:27 I don't see what you mean. 16:09:50 In http://sgeo.diagonalfish.net/esoteric/psox.txt under Pseudodomains 16:10:16 Should I just add a complimentary 0x00? 16:11:21 * ihope shrugs 16:25:34 http://pastebin.ca/692103 16:25:52 My opinion on all this. 16:32:30 Slightly revised version: http://pastebin.ca/692113 16:32:33 (Sgeo?) 16:32:39 eh? 16:32:40 oh 16:35:05 um.. 16:35:48 * Sgeo fails to see how that integrates with the current state of PSOX 16:35:57 It's an alternative to PSOX. 16:36:46 (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 ihope, you want PSOX to be able to do arbitrary x86 stuff? 16:44:12 Yet another version, with a magic number this time: http://pastebin.ca/692131 16:44:54 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. 16:49:20 Hi SEO 17:14:22 WTF 17:14:35 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)). 17:18:21 -!- Sgeo has joined. 17:19:47 hi! 17:21:03 heheh: http://crave.cnet.co.uk/0,39029477,49292669-1,00.htm 17:21:04 Challenge: create similar images for: ZBB, DeviantArt, 4chan 17:23:24 Hi 17:34:29 hello.jpg 17:38:53 SimonRC, do you think it's easy enough for a BF program to process newlines in the current version of PSOX? 17:40:03 dunno, I haven't been keeping track 17:40:20 http://sgeo.diagonalfish.net/esoteric/psox.txt under Pseudodomains 17:43:58 * Sgeo pokes SimonRC 17:50:02 pokity poke poke poke 17:51:56 -!- puzzlet has quit (Remote closed the connection). 17:55:59 Sgeo: mh? 17:56:07 ah 17:56:09 * SimonRC goes 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:04:24 re ehird` 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 try poking yourself, it seems to work so well for everyone else :) 20:08:28 And failing 20:19:06 Sgeo: define some constants for http://pastebin.ca/692131 instead? :-P 20:19:57 If you want raw x86 access, define a PSOX domain 20:22:25 =/ 20:23:23 ehird`, hm? 20:24:31 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 ehird`: what do you edit with? 20:28:00 Is http://sgeo.diagonalfish.net/esoteric/psox.txt a complete spec for the current state of PSOX? 20:28:18 Mostly 20:28:24 I'm probably going to remove RStrings 20:28:32 Er, there is another document outside of that file 20:29:01 http://sgeo.diagonalfish.net/esoteric/psox-safety.txt will be part of it 20:29:13 And of course, the files referred to by psox.txt 20:31:22 http://sgeo.diagonalfish.net/esoteric/psox-utils.txt, you mean? 20:31:33 yes 20:31:40 There will be more files: 20:31:46 SimonRC: depends 20:31:48 One for the File I/O domain, and one for HTTP 20:31:56 SimonRC: but never emacs. =) 20:32:06 Sgeo: mine's much simpler :-P 20:32:07 * SimonRC uses emacs for Haskell and vi for system stuff 20:32:33 "for (int o=0; oGet(5)+1; o++)" <--- I bet the author didn't indend that 20:32:51 (The x86 thing was just an example.) 20:32:57 ihope, and less flexible >.> 20:33:02 ((why are you in #LOLCODE? you joined in my scathing criticism of it in here when it was first released :P)) 20:33:12 How would people add their own things and not risk conflicts? 20:33:34 ehird`: I joined to troll 20:33:40 I stayed to sabotage 20:33:44 I remain to laugh 20:34:11 remember, I am the reason the 2-armed if comes in 72 different syntaxes 20:34:21 .. it does? 20:34:24 you did all of that? 20:34:26 hahahahahahahaha 20:34:44 SimonRC: pff, 72? 71 would be much more impressive :-P 20:34:49 every time people disagreed about anything, I just 20:35:06 involked the spirit of PL/I and sugested they compromise 20:35:09 Sgeo: oh, someone could create a "switch" raw format or something. 20:35:24 SimonRC: marry me. 20:35:25 xD 20:35:57 "LOLCODE should be clean and kid-safe." -- wikipedia article 20:36:01 shit, are they gonna make kids use this stuff? 20:36:10 i fear for the next generation of programmers 20:36:30 nah 20:36:38 this generation grew up with BASIC 20:36:45 ah, shit, I see what you mean 20:36:50 -- exactly 20:36:55 this generation uses PHP 20:36:57 ;) 20:37:09 Does this mean that "shit" is going to be LOLCODE syntax? :-P 20:38:14 IM IN UR SHIT 20:39:32 http://lolcode.com/contributions/contributions how much of this crap did you make, SimonRC? 20:40:33 "This describes continuations, or as we like to call them (rather confusingly), threads. " <-- what. 20:42:24 I only contributed to the 1.0 spec; I missed the other meetings. http://lolcode.com/specs/1.0 20:43:15 Since all variables are arrays, <-- please tell me you did that 20:44:59 /please/ 20:45:13 Wasn't that in the factory language? 20:45:48 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 I want a language feature that all other language features are really just instances of. 20:48:22 ihope: make it a Language Feature specification system 20:48:34 Hmm. 20:48:35 (Aka a turing-complete programming language so you can implement the features...) 20:48:38 Recursion =D 20:49:49 Maybe all language features are either checks or... um, that other thing. 20:49:52 all variables are arrays in MATLAB. 20:50:04 What are they arrays of? 20:50:33 Hey, you can do worse: all variables could be parsers :-) 20:50:44 All values, rather. 20:51:07 ihope: numbers, usually. 20:51:11 ie, variables are matrices 20:51:34 setting a variable to a number actually sets it to be a 1x1 matrix. 20:51:36 I see. 20:52:05 I'm guessing you don't have first-class functions in this language. 20:52:16 i don't think so. 20:53:02 Those could be hard to represent as matrices of numbers. 20:53:02 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 Not everything is an array there; but there are no non-array numeric types, all numbers are 1x1 arrays. 20:54:36 Ok, see the "get newline" thing for the PSOX Pseudodomain input? 20:54:42 Should I have a 0x00 come after it? 20:55:54 * Sgeo pokes lament and fizzie and SimonRC 20:56:18 pikhq should probably have a say too 20:56:19 I haven't been following that particular discussion, so unable to comment. 20:56:23 And ihope if he's interested 20:57:10 Sgeo - do you do anything but psox 20:57:36 Browsing various flash movies right now :/ 21:01:52 am i the only one who thinks http://esoteric.voxelperfect.net/files/fugue/src/hworld.mid is nice and tuneful? 21:02:17 you might possibly be the only one to listen to it. 21:02:44 Hmm. 21:02:58 but i like it too 21:03:14 Listening to midi's == difficult 21:04:28 people should write more Fuge code 21:04:42 I like this: http://www.stephensykes.com/choon/choonmul.wav 21:05:15 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:23 ihope: what is that 21:05:25 This is even better: http://www.stephensykes.com/choon/choondiv.wav 21:05:27 ehird`: Choon! 21:05:46 choon? 21:06:38 choon? 21:06:38 :p 21:06:58 choon doing division sounds great 21:07:06 http://www.stephensykes.com/choon/choon.html this 21:07:47 it has a nice beat to it 21:08:27 my main complaint about choon was that it was monophonic 21:08:30 one sound at a time 21:08:55 John Cage 21:08:55 The John Cage instruction ('%') causes a one note silence in the output stream. 21:08:55 hah!! 21:09:02 shouldn't that be 4:33 of silence? 21:09:46 but choon sounds nice and sci-fiish 21:10:37 Fugue gives much more freedom to the programmer and it's entirely possible to write decent-sounding music in it 21:10:55 But... it's MIDI argharghargh! 21:11:24 http://www.stephensykes.com/play/index.html What the hell is this 21:11:52 i think it's a rubik's cube 21:12:07 Sgeo: hm, on my computer, i just have to enter the URL into firefox. 21:12:16 lament, OS? 21:12:18 OS X 21:12:31 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 well, why are you using an inferior os? :) 21:13:14 ?! 21:13:23 -!- fax has joined. 21:13:31 Hi fax 21:13:39 hello 21:13:55 os x <3 21:14:39 I am using os x 21:16:05 -!- jix has quit ("CommandQ"). 21:17:32 I'm using, um, Windows. 21:17:45 (Yup. It's called, um, Windows now.) 21:17:49 :( 21:18:48 i'm using a computer 21:18:50 ihope: =( poor thing 21:19:10 * Sgeo decides to take inspiration from the inspiration for PSOX 21:20:22 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 If you can't implement a queue, it's not Turing-complete. 21:24:23 can you implement two stacks? 21:24:40 that can simulate a deque, i think 21:24:44 I think that's of equal difficulty. 21:24:57 (also a turing tape, as you probably know) 21:25:02 It can simulate a tape easily, which is equivalent to a queue. 21:25:19 ...if not more powerful than a queue. 21:25:48 No, a queue can simulate a tape. 21:26:32 a queue can't implement a tape 21:26:38 a deque can 21:27:00 OSHI--- if I didn't reread the Easel API, I would have forgotten about time functions. 21:27:01 .. 21:27:47 What's a deque? 21:27:56 ihope: double-ended queue 21:28:20 Hmm... 21:29:25 also, if you have 3 registers that can hold nats, and some simple arithmatic, you have turing completeness 21:29:43 only 2 21:29:48 I'm pretty sure a queue can simulate a tape. 21:29:57 ihope: yes, slowly 21:29:58 Ah, yes, Minsky machine. 21:30:15 (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 Yeah, you can increment and decrement with transpositions and test with the tuning fork. 21:32:21 how do you get a stack from a queue? 21:32:53 *tape 21:32:59 A tape from a queue? 21:33:29 yeah 21:33:36 No, I think it was "how do you tape a stack from a queue". 21:33:48 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 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:06 Yeah, that. 21:34:20 ...wait... 21:34:25 don't get it 21:34:47 Yeah. 21:34:56 And a head marker, too. 21:35:24 Put the head marker in right before the word the head is "over". 21:35:44 you will need a couple of registers too, I think 21:36:05 Finite storage, yes. 21:36:15 a queue has two operations: push, pop. implement the 4 tape operations left, right, read, write 21:37:17 well, going left right is easy... 21:37:48 you will have a register to hold th currently value 21:38:08 you push the current value, then pop a new one 21:38:09 minsky machines are pretty crazy 21:38:19 (I meant right) 21:38:22 i bet the most minimal esolang could come from one 21:38:40 ehird`: I think BCT is pretty much the most minimal esolang. 21:38:46 maybe 21:39:15 BCT doesn't have any flow control at all :-) 21:39:30 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 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:04 huh/ 21:41:08 input? 21:41:12 i would like to see some sort of hello world in bct 21:41:13 :) 21:41:28 See for the 0x00 0x01 function, how you can choose to have PSOX give you up to a newline? 21:41:40 ehird`: just have "Hello, world!" in your initial input. 21:41:44 Sgeo: URL? 21:41:44 Should I include a complimentary 0x00 after that newline, to make processing easier in some circumstances? 21:41:49 http://sgeo.diagonalfish.net/esoteric/psox.txt 21:41:54 ihope: cheating! i want a stack emulation 21:41:57 Under Pseudodomains 21:42:00 ihope: which gets filled with Hello, world! 21:42:21 Hmm, I guess initial input would be "1" for minimalness. 21:42:41 (Oh, and MiniMAX also deserves a mention, of course.) 21:43:44 Sgeo: hm... 21:44:06 why would a NUL help? 21:45:06 So that a BF program might be doing [>,] or something if it knows the line won't have a NUL 21:45:36 waitamo, *which* NL are we talking about here? 21:46:05 After the newline retrieved by the function 21:47:33 ah... 21:48:51 yes, there should, I think 21:50:20 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 ihope: it shouldn't be an arbitary string - it should actually emulate a stack 21:52:17 Hmm... 21:53:25 The BCT queue is an interesting data structure, isn't it? 21:53:40 yes 21:54:03 it is not really a datastructure 21:54:14 Sure it is. 21:54:26 ...Well, it's inaccessible. 21:54:36 That sort of makes it not a data structure. 21:54:53 there is no "choce" in how to use it 21:55:07 it processes data rather than just storing it 21:55:32 That too, I guess. 21:55:40 a queue is a datastructure, a BCT is a compting machine 21:55:46 * ihope nods 21:56:08 a large array is a datastructure, a PC is a computing machine 21:56:40 the PC is not a "datastructure", but it is built around one, roughly 22:02:47 nobody has wrote a significant yael program yet =( 22:03:28 or wapr 22:05:25 -!- SEO_DUDE has quit (Read error: 104 (Connection reset by peer)). 22:12:32 Bye all 22:12:44 bye 22:13:04 peg'd 22:14:27 -!- Sgeo has quit ("Ex-Chat"). 22:20:36 bsmntbombdood: ? 22:21:00 nothing 22:32:20 = 22:32:26 -!- poiuy_qwert has joined. 22:32:52 there should be impromptu challenges organized in this topic 22:33:00 like, some sort of way of proposing a challenge 22:33:01 or something 22:36:40 time for an all-punctuation argument (join in): 22:36:42 ! 22:36:44 Huh? 22:36:57 ... 22:37:33 heh 22:37:43 22:37:55 there should be an esolang where parens must on no occasions be balanced 22:39:23 an esolang purely with parentheses? 22:39:23 well, you could make the closing paren undo the opening paren 22:39:46 then any program where al the parens matched would do nothing 22:40:15 -!- SEO_DUDE has joined. 22:40:33 Parenthesis esolangs are easy. 22:40:49 Take Iota. Replace * with ( and i with ). Prepend (. 22:40:52 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 then if the second program is nul because the first program matched, that is an error 22:41:20 ihope: yup 22:41:35 Hmm, that makes it so a list is interpreted as a list of things to be applied to i. 22:42:08 Alternatively, don't prepend (. This'll make one where they can't be matched :-) 22:48:43 () = i 22:48:52 (x y) = *xy 22:48:57 ihope: mine's bettar! 22:49:15 really? 22:49:31 that kinda looks like it has balanced brackets 22:49:37 are they actually different? 22:49:40 Doesn't that require twice as many characters as Iota, always? 22:49:45 hmm 22:49:54 Mine requires exactly one more. 22:50:11 bsmntbombdood: also, do you see how to simulate a tape with a queue? 22:50:14 i thought ihope's was for what ehird` said 22:50:30 That too. 22:50:33 oh 22:50:34 indeed. 22:59:37 hmm 22:59:44 html doesn't actually suck it turns out 22:59:47 just xhtml 23:00:01 html has this as a 100%, w3c-concurs valid document: 23:00:09 23:00:09 Minimal HTML document 23:00:09

Hello world 23:00:14 (or, of course, with

) 23:00:29 seriously -- , , -- all optional 23:00:30 XHTML sucks? 23:00:32 ihope: yes 23:00:36 How? 23:01:12 thats been discussed many other times in many places; no point repeating the whole debate 23:01:18 use google or something :) 23:01:58 html sucks because you don't need to be consistent about your tag endings? 23:02:02 ... 23:02:14 i mean, that makes html better than xhtml? 23:02:24 oklopol: you can tell the validator to scream at you for not matching tags 23:02:37 oklopol: i was referring more to the lack of bloat like a url in the doctype, stupid tag itself, etc 23:02:48 23:02:48 Minimal HTML document 23:02:48

hello world

23:02:48 is equally as fine as an example 23:02:56 nice, simple, uncluttered, a non-sucky example 23:03:16 sure 23:03:41 * ehird` is not fully decided on

23:03:57 it can be interpreted as "PARAGRAPH {}" or "END PREVIOUS PARAGRAPH; START NEW ONE" 23:04:31 i think ending them is good. 23:04:33 for consitency 23:04:44 tures! 23:05:00 I don't like putting identifiers in the 23:05:16 you use ? :p 23:05:23 I would if I could 23:05:28 its valid sgml 23:05:33 :o 23:05:39 23:05:39 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:41 <ehird`> validate that 23:05:42 <ehird`> it works 23:05:44 * SimonRC fwaps ehird`. 23:05:44 * SimonRC fwaps ehird`. 23:05:44 * SimonRC fwaps ehird`. 23:05:45 <ehird`> http://validator.w3.org/#validate_by_input 23:05:50 * ehird` fwaps SimonRC 23:05:50 * ehird` fwaps SimonRC 23:05:51 * ehird` fwaps SimonRC 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 <fax> :P 23:06:15 <ehird`> SimonRC: 1. thats still 100% valid 2. <body> is retarded 23:06:21 <ehird`> fax: huh? 23:06:26 <ehird`> fax: it works here... 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:43 <ehird`> tada 23:06:46 <fax> ;D 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:06:56 <ehird`> haha 23:07:04 <ehird`> gecko doesn't. 23:07:11 <fax> >:| 23:07:11 <ehird`> it just doesn't recognize it as a closing tag 23:07:14 <fax> I will demand support 23:07:51 <SimonRC> weird 23:08:08 <fax> ugh 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:08:35 <ehird`> its to-the-letter 23:09:55 <SimonRC> ah, you are usingthe abomination that is HTML 4.01, rather than the beautiful XHTML 23:10:11 <SimonRC> :-) 23:10:15 <ehird`> xhtml is not beautiful 23:10:21 <ehird`> xml 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:03 <SimonRC> hence the ":-)" 23:11:08 <ehird`> oh 23:11:08 <ehird`> :p 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:13 <bsmntbombdood> imagine if sexps were like html 23:12:23 <SimonRC> (alternatively, HTML is practical whereas XHTML is interlectual wankery) 23:12:26 <bsmntbombdood> (fn arg1 arg fn-end) 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:51 <SimonRC> it has a DTD, even 23:14:53 <ehird`> SimonRC: iirc there are some cases where valid xhtml is not valid xml 23:14:59 <oklopol> ehird`: why not? 23:15:01 <SimonRC> an example would be nice 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:52 <bsmntbombdood> everything needs more sexp 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:16:44 <ehird`> isn't it great? :) 23:16:49 <ihope> Yup. 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:17:49 <ehird`> heh 23:19:04 <SimonRC> ihope: naughty 23:19:24 * SimonRC thinks up a FS where every file has its doctype in the metadata 23:19:32 <ehird`> SimonRC: you are evil 23:19:35 <ihope> s/sends/receives/ 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:19:58 <ihope> ehird`: indeed. 23:20:03 <SimonRC> ehird`: um 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:35 <SimonRC> ihope: um... 23:20:47 <ehird`> SimonRC: no it does not... 23:20:48 <fax> guh 23:20:59 <fax> ihope: have you seen some haskell libs to generate html? 23:21:07 <fax> (so horrible) 23:21:08 <ihope> fax: no. 23:21:10 <oerjan> i vaguely recall doctypes are part of the MIME standard, or something like that 23:21:18 <SimonRC> fax: "horrible"?! 23:21:20 <fax> it is worse than HTML 23:21:22 <SimonRC> the are elegant 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:37 <ehird`> oerjan: since when?! 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:12 <SimonRC> oerjan: yes 23:22:21 <ehird`> SimonRC: example please ;) 23:23:01 <SimonRC> just read the docs 23:23:04 <SimonRC> all should become clear 23:23:14 <ehird`> Anyway, 23:23:28 <ehird`> Map is used like 23:23:33 <ehird`> Map ("key", "key") (1, 2) right? 23:23:36 <ehird`> ok: 23:23:39 <oerjan> http://haskell.org/ghc/docs/latest/html/libraries/base/Data-Map.html 23:24:26 <SimonRC> ah, yes, RFC 2046 23:24:39 <SimonRC> ehird`: um, no 23:24:48 <ehird`> Html (Map () ()) [Head (Map () ()) [Meta (Map ("http-equiv", "content") ("Content-Type", "text/html") [], Title (Map () ()) ["hello"]] 23:24:51 <ehird`> well, ok 23:24:53 <bsmntbombdood> you and your fancy high-level filesystems 23:24:55 <ehird`> but that looks convoluted 23:24:56 <ehird`> =P 23:25:09 <SimonRC> ehird`: what does map have to do with html? 23:25:15 <ehird`> SimonRC: attributes 23:25:26 <ehird`> (Tag attrs children) 23:25:30 <SimonRC> nah, you want alists 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:27 <ehird`> meh: 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:26:57 <ihope> Meh. 23:27:09 <fax> that would be ok 23:27:15 <ehird`> ihope: what is that? 23:27:15 <fax> if its composable 23:27:20 <bsmntbombdood> of course with less horrid abbreviations 23:27:50 <ihope> I like that sexp stuff. 23:27:59 <ihope> ...assuming that's a sexp :-P 23:28:02 <bsmntbombdood> yes 23:28:03 <ehird`> ihope: :p 23:28:04 <SimonRC> Text.Html does cool things with typeclasses to remove most of the hard part of writing Html 23:28:12 <SimonRC> s/hard/tedious/ 23:28:17 <ehird`> APL html 23:28:17 <bsmntbombdood> SimonRC: what's that? 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:45 <bsmntbombdood> i mean, the hard part 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:04 <ehird`> SimonRC: was I?? 23:29:10 <ehird`> SimonRC: wow, I just described my own syntax 23:29:10 <ehird`> haha 23:29:12 <fax> lol 23:29:21 <bsmntbombdood> oerjan: that's data, not code 23:29:29 <ehird`> bsmntbombdood: what is different? 23:29:35 <ehird`> ) 23:29:37 <ehird`> err... 23:29:39 <ehird`> no end tags! 23:29:40 <ehird`> damn 23:29:42 <ehird`> </lisp> 23:29:45 <ehird`> (kinda ruins it) 23:30:03 <SimonRC> ehird`: ah, you were not using Text.HTML 23:30:36 <ehird`> heh 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:50 <ehird`> heh 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:22 <ehird`> YEAH WELL =( 23:34:31 <ehird`> hmm 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:34:59 <ehird`> err 23:35:02 <ehird`> if x given itself as input 23:35:09 <ehird`> if its a typeclass... 23:35:53 <SimonRC> here is Text.Html in use: http://www.willamette.edu/~fruehr/454/code/Webby.hs 23:36:16 <ehird`> meh 23:36:19 <ehird`> i don't like it that much 23:36:41 <SimonRC> It is good for programattic generation 23:36:50 <ehird`> ah, true 23:37:17 <ehird`> but a lot of those programmatic cases could be solved with a templating language ;) 23:37:20 <fax> hmm 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:40:24 <SimonRC> or indeed at all 23:40:52 <ehird`> looks fine to me? 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.