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