02:09:10 -!- wooby has joined. 02:11:20 hello, wooby 02:13:11 hi 02:14:16 what's crackin? 02:16:40 writing an interpreter (slowly) for a new esolang 02:37:34 that's awesome 02:37:46 an esolang of your own design? 02:52:37 yes 02:52:57 it is based on the principle of insertion sort 02:55:10 that's interesting 03:16:03 *p++ parses as *(p++), right? 03:24:59 -!- kipple has quit (Read error: 60 (Operation timed out)). 04:20:32 -!- malaprop has quit ("quit"). 05:25:30 Wow, logicex-2 is a bitch. 05:25:35 I'm never going to beat this >_> 05:26:42 Until jix does, then I will be forced to defeat his :) 05:31:35 heh, i just realized these two operators i had proposed are exactly the same: 05:31:36 ^ Strings String Provides whichever comes later out of op1 and op2, 05:31:36 or "" if they are equal 05:31:36 $ Strings String Returns "" if both strings are "", the string that 05:31:36 comes later out of op1 and op2 if neither string is 05:31:37 "", or the string that is not "", if one of them is 05:31:38 "" 05:31:47 obviously, i had not had my coffee when i made those up 05:33:35 have you considered making an interactive FYB, wherein players could control their warriors at runtime somehow? 05:33:43 using , and . of course 05:41:16 Why no, no I have not :-P 05:50:25 it wouldn't work very well 05:50:45 i can't imagine a situation where a person at the keyboard could decide what to do better than the program 06:30:16 -!- wooby has quit. 06:35:40 You would need to have a really, really good grasp on what the program was doing. 06:35:47 Which is incredibly difficult to get. 06:35:51 (Part of the point, really) 06:39:14 and if you were that smart, though, you would just make your program figure it out, right? 06:49:48 Exactly ;) 06:53:44 i hope you will enjoy my new esoteric programming language 06:53:56 the interpreter is not working right, i will have to fix it tomorrow, good night 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 11:19:25 -!- sp3tt has joined. 11:21:04 ";; warning: alcohol destroys brain cells! (not as much as brainfuck)" rofl 11:22:39 hi sp3tt, yeah that was a good advice :) 11:23:11 -!- sp3tt has quit (Client Quit). 12:25:08 -!- kipple has joined. 13:05:00 -!- jix has joined. 13:09:28 kipple: your 99bob is still in the first place closely followed by Shakespeare 13:09:54 moin! 13:13:40 moin jix 13:14:15 hi 13:14:45 pgimeno: yes, wonder how long it's gonna last 13:18:15 it's a hard competition, both are equally fascinating :) 13:19:21 bbl 13:22:21 * jix has an idea... .. is it turing complete ?.... *thinks* 13:26:21 HAH# 13:39:54 i have an idea for an ultimate language 13:40:29 programs will look like levels of a platform game .. and even work a bit like them ^^ 13:41:21 hmm. 13:41:32 is there a nethack esolang, btw? 13:46:21 my language will use a graphical editor.. text representation is.. to complex (maybe i write a text exporter and importer.. but graphical editor comes first) 13:46:53 yay! the world needs more non-ascii based esolangs! 13:47:20 name: bit-dropper 13:49:05 anyone here knows 'the hellacopters' ? 13:49:12 (band) 13:49:15 you mean the band? 13:49:38 yes 13:49:43 I've heard about it. Aren't they finnish or something? 13:49:49 swedish afaik 13:49:54 they rule 13:50:05 only heard about them, not heard them... 13:51:33 the flaming sideburns rule too.. they are finnish 14:03:04 -!- J|x has joined. 14:03:34 -!- jix has quit (Nick collision from services.). 14:03:40 -!- J|x has changed nick to jix. 14:03:53 what was my last msg ? 14:04:28 flaming sideburns 14:08:34 -!- malaprop has joined. 14:29:44 ah 14:30:53 moin malaprop 14:33:14 -!- sp3tt has joined. 14:35:35 moin sp3tt 14:39:24 Hi. 14:40:41 jix: good news for your graphical language: http://www.99-bottles-of-beer.net/language-labview-729.html :) 14:40:51 (99bob supports images now) 14:41:09 wow 14:41:12 and, Hi sp3tt (what kind of nick is that anyway???) 14:41:27 does it support image+text (text for pasting it into the interpreter) 14:41:31 LOL... 14:42:27 jix: no idea. I don't even know what you mean... ;) 14:42:33 because i'm not going to store the data as images 14:42:54 but it would be too hard to write programms in the native (binary) format 14:43:25 The IKEA language? 14:43:42 no 14:43:44 bit-dropper 14:43:48 haha. no I don't think that one will be made 14:45:21 It would own. 14:45:37 Do you have a link for bit-dropper? 14:45:53 no i just thought a bit about it 14:46:28 the programs look like platform-game levels.. and work a bit like them.. hmm a mix of: falldown,lemmings and super mario 14:48:12 the levels look like super mario.. the object movement is a bit like falldown.. but the strategy is a bit like lemmings 14:49:28 away 14:54:25 back 14:58:09 in bit-dropper bits can slide,fall,roll,jump,bounce,fly... 14:58:44 i hope it's turing complete.. but anyway it's crazy 15:00:00 ok i'm still connected... (it's quiet here) 15:00:58 back 15:01:25 away 15:03:34 does anybody know if there is a command line utility like the linux timer available for windows? 15:06:21 do you mean the "time" command? 15:06:28 yeah 15:06:34 time not timer :P 15:06:49 yes: use cygwin :P 15:06:58 no thanks 15:07:11 any bash will do; I think there's a non-cygwin bash 15:07:25 but 'time' is a bash command 15:07:30 mingw+msys 15:07:36 arg.. i'm away.... 15:07:39 then yeay 15:07:44 oh, later then 15:08:02 yeay -> yeah (I mean: msys has a bash) 15:08:26 Bash for windows? 15:08:34 sure 15:08:48 anyway, I installed perl on my windows box in order to run my sous-chef version of 99bob in a reasonable amount of time, and it needed only 5 minutes :) 15:08:50 Now Windows can bash instead of being bashed! Resistance is futile! 15:09:25 kipple: "only" as compared with what? I don't remember the other timings 15:09:56 well, I never ran it with 99 verses, but I ran it with fewer, and estimated it to take about 45 minutes 15:10:17 not bad then 15:10:51 sp3tt: cygwin is around for several years actually; msys is more modern but is still a bit old 15:11:17 well, the windows box is 1.4GHz Duron compared to 187MHz K6, so it wasn't really a surprise :) 15:11:57 pretty linear :) 15:12:14 I like cygwin for one reason: it's basically a distribution 15:12:23 anyway, the time it takes to run a chef program with sous-chefs grows exponentially with the number of sous-chef calls... 15:12:47 exponentially? wasn't it quadratically? 15:12:59 hmm. yes 15:13:08 maybe... 15:13:35 I think I could find an exponantial function that is a good estimate for it as well. (I don't have enough data really to be precise) 15:13:55 just wondering based on what you told 15:14:29 I have no idea on how the interpreter is written anyway 15:14:40 it's the spec, not the interpreter 15:15:18 basically you have to pass ALL data in the program as parameters (by value!) to each function call 15:16:45 hum, how much data are we talking about? 15:17:15 depends on the program. in this case, the lyrics to 99bob 15:17:40 that's not too much, so I guess the interpreter could be more efficient 15:21:18 I'd guess so 15:22:13 We-ell, the interpreter could pass the contents by-reference and do some copy-on-write -like thing. 15:23:10 (Disclaimer: I don't really know anything about Chef.) 15:24:54 me neither, apart from having fun with the Fibonacci Numbers with Caramel Sauce 15:25:55 btw, copy-on-write is just another example of a lazy strategy :P 15:26:28 * pgimeno promises he'll be quiet next time 15:33:19 oh man 15:33:34 the world needs a language based on recursive regular expressions 15:34:02 it could be called Two Problems :D 15:38:23 Or brain-fubar. 15:38:42 Why "two problems"? 15:39:13 it's a quote from Jamie Zawinski 15:39:38 "Some people, when confronted with a problem, think 'I know, I'll use regular expressions.' Now they have two problems." 15:41:04 heheh, it'd be a functional language 15:41:07 oh, so evil >:) 15:41:16 Heh, I was just about to point out it'd be FP. 15:41:41 that's so awesomely evil 15:43:00 the primary conditional could be a list of regexps, works like a switch (without fallthrough) 15:43:17 who said anything about a conditional? :) 15:43:44 bah, I suppose it's necessary 15:43:47 *wonders* 15:44:05 Is not so much a conditional as matching. Like how in ML you'll have to write f for the empty list as well as for the full one. 15:44:43 ooh 15:44:47 maybe just use the regex match operation 15:45:12 and keep sets of match:sub triplets 15:45:17 er, pairs 15:47:50 not sure whether I need variables *messes around* 15:53:45 er, by variables I mean functions 15:53:56 yeah, guess I do 15:57:56 CXI "Some people, when confronted with a problem, think 'I know, I'll use regular expressions.' Now they have two problems." < where is this quote from? 15:58:20 comp.lang.emacs 15:58:26 fairly famous 15:58:52 Excellent, excellent quote :) 16:02:28 GregorR: I just found this which may be of interest to you: http://fishbowl.pastiche.org/2003/08/18/beware_regular_expressions 16:03:32 I'll look at it later, time to go to school. 16:05:21 sure 16:08:57 blagh, I keep forgetting all the perl I know :D 16:09:33 ah, crap, I can't store my function table as a hash because of pattern matching 16:10:02 or maybe I could store it as a hash of hashes... yes! >:) 16:11:21 CXI: Are you implementing Two Problems now? 16:11:25 yeah 16:11:30 neat 16:12:08 actually pretty easy to write in perl, I'm just working out how to do the functional bit properly 16:18:06 I haven't done data structures in perl for ages, wow 16:39:54 -!- j|x has joined. 16:39:59 back 17:24:08 -!- jix has quit ("This computer has gone to sleep"). 17:46:31 oh... 17:51:28 -!- j|x has quit ("Leaving"). 17:54:23 hmm 17:54:32 I just realised I may be doing this in an unnecessarily complex way 17:54:50 right now I'm doing function:/pattern/:/match/replace/ 17:54:59 but pattern and match are fundamentally the same thing 17:59:43 yes 18:00:41 * CXI kicks himself for being silly 18:00:50 most of the development time here is forgetting how to use perl 18:13:49 yay 18:13:50 hello world works 18:17:02 erk, I've hit another "my brain stopped working" roadblock 18:17:02 -!- jix has joined. 18:19:15 Example of the language? 18:19:43 actually, the problem is working out how the language should go 18:22:57 actually, hmm, I think I've got it 18:23:02 just have to work out how to write it down 18:23:16 what language ? 18:23:25 Two Problems :D 18:23:35 a functional language based entirely on regular expressions 18:23:58 using which regex engine ? 18:24:17 pgimeno: hey, no problem :) 18:24:17 perl's, at the moment 18:24:36 does perl support recursive regexpes ? 18:24:39 the articles aren't safe in wikipedia 18:25:09 jix: not really... but yes with a little craziness 18:25:17 the perl regex engine lets you use a function in the replacement of a regex 18:25:17 use: http://www.geocities.jp/kosako3/oniguruma/ 18:25:31 that's not recursive pattern matching 18:26:09 with oniguruma it's possible to test a string like (()((()())())) for correct ( ) placement 18:35:44 aha! 18:37:22 ZeroOne: wow, that's a 50 hour lag :) 18:37:40 yeah, I was gonna say I thought I saw the comment that started that a couple days ago 18:38:47 pgimeno: just some military service in between there ;) 18:39:18 ZeroOne: hehe, no prob, just probably the biggest lag I've seen on IRC 18:40:29 pgimeno: ok :) I've got this shell running irssi and it notifies me about new messages when I come back. 18:40:58 graue has been working on porting your articles 18:41:27 good, good 18:42:17 (see http://esoteric.voxelperfect.net/wiki/Special:Recentchanges ) 18:46:54 nice 18:50:38 ugh 18:50:44 turns out perl probably wasn't the best choice for this 19:06:46 haha, this is so ugly, but I think it works 19:08:27 !! hehe 19:09:07 main:/(.*)/(head $1)/ 19:09:08 head:/^(.).*$/$1/ 19:09:12 best syntax ever 19:10:44 nice 19:11:08 C:\Projects\TwoProblems>2probs test.2p hello 19:11:08 h 19:11:17 heh, and only about 5 regex calls to do that, too :P 19:11:42 though I think recursion may not entirely work... :D 19:12:09 actually, scratch that, I know recursion doesn't work 19:12:27 you should make () do print and plain be code. optimize for the common case, eh? 19:13:07 CXI: doesn't that form a context-free grammar and not a regular grammar? 19:14:34 Hm, it's not quite a CFG. Close, tho. 19:14:45 -!- Keymaker has joined. 19:15:03 except if you can use main/^.(.*)$/(main $1)/ or something similar 19:15:10 er, main: 19:15:32 which you should be able to do according to the spec of the language, but for some stupid reason I accidentally didn't implement right 19:17:14 oh dear, I definitely need to go to bed :P 19:17:14 CXI: You should have the ability to have multiple rules of the same name that match different things. main:/^foo.*/saw foo $1/ \n main:/^bar.*/saw bar $1/ 19:17:18 Then you'be got conditionals. 19:17:29 yeah, theoretically that's what should happen 19:18:58 I'll fix it up later when I'm not so tired 19:19:37 where are the specs ? 19:19:47 jix: Scroll up. :) 19:23:14 hmhmmm... 19:23:16 anyway, definitely need sleep 19:23:22 catch you guys later 19:23:25 later! 19:23:39 $_ 20:01:16 -!- Keymaker has quit ("Freedom!"). 20:18:20 -!- kipple has quit (brown.freenode.net irc.freenode.net). 20:18:20 -!- cpressey has quit (brown.freenode.net irc.freenode.net). 20:24:02 GregorR: the specs for FYB need an extension: ;: added on runtime and unmatching ;:,{} and [] 20:24:12 -!- kipple has joined. 20:24:12 -!- cpressey has joined. 20:32:20 GregorR: 1 20:32:23 oops 20:32:25 GregorR: ! 20:37:14 -!- sp3tt has quit ("Chatzilla 0.9.68a [Firefox 1.0.4/20050511]"). 20:54:41 -!- jix has changed nick to jix|crackattack. 21:46:19 the interpreter for my insertion sort language is nearly complete 22:16:16 -!- jix|crackattack has changed nick to jijx. 22:16:23 graue: complete ? 22:16:27 nearly 22:16:42 i am still working on the regular expression matcher, an essential feature 22:21:31 * jijx can't wait 22:21:36 -!- jijx has changed nick to jix. 22:24:30 is it written in perl? 22:27:04 night 22:27:37 -!- jix has quit ("Banned from network"). 22:28:50 it is written in C 23:09:53 http://illegal.coffeestops.net:3703/sort.zip - enjoy 23:23:25 is it already finished? wow 23:24:00 heh. that's one quick development process! 23:29:18 -!- calamari has joined. 23:29:20 hi 23:29:29 hi 23:29:59 hi calamari 23:31:06 made some nice improvements to EsoShell (bash-style command history, program return values/$?, better defined API and JavaDoc comments, but won't be able to upload it until the 8th 23:31:35 I waited too long to have my phone service switched and so I'll be without an internet connection until then.. oops! 23:32:09 Unless I copy it all on a floppy and come back here to upload.. could do that :) 23:32:27 I want to implement globs, forgot about those 23:32:37 are you in an internet café? 23:32:44 nope, I'm at school 23:32:47 ah 23:32:49 when you say API, does that mean that there will be an easy way for third party apps to be made? 23:33:42 kipple: yes, for sure.. I'm offering familiar exit(), out.__ and in.. as well as main(String[] args) 23:33:52 btw, do you have the link again? forgot to bookmark... 23:34:03 Writing an EsoShell app is very similar to writing a Java console app 23:34:32 http://lilly.csoft.net/~jeffryj/EsoShell or http://kidsquid.com/EsoShell 23:34:38 hmm. is there any reason you need a special API? couldn't you just execute a normal console app? 23:34:44 in an applet? 23:35:00 yes. console apps are classes like everything else, no? 23:35:14 System.exit() wouldn't work, I know that 23:35:25 you're probably right 23:35:29 System.out would print to the Java console, rather than the applet window 23:35:38 can't you redirect that? 23:35:51 possibly.. I'll do that if possible 23:35:57 maybe not. it was just a thought 23:36:01 might cause some kind of security exception though 23:36:32 graue: octothorpe = # ? 23:36:33 but, good idea if it works I'll do it :) 23:36:58 Google says octothorpe is a #. 23:37:15 thanks fizzie 23:37:22 anyhow.. I'm pushing back multiple threads/taskbar for now 23:37:56 can't you use a custom made System object to override normal System.exit()? 23:38:19 kipple: aren't the methods final? 23:38:28 hmm. perhaps 23:39:02 cool 23:39:07 they don't seem to be 23:39:33 I'll try that too, then :) 23:39:39 anyway, initializing an app might be as easy as this: ConsoleApp c = new ConsoleApp(); c.main(args); 23:39:59 but there are probably issues I'm not thinking of here... 23:40:05 I'm already runnign the applications just fine 23:40:29 But, If I can provide amore familar interface than I am, that's great 23:42:13 hhmm, System.exit is final.. might not work well if I decide to do the multithreaded thing in the future 23:42:20 err final -> static 23:43:59 hello 23:44:17 i've been working on the sort thing since yesterday 23:44:31 also, () and [] in regular expressions don't work yet 23:45:19 I'm taking a look 23:45:40 but there aren't many examples... 23:45:51 wel,, I'm gonna go grab some food.. I'll be baack when I can 23:45:51 -!- calamari has quit ("Leaving"). 23:45:57 i haven't figured out how to write a nontrivial program yet 23:47:12 hmm, regular expressions in general seem to be buggy 23:47:15 I'd like to see examples of how the description applies to the language 23:47:44 it matches the name of the current expression, which it shouldn't, and the ! modifier doesn't work at the end of the search string 23:48:01 I have some difficulty understanding some aspects of the language 23:48:03 here's an alternate hello world that demonstrates regular expressions: 23:48:03 world := "" 23:48:03 hello := "hello, " "w...." "" ? ~ 23:48:43 substituting ".!d" for "w...." also works 23:50:19 is the initial order important? 23:51:15 no 23:51:24 the expressions are always maintained in sorted order 23:51:39 ok 23:51:53 absence of operator is concatenation, right? 23:52:04 no, ~ is concatenation 23:52:20 a literal number or string just pushes itself onto the stack 23:52:29 oh ok 23:52:36 I missed the stack part