00:40:45 -!- Sgeo has joined. 00:41:24 -!- sebbu has quit ("@+"). 00:45:29 "Well he was dumb." -- a person, on Djikstra 00:45:34 *Dijkstra 00:46:37 "God is dead." -- Nietszche. "Nietszche is dead." -- God. 00:47:21 Reading Uncyc? 00:49:04 lol 00:49:18 Sgeo: no, that's an ancient joke 00:49:23 and a very good one at that 00:49:32 "Fuck." -- a person, on dying 00:49:53 Also. It's Nietzsche. 00:53:39 lament: frankly, #linguistics is _weak_ on the gay sex point 00:53:39 a disappointingly low level of gay sex in here today... 00:53:40 * saimazoon sets ban on *!*n=tusho@91.105.124.* 00:53:40 * You have been kicked from #linguistics by saimazoon (saimazoon) 00:54:20 maybe the response would be more positive if you said it in spanish 00:54:35 darn. i knew my spelling was probabilistic on that one. 00:54:37 lament: you have a point 00:54:58 lament: but kickbanning for gay sex? the nerve. 00:55:22 Wasb;t there a pedo sympathizer in there before? 00:55:43 was there? 00:55:48 i'd gay sex him u- Wait what 00:56:09 I mean, the other day 00:56:35 Sgeo: beats me, what was happening? 00:56:50 He was trying to justify having sex with children 00:57:18 tusho: well, you achieved your goal, people are talking about anal sex now 00:57:30 lament: are they being kickbanned? 00:57:33 nope 00:58:01 >saimazoon< I would like to complain about the hypocritical banning situation in #linguistics. Is anal sex a more acceptable topic than gay sex in general 00:59:05 lament: no response, do you think he's gone off to have gay sex? 00:59:20 why are you into gay sex so much, anyway? 00:59:50 lament: because gay sex from oklopol, bsmntbombdood and you was sooo good 00:59:52 or something 00:59:59 what 01:00:09 well, we're pros 01:00:10 bsmntbombdood: just talkin' about our orgies. 01:00:27 lament: EXPERIENCED GAY SEXERS UNITE 01:01:45 -!- tusho has set topic: CATHOLIC LOGS http://tunes.org/~nef/logs/esoteric. 01:02:19 i soooo want to troll #linguistics now 01:02:34 bsmntbombdood: so do I but banning kinda stops me! 01:02:36 :'( 01:02:41 I was all ready for gay sex 01:02:44 what's up with that 01:02:53 yesterday or the day before they were all about gay sex. 01:02:59 i'm very offended 01:03:21 huh. 01:03:24 my banner is no longer there. 01:03:25 TURING WOULD BE PROUD OF YOU 01:03:28 i'm afraid i'm not an experienced gay sexer 01:03:48 bsmntbombdood: don't worry, oklopol will assist you 01:04:21 In the anal ass. 01:05:27 what other kind of ass is there? 01:05:51 http://membres.lycos.fr/bewulf/Divers/Ass%202.jpg 01:06:02 I actually read this entire webcomic. 01:06:44 Psychotic ... in the anal ass? 01:07:19 This is not as ass-packed as one of the sentence found in that comic. 01:07:26 "Ass ream anally in the anal ass" 01:08:37 Slereah: brilliant 01:08:38 link to that comic? 01:10:32 google 01:10:38 The title is on the bottom of the pix 01:10:53 Slereah: lazy 01:10:55 and I have to go 01:10:56 so LINK 01:10:57 >:| 01:11:39 oerjan: just remember all german words have at least one "sch". 01:12:07 oklofok: halp me be experienced gay sexor plox 01:12:11 http://www.theomniverse.com/poc/archives.html?viewthiscomic=1 01:12:15 Lazy bum. 01:13:41 Slereah: last updated 2004 01:15:39 Yeah. 01:15:56 bsmntbombdood: every day for the rest of our lives 01:15:58 Hell, even when I first read it, it wasn't updated anymore, IIRC 01:16:11 -!- tusho has quit ("Leaving"). 01:16:19 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 01:16:29 oklofok: jawohl, wenn du es sagst, muss ich es woll glauben 01:16:47 oh you :) 01:17:06 *wohl, maybe 01:17:24 yeah, voll is full, vohl is nothing 01:17:31 err 01:17:35 also wohl is prolly nothing 01:17:51 may be some ancient form of wollen. 01:19:05 wohl = well 01:19:24 errr 01:19:42 i meant "also woll is prolly nothing" 01:19:54 as in "yeah, what you said," 01:20:11 "Word is not found" 01:26:30 -!- oklofok has changed nick to oklopol. 01:26:39 i think i did my share 01:58:08 -!- oklopol has quit (Read error: 110 (Connection timed out)). 02:05:37 -!- calamari has quit ("Leaving"). 02:08:54 -!- oklopol has joined. 02:11:05 -!- oklopol has quit (Read error: 104 (Connection reset by peer)). 02:14:05 -!- oklopol has joined. 02:42:12 -!- oklopol has quit (Read error: 113 (No route to host)). 02:45:56 -!- Nocta^ has joined. 02:48:38 -!- oklopol has joined. 02:59:00 -!- Nocta has quit (Read error: 110 (Connection timed out)). 03:11:20 -!- oklopol has quit (No route to host). 04:05:52 -!- oerjan has quit ("leaving"). 04:06:05 -!- Corun has quit ("This computer has gone to sleep"). 04:06:40 -!- Corun has joined. 04:17:14 oklopoklopol :O 04:21:46 -!- Corun has quit ("This computer has gone to sleep"). 05:17:09 -!- GreaseMonkey has joined. 05:28:05 -!- GreaseMonkey has quit ("Unisex."). 05:32:37 -!- GreaseMonkey has joined. 05:39:09 -!- GreaseMonkey has quit ("Unisex."). 05:56:57 -!- GreaseMonkey has joined. 06:03:39 -!- GreaseMonkey has quit ("Unisex."). 06:13:07 -!- jix has joined. 06:13:17 -!- jix has quit (Remote closed the connection). 06:40:13 -!- GreaseMonkey has joined. 06:43:39 -!- augur has quit (Read error: 110 (Connection timed out)). 07:02:14 -!- GreaseMonkey has quit ("Unisex."). 07:08:29 -!- GreaseMonkey has joined. 07:10:18 -!- Judofyr_ has changed nick to Judofyr. 07:22:44 -!- GreaseMonkey has quit ("Unisex."). 07:29:14 -!- GreaseMonkey has joined. 07:37:19 -!- sparkypadawan has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:07:37 -!- sparkypadawan has changed nick to sparkypadawan_is. 08:07:49 -!- sparkypadawan_is has changed nick to sparky_away. 08:49:43 -!- sparky_away has changed nick to sparkypadawan. 09:23:07 -!- Judofyr has quit (Read error: 104 (Connection reset by peer)). 09:23:45 -!- Judofyr has joined. 09:27:33 -!- Iskr has joined. 09:33:29 -!- sparkypadawan has left (?). 09:59:46 -!- RedDak has joined. 10:11:03 -!- oklopol has joined. 10:13:30 -!- cherez has joined. 10:42:24 -!- GreaseMonkey has quit ("Unisex."). 10:49:31 -!- oklopol has quit (Read error: 104 (Connection reset by peer)). 10:49:51 -!- oklopol has joined. 11:50:27 -!- RedDak has quit (Remote closed the connection). 12:06:56 -!- Sgeo has joined. 12:25:04 -!- Corun has joined. 12:37:00 -!- Judofyr_ has joined. 12:37:01 -!- Judofyr has quit (Read error: 104 (Connection reset by peer)). 12:37:20 -!- oklopol has quit (Read error: 113 (No route to host)). 12:41:02 -!- oklopol has joined. 12:47:10 -!- Corun has quit ("This computer has gone to sleep"). 12:49:28 -!- atsampson has quit (Read error: 104 (Connection reset by peer)). 12:54:02 -!- atsampson has joined. 12:55:10 -!- RedDak has joined. 13:55:50 -!- timotiis has joined. 13:59:07 -!- oklopol has quit (Read error: 104 (Connection reset by peer)). 13:59:25 -!- oklopol has joined. 14:00:42 -!- RedDak has quit (Remote closed the connection). 14:32:39 -!- oklofok has joined. 14:35:55 -!- oklofok has quit (Read error: 113 (No route to host)). 14:36:20 -!- oklofok has joined. 14:36:23 -!- oklopol has quit (Read error: 104 (Connection reset by peer)). 14:36:39 -!- Judofyr_ has quit (Read error: 104 (Connection reset by peer)). 14:37:06 -!- Judofyr has joined. 14:59:02 -!- oklofok has quit (Read error: 113 (No route to host)). 15:00:17 -!- pikhq has joined. 15:00:27 Jes, mi estas. 15:01:16 Cxu vi parolas esperanton? 15:01:30 Kiu parolas esperanton? 15:02:07 -!- oklopol has joined. 15:02:29 oklopol, cxu vi parolas esperanton? 15:02:48 In Soviet Russia, vin parolas esperanto! 15:04:40 i thought esperanto would parola me in soviet russia 15:05:44 That's what vin parolas esperanto means 15:06:08 With verbs other than esti, order doesn't matter 15:06:28 the -n goes on the object.. as in, what's the action going to 15:06:35 parolas means speaks 15:06:43 vi == you 15:07:01 so vi parolas esperanton means you speak Esperanto, and vin parolas esperanto means Esperanto speaks you 15:07:43 * Sgeo growls at The Onion ticker for repeating that old neckbelt joke 15:07:59 Mi parolas esperanton, sed mia esperanto estas malbone. . . 15:08:16 I'd tend to say "Esperanto parolas vin", BTW. 15:08:35 Yes, it doesn't *matter*, but I'd tend to say that, anyways. 15:08:42 pikhq, me too, but it's cooler to just switch it for that joke 15:08:50 Sgeo: i guessed it might be that, but for some reason didn't believe myself. 15:08:54 *be like that 15:09:07 erm, to just switch the -n 15:09:14 http://www.theonion.com/content/cartoon/may-05-2008 15:10:01 http://www.theonion.com/content/cartoon/apr-21-2008 15:11:37 -!- oklopol has quit (Read error: 113 (No route to host)). 15:12:16 http://www.theonion.com/content/cartoon/mar-24-2008 15:12:24 I'll stop posting those now 15:12:27 -!- ais523 has joined. 15:14:50 -!- oklopol has joined. 15:21:34 -!- ais523_ has joined. 15:26:15 -!- Nocta has joined. 15:26:16 -!- jix has joined. 15:28:04 -!- oklofok has joined. 15:29:02 -!- ais523 has quit (Read error: 110 (Connection timed out)). 15:31:50 -!- ais523_ has changed nick to ais523. 15:32:36 -!- oklopol has quit (Read error: 113 (No route to host)). 15:32:56 -!- oklofok has quit (Read error: 113 (No route to host)). 15:33:38 -!- oklopol has joined. 15:38:12 -!- timotiis has quit (Read error: 110 (Connection timed out)). 15:39:40 -!- Judofyr has quit (Read error: 104 (Connection reset by peer)). 15:41:19 -!- Nocta^ has quit (Read error: 110 (Connection timed out)). 15:49:07 -!- bsmntbombdood has quit (Read error: 113 (No route to host)). 15:50:05 -!- bsmntbombdood has joined. 16:55:11 -!- ais523_ has joined. 17:00:09 -!- ais523 has quit (Nick collision from services.). 17:00:16 -!- ais523_ has changed nick to ais523. 17:14:12 -!- augur has joined. 17:15:38 -!- augur has changed nick to psygnisfive. 17:32:17 -!- Johnnyboi37 has joined. 17:33:11 -!- Johnnyboi37 has left (?). 17:47:17 -!- ais523 has quit ("(1) DO COME FROM ".2~.2"~#1 WHILE :1 <- "'?.1$.2'~'"':1/.1$.2'~#0"$#65535'"$"'"'&.1$.2'~'#0$#65535'"$#0'~#32767$#1""). 17:53:51 -!- timotiis has joined. 17:58:53 -!- sebbu has joined. 18:09:19 -!- ais523 has joined. 18:17:52 -!- timotiis_ has joined. 18:25:01 -!- oklopol has quit (Read error: 104 (Connection reset by peer)). 18:31:40 -!- Judofyr has joined. 18:32:53 -!- oklofok has joined. 18:35:00 -!- AAAAAAue4njxuz has quit (SendQ exceeded). 18:37:10 -!- pikhq has left (?). 18:40:42 -!- revcompgeek has joined. 18:42:22 -!- timotiis has quit (Read error: 110 (Connection timed out)). 18:44:59 I have a question about what names I should use for things in Feather 18:45:37 There are various system-defined global variables which act much like built-in functions do in other languages 18:45:52 e.g. call/cc 18:45:59 which is a constant 18:46:08 I want every object in the program to have them as properties 18:46:16 what should I call the name of the relevant properties? 18:46:28 I'm thinking something with a sigil, maybe like %callCC 18:46:35 but does anyone have a better idea? 18:50:16 does anyone here know what Smalltalk uses for globals? I'm trying to keep the syntax looking like Smalltalk's but for different reasons 18:52:05 ais523: just identifiers like all other ones 18:52:15 how do you tell if something's a global? 18:52:38 rather than being the name of a message or a property or something like that? 18:52:52 presumably because there's nothing else it could be 18:52:57 there's nothing else it could be 18:53:07 message names appear in different positions 18:53:17 there aren't any properties 18:53:25 global is just the "root scope" 18:53:30 sorry, there aren't really in Feather either 18:54:08 an object is said to have a property if it responds to a particular message by always returning the same value, which is the value of the property 18:54:22 in "foo bar" 18:54:24 bar is the message 18:54:29 and foo is not the message 18:54:34 there can be no confusion 18:54:39 yes 18:54:54 oh well, I'll have to think of something different in Feather 18:55:20 I like using sigils, because the sigils can end up becoming messages of their own once the interpreter has made itself a little more advanced 18:55:49 (Feather's reminding me more and more of Smalltalk + Haskell + Scheme, by the way) 18:56:03 sounds pretty painful :) 18:56:05 I've even ended up having to implement monads, despite it being a strict language 19:15:10 -!- olsner has joined. 19:16:25 -!- Slereah has quit ("kthxbai"). 19:22:24 -!- Hiato has joined. 19:38:18 -!- Corun has joined. 19:38:31 Can someone tell me quickly, does this do what I think it does? 19:38:31 if ord(n[k]) in range(ord('a'),ord('z')) 19:38:31 (In python) 19:38:50 I don't know enough Python to know for certain, but that looks right 19:39:00 cool, thanks :) 19:39:17 what program are you trying to write? 19:39:31 an interpreter for my new esolang :P 19:39:47 are the details of your new esolang online anywhere yet? 19:39:55 and if not, could you give a quick description? 19:40:39 in but a moment :) 20:00:37 -!- Sgeo has quit (Remote closed the connection). 20:10:22 -!- Quendus has joined. 20:11:08 -!- Quendus has changed nick to AAAAAAue4njxuz. 20:16:35 -!- RedDak has joined. 20:47:03 * SimonRC goes for a while. ("MCSE: My Confidence Screws-up Everything") 21:03:24 -!- timotiis has joined. 21:08:15 sorry about that ais523 21:08:25 that's OK 21:08:28 that was one of the longer phone calls of my life :P 21:08:36 anyway 21:11:48 -!- Sledgehammer has joined. 21:11:52 ais523. 21:11:53 the language is _really_ simple, as it's designed to be. The structure consists of 4 possible commands: 21:11:54 1. Inc 21:11:54 2. Dec 21:11:54 3. If >0 begin 21:11:54 4. If=0 end 21:11:54 In order to programme, you simply type the name of the variable you wish to send as the arguments and the variable that you wish the results to be stored in. IE: sending aa when the instruction pointer is one will do a = a +1. The symbolisation is arbitrary, anything that is not a variable (a-z) is considered a no-op. After every variable/no-op the instruction pointer is advanced by 1. So, you can do, for instance: aa ab 21:11:58 which is the same as saying b = 1 21:12:00 -!- Sledgehammer has changed nick to Slereah. 21:12:02 ais523. 21:12:17 Come to my house, and heal my computer with your aura of awesome 21:13:07 Hiato: how does it tell which command you want? Position in the source-code? 21:13:32 yep :) The CP starts at 0 and is incremented by one every two characters 21:13:53 Hiato: no, that doesn't work like you want 21:13:59 Slereah: how would I manage that? 21:14:19 What do you mean oklofok? 21:14:34 range(a,b) is only inclusive on a's end 21:14:45 ah, so it was actually a range from a to y 21:14:48 ais523 : I dunno, I'm not the one with the aura. 21:14:50 as is the standard for all rangers. 21:14:57 in all language and thing 21:15:02 Slereah: what's wrong with your computer, anyway? 21:15:21 -!- CakeProphet has joined. 21:15:30 aha, well, that explains that. Thanks oklofok :) 21:15:33 Many things. Right now, it's that I can't reassign partition sizes. 21:15:44 what, on existing partitions? 21:15:50 that isn't a particularly easy operation 21:15:56 Partition magic sez "Bad sector", and Gparted won't even start. 21:16:01 hmmm 21:16:01 It used to be! 21:16:06 o 21:16:12 Ok, here is a mostly completed manual of my much more complex functional esolang 21:16:12 Slereah: well, bad sector means that there's something wrong with your hard drive 21:16:13 http://www.mediafire.com/?brjyzjnj2fd 21:16:17 Boy the fun did I have a few months ago resizing them! 21:16:26 (for those interested, naturally :P ) 21:16:31 Can't you shine some aura on it? 21:17:43 I don't think that helps with partition resizes 21:17:57 You must believe in yourself, ais523! 21:18:01 -!- timotiis_ has quit (Read error: 110 (Connection timed out)). 21:18:13 Remember that part of inspector Gadget, where we thought he was dead? 21:18:20 But Penny really believed? 21:18:51 * ais523 tries to think up a delicious cake joke 21:20:08 So, any comments on either lang? 21:20:17 Needs more cowbells. 21:20:27 the simple one: do you have any way to loop? 21:20:35 def addlater(x) { def future(y) {return x+y}} 21:20:40 Ah, ok, sure - working on it, but import cowbell does'nt work 21:20:42 addlater(2)(2) ....that is all I have to say. 21:21:06 ais523: yep, using if>0 begin, and if=0 end 21:21:19 On a more important level, Half Life 2 won't start D: 21:21:21 essentially a basic [ ] (in bf) equivalent 21:22:06 ah, the way you wrote it it wasn't clear whether it looped or not, that's why I asked 21:22:14 sure, no harm done :) 21:22:15 Are there any languages out there that use some sort of "when" construct. 21:22:25 like... do something on a certain event... regardless of time. 21:22:27 hrmm... that's an interesting one :) 21:22:46 so, 21:22:49 do inc(x) 21:22:49 when x>5 stop 21:22:50 I like that :D 21:22:54 as for the complicated one, I'm having technical problems trying to read it 21:23:08 CakeProphet: yes, CLC-INTERCAL 21:23:10 aha, heh... I knew ms wasn't the way to go 21:23:37 there's a construct that evaluates an expression at the first moment in time it isn't a runtime error 21:23:37 on an unrelated note, futures are the weirdest things ever. 21:23:49 ...haha 21:24:36 I kind of want something that uses logical attraction to program somehow. 21:24:48 like... "x hate y, but x loves z" 21:24:52 *hates 21:25:02 and then have shit happen based on these declarations 21:25:14 (Not sure if I've run this by you guys yet: http://rafb.net/p/ShlZzZ70.html ) 21:25:17 maybe a love triangle is an infinite loop. ;) 21:25:33 well, CakeProphet, I had a similar idea 21:25:40 that has yet to be developed 21:25:51 My hand notes: Variable relationship is constant, throughout code. If b = 2x, then if x changes value, b changes value proportionatly. 21:25:51 b now has 2x child, can't change value of either b or x, but can spawn off different children with different values. 21:25:51 You can eliminate children, or kill the whole parent (which case defaults to default value). Calling parent callas all values 21:25:51 associated with parent (all children). Calling a child calls all its associated values (sub-children only). 21:26:19 that Mandelbrot looks good: simple, understandable and short 21:26:25 thanks :) 21:26:50 ...I like labels. 21:27:03 CakeProphet: seen Haifu? 21:27:07 nope 21:27:15 http://esolangs.org/wiki/Haifu, I think 21:27:34 ah, that's a stub, but it's got the link I wanted on it 21:27:35 it would be cool to not have variables... but have labels. (operation operand [LABEL operand]) 21:28:42 what do the labels label? 21:28:53 and then an operation that changes all expressions with a label name.. (change LABEL (operation blah blah)) ...and * refers to the original expression in label, so you can do stuff like (change LABEL (+ * 1)) to increment a value. 21:28:59 well, CakeProhpet, if you have some kind of data retention structure (as is necessary for TC I believe), then I'd say you automatically have variables. 21:29:06 they label any sort of expression. 21:29:14 using s-expressions at the moment, but it could vary. 21:29:50 -!- oklofok has quit (Read error: 113 (No route to host)). 21:30:07 -!- Iskr has quit (Read error: 110 (Connection timed out)). 21:30:15 it's like... syntax substitution. 21:30:25 so the variables are syntax constrcts, not really evaluated yet. 21:30:52 INTERCAL hasn't quite reached the stage of being able to substitute one expression for another like that, but it's getting there 21:31:19 I don't think it would change all the results of the previous computation... it would just change the syntax tree from that point on. 21:31:20 it comes out logically from the grammar of the language, but so far I haven't figured out how to implement it or whether doing so would be a good idea 21:31:40 hmmm... but surely then, it would be possible to coax the programme into depending on a situaiton which will only arise after it has been resolved 21:31:53 Hiato: sounds like Feather in reverse 21:32:23 Feather? I will reference the wiki 21:32:33 ...it would be pretty sweet to have that kind of syntax-substition in a real language. You could have plugins that change the core completely. 21:32:33 Hiato: not there yet 21:32:38 it's a lang I'm inventing at the moment 21:32:45 (real language = practical) 21:32:45 and have been talking about to ehird for days on end 21:32:47 Aha, awesome :) 21:33:01 the main feature is that you can retroactively change any part of the language 21:33:02 er... well I must have missed it, any docks? 21:33:11 actually I was just writing some 21:33:14 heh, sounds twisted in a way 21:33:29 but they're just my mental meanderings set down on paper 21:33:43 *cough* link *cough* 21:33:44 and may quite possibly be entirely wrong, or alternatively incomprehensible 21:33:45 -!- oklopol has joined. 21:34:43 http://pastebin.ca/1037213 21:35:07 the language's syntax is actually much nicer than that 21:35:09 pastebin hates me, any chance of nopaste or the like? 21:35:14 but I've only got to documenting Basic Feather so far 21:35:20 and OK, I'll use a different pastebin 21:35:25 thanks :) 21:36:03 I've always liked Perl and Ruby's conditional statement syntax.... and Python's too. 21:36:25 heh, yeah. p += k UNLESS s == 1 21:36:31 http://rafb.net/p/I4JsLV42.html 21:36:41 statement if condition ... or statement while condition... etc. In Python there's (expression if condition else other-expression) 21:36:43 Thanks ais523 21:39:16 So, let me see if I get the gist 21:39:49 essentially, you can have a programme that creates its own grammar subset and then executes itself or any other arbitrary programme in it? 21:40:36 ...bugSophia was really cool. I should get around to writing its interpreter. 21:41:23 -!- ais523 has quit (Remote closed the connection). 21:42:11 -!- Hiato has left (?). 21:42:22 -!- Slereah has quit (Read error: 104 (Connection reset by peer)). 21:42:32 -!- ais523 has joined. 21:42:56 sorry, X went crazy and I had to restart it 21:43:06 Hiato: yes, that's one of the things it can do 21:43:21 all objects are read-only 21:43:30 but you can retroactively modify what they were at the moment they were created 21:43:33 it's how you do inheritance 21:45:03 ...bugSophia would have really interesting concurrence. 21:46:49 because each byte value essentially has its own thread of execution. 21:50:04 as for Feather, primitiveBe is the thing that really sets it apart from other languages, although you have to be careful using it to avoid an infinite loop 21:50:23 someone (maybe AnMaster) suggested calling it primitiveBecome, but become = (to me) change from now on 21:50:26 -!- Slereah has joined. 21:50:30 whereas it isn't a become, it's a be 21:50:34 or maybe even a have-been 21:50:56 * ais523 remembers Douglas Adam's comments about time travel screwing up grammar 21:51:21 ais523, was ehird 21:51:22 not me 21:51:26 ah 21:51:27 I suggested private prefix 21:51:35 ehird suggested primitive 21:51:50 I still like the idea of veryUnsafeBe, though 21:52:07 AnMaster: any idea on what sigil, if any, to use for globals 21:52:18 at the moment I implement them as properties which all objects have 21:52:28 because they're set on the root object 21:56:04 I like how Ruby uses ALL CAPS for constants. 21:56:15 well, C does that too 21:56:17 sort of 21:56:21 -!- oklopol has quit (Read error: 113 (No route to host)). 21:56:23 ...not as part of the language. 21:56:45 well, what sigils have you already used? 21:57:07 ^ and # both look like sigils to the user, but aren't really 21:57:15 and I'm planning to use $ as well 21:57:18 You should use ` ...no ever uses ` 21:57:35 I may end up using it for unary operators, like Haskell does 21:57:44 or ~... 21:57:44 s/unary/infix/ 21:57:57 and I was going to use ~ as an operator 21:58:14 what do semicolons do at the moment? 21:58:46 nothing just yet, but I plan to use them to separate statements 21:59:09 I always like local variables to be the unsigilized ones... if you're using something to declare scope. 21:59:17 well, it's an OO language 21:59:23 and $ always looked kind of globalish to me. Reminds me of environment variables. 21:59:30 yes, $ is globalish to me too 21:59:41 I'm planning to use it for the monad 21:59:50 -gasp- not the monad 21:59:53 that thing I still don't get. 21:59:55 which threads through the entire program and remembers things that need to be global 21:59:56 but is apparently God. 22:00:02 well, I only have the one monad, unlike Haskell 22:00:09 rofl... the One True Monad. 22:00:16 but monads are pretty simple really, just hard to explain 22:00:41 like functions... apparently. No one gets functions in any of my math classes. 22:01:03 CakeProphet: do you understand the concept of a lazy functional language? 22:01:32 Like Haskell? I'd say yes... but I'm not actually sir, because I don't know a lot about haskell 22:01:40 I understand the concept of lazy 22:01:43 and the concept of functional. 22:01:54 well, suppose you have a lazy functional language, and you want to make sure things happen in a particular order 22:02:05 but it's lazy, so you can't tell whether they happen at all unless you try to use them 22:02:05 -!- lifthrasiir has quit (Read error: 110 (Connection timed out)). 22:02:13 say you have something that's pure side-effect with no return value 22:02:15 like printing out a string 22:02:26 normally in a lazy language that would never happen because you never use its return value 22:02:38 ah... yeah 22:02:48 so, suppose you have some value, in the case of IO it doesn't even matter what it is 22:03:00 make it of a special, unique data type 22:03:26 then say, that all side-effect operations in a particular group (say, all IO operations) have to take a value of that type as an argument and return a value of that type 22:03:51 then, your second print statement depends on the return value from the first print statement 22:04:03 and your third print statement depends on the return value from the second print statement 22:04:05 and so on 22:04:15 and at the very end of your program, you return the last return value back to the OS 22:04:29 that way, you make sure that all your print statements run in the right order 22:04:35 because each needs the last to have executed before it 22:04:52 hmmm... alright. I vaguely understand. 22:04:56 this solves most of the problem, but there's one extra issue 22:05:09 what if someone passes the return value of the first print to both the second and the third? 22:05:17 if you do that, chaos ensues because the ordering is broken 22:05:31 I see what it's used for it... and why it's needed... but not how you do it. 22:05:34 so what a monad does, is it hides those return values so you can't manipulate them directly 22:05:45 you have an operator (I think Haskell calls it >>=) 22:05:55 that passes the return value of one function as an argument to another 22:06:01 ....so it's vaguely like a stream? 22:06:08 yes, very like a stream 22:06:38 you can do (printStrLn "Hello, ") >> (printStrLn "world!") 22:06:40 I think if they just named it something more descriptive, it would be less confusing. 22:06:51 (ah, I remember now, it's >> to join void functions together) 22:07:04 and the first has to run before the second 22:07:12 because you're chaining an imaginary return value from the first to the second 22:07:14 that's the IO monad 22:07:33 ...alright. Yeah, that's simple, but hard to explain. 22:07:44 now, the clever and confusing bit is when you actually make the imaginary return value have a meaning, and convey information 22:07:55 ...oh lawd. 22:07:57 when you do that, you are effectively creating a variable 22:08:05 you have a value which goes from function to function 22:08:10 which you can look at, and change 22:08:17 normally values can't be changed in lazy functional languages 22:08:26 so that gives you the State monad, for instance 22:08:37 which gives you one variable that you can read from and assign to, etc 22:08:46 is there a reason Haskell does this as opposed to using variables and some sort of built-in stream concept? 22:08:57 CakeProphet: functional purity 22:09:03 figures. 22:09:03 and laziness 22:09:17 monads don't really seem that functionally pure though. 22:09:28 well, you can implement them with nothing but functions 22:09:37 in fact, I'm having to do that for Feathe 22:09:38 s/$/r/ 22:10:00 -!- oerjan has joined. 22:10:06 rofl.. you just gave your last statement an infinite length... 22:10:16 as it no longer has an ending. 22:10:17 CakeProphet: it wasn't s/$/r/g 22:10:36 ah, normally regexps add one if you accidentally deleted the old one 22:10:53 rofl, sounds like something Perl would do. 22:11:02 Haskell would create some sort of infinite string concept. 22:11:12 for the sake of purity. 22:11:14 actually, most regexps define $ as matching the 0-length string just before the ending, rather than the ending itself 22:11:24 hmm... I wonder if $$ matches the end of a string in most regex languages? 22:11:27 -!- sebbu has quit (No route to host). 22:11:36 by that definition, it would 22:11:42 ...there really isn't much difference. 22:11:45 at all... 22:12:16 on my computer, grep doesn't match anything given '$$' as the regex 22:12:21 but egrep matches every line 22:12:51 not that anyone sane would write that anyway, except as a test 22:13:14 I make searches for $Hello^ all the time 22:13:27 presumably that doesn't find anything 22:13:37 well... if you have a ghost in your computer... 22:13:40 unless you have an environment variable called Hello set to the null string 22:13:47 then its possible they are attempt to communicate in the space between strings. 22:13:56 +ing 22:14:15 hmm... if you had strings in 1-s complement notation 22:14:19 then you have two sorts of zero 22:14:24 now say if they're NUL-terminated 22:14:35 you could convey secret communication information by whether you terminated with +0 or -0 22:14:46 that would be sweet. 22:14:58 * ais523 likes 1s-complement 22:15:05 you could map it to binary. +0 is a 1, and -0 is a 0 22:15:21 especially if you have a prime number of possible values for your numbers 22:15:40 then addition, subtraction, multiplication and divmod are all reversible even if they overflow 22:15:49 well, apart from divide-by-zero, but that isn't exactly an overflow 22:16:11 that's some wicked steganography. 22:28:57 -!- sebbu has joined. 22:35:26 -!- ais523 has quit ("(1) DO COME FROM ".2~.2"~#1 WHILE :1 <- "'?.1$.2'~'"':1/.1$.2'~#0"$#65535'"$"'"'&.1$.2'~'#0$#65535'"$#0'~#32767$#1""). 22:36:01 -!- CakeProphet has quit ("haaaaaaaaaa"). 22:36:03 -!- olsner has quit ("Leaving"). 23:06:55 -!- RedDak has quit (Remote closed the connection). 23:19:50 -!- jix has quit ("CommandQ"). 23:25:51 -!- revcompgeek has quit ("http://www.mibbit.com ajax IRC Client"). 23:32:04 -!- Nocta has quit.