00:42:51 -!- SimonRC has quit (Read error: 110 (Connection timed out)). 00:56:59 -!- cherez has joined. 01:19:00 -!- SimonRC has joined. 01:28:26 -!- sebbu has quit ("@+"). 01:31:30 -!- cherez has quit ("Leaving."). 01:45:54 -!- calamari has joined. 01:45:54 -!- tesseracter has joined. 01:46:50 -!- Corun has quit ("This computer has gone to sleep"). 02:00:43 -!- cherez has joined. 02:39:05 I feel like drawing something. Does anyone have any requests? 02:53:27 RodgerTheGreat, do you have more plans for handgrenade? 02:53:49 just curious 02:58:17 i tend to scribble technical stuff 03:03:08 I dunno 03:04:08 is this you asking if you can take it over, or suggesting that I continue? 03:10:38 a bit of both actually :\ 03:10:44 -!- GlassBot has quit (Read error: 110 (Connection timed out)). 03:10:47 -!- ehirdsleep has quit (Read error: 110 (Connection timed out)). 03:11:03 do you reckon you'll do more work on it? 03:11:33 meh 03:11:39 maybe i'm just talking crap 03:15:54 I dunno 03:16:05 really, I have a lot on my plate already 03:21:55 ok. i'm probably just going to do an implementation based on what's there 03:32:26 Hm. Should I put the Love Machine 9000 on the esowiki? 03:39:33 go ahead 04:14:04 is the Love Machine 9000 like the opposite of the DeathStation 9000? 04:14:25 or something new and hideous altogether? 04:17:02 It is the name of one of mah language, which is pretty much a Turing machine. 04:17:49 only sexier? 04:18:00 -!- slereah_ has changed nick to Slereah. 04:18:41 You decide. http://membres.lycos.fr/bewulf/Russell/turingprog16.py 04:19:12 If you use the penguins, you might want to use : http://membres.lycos.fr/bewulf/Russell/turingprog16-Lin.py 04:19:43 It's interesting, but I still don't think I get the name 04:20:16 The story behind that name is that I had no idea for a name. 04:20:32 The "serious" name is NTCM 04:20:42 For n-tape choice machine. 04:21:26 on a somewhat unrelated note, does anyone find this amusing? http://rodger.nonlogic.org/images/Comic024.png 04:22:38 It's okay I guess. 04:22:51 yeah, not my best work 04:23:08 I think it seemed funnier when I was waiting in an airport for 4 hours. 04:24:05 Here's a BF interpreter for the Love Machine if you want to see what it looks like : http://membres.lycos.fr/bewulf/Russell/BF%20ASCII.txt 04:24:53 I should make a penguin version. This one doesn't work on the penguin love machine. 04:25:12 woah, funky extended ASCII 04:27:01 Yes. A Turing Machine is a poor choice to make a BF interpreter. 04:27:13 The Bitchanger interpreter is much shorter! 04:27:34 lol 04:31:44 And here's the 99 bottles of beer : http://membres.lycos.fr/bewulf/Russell/99%208.txt 04:32:28 that must really be a bitch to type 04:32:56 but I do applaud your success in making 99b readable 04:33:58 The comments are actually states of the machine, but that are never called. 04:34:12 yeah, quite clever 04:34:28 not entirely unlike the [ comments go here ] BF trick 04:36:02 Although I still specify an accepting char and exit state, otherwise I fear there might be a parsing error. 04:36:28 Hm. How do I create a new page on the esowiki? 04:45:44 -!- Pyotr has joined. 04:46:12 -!- Pyotr has quit (Client Quit). 04:46:43 good night everyone 04:46:58 -!- RodgerTheGreat has quit. 05:10:59 -!- calamari has quit ("Leaving"). 05:47:47 -!- CakeProphet has joined. 06:13:32 -!- CakeProphet has quit ("haaaaaaaaaa"). 06:49:39 http://www.esolangs.org/wiki/NTCM 06:49:45 Thar. 06:53:27 go to the page and click "create this page" or "edit" 06:55:43 Well, it is a little late now. 06:56:56 ok 07:40:51 [a[0:P1RI:b;1:P1LE:c]|b[0:P1RI:c;1:P1RI:b]|c[0:P1RI:d;1:P0LE:e]|d[0:P1LE:a;1:P1LE:d]|e[0:P1RIHA:e;1:P0LE:a]][0=0;ims=a;d15;vh;etTecF;t1] 07:40:54 Aaaaaargh! 07:41:02 Busy beaver with millions of steps! 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:04:57 heh 08:08:07 Still running. 08:08:34 I wonder in how much time the Love Machine 9000 can process 14.000.000 steps 08:10:03 Oh. It's actually 47,176,870 steps. 08:19:19 -!- bsmntbot has joined. 08:19:58 * immibis wonders why IrcCoffeeBot is calling itself bsmntbot, and why it came to this channel instead of #coffee 08:20:03 !j #coffee 08:20:05 Huh? 08:20:21 oops, #coffee's already in use....????? 08:20:30 -!- bsmntbot has changed nick to CoffeeBot. 08:20:41 * CoffeeBot is making a coffee in an office mug with cold milk help for immibis 08:20:41 * CoffeeBot gives immibis a coffee in an office mug with cold milk help 08:20:48 #coffee: ... 08:21:14 stupid bot 08:21:16 !p #esoteric 08:21:18 -!- CoffeeBot has left (?). 08:21:19 Huh? 08:23:01 -!- immibis has quit ("Hi Im a qit msg virus. Pls rplce ur old qit msg wit tis 1 & hlp me tk ovr th wrld of IRC. IceChat - Its what Cool People use"). 08:24:07 A good quit message virus would also ask the user to manually delete all his files! 08:24:52 heh 08:49:12 -!- GreaseMonkey has quit ("Hi Im a qit msg virus. Pls rplce ur old qit msg wit tis 1 & hlp me tk ovr th wrld of IRC. Man who run behind car get exhauste). 10:16:23 -!- puzzlet has quit (Read error: 110 (Connection timed out)). 11:25:49 -!- Corun has joined. 12:09:45 -!- slereah_ has joined. 12:12:38 -!- Slereah has quit (Read error: 104 (Connection reset by peer)). 12:58:31 -!- slereah_ has quit (Read error: 104 (Connection reset by peer)). 12:59:13 -!- slereah_ has joined. 13:02:12 -!- slereah_ has quit (Read error: 104 (Connection reset by peer)). 13:02:32 -!- slereah_ has joined. 13:51:01 -!- ehirdsleep has joined. 13:51:05 -!- ehirdsleep has changed nick to ehird. 13:51:08 -!- ehird has changed nick to ehird`. 13:55:36 -!- slereah_ has quit (Read error: 104 (Connection reset by peer)). 14:12:15 -!- slereah_ has joined. 14:13:33 hello all 14:19:43 -!- Corun has quit (calvino.freenode.net irc.freenode.net). 14:19:46 -!- slereah_ has quit (Read error: 104 (Connection reset by peer)). 14:20:47 -!- Corun has joined. 14:26:13 -!- RodgerTheGreat has joined. 14:26:25 howdy 14:26:35 -!- jix has joined. 14:35:18 -!- slereah_ has joined. 14:36:35 -!- Jontte has joined. 14:41:33 RodgerTheGreat: i think the comic was funny 14:41:52 well, that's good to hear 14:42:03 i love the last square 14:42:12 the guy's posture is awesome :) 14:42:34 heh 14:43:04 does his shirt say "you are likely to be eaten by a give"? :D 14:43:21 grue 14:43:22 ! 14:43:25 Huh? 14:44:05 grue 14:44:56 for some reason i first thought the logical continuum to "you are likely to be eaten by" would be "bear". 14:45:20 so i interpreted the last word at random 14:46:33 -!- slereah__ has joined. 14:46:56 -!- slereah_ has quit (Read error: 104 (Connection reset by peer)). 14:47:24 I dunno, in my twisted imagination grues seem a lot more likely to eat people than bears 14:47:47 then again, I've seen "grizzly man", which was pretty much the comedy of the year 14:48:12 what's a grue, i thought you can only be eaten by "grue", not "a grue" 14:49:13 "It is pitch black. You are likely to be eaten by a grue." 14:49:19 "> what is a grue? 14:49:19 The grue is a sinister, lurking presence in the dark places of the earth. Its favorite diet is adventurers, but its insatiable appetite is tempered by its fear of light. No grue has ever been seen by the light of day, and few have survived its fearsome jaws to tell the tale." 14:56:57 oh, it's "a grue" 14:57:14 i haven't actually played a game that had this saying, just heard a few people use the phrase 14:58:37 Zork 1, 2 and 3 are freeware now- you ought a find a Z-machine interpreter and at least play the first one for a while 15:08:24 hmm... text adventure games? 15:08:34 the best 15:09:50 being the best text adventure game < being the best game < interesting enough to try for me, though :) 15:10:02 don't like games really 15:10:28 except ones where the controls are interesting 15:11:43 text adventures are fun and interesting to code, and unlike graphical games there's no overhead for asset creation. If you want a room that looks like something, you describe it rather than slaving over a graphics editor for hours 15:12:45 indeed, except i don't care what it looks like, i care about what it does. 15:13:07 which is why text adventure games are perfect 15:13:12 so... i don't care about graphics or plot, making me fairly uninterested in both all new games, and the awesome old adventure games. 15:13:27 plus, they can be played in a number of unusual vectors, such as over IRC 15:13:42 well, that's ofc a plus, i agree that 15:13:51 there exist a number of Zork-bots, and I believe you're aware of my IRC-based MUD experiments 15:14:26 but most text adventure games don't let me "build stuff" like i want to, as a programmer 15:14:40 i'm aware of them, if they contain the game where you hunted... something :) 15:14:56 wombat? 15:16:07 wumpus 15:16:11 much more fearsome 15:16:39 oh, man- my next wumpus-hunting game needs to include a torch, dark areas and grues 15:17:59 http://thcnet.net/zork/index.php 15:19:36 too slow a connection for that 15:22:17 -!- timotiis has joined. 15:30:44 I think I'll modify some of the Love Machine to make a language based on that 2,3 machine. 15:31:09 :D 15:31:14 sounds useful 15:31:34 Although I so far have no clue of how to make even the most trivial program with it! 15:31:34 Isn't it? 15:31:46 But since I already have the Love Machine 9000, it won't be too hard. 15:32:10 It's just defining a Turing program with two states, three symbols and some initial input. 15:33:11 It wil prolly be 5 symbols for the language itself. 15:33:38 well, actually, you need a laze preprocessor for the input tape 15:33:46 so you can allow for the infinite patterns 15:33:55 *lazy 15:34:07 First char is the default char, the rest is the input, and there's a ^ or v next to one of those symbols to show where's the head to start with and what's the first state. 15:34:10 Wut? 15:35:02 i would love to explain, but i have to go now 15:35:06 well, i guess it's short 15:35:07 kthxbai 15:35:11 Oh. 15:35:24 the 2,3 machine was proven tc using an infinite initial pattern 15:35:31 so... you need to have that. 15:35:55 Does the pattern have any... pattern? 15:36:06 Or can it be anything? 15:36:10 you need to add a facility for adding non-tc programs that always process the tape before the actual tape of the turing machine enters them 15:37:16 actually, i think ais's thingie on the tape was some sort of a nested structure, even, so it's not even all that trivial a preprocessing. 15:38:06 Let's see that proof. 15:38:23 it cannot be *any* pattern, i think bounded to a pda or something 15:38:25 ais can tell you better, or you can read the proof 15:38:26 i couldn't. 15:38:41 too complex for me, lazied out after a few pages 15:39:49 If it's that horrible, it will probably have to wait the end of the week 15:39:53 It's exam week right now. 15:48:47 -!- jix has quit (Nick collision from services.). 15:48:57 -!- jix has joined. 15:52:57 -!- Hiato has joined. 16:02:24 ('system 0') can emulate any two-colour cyclic tag system for an arbitrary number of steps, using a finite- 16:02:24 length initial condition in which the leftmost cell is a 0 and starts active in state A and in which the first 16:02:33 Finite-length? 16:22:56 -!- Hiato has left (?). 16:27:34 -!- sebbu has joined. 16:54:17 From what I can make out, the actual 2,3 machine takes on a finite input. The transformation of input seems to be for the next systems. 16:54:30 But then again, I can't understand that much. 17:04:16 I wonder... Glass is one example of 'ridiculous object orientation'... 17:04:18 What could another be.. 17:08:47 2,3 is so simple that I seem to be throwing out most of the Love Machine 9000. 18:03:27 Well, I have the basic machine so far. 18:03:35 Now, to make something ridiculous with it. 18:07:22 >query Love Machine 9001 release date 18:08:36 It is not the Love Machine 9001. 18:08:49 It will be called "23 skidoo", I fear. 18:09:39 The idea will be that, instead of colors, there will be 0, 1 and X. 18:09:52 And the tape will be divided into packs of eight. 18:10:19 So that, maybe, by pure chance (I have no idea how to do programming with that thing), it will spell out some stuff. 18:10:29 In ASCII, that is 18:10:42 Making some sort of readable output. 18:11:04 The Rt. Hon. Lord God Bless Its Soul Love Machine 9000 Sr. 18:11:32 Well, it could be that too. 18:11:41 It's not like I care that much about the name, obviously. 18:15:09 -!- RedDak has joined. 18:17:47 someone give me an algorithm for determining the 'random keyboard bashing'-ness of a string! 18:19:40 -!- Corun has quit ("Leaving"). 18:19:40 -!- Corun has joined. 18:19:40 Define "random keyboard bashing". 18:19:41 Most keyboard bashing isn't random, because people tend to strike the same areas. 18:20:02 Hence the expression, sdfgsdf 18:21:02 slereah__: based on subjective human opinion 18:22:38 Place a midget in your CPU. 18:22:42 Input the string. 18:22:44 ??? 18:22:48 Problem solved! 18:39:43 -!- slereah_ has joined. 18:39:49 -!- dak has joined. 18:39:59 -!- dak has quit (Read error: 104 (Connection reset by peer)). 18:40:14 -!- slereah__ has quit (Read error: 104 (Connection reset by peer)). 18:42:07 who wants an esolang implemented 18:42:08 :P 18:56:12 -!- slereah__ has joined. 18:57:54 -!- slereah_ has quit (Read error: 104 (Connection reset by peer)). 18:59:35 >:| 19:20:08 -!- Jontte has quit (Read error: 104 (Connection reset by peer)). 19:20:55 -!- Jontte has joined. 19:43:10 sheesh. the lambda calculus is dynamically scoped, kinda 19:44:47 Well, the empty string is definately not a quine in 23 skidoo. 19:45:58 Although so far, no letters. 19:56:33 ehird`: no, staticly 19:56:52 SimonRC: depends on how you view it 19:56:58 umm 19:57:12 There is only one kind of variable and it is lexically scoped 19:57:23 yes. 19:57:39 so how can it be dynamically scoped? 20:08:11 if your evaluation strategy is fucked. 20:08:12 :) 20:09:05 well then it isn't the lambda calculus 20:13:59 naw 20:14:01 it worked the same 20:14:05 just... :P 20:17:56 for some weird meaning of kinda, perhaps it is dynamically scoped 20:30:51 is there an esolang with nice network support? 20:30:58 1337 20:31:23 i don't know if i'm leet enough, but let's see 20:31:26 oh, right 20:31:31 brainfuck derivative? 20:31:34 yeah 20:31:39 i think i know it 20:33:27 umm... that's not a brainfuck derivative 20:34:45 wtf?!?! 20:34:55 the 1337 wiki page got replaced with something else 20:35:24 oh 20:35:29 it's spelled l33t 20:35:48 hehe 20:37:09 http://www.100webads.com/ any other suggestions? 20:37:27 i would prefer getting it running today, though, so an esolang might not suit that well :) 20:37:59 what is it? 20:38:05 a 1 million pixels clone? 20:38:22 what? 20:38:22 :) 20:38:32 some asshole 20:38:47 sold 1 million pixels of ad space on his website for $1 each 20:39:14 xD 20:39:17 that's awesome 20:39:33 we gotta put that on vjn.fi 20:39:59 what's that? 20:40:07 www.vjn.fi 20:40:12 ... 20:40:14 a cat walking on the keyboard 20:40:17 a page me and a few friends bought for fun 20:40:24 i wish i could come up with a scam as profitable as that :( 20:40:37 heh 20:40:41 not a scam 20:40:45 i know 20:40:46 you got exactly what you asked for 20:40:49 but it feels like one 20:40:58 he made a million bucks without ANY content 20:41:16 except the idea 20:41:44 and, I expect, a vast amount of time spent handling 10000 emails from people wanting to buy space 20:41:48 * oklopol wants to buy a pixel 20:41:53 just the one/ 20:42:22 i could pretend i was a 500 pound fatso that lost 350 pounds, and i need people to donate money for skin removal surgery 20:42:28 heh 20:42:37 everyone loves an uplifting story about how someone lost weight 20:42:48 you'd need pics 20:42:53 easy to find 20:43:01 hmm 20:43:08 someone might spot if ytou re-used them 20:44:16 http://seanyounai.files.wordpress.com/2007/08/massive-weight-loss.jpg 20:44:17 etvc 20:44:19 *etc 20:45:04 http://www.t-nation.com/img/photos/05-118-diet/image002.jpg 20:45:36 see previous remark 20:45:44 -!- Jontte has quit ("Konversation terminated!"). 20:46:22 as long as the image wasn't prolific i think it would be ok 20:48:39 ugh 20:48:49 i knew i should have looked up prolific before using it 20:51:07 :D 20:51:14 i pwn you at your own language! 20:57:54 -!- pikhq has quit (Remote closed the connection). 20:57:58 idea: 20:58:06 esolang emacs! 20:58:31 take an esolang, add some kind of feature to it to allow 'calling out' to fake-syscalls, make loads of them for editor and ncurses stuff 20:58:32 write editor 20:58:33 profit 20:59:12 It's called TECO 21:00:49 -!- Hiato has joined. 21:01:00 SimonRC: heh 21:01:59 Wassup :) 21:02:16 ^ 21:02:25 heh :) 21:02:32 unless your monitor is upside-down, in which case it's v 21:02:42 lol :D 21:03:19 -!- pikhq has joined. 21:03:22 ehird`: this'll probably annoy you, but I changed the ACRONYM grid size back to 128x128, and for a reason too, here is the spec including reason http://rafb.net/p/LLTaUp22.txt 21:04:07 that doesn't say *why* 21:04:12 does 21:04:16 yes, it does :P 21:04:22 and also actually using that tc-ness in practice is... infeasable 21:04:30 'This language will, by no account, need an infinitely large grid to be Turing complete.' that's not a reason 21:04:54 1st statement: agreeed :) 2nd statement: why do you say that... 21:04:59 well, it is an esolang 21:05:26 making implementation easier at the expense of a horribly complex program is fin 21:05:29 e 21:05:32 your motivation for an infinite grid was: "This will defiantly make it Turing Complete" 21:06:09 SimonRC, it's not horribly complex ;) it just went down from infinity to 128x128x2, which as ~26000 21:06:17 so still plenty of space 21:06:25 Hiato: put it there: http://esoteric.voxelperfect.net/wiki/ACRONYM 21:06:27 Hiato: yes 21:06:47 well ehird`: the actual reason was: how would a mover possibly wrap around the pushed row/column on an infinite grid 21:06:48 and 128 * 128 * 2 = 32768 21:06:52 not possible 21:06:56 Hiato: is possible 21:06:59 Hiato: first untouched square 21:07:03 is a wall. 21:07:35 e.g. if you store the grid as a hashtable 21:07:49 so if I understand then what you're saying is: 21:07:49 x x x x x 21:07:49 x x x x x 21:07:49 ^ 21:08:22 if that column is shifted up, then put the top x at the bottom etc.. because the rest of the grid hasn't been used 21:08:48 what is the implementation language? 21:08:52 hrmm... 21:08:58 i was going to implement it. 21:09:01 in Scheme, or Haskell 21:09:03 well, it is (from my side) delphu 21:09:09 *delphi 21:09:18 in haskell/scheme this would be trivial 21:09:44 actually, if we use that furthest untouched square, then I must say, I like the sound of infinite 21:09:48 well, Haskell will do fine on it, you just need to map over the keys of the Data.Map 21:10:29 just rotating the row/col and always making sure you have some padding will work too 21:10:44 hrmm.... that would mean though, that to wrap around a give point, you would need to visit it first, therefore adding loads more instrucitons 21:10:46 make grid size powers of two, for proper asymtotic behaviourt 21:10:56 ie: the hello world programme would need 15 extra instructions 21:11:08 wel..... 21:11:42 hrm... 21:11:59 if the terp could prove that the program would keep going until the row wrapped around, it could "wrap it round infinity" 21:12:02 :-P 21:12:36 or you could have an explicit "wrap round infinity" instruction 21:13:37 * SimonRC goes (food, bed, etc) 21:15:08 * SimonRC goes (food, bed, etc) 21:15:29 -!- faxlore has joined. 21:16:07 I can't seem to decide now. For ehird`'s sake I want the infinite grid (and it's cool too), but for thesake of functionality, I want the finite grid 21:16:37 it's functional in my way 21:16:38 hi 21:16:40 unless you use, say, delphi 21:16:41 ;) 21:16:45 What does functionality mean? 21:17:44 lol :) 21:18:08 I meant in terms of extra instructions to use the grid when it is infinite 21:20:34 meh, ok, fine ehird`, you win 21:21:08 as long as it is still possible to use the mover functions 21:21:16 \o/ 21:23:23 i love the idea of wrapping around infinity 21:23:35 :D 21:23:55 * faxlore can think of two bijections from N to NxN... 21:24:24 *between 21:25:17 * oklopol can think of an infinite number of them... 21:26:50 What are they all? 21:28:14 if you have N <-> N*N, then you have a function with A!=B -> f(A)!=f(B), right? 21:28:30 Yes 21:30:01 any function f_X(N) = f(N+X) trivially also satisfies the bijection, since A-X!=B-X -> f_X(A)!=f_X(B) 21:30:56 i have a hard time having conversations right now, my client takes a few minutes of lagtime every 3 words i type 21:32:28 my notation may be a bit weird there, but i think i'm correct 21:33:55 oh, right A!=B -> A-X!=B-X -> f(A-X)!=f(B-X) -> f_X(A)!=f_X(B) 21:35:03 do you see? 21:35:12 I don't get it, how does f_X still have .e.g 0 in it 21:35:15 or do you see an error 21:35:29 oh, right, N 21:35:35 in that case, that doesn't apply 21:35:37 sorry 21:35:43 anyway, still trivial 21:35:44 ahh..but this works for Z 21:36:02 yes, anmd you have N <-> Z, so... 21:36:03 (and R.. and there's probably a name for the sets it works øn?) 21:36:04 *and 21:36:27 there might be. i don't really know much math. 21:38:05 Num a 21:38:07 oh wait, math, not haskell 21:38:08 ;) 21:38:40 i doubt Num is the general term in haskell either, though 21:39:42 "forall A in Num: forall B in Num, A-B in Num" 21:42:06 -!- oklofok has joined. 21:45:47 http://rafb.net/p/zz0kwW41.html 21:45:57 ok, there *you* go ehird` 21:46:01 :P 21:46:20 oklopol: Num is the type class of numerics. 21:46:31 Int, Float, ... all have an instance (Num a), where a is the type 21:46:37 I didn't read the stuff above, so, maybe your type is different. 21:46:41 Hiato: :D 21:46:56 it looks all pretty now 21:46:57 heh :D 21:47:06 lol :D 21:47:47 damn i'm good at writing obfuscated haskell 21:47:48 it comes naturally 21:48:01 -!- jix has quit ("CommandQ"). 21:48:27 ehird`: it's "forall A in it: forall B in it: A-B in it" 21:48:43 that's one confusing type 21:48:46 :D 21:49:11 (Num a) => (Num b) => ... i get lost around this point. 21:49:28 A:X -> B:X ->(A-B):X 21:50:23 forall A:X, forall B:X, (A-B):X 21:50:27 that's not haskell ;) 21:50:34 * faxlore misused the ->.. 21:50:38 it's not haskell, but it's obvious what it means 21:50:56 ehird`: try being a human, not an interp ;) 21:51:09 oklopol: I am an interpreter :| 21:51:15 running IRP 21:52:40 -!- oklopol has quit ("for the need to encumber"). 21:55:24 -!- Hiato has left (?). 22:19:19 -!- GreaseMonkey has joined. 22:20:06 * ehird` is rewriting his underload compiler in Haskell 22:20:51 -!- oklokok has joined. 22:22:19 -!- oklofok has quit (Read error: 104 (Connection reset by peer)). 22:26:31 -!- tesseracter has quit (Connection timed out). 22:29:51 * pikhq is enjoying TMBG 22:35:58 pikhq: got The Else? 22:36:10 Yeah, although that's not what I'm listening to ATM. 22:36:17 Severe Tire Damage ATM. 22:37:53 -!- timotiis has quit ("leaving"). 22:41:10 -!- Jontte has joined. 22:46:50 -!- ihope has joined. 22:47:22 'lambda unrolling' is a pain, in underload 22:47:25 to summarize 22:47:48 when given "abc(def(ghi)blah)xyz" to compile, i need to produce something like: (where <...> means 'compiled code of ...') 22:48:09 void f1(void) { pushfunc(f2, "def(ghi)blah"); } 22:48:18 void f2(void) { pushfunc(f3, "ghi"); } 22:48:22 void f3(void) { } 22:48:32 and in haskell, it's a PAIN to do that without some kind of ugly monad 22:49:15 ehird`: Convert it to CPS first? 22:49:32 faxlore: that makes no sense in the context of underload 22:51:18 apply (compile "abc") (apply (compile "def") (compile "ghi") `then` compile "blah") `then` compile "xyz"? 22:52:03 ihope: except that would compile xyz somewhere in f3, or maybe even in the bare source code 22:52:09 it's the unrolling that's the problem 22:52:52 The problem is trying to implement Underload in Haskell? 22:53:10 err, no 22:53:12 COMPILING 22:53:17 which is a whole different ballgame 22:53:56 ehird`: Do you have some internal representation for "abc(def(ghi)blah)xyz", What does that strings AST look like? 22:54:37 faxlore: it looks like a String, because I need to have the string contents of (...) at all times. plus all commands are single-char so it isn't much of a pain. I could parse it but it's a lot of effort for little worth 22:59:51 This is cool 23:00:25 I can't see how you would compile ^ though.. without writing an interpreter? 23:01:16 I guess that makes Underload a scripting language. :-P 23:01:51 * faxlore is assuming there is some way, that they haven't thought of 23:02:25 faxlore: trivial 23:02:29 whenever you see (...) 23:02:37 compile the code inside, and push (str,funcptr) 23:02:43 ^ is just a call to that. 23:02:50 this is why you need to unroll 23:03:05 abc(def(ghi)) needs to be abc; def; ghi 23:03:23 Oh, indeed. 23:05:08 and ofc you do it recursively 23:05:08 but 23:05:18 that means the 'top function number' (for fN) might increase more than 1 23:05:26 so you need to keep track of that and sdfhakjhdsklgdskjfgjdhgahjsdgeuwyrygiubvhjasbbhdklglyp 23:05:55 isn't it possible to generate some code, (like every permutation or something, for example) and call that (with ^) ? 23:10:10 faxlore: ????????? 23:10:19 yes 23:10:21 but 23:10:23 that's why you have 23:10:27 "next" and "inner" pointers 23:10:37 ahh 23:10:40 (a)(b)* -> {a; next={b; next=NULL}} 23:11:09 (xy)(zzy)*a -> {inner={xy; next={zzy; next=NULL}}} 23:11:23 this is really mad 23:11:32 please show me this compile when it's done? :D 23:13:05 i already have a one that works.. 23:13:16 it's ugly, imperative, slow scheme and the output c code is ugly and non-indented 23:15:53 also it's buggy. 23:16:54 fun 23:16:59 hm i wonder if any of you recieved that 23:17:00 basically: 23:17:06 */*/**/****SHITLOAD OF *s 23:17:07 segfault. 23:30:40 -!- RedDak has quit (Read error: 113 (No route to host)). 23:32:42 -!- immibis has joined. 23:34:16 argh 23:34:20 i ALMOST had it there 23:35:56 -!- immibis_ has joined. 23:36:02 ugh 23:36:05 dvorak is infuriating 23:36:24 no, compiling underload is 23:36:38 not dvorak specifically, but not being able to type fast 23:37:37 \me switches to dvorak 23:37:49 * ihope switches to dvorak 23:40:10 Yd.p.! 23:41:08 I can almost type if I try hard enough. 23:42:04 Much practice is required. 23:42:04 -!- immibis has quit (Nick collision from services.). 23:42:06 -!- immibis_ has changed nick to immibis. 23:47:20 if only there was an imperative language with the elegance of haskell :P 23:47:23 this would be a doddle.