โ†2008-01 2008-02 2008-03โ†’ โ†‘2008 โ†‘all
2008-02-01
00:06:25 -!- slereah__ has joined.
00:06:25 -!- Slereah has quit (Read error: 104 (Connection reset by peer)).
00:13:10 <slereah__> http://en.wikipedia.org/wiki/Water_integrator
00:13:12 <slereah__> :D
00:21:55 <ehird`> <3 GLOBAL-LET
00:22:21 <ehird`> it is the solution to all global variable redefinition messiness and thread safe global variable redefinition hell!
00:23:13 <ehird`> (global-let ((g1 v1) ...) body...) just like a let, but the variables are globals, redefined only in that body (that thread, form, etc)
00:24:46 <ehird`> it also lets you implement dynamic scoping, amusingly
00:25:09 <ehird`> (define x 2) (define (g) x) (define (f) (global-let ((x 3)) (g))
00:25:13 <ehird`> (f) ===> 3
00:26:30 <ehird`> actually, if you replace all lets with global-lets, you get dynamic scoping
00:26:36 <ehird`> a better name is perhaps dynlet
00:31:51 -!- helios_ has quit ("Leaving").
00:46:39 <slereah__> Hm. What if I wrote my own awesome EsCo?
00:49:33 -!- ehird` has quit ("K-Lined by peer").
00:50:02 -!- Tritonio__ has joined.
00:50:13 -!- Tritonio_ has quit (Read error: 110 (Connection timed out)).
01:09:15 -!- sebbu2 has joined.
01:23:31 -!- jix has joined.
01:23:52 -!- sebbu has quit (Success).
02:10:14 -!- jix has quit ("CommandQ").
02:21:50 -!- immibis has joined.
02:36:55 <GregorR> SUPER DANCE EXPLOSION TIME
02:37:13 <slereah__> AAAAAAAAAAAAAAAH
03:46:42 -!- immibis has quit ("my client's gone silly and i am restarting it.").
03:47:09 -!- immibis has joined.
03:53:39 -!- 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. and dlte ur files. and email ths to).
03:53:58 -!- immibis has joined.
04:18:23 -!- oerjan has joined.
04:18:30 -!- oerjan has quit (Client Quit).
04:45:11 -!- immibis has quit (Read error: 110 (Connection timed out)).
05:21:35 -!- calamari has joined.
05:43:15 -!- immibis has joined.
06:35:20 -!- calamari has quit ("Leaving").
07:55:47 -!- 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. and dlte ur files. and email ths to).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:07:13 -!- GreaseMonkey has quit ("You enabled the bomb, arsehole.").
09:16:12 -!- oklopol has quit (Read error: 110 (Connection timed out)).
09:19:16 -!- oklopol has joined.
10:26:51 -!- helios24 has joined.
11:45:19 -!- Corun has joined.
12:13:18 -!- Insane has joined.
12:13:25 <Insane> Does the BF bot in here have a console?
12:13:29 <Insane> !bf +++++++.
12:13:48 <Insane> !bf +++++++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
12:13:51 <EgoBot> •
12:13:54 <Insane> :D
12:14:01 <Insane> That beeps on consoles
12:14:01 <Insane> heh
12:14:14 <Insane> but mine gives [7] instead of nothing
12:14:15 <Insane> :P
12:14:50 <Insane> !bf ++++++++++.++++++++++.-------.++++++++++.
12:14:55 <Insane> Hrm
12:14:59 <Insane> interesting
12:15:21 <Insane> !bf +++++++++++++.+++++++++++++++++++++++++++++++++++.
12:15:23 <EgoBot> 0
12:15:44 <Insane> !bf +[]
12:15:56 <Insane> ..
12:16:24 <Insane> !bf ++++++++++++++++++++++++++++++++++++++++++++++++[.]
12:16:30 <Insane> :(
12:16:36 <Insane> !bf ++++++++++++++++++++++++++++++++++++++++++++++++[.
12:16:39 <Insane> !bf ++++++++++++++++++++++++++++++++++++++++++++++++.
12:16:41 <EgoBot> 0
12:16:43 <Insane> Hmm
12:16:45 <Insane> No debugging?
12:16:50 <Insane> *debugging error messages
12:17:16 <Insane> like "unmatched [" or "infinite loop: stack overflow"
12:23:11 -!- faxathisia has joined.
12:33:10 <EgoBot> 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
12:34:08 <faxathisia> Hi EgoBot..
12:41:50 -!- jix has joined.
12:42:20 -!- Insane has quit ("Have a nice day!").
12:49:07 -!- helios24 has quit ("Leaving").
13:05:07 -!- Corun has quit ("This computer has gone to sleep").
13:14:27 -!- oerjan has joined.
13:22:55 -!- helios24 has joined.
13:27:18 <slereah__> Hi.
13:27:56 <faxathisia> Hi
15:04:47 -!- Tritonio__ has quit (Remote closed the connection).
15:17:44 -!- timotiis has joined.
15:23:15 -!- ehird` has joined.
16:11:30 <ehird`> (decl map (-> (-> a b) (a) (b)))
16:11:35 <ehird`> haskellisp!
16:13:24 <ehird`> hm
16:13:27 <ehird`> maybe
16:13:35 <ehird`> (decl ...),in the definition
16:28:35 <slereah__> Wel, I hope the Wine thingy works.
16:33:29 <slereah__> "Insufficient privileges".
16:33:34 <slereah__> How do I gain moar?
16:34:02 <ehird`> sudo
16:34:35 <slereah__> It's not in the console, it's in, Wine.
16:34:49 <oerjan> run for president
16:35:26 <slereah__> Well, I can't wait 5 years to play!
16:37:51 <ehird`> slereah__: sudo wine foo
16:37:59 <ehird`> (note;evil)
16:41:52 <slereah__> I'm okay wioth evil.
16:44:46 <slereah__> slereah@Vixem:~$ sudo wine c:\\Program\ Files\\Nobilis\\Hard\ to\ be\ a\ God\\AWE.exe"
16:44:55 <slereah__> Still insufficient.
16:47:30 <slereah__> Hm. Wait, is it a windows error or a Linux error?
16:57:32 <ehird`> windoze
16:58:06 <slereah__> Shit.
16:58:35 <slereah__> I guess it's time for sum dual booting.
17:01:12 <slereah__> http://apcmag.com/system/files/images/linux-to-linux-and-xp.body-thumbnail.png
17:01:16 <slereah__> Love the sound of this.
17:06:30 -!- ais523 has joined.
17:06:53 <ais523> hello ehird`
17:07:33 <ehird`> hi
17:08:03 <ais523> sorry I haven't been online recently
17:08:06 <ais523> I was busy in RL
17:09:00 <ais523> how is the Underload compiler getting on?
17:09:09 <ais523> you only have the Scheme version on your website
17:09:56 <ehird`> ais523: i'm not on my main machine right now so i don't have the dev version
17:09:57 <ehird`> but, soon
17:10:02 <ais523> aha
17:11:33 <ehird`> TINEBT (This is not Emacs, but TINEBT)
17:12:05 <ais523> SNUSP's acronym works along similar lines
17:12:52 <ehird`> actually, i'm going to make it a strictly-evaluated, pointer using recursive acronym
17:12:55 <ehird`> the name is TINE
17:12:56 <ehird`> and you say:
17:13:07 <ehird`> This is not Emacs (but TINE)
17:13:15 <ehird`> where the pointer to (but TINE) is implicit in the TINE name
17:14:19 <ais523> to get round the fact that recursive acronyms otherwise have to be lazy?
17:14:29 <ais523> or at least have a termination condition?
17:15:18 <ehird`> yes
17:15:36 <ais523> you have to go further than that
17:15:42 <ais523> make a recursive acronym that's capable of segfaulting
17:16:42 <ehird`> XINEBACEOX is not Emacs, but a copy of the expansion of X
17:18:09 <ais523> better
17:18:14 <ais523> you must make this into an esolang now
17:18:35 <ehird`> how do we get the emacs relation though
17:18:41 <ais523> I like the way you managed to keep it pronounceable, though
17:18:51 <ais523> and Emacs isn't a recursive acronym anyway AFAIR
17:19:01 <ehird`> 'zine bach ee ox'
17:19:10 <ehird`> ais523: but i mean in the esolang.
17:19:19 <ehird`> maybe it's based on the expansion of acronyms in a 'source'
17:19:31 <ehird`> lazy, so:
17:19:39 <ehird`> TIARA=TIARA is a recursive acronym
17:19:40 <ehird`> works
17:19:41 <ehird`> but
17:19:50 <ais523> its grammar would look like English; sort of like COBOL
17:20:01 <ais523> except that it's string-rewriting and you refer to other commands with acronyms
17:20:01 <ehird`> XINEBACEOX=XINEBACEOX is not Emacs, but ^XINEBACEOX
17:20:10 <ehird`> where ^ is the 'force' operator, which implies consing
17:20:23 <ais523> then you could write "a copy of the expansion of" and it would mean something in the language
17:20:29 <ehird`> also, the interpreter is graphical if you run it from a terminal
17:20:31 <ehird`> this program:
17:20:34 <ehird`> XINEBACEOX=XINEBACEOX
17:20:36 <ehird`> =
17:20:37 <ehird`> err
17:20:37 <ehird`> wait
17:20:41 <ehird`> XINEBACEOX=XINEBACEOX is not Emacs, but ^XINEBACEOX
17:20:41 <ehird`> =
17:20:43 <ehird`> XINEBACEOX
17:20:48 <ehird`> ^^ that program, when run, produces this:
17:21:15 <ehird`> XINEBACEOX, XINEBACEOX is not Emacs, but ^XINEBACEOX, XINEBACEOX is not Emacs, but XINEBACEOX is not Emacs, but ^XINEBACEOX,...
17:21:21 <ehird`> but expanded inline using ansi codes
17:21:28 <oerjan> ooh ... a recursive acronym quine!
17:22:37 <ais523> that would just be a one-letter recursive acronym
17:22:56 <ais523> like the entry from the IAQ: "C is a recursive acronym. It stands for 'C'."
17:23:17 <oerjan> CITRORI - CITRORI is the result of running itself
17:23:58 <ais523> ah... a declarative language
17:24:04 <ais523> I haven't seen any of those since Prolog
17:25:19 <ais523> why are they not more common?
17:25:38 <oklopol> because people haven't yet realized computers are unbelievably fast.
17:26:07 <ais523> you would think that someone would have tried to create another by now
17:26:16 <ais523> actually, they probably have, just I haven't heard of the result
17:26:19 <oklopol> eh... i'm fairly sure there are others
17:26:33 <ais523> and we don't seem to have any declarative esolangs yet
17:26:34 <oklopol> i've made a stub of one, for instance
17:26:43 <oklopol> mine was a bit eso
17:26:56 <oklopol> anyway, matlab is kinda declarative
17:27:04 <oklopol> ainnit?
17:27:12 <ais523> my memory of it is that it's pure imperative
17:27:20 <ais523> but maybe I use a different set of features to you
17:27:26 <oklopol> i've never tried it.
17:27:48 -!- oerjan has quit ("Good night").
17:27:49 <oklopol> i was just assuming, since... well, it's math
17:28:30 <ais523> a declarative language is one where you say what to do but not how
17:28:35 <ais523> come to think of it, APL's a bit like that
17:28:46 <oklopol> hmm, not exactly.
17:28:59 <oklopol> apl is declarative, in a way, just like functional languages
17:29:18 <ais523> but not as much as Prolog
17:29:23 <oklopol> yeah
17:29:39 <oklopol> anyways, regexps and sql are declarative
17:29:39 <ais523> a proper declarative language would, in my view, solve simultaneous equations without extra language features
17:29:50 <oklopol> although the tc parts of sql are imperative, i guess
17:30:01 <ais523> but Prolog doesn't allow infinite backtracking of reals in arithmetic expressions...
17:30:18 <ais523> e.g. I can type X=Y+1, X=2*Y-3
17:30:36 <oklopol> you can do that in prolog?
17:30:37 <ais523> that can check the solution to the simultaneous equation
17:30:38 <oklopol> i mean
17:30:41 <oklopol> the other way
17:30:42 <ais523> but can't solve it if neither X nor Y are bound
17:30:51 <oklopol> oh, right
17:31:05 <ais523> you can work around the problem by putting in infinite number generators for X and Y
17:31:14 <ais523> but of course that fails because the program then takes infinite time to run
17:31:19 <ais523> uncountably infinite, in fact
17:31:42 <ais523> so what's really needed is some sort of clever reference scheme that allows such code to be legal and return a right answer each time
17:31:57 <oklopol> well, i've been thinking about adding axioms to a language
17:32:28 <oklopol> i mean, so that you could specify axioms using which stuff like that is resolved.
17:34:22 <oklopol> my original idea was to get a book with mathematical proofs, and try to get my interp to solve them as i read it :D
17:34:45 * ais523 tried that once
17:34:48 <ais523> but the result was lousy
17:34:50 <oklopol> well, the ones that are done using purely by manipulating symbols
17:34:56 <oklopol> yeah, that might be
17:35:03 <ais523> it tried to prove things by blind random search through the axioms and rules of inference...
17:35:17 <oklopol> hehe, i'd go for evolution
17:35:38 <oklopol> hmm
17:35:47 <oklopol> that's actually pretty much the same in this case
17:37:21 <oklopol> did you manage to prove anything?
17:39:38 <ais523> well, everything it proved was true
17:39:43 <ais523> but mostly obvious and useless
17:40:36 <oklopol> i guess you need to give it a prod to the right direction
17:41:27 <oklopol> anyway, i think i'll try that today
17:51:50 -!- pikhq has quit (Read error: 104 (Connection reset by peer)).
18:05:40 -!- oklopol has quit (Read error: 104 (Connection reset by peer)).
18:07:20 -!- Hiato has joined.
18:08:12 -!- oklopol has joined.
18:21:39 -!- slereah__ has quit (Remote closed the connection).
18:22:21 -!- Slereah has joined.
18:30:43 <ehird`> HI
18:30:53 <Slereah> HELLO
18:32:23 <ehird`> so oklopol
18:32:27 <ehird`> ist thous alivest
18:32:40 <Hiato> hello
18:33:35 <ehird`> ais523, too i guess
18:33:43 <ais523> yes, I'm alive
18:33:48 <ais523> i think...
18:34:22 <ehird`> heh :)
18:34:26 <ehird`> oklopol appears not to be
18:34:29 <ehird`> maybe i need an
18:34:30 <ehird`> OKLOPING
18:35:23 * ais523 is usually alive when online
18:35:38 <ais523> because I actually turn my computer off when I'm not using it...
18:36:11 <ehird`> oklopol doesn't!
18:36:13 <ehird`> oklopol: okloping
18:38:48 <ais523> do you ever try to ping people on IRC using /ping?
18:38:51 * ais523 tries
18:39:07 <ais523> when I'm pinged it shows up at my end
18:39:39 <ais523> but presumably doesn't set off the FLASH EVERYTHING alert
18:40:40 <ehird`> ais523: oklopol's client sucks
18:41:10 <ais523> well, even mine had beep-when-someone-says-your-nick support off by default
18:41:22 <ais523> although I now have an alternative I like better
18:41:54 <oklopol> if i'm invited somewhere, Konversation says "XXX invited you to a channel"
18:42:03 <oklopol> HEY THX FOR THE INFO! :))
18:42:25 <oklopol> (and it doesn't open the channel or anything)
18:42:31 <oklopol> anyway, pong
18:42:58 <ehird`> that all came
18:42:59 <oklopol> and indeed, i never turn off my computer, except when i have to
18:43:00 <ehird`> at once.
18:43:02 <ehird`> ;|
18:43:17 <ais523> hey, you can send any sort of ctcp request to anyone
18:44:08 <ehird`> oklopol: that's #tmpchatwithais523oklopol
18:45:51 -!- ais523 has quit ("looking for another connection...").
18:54:50 -!- Sgeo has joined.
18:57:11 -!- ais523 has joined.
19:33:19 <lament> oklopol: how would you expect Konversation to behave?
19:33:37 <ehird`> lament: perhaps telling him what the channel is
19:33:55 <Sgeo> What's going on?
19:34:30 <lament> oh
19:34:39 * ais523 was having a furious argument about Lisp with ehird` in another channel
19:34:58 <ehird`> hardly a furious argument
19:35:18 <ais523> maybe not
19:44:51 <lament> so i'm thinking of writing an organizer-life application with emphasis on long-term stability and lack of bitrot
19:45:00 <lament> err
19:45:03 <lament> *organizer-like
19:45:41 <lament> with the idea that 50 years from now it would work just as well as today, and compile and install very easily.
19:45:58 <ehird`> lament: paul graham wants to give you money
19:46:28 <ehird`> if you write it in arc (THE HUNDRED YEARS LANGUAGE REMEMBER) using its ASCII and <table> support it will be a working webapp in 100 years
19:46:59 <lament> i haven't heard of arc
19:47:08 * lament researches
19:48:22 <ehird`> lament: it's a laughable dialect of lisp
19:48:25 <lament> okay, it seems pretty clear that arc will not pass the "easy installation" requirement
19:48:34 <ehird`> 6 years in development, and we get a 1000 line of scheme
19:48:36 <ehird`> compiler.
19:48:38 <lament> since it will most likely be completely lost
19:48:38 <ehird`> and it sucks.
19:48:42 <ehird`> and it's hilarious.
19:48:50 <ehird`> lament: ok, you need to upgrade your sarcasm detector
19:48:55 <lament> anyway my conclusion was that i have to program in C89 without using any external libraries.
19:48:57 <ehird`> but your project is infeasable
19:49:12 <ehird`> os' might be totally differnt in 50 years
19:49:23 <ais523> C89 was designed to be portable to anything
19:49:33 <ehird`> ais523: was designed to be.
19:49:43 <ais523> that seems to be the most important design rule of the standardisation
19:49:58 <ais523> it's hard to imagine an OS architecture that a C89 compiler couldn't be written for
19:50:12 <lament> ehird`: just that out of languages i know, c89 seems the most likely one to be available on any platform within my lifetime
19:50:28 <ehird`> lament: to be honest i can't see a point to your project
19:50:33 <ais523> ehird`: think of it this way. There's a reason header file names are limited to 5.1 characters
19:50:49 <ais523> umm... not 5, maybe 6?
19:50:54 <ais523> less than 8, anyway
19:51:08 <ehird`> i think that might be a myth.
19:54:02 <lament> string is 6
19:54:45 <ais523> so is stdint
19:54:49 <ais523> but that's C99
19:55:11 <lament> it seems doing IO in pure c89 is pretty painful, though.
19:55:23 <lament> snprintf is missing
19:56:01 <ais523> yes, that's a serious problem
19:56:06 <ais523> you have to either aim at a temporary file
19:56:10 <lament> also, many modern computing devices already don't have a terminal emulator
19:56:18 <ais523> or to calculate the length in advance (which is frought with danger)
19:56:23 <ais523> or to use a different function than sprintf
19:56:33 <lament> it's quite a bit of pain to get one for, say, a cellphone, i would imagine
19:56:38 <ais523> as for the lack of a terminal emulator; C89 never says you have to have one
19:56:50 <lament> no, but you need to run the program somehow
19:56:52 <ais523> all that it requires for a hosted implementation are stdin, stdout and sterr streams
19:57:15 <ais523> which could connect to anything: files, for instance
19:57:43 <ehird`> i'm pretty sure trying to design a program still easily usable in 50 years is a mistake.
19:57:45 <ais523> likewise, the standard stipulates that they need not actually be able to do any sending-receiving on things that aren't newline-terminated
19:57:55 <ehird`> Publish the file format, make it simple and human-readable, write a MODERN program to munge it.
19:58:04 <ehird`> In the future, if anyone cares,t hey can write a program to manipulate it.
19:59:48 <ais523> <ehird`> i think that might be a myth.
20:00:07 <ais523> I checked the draft standard, which guarantees 8.1 will be available, but no more
20:00:42 <ais523> and it simply has to provide unique mappings for the filenames, so it can choose a different naming structure if it likes
20:01:05 <ais523> IIRC there's some C compiler for a computer with a weird filesystem that maps the extension of the file to a subdirectory that contains the files
20:01:17 <oklopol> o
20:01:21 <ais523> so a .c file is in a subdirectory called c and a .h file is in a subdirectory called h
20:01:41 <ais523> it's a method of complying with the standard while working around a stupid filename length limit
20:08:17 -!- RedDak has joined.
20:18:30 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
20:19:15 -!- helios24 has quit ("Leaving").
20:30:48 <lament> ehird`: you don't understand. Suppose it's a to-do list.
20:31:00 <lament> with your long-term goals
20:31:12 <ehird`> so have it as a simple text file
20:31:18 <ehird`> edited with LamentsFancy2008Program
20:31:23 <ehird`> way in the future, see it
20:31:30 <ehird`> see your text-only spec of the simple, human readable file format
20:31:37 <ehird`> either read the file yourself or write a simple app to do it
20:31:47 -!- ais523 has left (?).
20:31:49 <lament> sure, certainly
20:32:05 <lament> but it's nicer to have the simple app already written
20:32:19 <ehird`> then...that's about 50 lines of c
20:32:25 <ehird`> might not work in the future
20:32:28 <ehird`> who knows
20:33:42 <lament> but why not just write a program you can always use
20:33:51 <lament> then it needs to have a decent ui
20:34:12 <ehird`> it still might not run in the future.
20:34:18 <ehird`> also, i find 'a text editor' is good
20:34:33 <lament> a text editor is not a to-do list :)
20:34:49 <ehird`> a text editor is a great way to create and edit one
20:42:10 -!- Tritonio_ has joined.
21:12:58 -!- Slereah has quit (Remote closed the connection).
21:53:06 -!- RedDak has quit (Remote closed the connection).
22:01:06 -!- pikhq has joined.
22:05:49 -!- Slereah has joined.
22:17:51 -!- Hiato has quit (Read error: 110 (Connection timed out)).
22:31:12 -!- Tritonio_ has quit (Remote closed the connection).
22:52:20 -!- helios24 has joined.
23:12:26 -!- Sgeo has joined.
23:14:58 <lament> 80x24 terminals are so tiny :D
23:15:29 <lament> http://vt100.net/vt100.jpeg
23:15:29 -!- helios24 has quit ("Leaving").
23:16:09 <Slereah> 80x24? What is that, a watch?
23:31:53 <ehird`> Slereah: 80x24 text
23:31:54 <ehird`> duh.
23:31:59 <ehird`> the standard for terminals
23:32:02 <ehird`> including terminal emulators
23:32:15 <ehird`> lament: in that picture sure
23:32:15 <ehird`> ;)
23:32:27 <Slereah> Yes, I suck
23:38:51 <lament> it's not really a standard for terminals
23:38:56 <lament> it's just vt100
23:39:14 <lament> which is a standard for terminal emulators :)
23:39:49 <lament> ahhhh http://en.wikipedia.org/wiki/Image:Asr33.jpg
23:41:18 <Slereah> Hello, I am number 5
23:44:25 <ehird`> i want a lisp machine
23:45:29 <lament> make one
23:45:42 <Slereah> SHAZAM!
23:46:05 <lament> they are awfully pretty, it's true
23:46:09 <lament> http://en.wikipedia.org/wiki/Image:LISP_machine.jpg
23:47:08 <ehird`> and the keyboard
23:47:08 <ehird`> <3
23:47:11 <ehird`> and the editor!
23:55:10 -!- timotiis has quit ("leaving").
2008-02-02
00:11:14 <lament> isn't it emacs?
00:15:44 <ehird`> lament: similar
00:15:46 <ehird`> but moreawesomer
00:27:49 <lament> vim? :)
00:28:52 -!- Tritonio_ has joined.
00:47:57 -!- immibis has joined.
00:55:08 -!- GreaseMonkey has joined.
01:01:10 <ehird`> lament: no way
01:01:12 <ehird`> not for lisp.
01:01:21 <ehird`> you need an introspective, interacting and allt hat stuff editor for lisp
01:01:31 <ehird`> the lisp machine editor was so intwined with it
01:02:41 -!- danopia`school has joined.
01:24:05 -!- danopia has quit (Read error: 110 (Connection timed out)).
01:34:02 -!- ehird` has quit ("K-Lined by peer").
02:03:25 -!- danopia`school has changed nick to danopia.
04:06:40 -!- danopia`school has joined.
04:08:25 -!- Slereah has quit (calvino.freenode.net irc.freenode.net).
04:08:26 -!- lament has quit (calvino.freenode.net irc.freenode.net).
04:08:27 -!- danopia has quit (calvino.freenode.net irc.freenode.net).
04:08:27 -!- immibis has quit (calvino.freenode.net irc.freenode.net).
04:08:27 -!- Tritonio_ has quit (calvino.freenode.net irc.freenode.net).
04:08:29 -!- EgoBot has quit (calvino.freenode.net irc.freenode.net).
04:10:37 -!- danopia`school has changed nick to danopia.
04:17:32 -!- immibis has joined.
04:17:36 <immibis> Netsplit! Take cover!
04:17:41 <immibis> lo
04:18:22 -!- Slereah has joined.
04:18:22 -!- lament has joined.
04:22:58 -!- EgoBot has joined.
04:24:09 -!- Tritonio_ has joined.
04:27:48 -!- faxathisia has quit ("If there are any aliens, time travellers or espers here, come join me!").
05:07:28 -!- oerjan has joined.
05:37:26 -!- oerjan has quit ("leaving").
06:25:58 -!- oerjan has joined.
07:38:29 -!- faxathisia has joined.
07:56:42 -!- immibis has quit ("Clap on! , Clap off! Clap@#&$NO CARRIER").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:53:07 -!- puzzlet has quit ("Lost terminal").
08:54:57 -!- GreaseMonkey has quit ("i are sleeps gnight").
09:31:56 -!- oerjan has quit ("Some other time").
10:18:35 -!- Figs has joined.
10:19:53 <Figs> Hello
10:20:40 -!- Figs has set topic: Why did the programmer die in the shower? He wasn't using lazy evaluation when he read the instructs "lather, rinse, repeat.".
10:21:03 -!- Figs has set topic: Why did the programmer die in the shower? He wasn't using lazy evaluation when he read the instructions "lather, rinse, repeat.".
10:21:07 <Figs> :D
10:35:51 -!- helios24 has joined.
11:01:50 -!- Hiato has joined.
11:12:33 <Figs> Greetings
11:15:35 <Figs> And goodbye.
11:15:36 -!- Figs has left (?).
11:30:49 -!- Hiato has quit ("Leaving.").
12:05:08 -!- timotiis has joined.
12:05:47 -!- helios24 has quit (Remote closed the connection).
12:06:09 -!- helios24 has joined.
12:13:57 -!- lifthrasiir has quit (Remote closed the connection).
12:20:08 -!- timotiis has quit (Remote closed the connection).
12:28:17 -!- puzzlet has joined.
12:41:22 -!- Tritonio_ has quit (Remote closed the connection).
13:29:23 -!- helios24 has quit ("Leaving").
14:18:34 -!- timotiis has joined.
15:33:33 -!- chuck has joined.
16:49:50 -!- oerjan has joined.
16:53:29 -!- ehird` has joined.
16:57:54 -!- ehird` has quit (Read error: 104 (Connection reset by peer)).
16:58:09 -!- ehird` has joined.
16:59:37 -!- ehird` has set topic: Why did the programmer die in the shower? He wasn't using lazy evaluation when he read the instructions "lather, rinse, Why did the programmer die in the shower? He wasn't.
17:07:46 -!- ehird` has quit (Read error: 113 (No route to host)).
17:07:52 -!- Slereah has quit (Remote closed the connection).
17:13:21 -!- ehird` has joined.
17:21:41 -!- ehird` has quit ("K-Lined by peer").
17:29:24 -!- ehird` has joined.
17:33:26 -!- ehird` has quit (Remote closed the connection).
17:44:25 -!- ehird` has joined.
17:54:02 -!- ehird` has quit (Remote closed the connection).
18:28:40 -!- Tritonio_ has joined.
18:52:13 -!- oerjan has quit ("Good night").
18:57:23 -!- ehird` has joined.
18:59:48 -!- Tritonio__ has joined.
19:00:58 -!- Tritonio_ has quit (Read error: 110 (Connection timed out)).
19:02:10 -!- helios24 has joined.
19:06:36 -!- ehird` has quit (Remote closed the connection).
19:12:21 -!- ehird` has joined.
19:15:51 -!- jix has quit ("CommandQ").
19:20:14 -!- rpsetzer has joined.
19:20:35 <rpsetzer> hello people!
19:20:59 <rpsetzer> I am interested in Malbolge
19:21:36 <rpsetzer> I stumbled upon some discussion logs from this channel
19:22:07 <rpsetzer> about a paper written in Japanese by Hisashi Iizawa
19:22:18 <rpsetzer> at that time, some tried to translate it
19:22:25 <rpsetzer> sadly, the links are dead
19:22:31 <ehird`> ah
19:22:39 <ehird`> thhe 99bob sites malbolge page
19:22:41 <ehird`> has a link to it
19:22:43 -!- ehird` has left (?).
19:22:47 -!- ehird` has joined.
19:22:48 <ehird`> in the comment
19:22:48 <ehird`> s
19:24:10 <rpsetzer> A link to "Programming Method in Obfuscated Language Malbolge/me" in English?
19:24:18 <rpsetzer> let me check again, I started from there
19:24:29 <ehird`> no, in japanese
19:25:08 <rpsetzer> damn...
19:25:34 -!- ehird` has quit ("K-Lined by peer").
19:38:20 -!- ehird` has joined.
19:38:33 -!- ehird` has quit (Read error: 104 (Connection reset by peer)).
19:42:29 -!- ehird` has joined.
19:42:57 <ehird`> any luck rpsetzer?
19:43:26 <rpsetzer> nope, the paper does not seem to exist in english
19:43:28 <rpsetzer> :(
19:43:50 <ehird`> so translate it
19:43:57 <rpsetzer> anyone knows Japanese?
19:43:59 <ehird`> babelfish might be a good start
19:44:02 <ehird`> ah! yes, pikhq does
19:44:08 <ehird`> so does Sukoshi, iirc, but they're not here
19:44:33 <rpsetzer> hm I bet the translation will suck if done by a translation engine
19:44:35 <rpsetzer> brb
20:00:04 -!- rpsetzer has quit ("ChatZilla 0.9.80 [Firefox 2.0.0.11/2007112718]").
20:08:19 -!- immibis has joined.
20:12:33 <ehird`> x=5+x
20:13:20 -!- Tritonio__ has quit (Remote closed the connection).
20:15:40 <ehird`> oklopol: okloping
20:15:56 <immibis> x == NaN
20:16:07 <ehird`> immibis: no, x=
20:16:10 <ehird`> (In haskell.)
20:25:02 <ehird`> oklopol: pokloing
20:27:32 <ehird`> faxathisia: faxoping
20:32:31 <ehird`> Sgeo: sgeoping
20:33:00 <oklopol> !!
20:33:03 <EgoBot> Huh?
20:33:29 <Sgeo> ? can't talk now
20:37:20 <ehird`> oklopol: finally
20:59:51 -!- immibis has left (?).
21:01:41 <ehird`> oklopol: okloping
21:19:52 -!- jix has joined.
21:19:57 <ehird`> anybody: anyping
21:32:53 -!- oklopol has quit (Read error: 104 (Connection reset by peer)).
21:34:40 -!- oklopol has joined.
21:38:06 <ehird`> oklopol: you back?
21:43:26 <oklopol> repop
21:43:30 <oklopol> hies
21:43:39 <oklopol> i'm going to sleep, now, though :D
21:46:21 <ehird`> aw
21:46:21 <ehird`> bye
21:46:22 <ehird`> ;)
21:46:24 <ehird`> *:)
21:49:08 -!- chuck has quit (Read error: 104 (Connection reset by peer)).
21:49:12 -!- chuck has joined.
22:23:28 -!- jix has quit ("This computer has gone to sleep").
22:45:32 <ehird`> So who IS alive?
22:49:46 <ehird`> :\
22:52:53 -!- slereah__ has joined.
22:53:16 <timotiis> myself
22:56:32 <slereah__> Hello yourself.
23:04:27 <ehird`> heh
23:04:30 <ehird`> who else is aliev
23:04:31 <ehird`> *ve
23:30:04 -!- Tritonio_ has joined.
23:38:11 <ehird`> nobody is alive? ;)
23:41:54 <slereah__> I am
23:42:11 <slereah__> Though I need to reboot soon. I'm still in the dual-booting installing process
23:49:27 <ehird`> OK who is alive and alive constantly
23:53:21 <ehird`> ..
23:55:43 -!- slereah__ has quit (Read error: 104 (Connection reset by peer)).
23:57:29 -!- timotiis has quit ("leaving").
23:58:52 -!- helios24 has quit ("Leaving").
2008-02-03
00:04:17 <ehird`> :|
00:24:08 -!- immibis has joined.
00:26:12 -!- Tritonio_ has quit (Read error: 110 (Connection timed out)).
00:26:34 -!- Tritonio_ has joined.
01:04:59 -!- chuck has quit (Connection timed out).
01:12:24 -!- slereah__ has joined.
01:22:35 -!- slereah__ has quit ("Konversation terminated!").
01:34:40 -!- immibis has quit (Remote closed the connection).
01:34:53 -!- immibis has joined.
01:42:55 -!- ehird` has quit ("K-Lined by peer").
01:48:53 -!- pikhq has quit ("leaving").
01:55:21 -!- pikhq has joined.
01:55:34 -!- GreaseMonkey has joined.
01:56:38 -!- pikhq has quit (Client Quit).
01:57:34 -!- pikhq has joined.
02:23:00 -!- immibis has quit (Remote closed the connection).
02:23:23 -!- immibis has joined.
02:29:23 -!- Slereah has joined.
02:33:02 -!- immibis has quit (Remote closed the connection).
02:33:15 -!- immibis has joined.
03:27:47 -!- calamari has joined.
03:44:18 -!- immibis has quit (Remote closed the connection).
03:44:48 -!- immibis has joined.
03:52:42 -!- Tritonio_ has quit (Remote closed the connection).
03:57:53 -!- 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. and dlte ur files. and email ths to).
04:43:12 -!- immibis_ has joined.
04:56:20 -!- calamari has quit ("Leaving").
05:08:11 -!- immibis_ has changed nick to immibis.
05:09:20 -!- Sgeo has quit (Remote closed the connection).
05:55:15 -!- puzzlet has quit (Remote closed the connection).
05:55:22 -!- puzzlet has joined.
05:58:26 -!- immibis has left (?).
07:08:39 -!- pikhq has quit (Read error: 110 (Connection timed out)).
07:10:21 -!- lifthrasiir has joined.
07:29:51 -!- immibis_ has joined.
07:31:38 -!- immibis_ has left (?).
07:53:27 -!- adu has joined.
07:53:57 <adu> hi
07:55:22 <faxathisia> hey
07:56:30 * faxathisia is debugging a compiler and getting nowhere :/
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:32 <adu> :(
08:00:49 <adu> I haven't worked on my language in awhile, like a whole week
08:01:10 <adu> but I just thought of another operator I could get rid of
08:01:45 <adu> I've been trying to minimize the number of operators in my lang, and until recently I had it down to parentheses, ' ', and '='
08:02:14 <adu> and I think I can get rid of '=' and keep it Turring, complete
08:03:17 <faxathisia> what is this language ?
08:03:41 <adu> it started out as my frustration with Haskell, but it has evolved into Haskell--
08:04:12 <faxathisia> hehe
08:04:13 <adu> so obviously, ' ' it the function application operator
08:04:32 <faxathisia> What is your frustration with haskell?
08:04:45 <adu> mainly with numeric types and type classes
08:04:55 <adu> the monadic stuff is really nice tho
08:05:05 <adu> I just hate how Haskell does numbers
08:05:36 <adu> Haskell has 3 exponentiation operators, I think that is rediculous
08:05:57 <faxathisia> hmm.. I think 3 is acceptable
08:06:12 <faxathisia> although 4 makes more sense to me
08:06:13 <adu> Haskell has 5 type classes (i.e. interfaces) for describing what Float and Double can do
08:06:27 <adu> and the names they use are rediculous
08:06:57 <faxathisia> (It makes sense to describe exp inductively on N, understand it's properties, generalize it to Z, then Q)
08:07:16 <faxathisia> then you make a new def. for R using pages and pages of calculus :S
08:07:32 <adu> faxathisia: 4 operators? thats silly you only need ^ in the (Num a) type class (which is where (*) is defined as well), and have it opperate differently when the context is (Num Float)
08:07:35 <faxathisia> so what do () = and ' ' do?
08:08:43 <adu> well, '()' do the obvious
08:08:54 <faxathisia> :(
08:08:55 <adu> and ' ' is function application, like Haskell
08:09:19 <adu> but '=' is not quite like assignment, its used for pairing a key and a value
08:09:25 <adu> but that key does not need to be a literal
08:10:16 <adu> for example "c = ('a' = 1, 'b' = 2)" will make a function/hash-table such that when you apply it "c 'b'" the result is 2
08:11:08 <adu> when the binding is between a pattern and an expression, the '=' operator becomes a lambda
08:11:45 <adu> so "c = (\x = (x*x))" defines the square function
08:11:55 <faxathisia> why the /?
08:12:01 <faxathisia> opps, why \
08:12:09 <adu> the \ is to distinguish between symbols and pattern-variables
08:12:25 <adu> x is the symbol/unquoted-string "x"
08:12:34 <adu> \x is a pattern that matches anything and binds it to x
08:12:58 <faxathisia> ok
08:13:09 <adu> and it also resembles Haskells lambda syntax (\x -> x*x)
08:14:46 <adu> but I was thinking about the binding operator, and I was wondering if it was really needed
08:16:06 <adu> because everything can be though of as a query or a command anyways, and if there is no interpretation of either in the current namespace, then there would technically be an error, but if the error of not finding any current bindings was instead used as the method of binding, then the '=' operator is useless
08:16:28 <adu> :)
08:18:12 <adu> does that make sense?
08:18:45 <faxathisia> yeah, cool
08:19:10 <faxathisia> so instead of (\x = (x*x)) you write (x*x) ?
08:19:23 <adu> so the square function would be defined as "sq \x (x*x)"
08:20:17 <adu> but this means lists could also be defined differently, as "ls 1 4" would equate to ls[1] = 4, its almost like prologizing everything
08:20:29 <adu> it reminds me of the mathematical distinction between functions and relations
08:20:34 <adu> there is very little difference
08:21:09 <adu> and since there is a binding for "ls 1", the evaluation gives the result "4"
08:22:33 <adu> cuz in prolog all functions are basically booleans, if you want to assign "X = ls[1]" you have to write "nth(1, ls x)." thats what I meant by "prolog-izing"
08:23:01 <adu> nth(1, ls, x).
08:23:33 -!- oerjan has joined.
08:27:51 <adu> faxathisia: so what compiler are you working on?
08:28:01 <faxathisia> for Janus
08:28:13 <faxathisia> I have a self interpreter,
08:28:25 <faxathisia> so I need to compile programs to run in it
08:28:59 <faxathisia> now that I wrote an interpreter and compiler.. when the self interpreter doesn't work the problem could be.. anywhere :S
08:30:06 <faxathisia> I wonder if I should just write my own Sint based on theirs..
08:31:40 <adu> hmm whats Janus?
08:33:03 <faxathisia> It's like the While language (minimalsit turing complete imperative), but every program can be run forwards or backwards
08:34:31 <faxathisia> for example, http://rafb.net/p/7HtmQg50.txt
08:35:33 <adu> ok so its the forwards-backwards Janus
08:35:54 <adu> I google'd some other Janus's related to Ada95 and Prolog
08:36:02 <faxathisia> huh?
08:36:29 <adu> http://www.rrsoftware.com/html/prodinf/janus95/j-ada95.htm
08:36:45 <faxathisia> ah
08:37:53 <adu> whats a "Sint"
08:38:08 <faxathisia> Self interpreter
08:38:12 <adu> o
08:38:38 <faxathisia> http://rafb.net/p/Qc9qZq34.txt
08:38:48 <faxathisia> That's extracted form a PDF
08:44:14 -!- 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. and dlte ur files. thx.").
08:46:49 <adu> so is that PostScript then?
08:51:20 <adu> or is that Janus?
08:52:36 <faxathisia> That's the self interpreter I am trying to make work
08:55:52 <adu> ic
09:00:18 -!- lifthrasiir has quit (Remote closed the connection).
09:02:45 -!- adu has quit (Remote closed the connection).
09:37:54 -!- RedDak has joined.
09:51:25 -!- chuck has joined.
10:12:36 -!- sebbu2 has quit (Read error: 104 (Connection reset by peer)).
10:14:59 -!- sebbu has joined.
10:34:00 -!- oerjan has quit ("leaving").
10:50:47 -!- helios24 has joined.
11:25:05 -!- timotiis has joined.
11:37:35 -!- Tritonio_ has joined.
12:28:55 -!- jix has joined.
14:05:43 -!- Slereah has quit (Remote closed the connection).
14:18:40 -!- n0nsense has joined.
14:19:15 -!- n0nsense has left (?).
14:50:14 -!- n0nsense has joined.
14:50:24 -!- n0nsense has left (?).
15:55:43 -!- oerjan has joined.
16:17:15 -!- Tritonio_ has quit (Read error: 104 (Connection reset by peer)).
16:17:59 -!- Tritonio_ has joined.
16:48:30 -!- helios24 has quit ("Leaving").
17:19:00 -!- oerjan has quit ("leaving").
17:20:35 -!- Slereah has joined.
17:56:25 -!- ehird` has joined.
17:57:51 * faxathisia pings back at ehird
17:58:01 <ehird`> wow, that's some shite networking
18:17:03 <ehird`> omfg, the asshole paul graham patented continuation-based webservers: http://www.google.com/patents?id=WE8GAAAAEBAJ&dq=6205469
18:17:37 * faxathisia LOL @ "the asshole paul graham"
18:18:06 * faxathisia also agrees with this after reading him talking nonsense about Prolog
18:18:50 <ehird`> 'Weird since Linus probably doesnโ€™t use TextMate.' i'm suprised this had to be qualified with 'probably'
18:19:04 <ehird`> because linux definately edits on a mac
18:19:35 <faxathisia> linus sometimes uses Mac OS and TextMate
18:19:48 <faxathisia> that's when he is doing ruby on rails work
18:20:04 <ehird`> he's rewriting the kernel in rails
18:20:08 <faxathisia> haha
18:20:15 <ehird`> it's productive
18:20:16 <faxathisia> whlie flying around in a pink elephant
18:20:23 <ehird`> but he's considering switching to arc
18:20:28 <ehird`> for speed
18:29:52 <ehird`> faxathisia: you'll hate this guy re: prolog too http://www.yosefk.com/blog/high-level-cpu-follow-up.html
18:31:16 <faxathisia> well he's just some guy who can't program and no-ones likely to listen to
18:32:22 <ehird`> you could question pg's programming ability too
18:32:38 <faxathisia> I do :P
18:32:47 <ehird`> faxathisia: he does make hardware, though: http://www.yosefk.com/blog/the-high-level-cpu-challenge.html
18:33:10 <ehird`> omfg, tcl on board
18:33:14 <ehird`> worst idea ever
18:46:09 -!- Tritonio_ has quit (Read error: 110 (Connection timed out)).
18:46:30 -!- Tritonio_ has joined.
18:55:47 -!- slereah__ has joined.
19:01:49 * SimonRC performs necromancy.
19:02:03 <SimonRC> I just resurrected a 6-month-dead thread.
19:02:16 <SimonRC> That's almost a century in Internet years.
19:02:23 <ehird`> Brillant.
19:02:35 <SimonRC> hm?
19:03:33 <SimonRC> @Paul Graham: the bastard!
19:04:11 -!- Tritonio_ has quit (Read error: 104 (Connection reset by peer)).
19:04:58 <ehird`> yep
19:05:27 <ehird`> speaking of which, this chatterbot makes me sick: http://rome.purepistos.net/mathetes/
19:05:33 <SimonRC> It's been on his fucking website for several years!
19:05:52 <ehird`> it says i'm not a human because i'm not catholic :)
19:05:58 <ehird`> SimonRC: seriously?
19:06:04 <ehird`> oh
19:06:04 <ehird`> well
19:06:05 <SimonRC> yes
19:06:11 <ehird`> it was filed in 1997, so him describing it on his website
19:06:13 <ehird`> doesn't count
19:07:06 <SimonRC> ah, ok
19:08:11 <ehird`> SimonRC: but this is an example why software patents are sickening
19:08:33 <SimonRC> have you read what he says about software patents?
19:09:05 <ehird`> what?
19:09:57 <SimonRC> he has written an essay on why software patents are not particularly evil
19:10:29 <ehird`> :)
19:10:46 <ehird`> to be honest the 'software patent' stuff is pretty misguided: patents, full stop, are broken
19:10:58 <ehird`> i can understand the core idea to a degree but everything on top of that is hideously wrong
19:19:25 -!- RedDak has quit (Read error: 110 (Connection timed out)).
19:20:51 -!- Tritonio_ has joined.
19:21:02 -!- Tritonio_ has quit (Read error: 104 (Connection reset by peer)).
19:23:21 -!- Slereah has quit (Connection timed out).
19:27:32 -!- slereah__ has quit (Remote closed the connection).
20:00:40 -!- chuck has changed nick to _chuck[server].
20:19:30 -!- _chuck[server] has changed nick to chuck.
20:28:48 -!- Hiato has joined.
20:34:43 -!- Hiat1 has joined.
20:35:07 -!- pikhq has joined.
20:49:56 -!- Corun has joined.
20:50:08 -!- chuck has changed nick to chuck-blah.
20:50:10 -!- chuck-blah has changed nick to chuck.
20:53:04 -!- Hiato has quit (Read error: 110 (Connection timed out)).
21:24:29 -!- und3f has joined.
21:24:34 -!- und3f has left (?).
21:25:13 -!- RedDak has joined.
21:30:26 <ehird`> bsmntbombdood: you know you talked about segfault handling for a bf interp?
21:30:33 <ehird`> http://libsigsegv.sourceforge.net/ portable lib to do it
21:30:34 <ehird`> crazy
21:36:42 * SimonRC goes
21:41:48 -!- Hiat1 has quit (Read error: 110 (Connection timed out)).
21:45:02 <ehird`> bah why are revision controlsystems always mutable?
21:45:04 <ehird`> :(
21:45:09 <ehird`> filesystems should never modify data!
21:47:53 <ehird`> oh well, MINE will be an immutable, garbage-collected filesystem database! :D
21:58:33 -!- jix has quit ("This computer has gone to sleep").
22:18:23 -!- RedDak has quit ("I'm quitting... Bye all").
22:50:30 -!- timotiis has quit ("leaving").
22:54:27 <ehird`> libsigsegv could be a fun way to implement a really esoteric language implementation
22:54:51 <ehird`> i'm thinking a ->C Cheney on the MTA compiler, using libsigsegv to allocate *all* memory and its stack overflow detection to unwind
2008-02-04
00:56:01 -!- ehird` has quit (No route to host).
00:56:30 -!- ehird` has joined.
01:03:04 <ehird`> I wonder how crazy an esoteric language can get re: modifiable syntax
01:03:29 <ehird`> Maybe something that starts off dirt-simple forth-style parsing, then is extended in itself into a crazy crescendo of modifiable, extendable, pluggable, composable syntax from hell
01:24:16 -!- GreaseMonkey has joined.
01:26:51 <lament> ehird`: it's called "Perl"
01:27:11 <ehird`> heh
01:27:23 <ehird`> not quite - it doesn't have extendable syntax to that degree
01:27:31 -!- ehird` has quit ("K-Lined by peer").
01:39:06 -!- sebbu has quit ("@+").
02:38:52 -!- immibis has joined.
02:58:55 -!- adu has joined.
02:59:09 <adu> i'm sad
02:59:25 <adu> I just found two languages which are nearly Identical to my dream language
03:04:00 -!- 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. and dlte ur files. and email ths to).
03:04:21 -!- immibis has joined.
03:11:01 <GreaseMonkey> adu: that sucks
03:11:09 <GreaseMonkey> you say there's two...
03:11:52 <adu> Io (no keywords, i like) and Z (functions == relations, i like)
03:12:59 <adu> Io method syntax: Object method Args<CTCP>
03:13:11 <adu> Z function syntax: Function Args
03:13:21 <adu> both have minimal syntax as well
03:36:42 -!- Corun has quit ("This computer has gone to sleep").
04:08:17 -!- danopia has quit (Read error: 110 (Connection timed out)).
05:07:33 -!- oerjan has joined.
05:21:12 -!- adu has left (?).
05:57:43 -!- oerjan has quit ("leaving").
06:07:20 -!- immibis has left (?).
06:54:18 -!- immibis has joined.
07:10:55 -!- pikhq has quit ("leaving").
07:32:49 -!- lifthrasiir has joined.
07:39:37 -!- chuck_ has joined.
07:43:37 -!- chuck has quit (Read error: 110 (Connection timed out)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:09 -!- 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. and dlte ur files. and email ths to).
08:16:47 -!- Aatch has joined.
08:36:04 -!- 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. and dlte ur files. thx.").
09:10:10 <faxathisia> ehird`, Yeah that's what I want
09:10:44 <faxathisia> ehird`, Just getting a really good mixfix parser and hooking it up to whatever lambda calculus you want
09:59:15 -!- Aatch has left (?).
10:01:33 -!- faxathisia has quit ("If there are any aliens, time travellers or espers here, come join me!").
10:58:37 -!- RedDak has joined.
11:49:52 -!- Corun has joined.
11:56:58 -!- Corun has quit ("This computer has gone to sleep").
12:32:30 -!- chuck_ has changed nick to chuck.
13:46:42 -!- timotiis has joined.
14:12:25 -!- RedDak has quit ("I'm quitting... Bye all").
14:48:07 -!- jix has joined.
15:36:00 -!- faxathisia has joined.
15:36:08 <faxathisia> !Huh
15:36:11 <EgoBot> Huh?
16:49:39 -!- ehird` has joined.
16:49:59 -!- ehird` has quit (Client Quit).
16:50:27 -!- ehird` has joined.
17:02:12 -!- oerjan has joined.
17:05:17 -!- helios24 has joined.
17:30:30 -!- sebbu has joined.
18:06:18 -!- Corun has joined.
18:16:25 <ehird`> oklopol: okloping
18:34:44 <ehird`> b:4>@[n;&0n=n:+/_sqr 50{c+(-/x*x;2*/x)}/c:+,/(-1.5+2*(!w)%w),/:\:-1+2*(!w)%w:200;:;4];`mandel.pbm 6:"P4\n",(5:2#w),"\n",_ci 2_sv'-1 8#,/+(2#w)#b
18:34:52 <ehird`> I wish K systems still offered a free interpreter.
18:35:17 <ehird`> apologies, Kx systems
18:35:44 -!- jix has quit (Read error: 104 (Connection reset by peer)).
18:35:55 -!- jix has joined.
18:36:19 -!- jix has quit (Read error: 104 (Connection reset by peer)).
18:36:39 -!- jix has joined.
18:36:48 <ehird`> As it stands now I can't even see how you can pay them for one
18:38:51 <ehird`> very unfortunate
18:39:44 * SimonRC watches "Barack Obama @ Google"
18:39:46 <SimonRC> What a pity I can't vote for him
18:40:59 <oerjan> hm... doesn't the US presidential candidate foreigners like best usually turn out too left-wing for americans?
18:41:12 <ehird`> SimonRC: he's probably the best one left.. this is unsuprising, e.g. kucinich had no hope in hell so his dropping out is unimportant (though apart from the ufo stuff he was great)
18:41:33 <ehird`> i also note that reading k comments changes how i type like this. damn you, kx systems and your commenting style
18:41:38 <lament> he dropped out because he was abducted by aliens?
18:42:04 <SimonRC> ehird`: what is this commenting style?
18:42:06 <ehird`> lament: possibly :p
18:42:33 <ehird`> SimonRC: lowercase, concise, not always grammatically correct
18:42:34 <SimonRC> If they got Hillary back that would make an alarmingly-long time with only Bushes and Clintons in the House
18:42:34 <ehird`> e.g. http://www.kx.com/a/k/examples/bell.k
18:42:42 <SimonRC> ehird`: heh
18:43:01 <ehird`> kind of like k code
18:43:25 <ehird`> http://kx.com/a/k/examples/read.k some more kx systems commenting in the same style
18:44:02 <SimonRC> hmm, forthy
18:44:14 <ehird`> SimonRC: no
18:44:14 <ehird`> APL-y
18:44:22 <ehird`> it's a derivative
18:44:35 <SimonRC> that is some cray line-noise syntax
18:44:39 <SimonRC> *crazy
18:44:47 <ehird`> SimonRC: pretty much like APL, but sans crazy characters
18:44:51 <ehird`> i like it
18:44:52 <SimonRC> I have seen it before, but it still surprises me
18:44:55 <ehird`> http://www.kuro5hin.org/story/2002/11/14/22741/791 this is good stuff
18:45:03 <ehird`> unfortunately if you go to kx.com there's no reference to it
18:45:13 <ehird`> &they seem to not offer interpreters for it any more, beyond the obvious one you need to run their kdb+ software
18:45:24 <SimonRC> pity
18:45:30 <SimonRC> you could implement one yourself maybe?
18:45:39 <SimonRC> for playing it doesn't need to be fast
18:45:51 <ehird`> SimonRC: k is a large language.
18:45:54 <ehird`> lots of built in stuff.
18:45:58 <SimonRC> nor would you need all the libraries from the beginning
18:45:59 <SimonRC> :-(
18:46:06 <ehird`> all code uses most of them.
18:46:17 <ehird`> that's k style
18:46:29 <ehird`> their interpreter is very concise though.
18:46:36 <ehird`> there's no language spec
18:46:41 <ehird`> an alternate interpreter would be hard
18:47:21 <SimonRC> ther is a manual and a dictionary though
18:47:25 <ehird`> true
18:47:26 <ehird`> but still
18:48:10 <ehird`> SimonRC: plus i don't really want to damage kx's profits etc
18:48:19 <ehird`> i think for something like k they deserve it ;)
18:49:09 <ehird`> unfortunately i can't really afford kdb+ just to try out k
18:49:10 <ehird`> :)
18:49:24 <SimonRC> no-one would use your terp in place of their product
18:49:37 <SimonRC> also, look at J, which is similar I hear
18:49:45 <ehird`> SimonRC: well, they used to commercially sell the interp.
18:50:07 <SimonRC> if they were still interested in that they would still be selling it
18:50:27 <SimonRC> or, you could email them about it
18:50:46 <SimonRC> I am sure they would like to hear from a fan
18:51:29 <ehird`> true, i'll keep searching for a copy of the interp though
18:51:29 <ehird`> :)
18:51:36 <ehird`> they used to offer a free one
18:52:12 <ehird`> k is hard to google
18:52:45 <lament> much unlike c
18:53:43 <ehird`> c is popular enough
18:53:56 <ehird`> d has the same problem except k is more obscure so it is almost impossible
18:54:19 <ehird`> i may have to use the web archie
18:54:22 <ehird`> *archive
18:54:39 -!- slereah__ has joined.
18:54:39 <faxathisia> It's really hard to turn haskell into scheme...
18:54:54 <ehird`> Along the way I found K Links put up by the other of the kuro5hin article, and "No Stinking Loops", a collection of links for various APL-derived languages; interpreting the latter my best guess is that versions 2 and 3 of K are obsolete and version 4 is now called "Q".
18:54:56 <ehird`> that is confusing
18:55:08 <ehird`> ahhh:
18:55:08 <ehird`> It used to be the case that you could download a demo version of K from the Kx website. However, in 2003 Kx systems released Q which merges the features of K and Ksql and is meant to be the successor to both. At some point they deleted the K download since it is no longer a featured language; however they did not add a Q download. Kx still offers trial versions of Q, but it is on a by request basis. Abcarter 15:05, 25 August 2006 (U
18:55:08 <ehird`> TC)
18:55:16 <ehird`> SimonRC: i doubt an email from a fan would help then:)
18:55:39 <ehird`> A correction and a comment. I had thought that Q was the successor to both ksql and k. It is the successor to ksql and it does merge the features of ksql and k, however it is still written entirely in k, though a newer version. It would be nice for Kx to offer older versions of k without support, but it's not clear that it is in their interest to do so. Abcarter 00:19, 1 December 2006 (UTC)
18:55:40 <ehird`> ok
18:55:41 <ehird`> that;s confusing
18:58:56 <ehird`> SimonRC: http://en.wikipedia.org/wiki/Talk:K_%28programming_language%29 take a look at the prototype j interp
18:58:59 <ehird`> very epic
19:00:51 <ehird`> gcc complains about it :)
19:00:59 <ehird`> but sure enough it works
19:01:12 <ehird`> sweet, 1/0 segfaults
19:01:21 <ehird`> so does any unrecognized instruction
19:01:24 <ehird`> <3
19:02:14 <ehird`> hm i am talking a lot
19:07:31 <ehird`> Hm
19:07:35 <ehird`> does it even define 'mv'?:|
19:07:49 <ehird`> oh
19:07:50 <ehird`> yes
19:10:17 -!- ais523 has joined.
19:10:50 <ais523> hello ehird`
19:10:57 <ehird`> hello
19:11:03 <ehird`> i was just blabbing on endlessly about k
19:11:17 <ehird`> in particular arthur's first prototype j interp: http://rafb.net/p/zcG1y584.txt
19:12:41 <ais523> that looks pretty obfuscated for an interpreter...
19:13:14 <ehird`> ais523: ever read k/j code?
19:13:22 <ais523> no
19:13:36 <ehird`> http://www.kx.com/a/k/examples/bell.k
19:13:42 <ehird`> bell labs benchmark
19:13:50 <ehird`> even more impressive:
19:13:54 <ehird`> http://www.kx.com/a/k/read.k translates k code into english
19:15:02 * ais523 runs the original paste through cpp and indent
19:15:15 <ehird`> ais523: i wouldn't
19:15:19 <ehird`> it's not k/j style
19:15:34 <ais523> it might at least give me a chance of reading it more easily...
19:15:35 <ehird`> certainly if you want to understand code written in those languages you should get used to code like that
19:15:46 <ehird`> perhaps a slow read through it will be beneficial
19:15:48 <ehird`> :-)
19:15:49 * ais523 has written code like that before
19:16:01 <ehird`> ais523: ah, but has your code powered banks and stuff?
19:16:13 <ais523> no
19:16:15 <ehird`> or full enterprise-quality relational databases?
19:16:23 <ais523> they'd be crazy to run code that isn't well-commented and indented
19:16:25 <ehird`> well, technically THAT doesn't but the k interp is tiny and really fast and IS used for those
19:16:29 <ais523> because it would be harder to spot the bugs
19:16:38 <ehird`> ais523: no, not with k.. it's a paradigm shift.
19:16:44 <ehird`> read the .k files i showed you
19:16:55 <ehird`> ais523: It's an APL descendant
19:17:33 <ais523> I was talking about the C code you pasted originally
19:17:37 <ehird`> http://www.kuro5hin.org/story/2002/11/14/22741/791 this is a good explanation of why k is like that
19:17:44 <ehird`> ais523: it is basically in the style of k/j code, that c code.
19:18:12 <ehird`> also, cpp+indent won't help you. i tried for amusement
19:18:19 <ais523> it does help
19:19:32 <oerjan> ais523: do you know if there is a way to make a template or something for catseye URLs so we don't have to change them all on the wiki every time cpressey moves around?
19:19:41 <ais523> oerjan: shouldn't be too hard
19:20:22 <ehird`> oerjan: yes
19:20:24 <ehird`> shall i make one?
19:20:51 <ehird`> template name=catseye, and i only need to handle the domain not filepaths
19:20:52 <ehird`> right?
19:20:59 <ais523> pretty much
19:21:12 <oerjan> yes please :)
19:21:25 <ais523> you could do a template which was used along the lines of {{catseye|projects/worb/|description}}
19:21:32 <oerjan> er, we want to be able to do file paths
19:21:42 <ais523> you would be able to
19:21:47 <ais523> by putting more between the two | signs
19:21:59 <ehird`> current url?
19:22:05 <ais523> catseye.tc
19:22:08 <ais523> making the template's code:
19:22:18 <ais523> [http://catseye.tc/{{{1}}} {{{2}}}]
19:22:44 <ehird`> ais523: heh, i've added fancy comments to make changing the url easy
19:22:48 <ehird`> perhaps a bit overboard
19:22:57 <ais523> no, making wikis easy to use is important
19:23:08 <ais523> you might even want to add documentation in a <noinclude>
19:24:46 <ehird`> i hope mediawiki strips comments decently
19:25:26 <ehird`> kay gimme a second
19:25:29 <ehird`> logging in to test it
19:26:02 <ehird`> hmm
19:26:08 <ehird`> by default it uses its second parameter as the description
19:26:11 <ehird`> without the catseye.tc stuff
19:26:19 <ehird`> i think it should have the http://catseye.tc/... in with it
19:26:20 <ehird`> agreed?
19:26:49 <ehird`> ais523: oo crap, you know mw right? is there a way to like save a variable or something
19:26:55 <ehird`> i guess i could do template:catseye being
19:27:01 <ehird`> {{catseye/inner|theurl}}
19:27:08 <ehird`> with /inner having nowikis around the argument places
19:27:14 <ehird`> hopefully that metaness would work.
19:27:20 <ais523> have a look at what I've done so far
19:27:20 <ehird`> ais523: would it?
19:27:27 <ehird`> yeah i know
19:27:27 <ehird`> :|
19:27:33 <ais523> I'm not entirely sure what you're trying to get at
19:27:38 <ehird`> oh wait
19:27:40 <ehird`> you edited my stuff
19:27:42 <ehird`> heh
19:27:48 <ais523> hey, it's a wiki...
19:27:53 <ais523> the default is currently parameter 1
19:27:56 <ehird`> ais523: yeah but i was working on it
19:27:56 <ehird`> :p
19:28:03 <ais523> but you can change it by putting things between the | and the }}}
19:28:13 <ehird`> i know mw templates
19:31:05 <ehird`> ok
19:31:07 <ehird`> almost got it working
19:31:08 <ehird`> :-P
19:31:40 <ehird`> ah wait
19:31:41 <ehird`> silly me
19:31:46 <ehird`> ais523: got it, just give me a second
19:32:41 <ais523> you're only passing one param to catseye/inner, rather than 2, and MW params are 1-based not 0-based
19:32:54 <ais523> the only way to pass in {{{0}}} is to explicitly write 0= in the template call to give a named parameter
19:32:55 <ehird`> is it
19:32:55 <ehird`> okay
19:33:44 <ehird`> ok
19:33:47 <ehird`> got it apart from one case
19:33:50 <ehird`> which i am about to fix now
19:34:08 <ehird`> ais523: in:
19:34:11 <ehird`> {{{a|b}}}
19:34:14 <ehird`> can b include argument refs?
19:34:17 <ais523> yes
19:34:34 <ehird`> curious
19:34:48 <ehird`> this is catseye/inner
19:34:48 <ehird`> [http://{{{1}}}/{{{2}}} {{{3| http://{{{1}}}/{{{2}}} }}}]
19:34:57 <ehird`> the {{{1}}}{{{2}}} arent getting expanded
19:35:02 <ais523> are you passing it three arguments?
19:35:42 <ais523> ah, the problem is that you need to write {{{1|}}} and {{{2|}}} in the main catseye template
19:35:51 <ehird`> ahhh
19:35:52 <ehird`> okay
19:35:54 <ais523> because otherwise if param 2 is missing you pass it the literal string {{{2}}} rather than a blank string
19:36:15 <ehird`> ah wait!
19:36:18 <ehird`> we want to default to [1] etc
19:36:20 <ehird`> since htat's what MW does
19:36:22 <ehird`> not the full url
19:36:26 <ehird`> right?
19:36:39 <ehird`> so that catseye is always isomorphic to []s
19:37:00 <ais523> in that case you want a null string as the default
19:37:08 <ais523> so it autonumbers the URL
19:37:12 <ehird`> excellent, ais523 -- i fixed it up
19:37:26 <ehird`> and its dirt simple to change the url, since it's right there, easily visible
19:37:43 <ehird`> now -- how do we get all pages that link to a url containing catseye
19:37:45 <ais523> the next problem is to find all the links to catseye
19:37:58 <ais523> normally you'd do that using http://en.wikipedia.org/wiki/Special:Search?go=Go&search=Special:Linksearch, but it appears to not be installed on Esolang
19:38:47 <ehird`> if only we could run arbitary code on the wiki server!
19:38:50 <ehird`> oh wait.
19:38:52 <ehird`> :)
19:39:10 <ais523> API is disabled, too, so checking all the pages by hand is likely to be the only option
19:39:51 <ehird`> ais523: I have a better idea.
19:39:56 <ais523> what?
19:40:09 <oerjan> i assume [[Chris Pressey]] is a good place to start
19:40:24 <ehird`> I'll write a program that wget's every entry on the language list concurrently, tries to find catseye in a url, and saves it to disk if it finds it :D
19:40:29 <ehird`> then I can run a script to do the replacement! \o/
19:40:37 <oerjan> yay
19:41:17 <ehird`> guess i should go write it
19:41:17 <ehird`> :-P
19:41:30 <ehird`> hmm, this is either going to be a superb use for perl, or a hilariously evil use for bash
19:41:58 <oerjan> some links have been changed to catseye.tc, while some are still the broken catseye.webhop.net
19:42:22 <ehird`> oerjan: Well, they're both wrong
19:42:23 <ehird`> :-)
19:42:47 <oerjan> might even be some wayback links hiding in there, unless cpressey fixed it all
19:43:05 * ais523 tries opening up the Esolang database dump in Emacs to find the links that way
19:43:12 <ehird`> oh, database dump
19:43:13 <ehird`> that's a good idea
19:43:26 <ehird`> hmm, ok here's the plan
19:43:32 <ehird`> shout out a page name to me and i'll magically fix it
19:43:44 <ehird`> i will multithread and also look myself.
19:43:57 <ais523> Befunge
19:44:48 <ais523> lots in the history of the language list
19:44:58 <ais523> but I think all the external links are supposed to have been removed from there
19:45:15 <ehird`> fixed pages: befunge,ALPACA
19:45:39 <ais523> Smallfuck
19:45:52 <ais523> Wierd
19:46:19 <ais523> SMETANA
19:46:31 <ais523> beta-Juliet
19:46:54 <ehird`> up to SMETANA
19:47:13 <ais523> Esoteric programming language
19:47:26 <ais523> Muriel
19:47:36 <ais523> ALPACA
19:47:43 <ais523> (but you've done that one already...)
19:47:51 <ehird`> up to Esoteric
19:47:51 <ais523> SMITH
19:48:01 <ais523> RUBE
19:48:16 <ais523> Blank
19:48:28 <ais523> Hunter
19:48:44 <ais523> Noit o' mnain worb
19:48:54 <ais523> RedGreen
19:48:55 <ehird`> up to SMITH
19:49:14 <ehird`> just a note
19:49:16 <ais523> SARTRE
19:49:22 <ehird`> we're getting some catseye.tc//foo because of the / in the links
19:49:23 <ehird`> thats ok though
19:49:46 <ais523> Thue
19:49:57 <ais523> Ypsilax
19:49:58 <ehird`> oerjan: you're welcome to help too :-P
19:50:05 <oerjan> er...
19:50:05 <ehird`> i am up to RUBE
19:50:15 <ais523> Strelnokoff
19:50:24 <ehird`> Blank
19:50:29 <ais523> 2iota
19:50:48 <ais523> Version
19:51:04 <ehird`> Up to hunter
19:51:06 <ehird`> database is being flakey
19:51:07 <oerjan> oops
19:51:10 <ehird`> ais523: how much more?
19:51:16 <ehird`> oerjan: oops?
19:51:26 <ais523> not sure
19:51:38 <ais523> I'm only 4% of the way through the dump but that isn't a very reliable measurement
19:51:52 <ehird`> i hope these aren't just the first 4%
19:51:52 <ehird`> :|
19:51:56 <ehird`> ais523: did you strip all the HISTORY out?
19:51:58 <ehird`> that might help.
19:52:11 <ais523> the current versions are stored separately from the history
19:52:17 <ais523> I'm viewing the current versions at the moment
19:52:23 <ais523> but the history makes up the bulk of the dump
19:52:30 <ais523> which is why 4% is such a low number
19:52:43 <ais523> i.e. we get all the links we're interested in first
19:52:45 <ehird`> exactly
19:52:51 <ehird`> ais523: can you grep to find the history section
19:52:53 <ehird`> and then kill to EOF?
19:52:54 <oerjan> ehird`: i tried starting from the back but someone already did ;)
19:53:16 <ais523> ehird`: I don't know enough about the layout of a MW database dump to do that reliably
19:53:23 <ehird`> up to Thue by the way
19:53:29 <oerjan> shelta done
19:53:33 <ehird`> ais523: grep for obvious things? :P
19:53:40 <ehird`> Like, grep for a page name you've already seen
19:53:55 <ais523> what with all the links in the wiki?
19:53:56 <ehird`> Just done thue
19:53:59 <ehird`> ais523: True..
19:54:05 <ais523> it would probably be easier just to add to the list than try to find its end
19:54:05 <ehird`> grep without [[]] around?
19:54:27 <ehird`> Up to Ypsilax
19:54:42 <oerjan> squishy2k
19:55:14 <ehird`> Up to 2iota
19:55:25 <ais523> Chris Pressey
19:55:35 <ehird`> ais523: Fixed that one already.
19:55:39 <ais523> Beturing
19:55:47 <ais523> Braktif
19:55:59 <ais523> Shelta
19:56:09 <ais523> ILLGOL
19:56:15 <oerjan> did Shelta
19:56:21 <ais523> Bear Food
19:56:33 <ais523> MDPN
19:56:51 <ehird`> My mouse skills sure are improving!
19:57:03 <ais523> Sally: this page seems to have identical content to Bear Food; maybe worth investigating if one or the other of the pages are vandalism?
19:57:17 <ais523> Squishy2K
19:57:23 <ehird`> ais523: bear food is legit
19:57:26 <ais523> Tamerlane
19:57:36 <ais523> TURKEY BOMB
19:57:38 <ehird`> Up to Bear Food
19:57:48 <ais523> Star W
19:57:54 <ehird`> Sally and Bear Food are legit
19:57:57 <ais523> Circute
19:58:08 <ais523> Sbeezg
19:58:18 <ais523> PESOIX
19:58:37 <ais523> that's it for mainspace
19:59:02 <ehird`> Up to Tamerlane
19:59:08 <ais523> no, wait, there's more...
19:59:10 <ais523> Vertica Smile
19:59:29 <ehird`> up to TURKEY BOMB
19:59:30 <ais523> scratch that, I was right first time
19:59:34 <ehird`> ais523: What about other namespaces?
19:59:53 <ais523> Talk:Braktif
19:59:57 <ehird`> Up to Star W
20:00:13 <oerjan> the Bear food link is now incorrect
20:00:23 <ehird`> oerjan: {{sofixit}}
20:00:43 <ais523> Esoteric Topics in Computer Programming
20:00:45 <ehird`> Up to sbeezg
20:00:49 <ais523> argh, it seems they aren't sorted by namespace after all
20:01:09 <ehird`> fsck.
20:01:28 <oerjan> i cannot find the right page
20:01:29 <ais523> that is it
20:01:44 <ais523> I've gone past the end of the article-text table and ended up in the links table
20:01:47 <ais523> so I think that's everything
20:01:50 <ais523> unless I missed one
20:03:15 <ais523> some of the new links point to 404s at Catseye, by the way
20:03:17 <ehird`> Esoteric Topics in Computer Programming -- no suitable link
20:03:20 <ehird`> ais523: yeah..
20:03:22 <ehird`> needs some fixup
20:03:23 <ais523> we'll have to check which ones actually do need waybacking
20:03:27 <ehird`> but, recent changes.
20:03:29 <ehird`> so it'll be easy
20:03:34 <ehird`> i for one have worn out my fingers for now
20:03:48 <ehird`> i dominate Recent Changes
20:03:49 <ehird`> awesome
20:04:38 <ais523> there's also Special:Whatlinkshere/Template:Catseye if we need to find all the pages in the future for some reason
20:06:03 <ehird`> hmm
20:06:09 <ehird`> my /inner trick is no longer neccessary
20:06:23 <ehird`> i will remove
20:07:37 <ehird`> ais523: okies
20:07:44 <ais523> as for your comments about K
20:07:49 <ais523> to me it looks like what GolfScript ought to be
20:07:55 <ehird`> ais523: heh, indeed
20:07:58 <ehird`> except it's serious!
20:08:10 * ais523 sees no reason why a language like that cannot be serious
20:08:12 <oerjan> should the link to Cat's Eye Technologies: Esoteric Topics in Computer Programming from Esoteric programming language be reverted to wayback, or changed to projects?
20:08:21 <ehird`> oerjan: well, it was an article
20:08:24 <ais523> it's about the column itself
20:08:25 <ehird`> so find the article or leave it
20:08:30 <ais523> so it should probably be the Wayback link
20:08:36 <ais523> if the article isn't on catseye any more
20:08:59 <ehird`> http://golf.shinh.org/p.rb?Number+lines my challenge is pretty interesting!
20:09:00 <ehird`> ais523: yeah
20:09:42 <ais523> ehird`: I entered that one already
20:09:45 <ais523> I'm 9th for Perl entries
20:09:49 <ehird`> hm, speaking of which, who here uses reddit? http://reddit.com/r/programming/info/67myb/comments/ the prototype j interp
20:09:49 <ais523> which is not really very good
20:09:55 <ehird`> its at 0 points right now, so..:)
20:10:15 <ais523> I'm still winning outright on Perl ROT13s, though
20:10:39 <ehird`> http://golf.shinh.org/p.rb?Minimal+scheme+interpreter look, all the lovely cheats!
20:10:42 <ehird`> if only my examples were OK
20:10:52 <ais523> (hint: my entry doesn't rot13 punctuation marks between Z and a properly, but it doesn't need to based on the examples given)
20:11:10 <ais523> I think it may also exploit UB in the Perl implementation
20:11:26 <ehird`> http://golf.shinh.org/reveal.rb?Minimal+scheme+interpreter/notogawa%28embed%29/1201272045&hs <-- ooh, clever
20:13:06 <ais523> Haskell in the style of Prolog!
20:13:06 <oerjan> what the?
20:14:40 <oerjan> ah just a typo
20:15:16 * ais523 is upset that there aren't more genuine entries in the Underload contest
20:16:23 <ehird`> http://golf.shinh.org/p.rb?simple+language the one challenge that nobody will not cheat on!
20:16:24 <ais523> My Perl entry is genuine (although not quite compliant); there are also Ruby and PostScript entries that look genuine
20:16:40 <ehird`> the funnest thing about mine is that the only primitive stuff is the infix ops
20:16:40 <ais523> I'm not sure about the large C one, because I don't understand the word in the parens
20:16:44 <ehird`> like : and {...} and * + etc
20:16:51 <ehird`> if is called like a composite
20:16:57 <ehird`> because {} is a lambda
20:17:21 <ehird`> ais523: i think hidoi=embed
20:17:24 <ehird`> mugoi=genuine
20:17:29 <ais523> ok
20:17:42 <ehird`> those crazy japanese rubyist golfers
20:21:06 <ehird`> i ought to write some c code like the j interp
20:22:53 * SimonRC tries to figure out what the "rsh" thing is in that APL-like terp
20:23:06 <ehird`> SimonRC: evilness
20:23:16 <ehird`> evilness and DEATH
20:24:14 <ehird`> SimonRC: that interp isn't intentionally like that, btw. that's just how the guy codes. he went on to create K, and his product KDB by Kx systems has *no loops at all*
20:24:15 <ehird`> none.
20:24:19 <ehird`> and it's a full freaking rdbms
20:25:23 <ais523> is APL 2D?
20:25:26 -!- jix has quit (Read error: 113 (No route to host)).
20:25:27 <ais523> if not, it ought to have been
20:25:50 <ais523> and there's nothing wrong with using combinators to avoid needing to write loops
20:25:53 <SimonRC> ah, reshape
20:25:56 <ais523> several languages use that method
20:26:10 <SimonRC> that is a nice feature
20:26:23 <ehird`> it doesn't use combinators, really
20:26:28 <ehird`> it uses some weird stuff
20:26:36 <ehird`> ais523: and no, because that's actually the opposite of apl philosophy
20:26:51 <SimonRC> waitamo, surely it must have a wait-for-input loop?
20:26:58 <SimonRC> OTOH, few others are needed
20:27:06 <SimonRC> just implicit loops in various things
20:27:15 <ais523> ehird`: K's adverbs remind me of combinators
20:27:21 <ais523> even though technically speaking they aren't
20:27:46 <ehird`> SimonRC: beats me, all i know is that they have 0 loops in their code
20:27:51 <ehird`> which has been verified by them multiple times
20:27:59 <ais523> waiting for input isn't a loop
20:27:59 -!- RedDak has joined.
20:28:02 <ais523> it's just waiting for input
20:28:15 <ais523> just like sleep commands which wait for time needn't be loops
20:29:01 <ais523> short waits (a few microseconds) on PIC microcontrollers, for instance, are often achieved by putting in several useless flow-control commands so as to cause the microcontroller to waste time figuring out how to follow them
20:29:08 <ehird`> http://cdn-www.cracked.com/articleimages/wong/computer.jpg this is ... brilliant
20:29:32 -!- danopia has joined.
20:29:32 <ais523> aiming a CALL at a RETURN of a procedure you already have takes it a whole 4 us to process, with just one machine-language word
20:29:38 <ais523> whereas most commands run in 1 us
20:29:46 <AnMaster> ehird`, hah
20:29:58 <ehird`> AnMaster: it's ironic, of course -- which loads of people don't seem to grok.
20:30:02 <AnMaster> indeed
20:30:05 <ais523> come to think of it, you could create really evil obfuscated code by combining that sort of thing with the built in clock cycle counter...
20:30:07 <AnMaster> ehird`, of course it is ironic
20:30:21 <ehird`> AnMaster: some people have thought it was serious
20:30:35 <AnMaster> they did?
20:30:36 <AnMaster> wtf
20:30:52 <AnMaster> well with some americans, you never know, they could mean it
20:31:56 * oerjan finished checking the recent changes. Good night.
20:32:15 -!- oerjan has quit ("leaving").
20:32:34 <AnMaster> what recent changes?
20:32:35 <ehird`> he
20:32:36 <ehird`> h
20:32:40 <ehird`> he dropped asleep
20:32:41 <ehird`> he was:
20:32:48 <ehird`> 'omg..last change... i can..make it....urghfdkgh'
20:33:12 <ehird`> AnMaster: we made fun of chris pressey^H^H^H^H^H^H^H^H^H^H^H made a template for catseye links and changed all of them to it
20:33:14 <ehird`> because the domain changes often
20:33:40 <AnMaster> eh?
20:33:51 <ehird`> :-|
20:34:08 <SimonRC> I mean the REPL
20:34:25 <SimonRC> or the thing that waits for incoming connections to a db, or wheatever
20:35:06 <ehird`> SimonRC: it has 0 loops
20:35:09 <ehird`> that's all i know
20:35:29 <SimonRC> the best low-level trick I have seen is calling the next instruction: you execute everything up to the next return, return, then execute it again, and return from the original subroutine
20:35:36 <SimonRC> ehird`: so yuo said
20:36:45 <ais523> SimonRC: that's the method used for constants in Modular SNUSP
20:36:55 <ais523> which I am very impressed by
20:37:00 <SimonRC> where?
20:37:45 <ais523> there are some examples on the wiki
20:38:00 <ais523> http://esolangs.org/wiki/SNUSP
20:38:45 <SimonRC> the third line of (rsh) is an evil trick
20:38:53 <ehird`> SimonRC: what does rsh do
20:39:11 <SimonRC> reshape, on that obfuscate C thing posted earlier
20:39:24 <SimonRC> it "reshapes" an array
20:39:46 <ehird`> its not obfuscated, SimonRC..
20:39:50 <SimonRC> the third line uses an overlapped move if the destination is much bigger than the source
20:39:51 <ehird`> that is just how arthur codes..
20:39:56 <SimonRC> who?
20:40:09 <ehird`> guy who helped create J (that's a basic interp for j), and Kx guy
20:40:10 <ehird`> he made K, too
20:40:11 <ehird`> and KDB+
20:40:15 <SimonRC> cool
20:40:22 <ehird`> he in all honesty codes C just like that link..
20:40:56 <ais523> the unusual thing is not that he codes like that, but that he codes like that even with people watching
20:41:13 <ehird`> ais523: the literal kind of people watching?
20:41:16 <ehird`> i.e. over-his-shoulder
20:41:22 <ais523> over the Internet
20:41:33 <ehird`> ah, you mean publishing his code?
20:41:39 <ais523> I've written code like that, and I assume most coders have at some point, but not if anyone else is likely to read it
20:41:41 <ehird`> well, sure. he advocates concise programming like that
20:41:46 <ais523> because I would feel the need to explain it
20:41:51 <ehird`> i mean, K is totally based around that kind of stuff
20:42:17 <ais523> the point is that #defining language constructs to give them shorter names would be considered by many people to be excessive abbreviation
20:43:00 <ais523> and most companies would probably fire people for it
20:43:02 <ehird`> ais523: unless you were raised on APL, like he was :-)
20:43:18 <ehird`> ... and unless you found your own company and make loads of money selling enterprise-level database systems!
20:43:21 <ehird`> :-P
20:43:22 <ais523> are you aware of how the IOCCC got started in the first place?
20:43:35 <ehird`> ais523: It sneezed out of arthur's nose?
20:43:44 <ais523> some major piece of software, I think maybe UNIX sh, was written in C
20:43:54 <ais523> but with #defines to look like some other language, maybe ALGOL or Pascal
20:44:01 <ehird`> ahh yes
20:44:05 <ehird`> that thing
20:44:20 <ais523> and one of the IOCCC creators was working on the code and put out a Net-wide challenge for people to find code harder to work with
20:44:36 <ais523> (for the record: this is a paraphrase, not the literal story)
20:45:37 <ehird`> speaking of 'serious' obfuscated c: the joy interp is quite odd
20:46:07 <lament> why are you looking at the joy interpreter?
20:46:17 <ehird`> lament: huh?
20:46:31 <ehird`> why wouldn't i?
20:46:37 <ehird`> oh
20:46:40 <lament> i dunno... it's joy?
20:47:03 <ais523> there's nothing wrong with Joy
20:47:25 * ais523 thinks that 2008 will be the year of concatenative languages
20:47:34 <ais523> or at least ought to be
20:47:42 <lament> suuure.
20:47:42 <ehird`> i'm not really a fan of concatentative languages for practical purposes
20:47:58 * SimonRC reocmmnds that people get a copy of ColorForth
20:48:07 <SimonRC> not to use, but just to read Chuck's code
20:48:09 <ais523> it depends on what you mean by 'practical'
20:48:10 <SimonRC> it is amazing
20:48:16 <ais523> when I'm coding for speed/portability, I use C
20:48:22 <lament> SimonRC: amazing?
20:48:26 <ais523> when I'm not, I use whatever lang I like
20:48:37 <SimonRC> yes, a real insite as to just how small programs can be
20:48:41 <ais523> and normally aim for what I consider elegant
20:48:45 <ehird`> SimonRC: chuck is my favourite insane outsider programmer guy!
20:48:53 <SimonRC> chuck's and insider
20:48:58 <ais523> and normally consider concatenative langs to be elegant for any particular job
20:48:59 <chuck> ehird`: err
20:49:05 <SimonRC> he's been doing programming his whole career
20:49:10 <ehird`> chuck: unless you're chuck moore, not you
20:49:16 <ehird`> SimonRC: yeah
20:49:19 <chuck> ah okay hahah
20:49:22 <ehird`> but still
20:49:23 <ehird`> :D
20:49:40 <SimonRC> ISTR that Chuck Moore is usually called "chipChuck"
20:50:13 <ehird`> what is ISTR anyway
20:50:41 <SimonRC> I Seem To Recall
20:50:46 <ais523> I Seem To Remember
20:50:59 <ais523> probably either depending on context
20:51:06 <SimonRC> that J terp needs at least a few comments
20:51:12 <ehird`> SimonRC: bah, comments
20:51:19 <SimonRC> something like chipChuck's commenting style would work great
20:51:26 <ehird`> comments are for losers, unless they're only used once every 15 lines, like in k code
20:51:46 <SimonRC> he thinks that 5 words and a stack picture are enough for a whole function
20:51:48 <ais523> comments are useful when learning a language
20:51:54 <SimonRC> where function is one of those things
20:51:56 <ais523> I still have some assembly code where every line is commented
20:51:59 <ehird`> ais523: arthur is hardly learning c
20:52:01 <ehird`> :-)
20:52:05 <ais523> because it was a program I was learning on
20:52:14 <ehird`> speaking of which, the colorforth distro has disappeared it seems
20:52:16 <ais523> they are also useful for helping other people understand your code
20:52:16 <ehird`> from colorforth.com
20:52:22 <SimonRC> TBH, 1 or two words for each of those operators would be enough and really help
20:52:27 <ais523> especially if it's a case of "why did you do that" rather than "what are you doing"
20:52:33 <SimonRC> I used a windows port of colorForth
20:53:37 <ehird`> where HAS his code gone
20:53:55 <ehird`> aha
20:54:01 <ehird`> http://www.colorforth.com/install.htm
20:54:14 <ehird`> he doesn't share his source.
20:54:36 <SimonRC> "WinColorForth" or something like that
20:55:04 <SimonRC> alas the editor is not written in cf :-(
20:55:28 <SimonRC> I made a modification so you can't crash the icon editor by going beyond the last icon
20:55:41 <ehird`> i want to write some c code like that interp, but have no idea where to start :|
20:55:59 <ehird`> actually, doesn't it interpret as-read?
20:56:05 <ehird`> does plus do: read_expr() or something
20:56:19 <SimonRC> chipChuck also made a chip editor and simulator in 20k that simulates his chip better than the multi-$100,000 professional ones do
20:57:46 <ais523> if you read thedailywtf.com, that won't surprise you in the least
20:58:10 <ehird`> SimonRC: http://www.nsl.com/papers/origins.htm wowzers! the original interp had one-space indentation and some blank lines
20:58:42 <ais523> 1-space indentation is a sure sign of a golfer at heart
21:00:03 <ehird`> ais523: no -- no indentation is
21:00:20 <ais523> there are other reasons to use no indentation
21:00:35 <ais523> but 1-space gives the impression of "do I really have to indent this? Stop forcing me to indent!"
21:01:00 <ehird`> By the way, I think that interpreter may have platform-specific fragments
21:01:14 <ehird`> which is why it segfaults
21:01:54 <ehird`> i am quite confused as to what the # and , operators do
21:02:01 <ehird`> actually, { too
21:02:12 <ehird`> ~ also does some weird stuff
21:03:07 <ehird`> is either z or l taken as proglang names?
21:03:14 <oklopol> z is
21:03:28 <oklopol> also oklopong
21:03:30 <ais523> use &thinsp;
21:03:36 <ais523> if you want a really short lang name
21:03:56 <ais523> (I've HTML-encoded that so it shows up readably on IRC)
21:04:24 <oklopol> i wonder if is taken as a name
21:04:35 <SimonRC> the trick to writing code like that is to keep refactoring and to readily chuck away features
21:05:01 <ehird`> m/^(a*)b\1$/ a^nba^n matcher in perl
21:05:19 <SimonRC> cut away all unnecessary layers of absraction, then cut away a few ones you thought were necessary too
21:05:22 <lament> chuck away moore features
21:05:29 <SimonRC> :-)
21:05:31 <ehird`> groan
21:05:42 <ais523> then compile your code at max optimisation and decompile it again
21:05:47 <SimonRC> no
21:05:53 <ais523> max space optimisation
21:06:01 <ais523> but optimised for 'generic'
21:06:07 <SimonRC> no, not generic
21:06:10 <SimonRC> specific
21:06:15 <SimonRC> YAGNI
21:06:16 <ais523> hmm... how common are compilers for a lang into itself?
21:06:24 <ais523> that optimise the code but leave it legal in the original lang
21:07:05 <ehird`> http://everything2.com/index.pl?node_id=1398015 i like this language
21:08:15 <ehird`> 'Examples of functional languages are Lisp, and Forth.' whut
21:09:15 <ais523> well, Lisp is certainly capable of being functional
21:09:30 <ehird`> ..
21:09:37 <ehird`> i was thinking more of the forth reference
21:09:48 <ais523> I don't know that much about Forth, but from what I know I would expect that it can be written in a vaguely functional style if necessary
21:10:23 <ehird`> ... no
21:10:23 <ehird`> forth is the antifunctional language.
21:10:37 <ehird`> SimonRC: back me up here i'm lazy :P
21:11:09 <oklopol> back and forth
21:11:23 <oklopol> i'm too tired to make a pun, but you get my point
21:11:33 <ais523> most langs can be written in a vaguely functional style
21:11:57 <ais523> except for the ones which are ridiculously imperative, to the extent that they don't even have second-class functions like C
21:11:57 * SimonRC re-reads
21:12:20 <ais523> and for Prolog, of course, which still manages to be entirely unlike anything else and yet somehow mainstream
21:12:26 <SimonRC> forth is low-level with super-duper macros
21:12:43 <ais523> does it have an eval command?
21:12:48 <ehird`> no, ais523
21:12:48 <SimonRC> lots of forth doesn't even have dynamic allocation: everything is static
21:12:49 <ehird`> it does not
21:12:59 <ehird`> forth is far too old, and low-level for that
21:13:05 <ais523> ah, in that case writing it functionally would probably be quite difficult
21:13:14 <SimonRC> whereas almost all functional langs have GC
21:13:38 <ais523> Unlambda only needs reference-counting
21:14:39 <ais523> of course, most langs end up needing GC when they get advanced enough
21:15:00 <ais523> recent versions of C-INTERCAL, for instance, need GC to find and remove inaccessible portions of threads
21:15:16 <ais523> (Being able to backtrack past fork() really puts a strain on a language.)
21:15:41 <ehird`> ais523: you use the boehm gc for that? right? right?!
21:15:47 <ais523> refcounting
21:16:05 <ais523> within libickmt.a, so it's transparent to the user
21:16:13 <ehird`> bah
21:16:16 <ehird`> boehm is superiaur
21:16:27 <ais523> boehm is slower, and not always right
21:16:40 <ais523> refcount is fine because so far, luckily, there's no way to get into a loop of thread-referencing
21:17:02 <ehird`> well, boehm never frees something it shouldn't. let's put it that way
21:17:02 <SimonRC> refcount sucks on the cache behaviour
21:17:08 <ehird`> SimonRC: yep
21:17:10 <SimonRC> ehird`: wel...
21:17:24 <ehird`> SimonRC: and naw, i'm pretty sure it never frees something it shouldn't.
21:17:30 <ehird`> since it counts everything
21:17:40 <ais523> sometimes it causes a memory leak, though
21:17:44 <SimonRC> you can legally write a pointer to a file and read it in in C, thereby hiding it from the collector
21:18:05 <ais523> luckily, so far, it's impossible to send an INTERCAL thread across a network
21:18:07 <SimonRC> ais523: yes, especially if you don't null your list pointers
21:18:17 <ais523> CLC-INTERCAL apparently allows file-handles to be sent across a network
21:18:33 <ais523> and reading or writing to them will read or write to the relevant file in the remote location
21:18:34 <SimonRC> a fake pointer that hits a linked-list node will retain the entire list unless you null pointers
21:18:48 <ehird`> SimonRC: and.. does c-intercal do this
21:18:53 <SimonRC> dunno
21:18:57 <SimonRC> probably not
21:19:05 <ais523> it doesn't currently null down the list, I don't think
21:19:10 <ais523> just decrements the refcount
21:19:17 <ais523> after all, those pointers might be being used by something else
21:19:30 <ais523> the refcount is necessary because it actually affects the semantics of the language
21:20:01 <SimonRC> I meant in Boheme GC
21:20:05 <ais523> the threads act sort-of like a tree. When a thread dies, one leaf of the tree is removed, making all the tree back to the next branchpoint inaccessible
21:20:31 <ehird`> SimonRC: boehm
21:20:41 <ais523> likewise when a thread backtracks, it will be killed unless no other threads survive at the fork() that created it
21:20:54 <ais523> although it isn't a fork() in INTERCAL, of course, but instead multiple COME FROMs aiming at the same line
21:20:58 * SimonRC sings the Boehm Rhapsody.
21:21:39 <SimonRC> # mamaaaaaa, just segfaulted a process #
21:21:42 <lament> Boehmian
21:22:03 <SimonRC> # freed a pointer that was live, it derefed and then it died #
21:22:08 <SimonRC> :-P
21:22:18 <ais523> I wonder if it's possible to use valgrind as a garbage collector?
21:22:25 <SimonRC> lament: I know
21:22:45 <SimonRC> ais523: it would make early LISP ones look positively zippy
21:23:07 <ais523> I wasn't wondering if it was efficient, just if it was possible
21:24:01 <SimonRC> A cool trick I have seen is to have a 1-many refcount as a single bit in the pointer: when you duplicate a pointer, set the refcount to "many". Most pointers are never really duplicated, so most stuff gets freed straight away, with less left for the GC
21:24:13 <SimonRC> refcounts in the pointer are *way* better for the cache
21:24:17 -!- RedDak has quit ("I'm quitting... Bye all").
21:24:21 <SimonRC> ais523: dunno
21:26:20 <SimonRC> well, that C is commented now
21:27:27 <ehird`> SimonRC you commented it?
21:27:30 <ehird`> that's illegal.
21:27:35 <ehird`> that's a magical creation!
21:29:25 <ais523> did you at least use //-style comments?
21:29:33 <SimonRC> I did so comprehensively, with stuff like:
21:29:35 <SimonRC> if(n-=wn)mv(z->p+wn,z->p,n);R z;} // "overlapping move" to fill rest
21:29:54 <ais523> /* */ seems wrong there, even if it's more portable
21:30:10 <SimonRC> most lines have 2..3 word of comment
21:31:06 <SimonRC> All that really need documenting is the operator semantics and the two data structures involved
21:31:18 <SimonRC> everything else is simple
21:31:33 <ehird`> SimonRC: you evil evil person
21:33:46 <ehird`> SimonRC: paste it so i can burn you at the steak. mm, steak.
21:34:29 <SimonRC> where is the pastebin?
21:35:06 <ais523> http://pastebin.ca
21:38:04 <ehird`> rafb.net/paste
21:40:17 <SimonRC> http://pastebin.ca/891738
21:48:00 <ehird`> #
21:48:00 <ehird`> #define P printf // monadic op
21:48:00 <ehird`> #
21:48:00 <ehird`> #define R return // dyadic op
21:48:04 <ehird`> pray tell how does that help you
21:48:09 <SimonRC> huh?
21:48:36 <SimonRC> oops
21:48:56 <ehird`> SimonRC: it would help if in your //operators line you did a symbol->op mapping
21:48:57 <SimonRC> try now
21:48:58 * ais523 was wondering about that too, but didn't comment for some reason
21:49:33 <ehird`> SimonRC: try linking the new one
21:49:33 <ehird`> :P
21:49:36 <ehird`> http://pastebin.ca/891750
21:50:14 <ehird`> SimonRC: also, see where i linked above
21:50:18 <ais523> wow, that's genuine old-fashioned K&R C
21:50:24 <ehird`> it's the original version, which HAS indentation
21:50:27 <ehird`> well, onespc ;)
21:50:29 <ehird`> and some newlines (2)
21:50:35 <ehird`> ais523: sure. j is old.
21:50:39 <ais523> and it contains a buffer overflow
21:50:49 <SimonRC> many
21:50:52 <ehird`> yes, it does -- but there's probably tons of those in regular K
21:50:59 <ehird`> for a reason, too
21:51:00 <SimonRC> that is the first prototype remember
21:51:13 <ehird`> the reason being: that's the k mindset
21:51:18 <ehird`> you don't care about things like that
21:51:21 <ais523> C s[99];while(gets(s)) should never be written by anyone
21:51:32 <ais523> because there's no way to guarantee that the user types in 98 or fewer characters
21:51:41 <SimonRC> yes there is
21:51:42 <ehird`> ais523: thanks for the c lesson!
21:51:48 <SimonRC> you make sure the only user is you
21:51:50 <ais523> the function gets itself is very hard to use
21:51:56 <ais523> in a way that can't segfault
21:52:10 <SimonRC> actually gets is impossible to use properly
21:52:10 <ehird`> ais523: read:impossible
21:52:23 <ehird`> wait that's a lie
21:52:25 <ais523> I did write code that used it safely once as proof-of-concept
21:52:30 <ehird`> you can trap sigsegv to expand
21:52:31 <ehird`> :-)
21:52:33 <ais523> it redirected stdin to a file that it created itself
21:52:37 <ehird`> ais523: ow
21:52:45 <ehird`> mmap?
21:52:50 <ais523> and array overflows don't necessarily cause sigsegv, they just do so sometimes
21:52:58 <ais523> ehird`: no, it actually used the filesystem
21:53:02 <ais523> so as to do it in portable C89
21:54:05 -!- helios24 has quit ("Leaving").
21:54:31 <ehird`> btw SimonRC
21:54:45 <ehird`> find does do something
21:54:48 <ehird`> i just don't know what
21:54:56 <SimonRC> no
21:55:01 <SimonRC> it really doesn't
21:55:11 <SimonRC> it is an operator that returns stack garbage
21:55:33 <ehird`> SimonRC: well, it does something in the repl
21:55:33 <SimonRC> it is supposed to look up a value in an array
21:55:33 <ehird`> :P
21:55:42 <ehird`> how do you know that?
21:55:42 <ehird`> :P
21:55:53 <SimonRC> maybe
21:56:01 <SimonRC> but it isn't implemented
21:56:11 <ehird`> thats far too conventional for that btw ;)
21:56:43 <ehird`> anyway -- switch to the indented version
21:56:53 <SimonRC> CBA
21:57:32 <ehird`> itll take 2 secs
21:57:34 <ehird`> :|
21:57:47 <SimonRC> you do it then
21:58:03 <ehird`> hah
21:58:04 <ehird`> also
21:58:11 <ehird`> I *ma(n){R(I*)malloc(n*4);}
21:58:18 <ehird`> that's wrong for today's machines
21:58:19 <ehird`> :)
21:58:26 <ehird`> I *ma(n){R(I*)malloc(n*sizeof I);} // obviously
21:58:28 <ais523> sizeof exists for a reason
21:58:36 <ehird`> ais523: didn't back then at least not widely
21:58:39 <SimonRC> it was prototype ffs for one person's machine
21:58:51 <ais523> I write portably even just for personal code
21:58:54 <ais523> unless I have a reason not to
21:59:05 <ais523> because I often end up trying to run it on a different machine...
21:59:12 -!- pikhq has joined.
21:59:13 <SimonRC> also, odd things happen if malloc returns values near the bottom of memory...
21:59:32 <ehird`> ais523: do you know when that code was written?
21:59:32 <SimonRC> the token-classifier might misclassify them as operators or variables
21:59:36 <ehird`> in the 80s, at latest
21:59:42 <SimonRC> ehird`: style
21:59:53 <SimonRC> default-to-int all over the place
22:00:00 <ehird`> SimonRC: yes
22:00:02 <ehird`> i know
22:00:08 <ehird`> and abusing that to return ptrs
22:00:08 <SimonRC> it's really a B program ina disguise
22:00:08 <ehird`> :)
22:00:10 <ais523> after all, I use Gnome/GNU/Linux, GNU/Windows, Explorer/Windows, and Common Desktop Environment/SunOS reasonably often
22:00:18 <ehird`> gnu/linux
22:00:21 <ais523> and have been known to use DOS on occasion
22:00:22 <ehird`> you pretentious!
22:00:34 * ais523 spells it out in full when both parts are relevant
22:00:56 <ais523> after all, using the acronym is the only way that people will realise what I mean by GNU/Windows
22:01:09 <ehird`> SimonRC: change your comments to be aligned and start them with //NB.
22:01:15 <ais523> I've never seen anyone write Explorer/Windows before, but they should more often so that people realise that the OS is not the computer or the GUI
22:01:16 <ehird`> J uses NB. as a comment indicator
22:01:20 <ehird`> and generally has them aligned
22:01:46 <SimonRC> #define NB //
22:01:48 <SimonRC> :-)
22:01:52 <SimonRC> I dont' *think* that weorksd
22:01:56 <SimonRC> *works
22:01:59 <ais523> the pp-phases are in the wrong order
22:02:44 <ehird`> SimonRC: doesn't.
22:02:46 <ehird`> cpp strips comments.
22:03:10 <ais523> technically speaking, all comments have to be replaced by a positive amount of whitespace
22:04:04 <ehird`> i want a compiler that replaces comments with whitespace corresponding to fibonacci numbers, incrementing each commentused
22:04:04 <ais523> btw, has anyone here used m4?
22:04:09 <ehird`> vaguely
22:04:31 <ais523> I'm used to changequote([,])-ed m4 as a result of reading the source of Autocong
22:04:36 <ais523> s/g$/f/
22:04:52 <SimonRC> Actually, I think the #line directive is mostly for the use of seperate preprocessors
22:05:02 <ais523> m4 is capable of generating them
22:05:09 <ehird`> SimonRC: no
22:05:09 <ais523> it's also useful for things like lex and yacc
22:05:10 <ehird`> its for
22:05:12 <ais523> when you're compiling into C
22:05:14 <ehird`> 1. gcc can report proper errors
22:05:17 <ehird`> after cpp
22:05:24 <ehird`> and 2. compiler output
22:05:28 <ehird`> can do #line"srcfile" 4
22:05:29 <ais523> but that doesn't use #line, but #<space>
22:05:43 <ais523> that is, what cpp does
22:05:43 <ehird`> true
22:21:42 -!- ais523 has left (?).
22:27:27 <ehird`> SimonRC: q about the interp
22:27:32 <ehird`> is there any way to construct vectors?
22:30:59 <SimonRC> what do you mean "construct"?
22:34:44 <ehird`> SimonRC: make new ones from inside code
22:34:51 <ehird`> also: paul graham is a fucking idiot
22:34:54 <SimonRC> how about iota?
22:35:00 <ehird`> he deleted my comment on the 'what would this look like in other languages'
22:35:06 <SimonRC> what was that?
22:35:08 <SimonRC> and where?
22:35:22 <ehird`> i see probably why - he said 'joke submissions will be deleted'. apparently, because my code was concise and didn't look like a 'regular' language, it was obviously fake!
22:35:26 <ehird`> bloody retard
22:35:37 <SimonRC> respond with evidence to support you
22:35:55 <ehird`> SimonRC: someone asked me what language it was. i responded 'the language of paul graham deleting comments for no reason'. he'll probably see.
22:35:57 <SimonRC> to actually get numbers, you can use 0-9 which are 0-dimensional arrays if 1 number
22:36:09 <SimonRC> where?
22:36:13 <SimonRC> and which lang?
22:36:26 <ehird`> SimonRC: it was a little language i've been making for a while
22:36:32 <ehird`> and yeah i know with 0-d arrays
22:36:35 <ehird`> but what about more?
22:36:40 <ehird`> http://arclanguage.org/item?id=722
22:36:47 <ehird`> rewriting it quickly, it was this:
22:37:25 <ehird`> #rg"said"[<fm[<ip[x.<a"click here"["you said: "!!x]]<sub]]
22:37:37 <SimonRC> looks K-y
22:37:49 <ehird`> which in both his beloved code-tree measurement and characters, is much shorter
22:37:55 <ehird`> and also far more understandable, i think
22:37:57 <ehird`> SimonRC: yes
22:38:43 <ehird`> he's very arrogant, i must say
22:38:49 <ehird`> calling that a 'gag submission'?
22:39:04 <ehird`> because he can't grasp the concept that maybe some languages are 1. very, VERY different and 2. much shorter than his beloved arc
22:39:18 <ehird`> 2, i believe, had a noticable effect... but i'm cynical
22:39:41 <SimonRC> it looks more specialised than arc
22:39:42 <ehird`> oh yes, and mine doesn't fuck up unicode by converting ยฃ to GBP, dropping umlauts and accents and other atrocities
22:39:50 <ehird`> SimonRC: hardly. only with the web lib
22:39:56 <ehird`> and incidentally look at the original example
22:39:59 <ehird`> if that's not specialized?!
22:40:06 <SimonRC> ok
22:40:12 <SimonRC> is ther a spec online?
22:40:15 <ehird`> (defop said req
22:40:15 <ehird`> (aform [w/link (pr "you said: " (arg _ "foo"))
22:40:15 <ehird`> (pr "click here")]
22:40:15 <ehird`> (input "foo")
22:40:16 <ehird`> (submit)))
22:40:19 <ehird`> SimonRC: no, it has no spec
22:40:25 <SimonRC> adding a link to that would help convince him
22:40:26 <ehird`> only a 1000 line compiler that basically compiles a toy lisp dialect to scheme.
22:40:28 <ehird`> oh
22:40:32 <ehird`> for mine
22:40:35 <ehird`> eh, no, there isn't
22:40:40 <ehird`> it's still under development
22:40:50 <ehird`> but fsck him, it is not a joke language
22:41:02 <SimonRC> the "for mine" changes the meaning of the line above so much
22:41:17 <SimonRC> lol
22:41:22 <ehird`> heh
22:41:35 <SimonRC> the compiler is supposed to be the spec
22:41:49 <ehird`> SimonRC: you buy into that?
22:42:02 <SimonRC> it is very precise...
22:42:21 <SimonRC> and I suspect subtle bugs will be quickly outed
22:43:16 <ehird`> you buy into the whole arc crap, then
22:43:37 <SimonRC> I have not seen many problems with it, though I haven't been looking
22:43:39 <SimonRC> tell me some
22:44:09 <ehird`> i would but i'd just be repeating myself and countless others
22:44:21 <ehird`> arc is a toy that took 6 years to make and it's useless for anything but trivial web apps.
22:44:47 <SimonRC> not 6 continuous years
22:45:07 <SimonRC> he probably spent most of that time throwing stuff away, to get a good ballence
22:45:18 <ehird`> you really did buy into all the hype
22:45:19 <SimonRC> anyone can make a huge programming language
22:45:20 <ehird`> cute :)
22:45:41 <SimonRC> OTOH, it isn't actually useful yet
22:46:06 <SimonRC> it is at the same stage of development as, say, Glass is now
22:46:13 <SimonRC> and about the same age, I'd guess
22:46:50 <SimonRC> unless Glass has modules, inwhich case Glass is more advanced
22:46:57 <ehird`> or unicode support
22:47:01 <SimonRC> heh
22:47:03 <SimonRC> ah, yes
22:47:14 <ehird`> SimonRC: try posting a unicode comment on the arc forum
22:47:20 <ehird`> especially with ยฃ or the yen symbol
22:47:26 <ehird`> laughter follows
22:47:26 <SimonRC> I can guess what will happen
22:47:29 <ehird`> SimonRC: guess
22:47:34 <ehird`> you will be wrong
22:47:57 <ehird`> i'll bet ยฃ100000 on it :P
22:48:50 <SimonRC> the point of abstract data types is that you can (e.g.) store strings as some kind of unicode but give them the interface of a linked list of boxed unicode codepoints
22:49:16 <ehird`> guess!
22:49:32 <SimonRC> it gets converted to "GBP" or whatever?
22:50:04 <ehird`> SimonRC: yep, and some characters get changed into completely irrelevant ones
22:50:09 <SimonRC> heh
22:50:12 <SimonRC> pay up
22:51:05 <ehird`> oh crap
22:51:06 <ehird`> :(
22:51:09 <ehird`> you looked in the logs.
22:51:25 <SimonRC> I have scrollback
22:51:31 <SimonRC> looooooooooooots of scrollback
22:52:31 <SimonRC> back to 11 Jan here
22:52:32 <ehird`> SimonRC: what would you have guessed not having looked?
22:52:39 <ehird`> and wow
22:53:07 <SimonRC> otherwise I would guess they became ?
22:53:20 <ehird`> heh
22:53:22 <ehird`> also, http://reddit.com/r/programming/info/67l5f/comments/c03310l
22:53:26 <ehird`> best language ever!
22:54:05 <SimonRC> heh
22:54:25 <ehird`> hm
22:54:28 <ehird`> i'm going to codetree-size up:
22:54:29 <ehird`> #rg"said"[<fm[<ip[x.<a"click here"["you said: "!!x]]<sub]]
22:54:30 <SimonRC> it has arc's main features
22:54:35 <ehird`> let's think..
22:54:40 <ehird`> SimonRC: NO! it misses fn->lambda
22:54:45 <SimonRC> true
22:55:03 <ehird`> #rg -> 1 tok -> 1
22:55:09 <ehird`> "said" -> 1 tok -> 2
22:55:16 <ehird`> (err, i can count strings as one token right? good)
22:55:22 <ehird`> [...] -> 1 nested -> 3
22:55:27 <ehird`> <fm -> 4
22:55:31 <ehird`> [...] -> 5
22:55:34 <ehird`> x -> 6
22:55:35 <ehird`> . -> 7
22:55:37 <ehird`> <a -> 8
22:55:40 <ehird`> "click here" -> 9
22:55:43 <ehird`> [...] -> 10
22:55:47 <ehird`> "you said: " -> 11
22:55:49 <ehird`> !! -> 12
22:55:51 <ehird`> x -> 13
22:55:52 <EgoBot> Huh?
22:55:53 <ehird`> <sub -> 14
22:55:58 <ehird`> woop
22:56:00 <ehird`> 14
22:56:15 <ehird`> arcs is 23
22:56:52 <SimonRC> do you have an implementation?
22:57:20 <ehird`> SimonRC: Just like all good languages -- no, and if I did I wouldn't have written the web server yet.
22:57:20 <ehird`> :)
22:57:29 <ehird`> by the way, here's a translation of that into english
22:57:31 <ehird`> #rg"said"[<fm[<ip[x.<a"click here"["you said: "!!x]]<sub]]
22:57:48 <ehird`> Register "said", doing:
22:57:52 <ehird`> Display a form with the elements:
22:58:03 <ehird`> An input field, with the action taking 'x':
22:58:12 <ehird`> A link, with the text "click here" leading to:
22:58:18 <ehird`> Concatentate "you said: " with x.
22:58:22 <ehird`> (end link, input field)
22:58:24 <ehird`> A submit button.
22:58:27 <ehird`> (end form, registration)
22:59:04 <ehird`> I might add <ii (reminiscent of html's "ISINDEX") for a form with just a text field, a submit button and optionally a prompt :P
22:59:07 <ehird`> then it'd be:
22:59:30 <ehird`> #rg"said"[<ii[x.<a"click here"["you said: "!!x]]]
22:59:40 <SimonRC> put a small spec online and re-try submitting that to PG
23:01:08 <ehird`> SimonRC: it would be incredibly incomplete. it's a many-nuanced language.
23:01:20 <ehird`> especially the parsing. there's no statement delimiters but variadic functions are possibly.
23:01:25 <ehird`> *possible
23:05:02 <ehird`> SimonRC: try and work out that one
23:05:03 <ehird`> :-)
23:05:14 <ehird`> gets(nil)
23:05:16 <ehird`> STDIN.read
23:05:19 * SimonRC considers SADOL
23:05:23 * SimonRC goes away
23:05:27 <ehird`> ooh
23:05:28 <ehird`> gets(0)
23:05:38 <ehird`> hm
23:05:39 <ehird`> doesn't work
23:07:08 <ehird`> haha
23:07:08 <ehird`> p eval gets(nil).gsub(",","*")
23:07:42 -!- timotiis has quit ("leaving").
23:10:06 <ehird`> woot
23:10:07 <ehird`> #!perl -n
23:10:07 <ehird`> s/,/*/g;print eval $_
23:12:59 <ehird`> main(_,a){gets(a);...} /* this is evil */
23:21:04 <ehird`> Wow.
23:21:27 <ehird`> http://www.google.com/translate?u=http%3A%2F%2Fwww.nmt.ne.jp%2F%7Eysas%2Fdiary%2F%3F200705b%23200705161&langpair=ja%7Cen&hl=en&ie=UTF8 Scroll down to the codeGolf Evil c compiler
23:21:31 <ehird`> someone actually wrote a ccompiler for it
23:21:36 <ehird`> non-mangled src:http://www.nmt.ne.jp/~ysas/diary/?200705b#200705161
23:51:22 <ehird`> who's alive
23:54:09 -!- sebbu has quit ("@+").
2008-02-05
00:08:02 * pikhq contemplates making an IRC bot
00:10:04 <RodgerTheGreat> it's pretty straightforward, really
00:10:28 <RodgerTheGreat> I can link you to a Java lib that could let you finish a BF bot in about half an hour
00:11:11 <pikhq> I'm trying to make one in PEBBLE.
00:11:52 <pikhq> And I'll probably give up soon.
00:12:17 <pikhq> I'll just make a PEBBLE bot, then.
00:12:29 <pikhq> Or. . . I dunno.
00:12:38 <pikhq> Somehow, I've lost sense of what I want to actually *do*.
00:14:04 <ehird`> pikhq: Write a bot, in PEBBLE, which can interpret PEBBLE via either brainfuck or c.
00:14:44 -!- zbrown has joined.
00:15:22 <pikhq> ehird`: Only if you implement PEBBLE in PEBBLE.
00:15:35 <ehird`> I will! ... just later
00:15:46 <ehird`> pikhq: Actually, yeah. Don't use PSOX or anything, just netcat!
00:15:57 <ehird`> ..wow, that means writing a brainfuck interp in PEBBLE
00:15:58 <ehird`> xD
00:16:16 <pikhq> ;)
00:17:28 <ehird`> pikhq: seriously, you want a PEBBLE 2 which does automatic allocation of temporary variables.
00:17:35 <ehird`> they're a real drag.
00:17:39 <ehird`> :P
00:19:21 <ehird`> http://pc11.2ch.net/test/read.cgi/tech/1173057314/ heh look, my submission is mentioned in the last few posts.
00:19:25 <ehird`> cute, if only i could read japanese
00:19:31 <ehird`> (google is fun)
00:28:34 <pikhq> If only I could read *complex* Japanese.
00:29:54 * pikhq begins the PEBBLE 2 stuff
00:30:00 <pikhq> Now that I have time to actually think it over!
00:35:35 <pikhq> I'm thinking one of the things PEBBLE 2 will have is a more useful preprocessing stage.
00:35:55 <RodgerTheGreat> I present new doodles: http://nonlogic.org/dump/images/1202171064-dud1.png, http://nonlogic.org/dump/images/1202171075-dud2.png
00:36:56 <pikhq> Among other things, I'm thinking about axing the add and addvar bit. . .
00:37:28 <pikhq> There will be a += macro, which will act appropriately based upon whether one of its arguments is a variable or a number.
00:39:02 <ehird`> pikhq: omg, you'll have to implement garbage collection of temp vars
00:39:04 <ehird`> you must! :D
00:39:22 <RodgerTheGreat> are you thinking about building some kind of system for configuring a build to target different BF interpreters?
00:39:24 <pikhq> Of course.
00:39:32 <ehird`> pikhq: pwnsome
00:39:38 <ehird`> that makes even the c backend non-trivial!
00:39:46 <RodgerTheGreat> Like, the ability to tell the compiler things like wrapping and EOF behavior?
00:40:14 <pikhq> RodgerTheGreat: That's part of *why* I plan on having a better preprocessor.
00:40:28 <RodgerTheGreat> ah
00:40:36 <pikhq> So, you can do "IF {WRAPPING} {wrapping code} else {non-wrapping code}"
00:40:47 <ehird`> pikhq: shouldn't that be automatic and abstracted away
00:40:48 <ehird`> :-|
00:41:00 <RodgerTheGreat> sounds pretty nifty either way
00:41:03 <pikhq> ehird`: That will be used for implementation of the stdlib macros.
00:41:15 <pikhq> Hopefully, I'll have all that junk abstracted away.
00:41:16 <ehird`> also, why if {wrapping}
00:41:18 <ehird`> you can just do
00:41:20 <ehird`> if wrapping
00:41:29 <pikhq> The two would be equivalent.
00:42:13 <ehird`> pikhq: could you please write your own parser? :P
00:42:21 <ehird`> writing pebble in tcl syntax is unbearable to say the least
00:42:25 <ehird`> (my vote: s-exp! s-exp!)
00:43:05 <pikhq> Grr. You *have* to say that just as I'm thinking "let's just do proper, full-on Tcl syntax, rather than my abused bits of it".
00:43:48 <RodgerTheGreat> can you make something similar to assert() for debugging?
00:43:54 <ehird`> pikhq: :)
00:43:58 <ehird`> Well, you must!
00:44:11 <RodgerTheGreat> even in a limited form, you could save BF coders a load of sanity
00:44:11 <ehird`> RodgerTheGreat: I can see pikhq is going to have a field day with brainfuck text generation algorithms..
00:44:20 <RodgerTheGreat> heheh
00:44:34 <pikhq> Hmm. There's a thought.
00:44:34 <ehird`> "astrnfld1==2"
00:44:38 <RodgerTheGreat> I'm looking forward to seeing what he can come up with
00:44:45 <ehird`> pikhq: What? Build text generation in to it? If so, yes.
00:45:00 <pikhq> ehird`: PEBBLE 1 has (limited) text generation already.
00:45:07 <ehird`> Yeah, but not awesome :P
00:45:08 <pikhq> To not have that much would make PEBBLE 2 a *downgrade*.
00:45:13 <ehird`> You should be able to do:
00:45:16 <ehird`> txtgen "hello" > var
00:45:23 <ehird`> where var is an array
00:45:26 <ehird`> yes -- you must implement arrays!
00:45:36 <RodgerTheGreat> I'd do something like "assert cell = value [error message] " or "assert cells = 'several ascii representations' [error message]"
00:46:16 <RodgerTheGreat> if pikhq and calamari put their heads together I have no doubt the result would be incredible.
00:46:35 <ehird`> pikhq: I venture: PEBBLE2 should be totally self-hosted.
00:46:47 <ehird`> With some kind of crappy, limited tcl interpreter that you can use to compile itself.
00:46:57 <pikhq> In my current syntax, 'assert {$cell == value} "ERROR here"' or some such.
00:47:06 <pikhq> ehird`: Are you fucking insane?
00:47:13 <ehird`> pikhq: Yes. Why shouldn't I be?
00:47:15 <pikhq> I want to actually have an implementation, thanks.
00:47:26 <ehird`> You'd have one. The tcl one.
00:47:31 <ehird`> Which you could use to compile the pebble2 one. :<
00:47:33 <pikhq> However. . .
00:47:48 <pikhq> If I make PEBBLE2 powerful enough, I *could* manage to do self-hosting.
00:48:03 <ehird`> Exactly! It would evolve around a REAL-WORLD PROBLEM: compiling an esoteric language.
00:48:42 <RodgerTheGreat> on one hand, some of the data structure implementations necessary would probably be excruciating, but on the other hand it would be pretty nifty
00:49:28 <pikhq> RodgerTheGreat: Given sane arrays, one could at least pull it off. ;)
00:49:34 <ehird`> RodgerTheGreat: So give it arrays and structures.
00:49:42 <ehird`> Then you just have to implement a compilation technique for them ;)
00:50:29 <RodgerTheGreat> hm. doing pointers would really suck, but heaps can be done in-place to create a non-pointer based map structure in an array
00:50:36 <RodgerTheGreat> that'd probably be your best bet
00:50:37 <ehird`> pikhq: But think how awesome an s-exp syntax would be:
00:50:46 <ehird`> (defstruct tmpvar
00:50:56 <ehird`> field something
00:50:57 <ehird`> field something
00:50:58 <ehird`> field something)
00:51:00 <ehird`> :P
00:52:27 <ehird`> pikhq: Actually, it would be very good for e.g. the macros.
00:52:40 <ehird`> Since macros are just compile-time procedures, a lot of pebble stuff would be trivial
00:52:49 <ehird`> And your preprocessor would be elegant, instead of just dumb replacement.
00:54:18 <pikhq> ehird`: You realise that I don't think functionally, right?
00:54:32 <ehird`> pikhq: s-expression syntax != functional.
00:55:16 <ehird`> pikhq: But macros like that are really elegant. Basically, whenever you see a call to one, in the compiler, you interpret it with the arguments as in the code (well, unevaluated of course). Whatever that returns is used instead of the macro call.
00:55:52 <ehird`> (defmacro thing (...) (if *wrapping* ...return wrapping code... ...return non-wrapping code...))
00:55:55 <ehird`> stuff like that
00:56:04 <pikhq> This is what I'm thinking of ATM: http://pastebin.ca/891941
00:56:24 <pikhq> Sorry for the Tcl syntax; it comes to mind easily.
00:57:09 <ehird`> Well yeah, but that'd be far more elegant with lisp-style macros
00:57:16 <ehird`> Although that is kind of similar
00:57:22 <ehird`> it just exposes some of the internal workings
00:58:02 <pikhq> Of course, that syntax would be a royal PITA to self-host.
00:58:32 <ehird`> What syntax?
00:58:43 <ehird`> The lisp syntax with those macros?
00:58:48 <pikhq> Tcl-style syntax.
00:58:50 <ehird`> Ah.
00:58:54 <ehird`> The lisp syntax wouldn't. :P
00:59:12 <ehird`> Since writing an s-expression parser is trivial, and walking one and doing stuff with it too
00:59:35 <pikhq> How would the string substitutions I have work in sexps?
00:59:50 <ehird`> pikhq: I'm not sure exactly what you mean.
00:59:51 <ehird`> :|
00:59:55 <ehird`> oh
00:59:58 <ehird`> those things
01:00:03 <pikhq> "Invalid type for $out in __BRAINFUCK__+=. $out is [TYPE $out]; should be var."
01:00:07 <ehird`> Well, ERROR runs at compile-time right?
01:00:13 <pikhq> $out and [TYPE $out] are both substituted. . .
01:00:14 <pikhq> Yeah.
01:00:19 <ehird`> If so, you'd just make error a normal function, and make it take any arguments
01:00:26 <ehird`> So in a macro:
01:00:52 <ehird`> (error "Invlaid type for " out "in brainfuck-+=. " out " is " (type-of out) "; should be var.")
01:00:57 <ehird`> Not the prettiest example, but you get the idea.
01:01:03 <ehird`> You could also implement a formatting langugae.
01:01:17 <ehird`> (format "Invalid type for ~ in brainfuck-+=. ..." a)
01:01:22 <pikhq> You are still not realising one thing. . .
01:01:28 <ehird`> well, maybe something like $~ if ~ is too common
01:01:40 <pikhq> A self-hosting PEBBLE. . .
01:01:43 <ehird`> yes...
01:01:48 <pikhq> And you want formatting languages in it. . .
01:01:54 <pikhq> Are you fucking mad?
01:02:09 <ehird`> pikhq: If you have enough high-level stuff in, then it should be ok. But I agree.
01:02:16 <ehird`> so use the regular error form.
01:02:18 <ehird`> That's not hard.
01:02:27 <ehird`> And, if you must -- make it compiler-only.
01:03:07 <pikhq> -- evals to -= $out 1 which evals to __-= $out 1. . . Which is done in-compiler.
01:03:22 <ehird`> That's simple.
01:03:26 <ehird`> Like I said: lisp macros.
01:06:03 <ehird`> pikhq: Basically, the compiler is a bunch of functions.
01:06:09 <ehird`> 'defmacro' adds a new function to the compiler.
01:06:14 <ehird`> Whenever that function is seen as being invoked,
01:06:26 <ehird`> the function inside the compiler is called, and then the invokation is replaced with the result of that.
01:06:34 <ehird`> It's very, very simple, and doesn't require any preprocessor.
01:09:04 -!- Sgeo has joined.
01:09:28 <ehird`> pikhq: IMO the compiler would be simpler and more elegant, and so would be the code.
01:09:41 <lament> a poll on a philosophy blog:
01:09:45 <lament> "Will the most common response to this poll be 'No'?"
01:09:54 <ehird`> lament: old
01:10:09 <ehird`> pikhq: Oh, maybe I should explain HOW you replace the invokation with the result of calling the compiler function (macro)
01:10:17 <ehird`> (defmacro foo () '(+ 2 2))
01:10:23 <ehird`> See? It just returns the code as a list.
01:13:19 -!- olsner has joined.
01:13:24 -!- sarehu has joined.
01:13:39 <olsner> must one join *every* channel? :P
01:13:50 <lament> no, just this one.
01:14:03 <lament> It's the official one for esolangs.
01:14:03 <ehird`> pikhq: Talk tomorrow.
01:14:08 <pikhq> ehird`: Mmkay.
01:17:02 -!- Corun has quit ("Bleh, Bunnies!").
01:17:19 -!- BMeph has joined.
01:20:54 <sarehu> why did i not join this earlier? :|
01:21:27 <lament> sarehu: are you aware of the esolangs wiki?
01:21:41 <sarehu> yes generally
01:21:55 <lament> i don't know then :)
01:29:51 -!- calamari has joined.
01:32:34 <pikhq> Ah, calamari.
01:32:39 <calamari> hi
01:33:29 -!- ehird` has quit (Read error: 113 (No route to host)).
01:37:11 <RodgerTheGreat> calamari: pikhq is working on a new version of Pebble. I encourage you to join forces with him and create something epic.
01:37:23 <pikhq> Mostly discussing planning ATM.
01:37:35 <pikhq> http://pastebin.ca/891941
02:01:08 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
02:35:38 -!- olsner has quit ("Leaving").
04:20:12 -!- chuck has quit (Read error: 104 (Connection reset by peer)).
04:21:50 -!- calamari has quit (Read error: 104 (Connection reset by peer)).
04:34:49 -!- oerjan has joined.
04:38:12 -!- calamari has joined.
04:49:03 -!- GreaseMonkey has joined.
04:50:36 <faxathisia> Does anyone have a BF program that prints the prime decomposition of a number?
04:57:08 -!- calamari has quit (calvino.freenode.net irc.freenode.net).
04:57:08 -!- sarehu has quit (calvino.freenode.net irc.freenode.net).
04:57:08 -!- faxathisia has quit (calvino.freenode.net irc.freenode.net).
04:57:09 -!- oklopol has quit (calvino.freenode.net irc.freenode.net).
04:57:09 -!- bsmntbombdood has quit (calvino.freenode.net irc.freenode.net).
04:57:09 -!- AnMaster has quit (calvino.freenode.net irc.freenode.net).
04:57:10 -!- GregorR has quit (calvino.freenode.net irc.freenode.net).
04:59:12 -!- sekhmet has quit (calvino.freenode.net irc.freenode.net).
05:00:48 -!- sekhmet has joined.
05:01:31 -!- oklopol has joined.
05:01:31 -!- calamari has joined.
05:01:31 -!- sarehu has joined.
05:01:31 -!- faxathisia has joined.
05:01:31 -!- bsmntbombdood has joined.
05:01:31 -!- AnMaster has joined.
05:01:31 -!- GregorR has joined.
05:32:57 -!- pikhq has quit ("leaving").
05:55:18 -!- oerjan has quit ("leaving").
05:57:01 -!- calamari has quit (Read error: 104 (Connection reset by peer)).
06:09:45 -!- olsner has joined.
06:18:01 -!- calamari has joined.
06:23:42 -!- calamari_ has joined.
06:23:42 -!- calamari has quit (Read error: 104 (Connection reset by peer)).
06:28:24 -!- calamari_ has quit (Remote closed the connection).
07:39:31 -!- BMeph has quit ("calls it a night").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:32:02 -!- cherez has quit (calvino.freenode.net irc.freenode.net).
08:32:03 -!- Deewiant has quit (calvino.freenode.net irc.freenode.net).
08:32:58 -!- faxathisia has quit (Remote closed the connection).
08:35:18 -!- sekhmet has quit (Remote closed the connection).
08:35:20 -!- sekhmet has joined.
08:36:41 -!- 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. and dlte ur files. thx.").
08:48:20 -!- olsner has quit ("Leaving").
08:51:11 -!- Deewiant has joined.
08:51:20 -!- cherez has joined.
09:56:56 -!- Corun has joined.
11:06:33 -!- sarehu has quit (Remote closed the connection).
11:06:43 -!- sarehu has joined.
11:26:44 -!- danopia has quit (Client Quit).
11:28:17 -!- danopia has joined.
11:48:52 -!- Corun has quit ("This computer has gone to sleep").
12:22:16 -!- sarehu has quit (Remote closed the connection).
12:22:32 -!- sarehu has joined.
12:56:52 -!- sebbu has joined.
13:06:52 -!- helios24 has joined.
14:28:11 -!- jix has joined.
16:12:31 -!- timotiis has joined.
16:27:16 -!- Hiato has joined.
16:27:22 <Hiato> Hello
16:33:34 -!- sarehu has quit (Remote closed the connection).
16:33:53 -!- sarehu has joined.
16:46:02 -!- oerjan has joined.
17:02:15 -!- Corun has joined.
17:02:43 -!- Hiato has quit (Read error: 110 (Connection timed out)).
17:07:22 -!- Corun has quit ("This computer has gone to sleep").
17:25:30 -!- Hiato has joined.
17:26:01 <Hiato> Meh... what does Machine Check Exception mean? That's my new BSoD flavour of the week :(
17:44:26 <slereah__> It means that the machine only takes cash.
17:44:51 <slereah__> Send your cash to Microsoft Inc.
17:44:53 <Hiato> Well, how do I fix it, I use a cheque account
17:44:56 <Hiato> oh, I see
17:51:03 <oerjan> cheques, how quaint. you must be american ;)
17:51:16 <oerjan> er wait
17:51:40 * oerjan remembers
17:52:23 <Hiato> indeed :P
17:52:25 <oerjan> saw an article about the SA power shortage in the Economist in the library today, btw
17:52:40 <Hiato> I guess South Africa is in Mexico anyhow ;)
17:52:49 <Hiato> Really, what did it say?
17:52:58 <slereah__> Well, there's still plenty of cheques in France too!
17:53:43 <oerjan> that it's a mess caused by politicians not deciding to fix it in time, was my impression
17:54:15 <oerjan> or rather spending too much time discussing how much to privatize
17:54:50 <Hiato> well, then I guess the partial truth is escaping ;)
17:55:29 <Hiato> but it's got more to do with cheques under the table than handshakes above it (if you get my meaning :P )
17:55:48 <oerjan> i'd guess
17:57:46 <oerjan> oh and it was suggested it might reduce economic growth from 6 to 3 percent
17:58:08 <Hiato> heh, lol
17:58:14 <Hiato> I didn't even know that one
17:59:29 -!- ais523 has joined.
17:59:42 <Hiato> but yes, they shut down all of the mines in SA for about 6 weeks. Our economy is a raw materials/minerals economy. Currently, every time someone flips the switch to cut Sandton (a wealthy business suburb), SA loses in the tens of millions per hour...
18:00:11 <Hiato> that is excluding the fact that we make a vast majority of the GDP of Gold mining, which is currently not really hapenning
18:00:48 <oerjan> yeah the article mentioned the shutdown too
18:01:10 <oerjan> and that the mines managed to get a promise of reliable power out of it
18:01:22 <oerjan> (at 90% normal level)
18:01:26 <Hiato> yeah, they did, a 90% increase
18:01:30 <Hiato> :) yeah, lol
18:02:37 <ais523> 90% of 0 is still 0...
18:03:14 <Hiato> very very true, that's the irony :P
18:04:23 <Hiato> but, that is of course, only true if you are cynical - like asi523 and I :P
18:04:34 -!- RedDak has joined.
18:13:55 <ais523> Hiato: according to Wikipedia, a Machine Check Exception is really bad
18:14:08 <Hiato> so I believe :(
18:14:12 <ais523> it seems to mean that something went badly wrong with the hardware
18:14:18 <ais523> i.e. checksum failure on RAM or cache
18:14:28 <ais523> and it apparently is often caused by overheating
18:14:36 <ais523> at least, you have to hope that's what's causing it
18:15:40 <Hiato> yeah, I was originally under the impression that this is what occurs when I use my X86_64 cpu heavily (really heavily, been brute forcing my own encryption methods, and breadth searching conway's game of life for methuselahs) in 32bit mode.
18:16:25 <ais523> you could always try filling the computer with liquid nitrogen
18:16:35 <ais523> ISTR that method was used to set an overclocking record at one time
18:16:55 <Hiato> yes, while that would be fun, it would most certainly burn through both my tower and my pockets :P
18:17:15 <Hiato> yeah, something stupendous like 6Ghz of a Pentuim 4
18:17:28 <ais523> the computer still managed to overheat eventually even though the outside was frozen. They only just had enough time to take a photo of the screen showing the fast clock speed before the computer turned itself off for heat reasons
18:18:09 <Hiato> heh, awesome :D
18:23:15 -!- AnMaster has changed nick to AnMaster_.
18:23:21 -!- AnMaster_ has changed nick to AnMaster1.
18:24:01 -!- AnMaster1 has changed nick to AnMaster.
18:28:25 -!- sarehu has quit (Remote closed the connection).
18:28:35 -!- sarehu has joined.
18:41:26 -!- RedDak has quit (Remote closed the connection).
18:42:19 <ais523> in reference to the topic:
18:42:21 <ais523> repeat.
18:42:26 <ais523> repeat :- repeat.
18:42:28 * lament dies
18:42:38 <ais523> lament: wow, that was unexpected
18:44:53 <oerjan> a bit before my estimate, that
18:45:53 <ais523> besides, I didn't even finish writing the line that is actually needed to make that into an infinite loop
18:46:01 <ais523> now, if I write:
18:46:11 <ais523> goal :- repeat, fail.
18:46:16 -!- ais523 has left (?).
18:46:19 -!- ais523 has joined.
18:48:32 * ais523 thinks that all langs should have some easy way to implement multithreading and backtracking
18:48:45 <ais523> because they can be hard to implement if the language doesn't give specific features that allow it
18:48:58 <ais523> call/cc is normally enough to write an implementation, though
18:49:46 <oerjan> call/cc + mutable state gives you all monads
18:50:27 <ais523> is threading a monad?
18:50:33 <ais523> it strikes me as being more of an antimonad
18:50:38 <oerjan> hm...
18:50:42 <ais523> because monads cause things to happen in order
18:50:50 <ais523> and threading causes things to happen in an apparently random order
18:50:51 <oerjan> backtracking certainly is
18:50:57 <ais523> agreed
18:51:50 <oerjan> cooperative threading can probably be put in a monad
18:52:07 <ais523> again agreed
18:52:33 <ais523> one thing I like about INTERCAL's threading model is the way that it's cooperative threading allows guarantees on the relative speed of threads
18:52:41 <ais523> which can be used for logic on occasion
18:52:47 <ais523> e.g. the C-INTERCAL Hello, World on the wiki
18:52:58 <ais523> s/it's/its/
18:53:38 <ais523> OTOH, the model is completely impractical for serious langs as far as I can tell
18:53:48 <ais523> the backtracking model, on the other hand, is quite elegant while still being unusual
19:49:39 -!- oerjan has quit ("Good night").
20:11:26 -!- ehird` has joined.
20:18:21 -!- ehird` has set topic: OLD TOPIC IS GONE.
20:18:53 -!- fax has joined.
20:18:57 <fax> Hi
20:19:15 <fax> Anyone know anything about ABSYS?
20:20:16 <ehird`> no
20:20:17 <ehird`> what is that
20:20:54 <ehird`> fax: i have a question -- are you the same fax as faxastheisdfsdkf or however you spell it or are there two confusingly-similarly-named people in here
20:20:59 <fax> the first logic programming language, appanetly
20:21:29 <fax> yeah, It's me
20:22:17 <ehird`> fax: hmm, i didn't know you were UK. :p
20:22:32 <ehird`> fax: http://en.wikipedia.org/wiki/ABSYS well, one publication
20:22:35 <ehird`> i hope you have fun tracking it down
20:23:02 -!- ais523 has quit (Remote closed the connection).
20:23:47 <ehird`> there is a suprisingly large number of british folk in here
20:24:07 <fax> must be something in the water..
20:24:26 <fax> Hey!
20:24:42 <fax> I tried to add mutable conses to haskell but failed :/
20:25:15 -!- ais523 has joined.
20:25:21 <ais523> sorry about that
20:25:48 <ais523> it seemed as though the window manager went crazy; no window frames were available, just the client areas of the windows, which acted as normal
20:26:10 <ehird`> fax: trivial
20:26:33 <ehird`> type MList a = ST [a]
20:26:35 <ehird`> i think
20:26:35 <ehird`> :-)
20:26:46 <ehird`> ais523: your WM crashed
20:26:51 <ehird`> morale: always keep an xterm open
20:26:52 <ais523> presumably
20:27:00 <ais523> I had two open
20:27:09 <ais523> but logout/login solved it
20:27:50 <ais523> ehird`: was it you who added the latest anarchy golf challenges?
20:27:52 <ehird`> use twm, that never crashes :-)
20:27:57 <ehird`> ais523: which ones?
20:28:08 <ais523> two versions of multiply
20:28:12 <ehird`> (speaking of which, it seems the japanese userbase of anarchy golf call it anagolf, which is far easier to type)
20:28:14 <ehird`> nope, i didn't
20:28:14 <ais523> and a simple program interpreter
20:28:16 <ehird`> weirdx or whoever did
20:28:19 <ehird`> i did the simple program one
20:28:25 <ehird`> which is of course not simple at all :-)
20:28:39 <ais523> well, I have a /genuine/ entry for it
20:28:40 <ehird`> wowzer
20:28:40 <ehird`> ais523(genuine)
20:28:49 <ehird`> ais523: show the code? that's pretty cool :D
20:28:53 <ais523> although it doesn't nest parens more than 2 deep in all circumstances
20:28:59 <ehird`> heh
20:29:13 <ehird`> ais523: my "Multiply" entry is clever
20:29:21 * ais523 pastes
20:29:24 <ehird`> p eval gets(nil).gsub(",","*")
20:29:29 <ehird`> Multiply long:
20:29:35 <ais523> http://pastebin.ca/892988
20:29:38 <ehird`> $<.map{|x|p eval x.gsub(",","*")}
20:29:45 * fax is forbidden .. http://www.absysinfo.com/
20:29:51 <ehird`> ais523: wow, it compiles.
20:30:06 <ehird`> ais523: it doesn't actually do any parsing stuff though, does it?
20:30:06 <ais523> more a s/// to change the code into Perl
20:30:09 <ais523> no
20:30:11 <ehird`> just transforms the non-perl bits into perl
20:30:15 <ais523> it doesn't nest parens more than 1 level deep either
20:30:37 <ais523> I could actually write a shorter version that did, but only if they upgraded Perl to 5.010
20:30:45 <ais523> which I don't think has been released yet
20:30:53 <ehird`> ais523: the thing about yours is that it isn't as conceptually elegant
20:30:56 <ehird`> in mine,
20:30:59 <ehird`> 'if' is a composite
20:31:02 <ehird`> well, it isn't implemented as one
20:31:04 <ehird`> but it's called as one
20:31:09 <ehird`> since {...} is a lambda
20:31:16 <ais523> I thought you might be doing that
20:31:24 <ais523> but if is your only combinator, so I optimised for that
20:31:30 <ehird`> hehe :)
20:31:42 <ais523> there are some shortcomings as well; you can't call a variable i or f, for instance, because those letters are part of the word if
20:31:46 <ehird`> hahah
20:31:51 <ais523> and the lexer doesn't distinguish word boundaries in keywords
20:31:58 <ehird`> the cool thing about mine is that it's... pretty hard to parse properly
20:32:02 <ehird`> {x. x} {x. x}
20:32:07 <ehird`> that's either two lambdas, or a call to a lambda
20:32:15 <ehird`> (note: \n is not a seperator)
20:32:19 <ehird`> ack 3 4 fact 4 would work.
20:32:48 <ais523> \n in my compiler means "print the result of evaling the next expression unless it's a subroutine definition"
20:32:57 <ehird`> ais523: btw
20:33:00 <ais523> I look for a : on a line to see whether to print or not
20:33:01 <ehird`> you know the evil c compiler entry?
20:33:15 <ais523> sort of
20:33:18 <ais523> I have it up at the moment
20:33:29 <ehird`> ais523: yeah, well i underestimated those japanese
20:33:33 <ehird`> http://www.nmt.ne.jp/~ysas/diary/?200705b#200705161 someone made a real compiler for it.
20:33:35 <ehird`> compiles to postscript.
20:33:37 <ehird`> I mean -- WTF?
20:33:46 <ehird`> http://www.google.com/translate?u=http%3A%2F%2Fwww.nmt.ne.jp%2F%7Eysas%2Fdiary%2F%3F200705b%23200705161&langpair=ja%7Cen&hl=en&ie=UTF8 translated page, but the source is messed up
20:34:03 <ehird`> 'Evil C Compiler to the ANAGORU finally written in PostScript. ใจใ‚Šใ‚ใˆใš็Ÿญใใ™ใ‚‹ไปฅๅ‰ใซๅ‹•ไฝœใ™ใ‚‹ใ‚‚ใฎใ‚’ใ€ๅ–ใ‚Šๆ€ฅใŽใƒใ‚คใƒŠใƒชๅŒ–ใ‚‚ใ›ใš็”Ÿใงใ‚ณใƒŸใƒƒใƒˆใ€‚ Shorten work in the meantime before that, without a moment to raw binary also committed. ใ™ใ‚“ใ”ใใงใ‹ใ„ใ‘ใฉใ€ใ“ใ‚Œใ€ใ‚คใƒณใƒใ‚ญใชใ‚Šใซใกใ‚ƒใ‚“ใจใ‚ณใƒณใƒ‘ใ‚คใƒซใ™ใ‚‹ใ€‚ So very big, but this one, and the pseudo-respectable compilation.
20:34:03 <ehird`> ใŸใจใˆใฐFizzBuzzใชใ‚‰ใ“ใ†ใ€‚ For example if I FizzBuzz.'
20:34:07 <ehird`> err
20:34:09 <ehird`> how did that happen
20:34:15 <ehird`> those japanese chars weren't in my browser.
20:34:19 <ais523> is that the same person who submitted a genuine entry for the Underload compiler in PostScript?
20:34:33 <ehird`> ais523: not sure. ysas is the url name
20:34:37 <ais523> and ehird`, it's worse over here, I ended up with a paste full of mojibake
20:34:51 <ehird`> ais523: :)
20:35:05 <ais523> the Underload entry was by yshl, not ySas
20:35:11 <ais523> but it's possible that they're the same person
20:35:15 <ehird`> similar name
20:35:17 <ehird`> so i guess so
20:35:34 <ehird`> ais523: there's such a language gap on anagolf, especially with the ruby focus and ruby being the biggest in japan :-)
20:36:05 <ais523> Ruby vs. Perl is probably the biggest language war in golfing
20:36:18 <ehird`> ais523: ruby's quite a newcomer to golfing though
20:36:21 <ehird`> but it's *great* at it
20:36:36 <ais523> both Ruby and Perl are pretty good
20:36:44 <ais523> and which one wins tends to depend on the details of the problem
20:36:50 <ais523> that war is interesting because it's so close
20:37:36 <ais523> ehird`: does Haskell have an eval?
20:37:44 <ehird`> ais523: no, it's a static, compiled language
20:37:48 <ehird`> even Hugs doesn't have one
20:37:49 <ais523> a 'simple language' to Haskell 'compiler' might work better than compiling into Perl
20:37:53 <ais523> because the syntax is more similar
20:38:06 <ehird`> ais523: You could call out to ghc. :-) Unless exec is denied
20:38:12 <ais523> but as you denied exec I can't even call out
20:38:29 <ehird`> ais523: aww
20:38:30 <ehird`> sorry :)
20:38:37 <ais523> exec is usually denied, as it's the default
20:38:40 <ehird`> but yeah, despite haskell's dynamic 'feel', it's very very static
20:38:54 <ais523> although exec can be useful when testing
20:39:19 <ais523> while testing that simple language compiler I used recursive calls to perl rather than eval so that error messages came up on stderr
20:40:17 <ehird`> ais523: it's funny, anagolf's architechture at fisrt appears simple
20:40:21 <ehird`> but if you look at the code it's crazy
20:40:26 <ehird`> all the sandboxing tricks and all that
20:40:39 <ais523> I was writing a message about how the sandboxing must be difficult but you beat me to it
20:40:56 <ehird`> hehe
20:41:17 <ais523> pity that anagolf doesn't allow 1-byte palindromic quines
20:41:28 <ais523> because <newline> is a palindromic quine in GolfScript
20:41:32 <ehird`> ais523: http://pc11.2ch.net/test/read.cgi/tech/1173057314/ yours and mine challenges are mentioned near the end :-P
20:41:46 <ehird`> all the rest is completely unintelligable, of course.
20:41:56 <ehird`> but if you scroll down to 141 it's there
20:42:29 <ais523> I can't figure the page
20:42:34 <ehird`> ais523: ?
20:42:37 <ais523> the links are all mailto: aimed at invalid addresses
20:42:49 <ehird`> ais523: oh, that's random wacky 2channel stuff
20:42:53 <ehird`> it stops the thread being bumped.
20:42:53 <ais523> and there seems to be no content other than the challenge names
20:43:02 <ehird`> not on that post, it appears
20:43:10 <ehird`> [all this knowledge re: 2ch is probably useless since i know no japanese]
20:43:19 <ehird`> [but i know it's the largest bbs in the world, with over 2million visitors a day]
20:44:40 <ehird`> ais523: sometimes in that thread you can work out posts from the ones following it
20:44:51 <ehird`> like, someone mentiones goruby in 122, and then what follows appears to be an implementation of it
20:45:01 <ais523> a golfing version of Ruby?
20:45:22 <ais523> I'm not surprised that that has a built-in uudecode, because it must be useful for compressing code into binary
20:45:35 <ais523> (actually, uuencode is more commonly useful for that)
20:45:50 <ehird`> ais523: yes, its included in ruby 1.9
20:45:54 <ehird`> for No Apparent Reason (TM)
20:46:13 <ehird`> 'make golf' is the best command-line invokation ever, though
20:46:22 <ais523> that cheat BF entry for the uudecode still has me amused
20:46:29 <ais523> I'm sure a genuine entry would be shorter
20:46:38 <ais523> but a BoolFuck entry would be shorter still
20:48:46 <ehird`> ais523: http://en.wikipedia.org/wiki/2ch with wikipedia articles like this, who needs knowledge of japanese?
20:49:01 <ehird`> still not any closer to reading that anagolf thread though :P
20:50:38 <ais523> hmm... I wonder how easy it is to do bitwise BF arithmetic?
20:52:35 <ehird`> hard
20:52:54 <ais523> it would probably be easiest to split the number into bits first
20:53:12 <ais523> for that you just need a divide/modulo instruction
20:53:14 <ais523> or routine
20:53:25 <ehird`> I wonder whether, if I find a K interpreter, I could convince shinh to add it to anagolf?
20:53:44 <ehird`> http://golf.shinh.org/langs.html there seems to be one or two propeitery interps there, so it should be ok
20:54:02 <ehird`> they have J and A+
20:54:05 <ais523> why not write your own non-proprietary reimplementation?
20:54:12 <ehird`> ais523: it's too comprehensive, K.
20:54:16 <ehird`> also, because anagolf considers speed too.
20:54:22 <ehird`> K is incredibly fast on tons of stuff
20:54:23 <ehird`> and the interp si tiny
20:54:27 <ehird`> (fits in lvl1 cache of cpu)
20:54:51 <ais523> that's why reimplementing it shouldn't be too difficult
20:55:00 <ais523> the new version probably wouldn't be as high-quality
20:55:09 <ais523> but hopefully wouldn't take very long to write
20:55:35 <ehird`> ais523: the library is comprehensive
20:55:46 <ais523> and that's proprietary too?
20:55:51 <ais523> that could be a problem
20:55:52 <ehird`> ais523: yep, i think
20:56:05 <ehird`> they offered a free K3 interpreter before, it was just one binary
20:56:07 <ehird`> for all platforms
20:56:09 <ehird`> (win, linux)
20:56:14 <ehird`> i can find it with google, but yeah
20:56:17 <ehird`> you have the binary, that's it
20:56:25 <ais523> what license is it under
20:56:34 <ais523> if it's public domain, it might be possible to decompile it
20:56:44 <ehird`> ais523: 'all rights reserved' kind of thing
20:56:44 <ais523> especially if you have the same code for multiple OSs
20:56:51 <ais523> so not possible then
20:56:57 <ehird`> not legal, certainly
20:57:19 <ehird`> if k was easier to googlle. :|
20:59:25 <ais523> wow, searching via Wikipedia I found a page elsewhere called "K for Joy Programmers"
20:59:32 <ehird`> ais523: nsl.com?
20:59:35 <ais523> yes
20:59:40 <ehird`> no stinkin' loops, that's the best k site
20:59:45 <ehird`> http://www.nsl.com/k/bf.k they have a bf interp and a ->c compiler
20:59:50 <ehird`> here's the compiler:
20:59:51 <ehird`> c:{`bf.out.c 0:"char m[9999];char*p=m;int main(){",(,/@[256#"";_ic"<>+-.,[]"
20:59:52 <ehird`> :;("--p;";"++p;";"++*p;";"--*p;";"putchar(*p);";"*p=getchar();";"while(*p){"
20:59:52 <ehird`> "}")]_ic x), "}"; `4:"gcc -o bf.out -O3 -w bf.out.c"; `3: "rm -f bf.out.c";}
21:00:33 <ais523> they're working on an Unlambda implementation as well
21:00:43 <ais523> so they certainly seem esolang-aware over there
21:00:46 <ehird`> ais523: http://www.nsl.com/k/befreak.k <-- Befreak in K, *with a gui*... certainly a new implementation would be hel
21:00:48 <ehird`> l
21:01:04 <ehird`> http://www.nsl.com/papers/befreak.htm take a look at how comprehensive the gui is
21:01:58 <ais523> a gui isn't very useful for golfing, generally speaking
21:02:03 <ehird`> sure
21:02:09 <ehird`> but i wouldn't want to impact on MY k experience
21:02:10 <ehird`> :-)
21:03:37 <ehird`> hmm
21:03:42 <ehird`> is cat in unlambda even possible?
21:03:46 <ehird`> well
21:03:50 <ehird`> without a huge switch table for every 255 char
21:04:15 <ais523> yes
21:04:19 <ais523> you can use the | command
21:04:28 <ais523> sorry, combinator-like action-like object
21:04:52 <ehird`> ah yes
21:06:02 -!- jix has quit ("CommandQ").
21:06:47 <ais523> that K implementation of Unlambda looks excessively long
21:07:02 <ais523> I may have to get on with writing my Underload/Unlambda/Brainfuck hybrid lang
21:07:31 <ais523> which Unlambda can be trivially compiled into
21:07:37 <slereah__> The EsCo 9000?
21:07:45 <ais523> and yet which can be interpreted simply as well
21:08:12 <ais523> then combining an Unlambda->Underlambda compiler and an Underlambda interp would give an Unlambda interp
21:08:13 <ehird`> ais523: want to help me find a k interp for linux? :P
21:08:15 <ehird`> or windows, i guess
21:09:29 <ais523> it was on nsl, but the link seems to be broken
21:09:32 <ais523> that is, the link from Wikipedia to it
21:09:44 <ais523> is Wayback working for you? It wasn't for me earlier
21:09:58 <ehird`> aha, wayback! good idea
21:10:00 <ehird`> hm
21:10:01 <ehird`> slow loading
21:10:30 <ais523> sufficiently slow that my browser timed out when I tried
21:10:51 <ehird`> well
21:10:52 <ehird`> it loaded.
21:10:58 <ehird`> so i'm telling it to go fish for kx.com
21:12:34 <ehird`> ais523: trying 2005
21:12:40 -!- helios24 has quit ("Leaving").
21:12:47 <ehird`> ah
21:12:48 <ehird`> http://www.nsl.com/misc/k/
21:12:51 <ehird`> let's wayback that
21:14:17 <ehird`> no matches
21:14:18 <ehird`> sdfjksdf
21:14:57 -!- GreaseMonkey has joined.
21:15:58 <ais523> incidentally, do you think that $/=$] is an abusive way to switch Perl into slurp mode?
21:16:16 <ais523> it's a golfing trick I use myself; set the newline separator to the Perl version string
21:16:21 <ais523> which is unlikely to be anywhere in the input
21:20:28 -!- ais523 has quit (Remote closed the connection).
21:22:46 -!- ais523 has joined.
21:22:53 <ais523> sorry about that
21:22:55 <ais523> what did I miss?
21:23:06 * ais523 's window manager crashed again
21:23:14 <ehird`> nothing
21:23:15 <ehird`> at all
21:23:17 <ehird`> also
21:23:19 <ehird`> $/=0
21:23:21 <ehird`> isn't that shorter
21:23:31 <ehird`> (also, that's SCARY ambiguity with a /= b)
21:24:14 <ais523> not equals is != in Perl
21:24:22 <ehird`> no
21:24:24 <fax> doesn't it stringify 0 ?
21:24:25 <ehird`> divide-equals
21:24:34 <ais523> and not really, because a lone $ always gobbles up the next character at least
21:24:36 <ehird`> fax: that's ok
21:24:40 <ehird`> no golf challenges have 0 in the info iirc
21:24:42 <ais523> and yes, 0 is stringified
21:24:44 <ehird`> wait
21:24:46 <fax> oh I see
21:24:47 <ehird`> stringified as its char
21:24:47 <ehird`> right
21:25:02 <ehird`> http://web.archive.org/web/*/http://www.kx.com/download/download.htm <-- ais523: archives, but inaccessable
21:25:30 <ais523> I suppose there's probably a special variable that's undef by default, but I can't be bothered to find out which one when $] works almost as well for this purpose
21:25:59 <ais523> and ehird`: I'm the sort of person who's idealistic enough to avoid using a language if it doesn't have an open-source implementation I can mess around with
21:26:09 <ais523> although not exclusively
21:26:14 <ehird`> ais523: you owe it to yourself to try k :)
21:26:24 <ais523> but enough to not download closed-source interps for languages like K
21:26:25 <ehird`> i think kx systems have every right to keep it under wraps
21:26:28 <ehird`> it's like a secret weapon
21:26:47 <ais523> if it's really that good, someone should reimplement it
21:26:57 <ais523> sort of like the dmd/gdc thing
21:27:04 <fax> Why's k so good?
21:27:11 <fax> I couldn't really see why..
21:27:23 <ehird`> fax: craziness
21:27:25 <ais523> it reminds me a lot of the things I like to look for in a language
21:27:28 <ehird`> ais523: gdc is not a reimplementaiton!
21:27:28 <fax> hehe
21:27:32 <ehird`> it shares the open source backend with dmd.
21:27:33 <ais523> although I don't like it as much as ehird`, I think
21:27:39 <ehird`> it just layers it on top of gcc.
21:27:49 <ehird`> fax: that and extreme conciseness and *speed*
21:27:51 <ais523> gcc is the backend, I think
21:27:54 <fax> I like J a lot.. I couldn't get into K
21:27:55 <ehird`> it outperforms c in a lot of cases
21:27:59 <ehird`> ais523: it uses the dmd backend.
21:28:13 <ais523> I think we're arguing over which end is the backend and which end is the frontend
21:28:17 <ehird`> fax: k is like j, but taken to the logical extreme and then whipped around until it was just that bit faster and shorter
21:28:25 <ehird`> ais523: it uses the 'guts' of dmd.
21:28:32 <ais523> OK
21:28:37 <ehird`> the only reason dmd isn't open is that the frontend has code by other people.
21:30:08 <ehird`> here's Y in k
21:30:09 <ehird`> Y:{{x[{x[x]y}[y]]z}[x][{x[{x[x]y}[y]]z}[x]]y}
21:30:16 <ais523> yarg, that's awful
21:30:20 <ehird`> yep!
21:30:25 <ais523> it looks better in most syntaxes
21:30:31 <ehird`> it utilizes the fact that by default 'x,y,z' are your first arguments
21:30:32 <ehird`> by default.
21:30:35 <ehird`> you don't need to name them
21:30:47 <ais523> yes, but other langs do that as well
21:30:49 <ehird`> since most k functions take 3 or less arguments, that's probably good
21:30:49 <ehird`> :P
21:30:53 <fax> wtf.. lol
21:30:54 <ais523> Mathematica uses #1, #2, #3 for instance
21:31:01 <ais523> and the pattern doesn't end there
21:31:06 <fax> longer than arc :P?
21:31:15 <ehird`> fax: naw, shorter :P
21:31:15 <ais523> on the other hand, Mathematica is even worse for excessive brackets
21:31:19 <ehird`> arc is like java compared to k!
21:31:32 <ais523> so what is Java like compared to K?
21:31:53 <lament> this K sounds like a piece of proprietary junk.
21:32:06 <ehird`> lament: proprietary, but not junk.
21:32:29 * ais523 still thinks that with enough effort it would be possible to come up with something even smaller and faster
21:32:41 <fax> (fn (m) ([_ _] (fn (y) (m [(y y) _]))))
21:32:41 -!- Tritonio_ has joined.
21:32:51 <ehird`> fax: sure, but that is in a different style
21:32:55 <ehird`> you do [_ _] and call that
21:32:57 <ehird`> you could do that in k too.
21:33:01 <ehird`> lament: http://www.kuro5hin.org/story/2002/11/14/22741/791
21:33:07 <lament> ais523: probably in forth.
21:33:12 <ehird`> ais523: k is tried and tested, though.
21:33:17 <ehird`> lament: forth is not short
21:33:24 <ehird`> ais523: KDB is used by tons of banks and governments and shiz
21:33:25 <ais523> either that or you've just fallen for their advertising
21:33:27 <ehird`> and just plain K is too
21:33:29 <fax> so it's that long for.. readability? :D
21:33:42 <ehird`> ais523: naw, kx don't acknowledge k any more
21:33:43 <ehird`> :)
21:33:48 <ehird`> just did research.
21:33:58 <ehird`> hm
21:34:03 -!- RedDak has joined.
21:34:03 <ehird`> kx just updated their home page :|
21:34:46 <ais523> what, during this conversation?
21:35:05 <ehird`> since yesterday..
21:36:06 * ais523 was wondering for a moment if they were monitoring #esoteric so that they could alter their website to fit the conversations
21:36:38 <ehird`> heh
21:36:53 <ehird`> kx-if you're reading me, put up a free k3 trial. thanks
21:37:21 <ehird`> ais523: it seems, though, that concatentative languages might be the wrong way for conciseness...
21:37:28 <ehird`> i feel ninjacode2 is needed! :P
21:37:40 <ais523> what makes you think that?
21:37:46 <ais523> K is quite concatenative-like
21:37:49 <ais523> just with infix notation
21:37:56 <ehird`> well, you know what i meant
21:37:57 <ehird`> ;)
21:38:11 <ehird`> ais523: not strictly, though... because of the monadic/dyadic stuff
21:38:19 <ais523> ah yes
21:38:31 <ehird`> which seems like a really good way to pack code into small boxes
21:38:38 <ais523> the infixness is a way to use two functions on each character
21:38:58 <ais523> OTOH it makes it considerably harder to create virtual temporary variables
21:39:19 <ehird`> ais523: personally i think three would be cool
21:39:23 <ehird`> infix,prefix,postfix
21:39:27 <ehird`> but that's basically impossible
21:39:31 <ais523> that would be ambiguous
21:39:35 <ehird`> since a!b is either a postfix, then b
21:39:38 <ehird`> or infix a, b
21:39:41 <ehird`> or a, prefix b
21:39:54 <ehird`> i can handle only two options, but three?! no way ;)
21:40:05 <ais523> !a! would be just as bad
21:40:08 <EgoBot> Huh?
21:40:16 <ais523> sorry EgoBot
21:40:22 <ehird`> heh
21:40:35 <ehird`> ais523: yeah
21:40:48 <ehird`> though infix, in itself, is ambiguious
21:41:55 <ais523> K enforces right-to-left evaluation for some reason
21:42:02 <ais523> left-to-right is more natural, I would have thought
21:42:05 <ehird`> because that's the most useful, ais523
21:42:09 <ehird`> it reduces parens in more cases
21:42:22 <ehird`> unintuitive, but they have years of practice with that kind of stuff :P
21:44:25 -!- slereah__ has quit (Read error: 104 (Connection reset by peer)).
21:52:57 -!- Hiato has quit (Read error: 110 (Connection timed out)).
22:01:41 -!- Tritonio_ has quit (Remote closed the connection).
22:03:12 -!- slereah__ has joined.
22:21:08 -!- ais523 has quit ("bye").
22:49:46 -!- RedDak has quit (Remote closed the connection).
22:54:26 -!- olsner has joined.
22:58:49 -!- Corun has joined.
23:00:30 -!- timotiis_ has joined.
23:07:52 -!- timotiis_ has quit ("leaving").
23:15:27 -!- pikhq has joined.
23:18:11 <ehird`> pikhq: hi
23:21:15 -!- Geekthras has joined.
23:26:25 <ehird`> pikhq: ping
23:26:55 <pikhq> ehird`: Pong.
23:27:03 <ehird`> pikhq: any thoughts re: pebble2?
23:27:13 <Geekthras> Woah pikhq?
23:27:13 <pikhq> Just one ATM. . .
23:27:22 <pikhq> Geekthras: Yeah?
23:27:35 <pikhq> Geekthras: From #xkcd, I see. ;)
23:27:43 <Geekthras> Yup
23:28:38 -!- timotiis has quit (Read error: 110 (Connection timed out)).
23:35:13 <pikhq> Geekthras: So, what brings you here?
23:35:24 <Geekthras> Not much
23:35:25 <Geekthras> ack
23:35:30 -!- Geekthras has changed nick to Geekthras|Dinnar.
23:42:58 -!- Geekthras|Dinnar has changed nick to Geekthras.
23:43:15 <Geekthras> Just hanging out
23:46:38 <Geekthras> finally got around to making a bf compiler
23:47:18 <pikhq> I'm finally getting around to revising PEBBLE.
23:47:36 <pikhq> ehird`: BTW, I'm thinking of implementing PEBBLE2 in Plof.
23:47:56 <ehird`> pikhq: :( but .. self-hosting lisp syntax!
23:47:57 <ehird`> :O
23:48:29 <pikhq> I never said what syntax I'd use.
23:48:37 <pikhq> Remember: Plof has a runtime-modifiable syntax.
23:51:17 <ehird`> okay, yeah, but .. macros
23:51:19 <ehird`> and self-hosting
23:51:20 <ehird`> :(
23:55:20 <ehird`> http://web.archive.org/web/20041014021225/http://kx.com/cgi-bin/getSoftware_new.pl?klin.zip=y i hope this works :)
23:55:26 <ehird`> dmanit
23:55:27 <ehird`> nope
23:56:21 <pikhq> ehird`: Plof can have *everything* replaced at runtime.
23:56:37 <ehird`> not good enough! :(
23:56:42 <ehird`> i want a self-hosted, lisp-syntax pebble! :P
23:56:46 <ehird`> maybe i should make it. heh
23:57:01 <pikhq> Well, everything except for the PSL semantics, which are about as hard to replace as the machine code on a traditional CPU. . .
23:57:11 <pikhq> And I've yet to rule out sexp syntax.
23:57:20 <pikhq> ;p
23:58:27 <ehird`> pikhq: OK, but self-hosting
23:58:27 <ehird`> :P
2008-02-06
00:00:17 <ehird`> http://web.archive.org/web/*/http://kx.com/cgi-bin/getSoftware_new.pl?klin.zip=y damnit, none ofthem want to work
00:04:26 -!- olsner has quit ("Leaving").
00:12:35 <ehird`> speaking of which i really ought to get elliotthird.org up
00:12:48 <ehird`> eh, as soon as i settle on a programming language and get Nodist written...
00:12:49 <ehird`> (never)
00:25:58 <ehird`> hm
00:26:09 <ehird`> does cpressey ever come by here?
00:31:28 -!- slereah__ has quit (calvino.freenode.net irc.freenode.net).
00:31:28 -!- sarehu has quit (calvino.freenode.net irc.freenode.net).
00:32:33 -!- slereah__ has joined.
00:32:33 -!- sarehu has joined.
00:32:34 -!- sebbu has quit ("@+").
00:41:05 <pikhq> Rarely, if ever.
00:43:42 <ehird`> what's his nick when he does, then?
00:53:21 -!- ehird` has quit ("K-Lined by peer").
01:21:36 -!- calamari has joined.
01:29:24 -!- Corun has quit ("This computer has gone to sleep").
01:42:35 <lament> cpressey.
01:43:22 <RodgerTheGreat> heh
01:56:39 <Geekthras> http://rafb.net/p/Ir9XSN95.html finally!
01:57:54 <pikhq> You say 'finally'?
01:58:05 <Geekthras> it was bugging before
01:58:26 <pikhq> Ah, an interpreter.
01:58:33 <pikhq> Only slightly harder than a compiler.
01:58:57 <Geekthras> yeah
01:59:21 <Geekthras> mostly just getting loops to work recursively
02:08:33 <RodgerTheGreat> ah, that's a nifty way to do []
02:09:27 <Geekthras> yeah much better than keeping track of depth
02:18:27 -!- GreaseMonkey has changed nick to yeknoMesaerG.
02:22:59 -!- yeknoMesaerG has changed nick to GreaseMonkey.
02:24:03 -!- calamari has quit ("Leaving").
02:24:46 -!- danopia`school has joined.
02:29:38 -!- danopia has quit (Nick collision from services.).
02:38:27 -!- immibis has joined.
02:47:05 -!- danopia`school has changed nick to danopia.
03:12:34 <GregorR> http://www.codu.org/pics/displayimage.php?album=4&pos=0 // how to choose a democratic candidate
03:18:18 -!- 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. and dlte ur files. and email ths to).
03:18:45 -!- calamari has joined.
03:18:57 <RodgerTheGreat> haha. Somebody's telomeres are eroding!
03:19:03 <RodgerTheGreat> hey, calamari
03:19:06 <calamari> hi
03:20:42 <RodgerTheGreat> what're you up to this evening?
03:37:11 <pikhq> Hey, calamari. I plan to pick your brains for PEBBLE 2 when I code it a bit further.
03:37:26 <calamari> ok
03:37:32 <pikhq> Not quite yet, though.
03:37:40 <pikhq> Still got some stuff to do for my calc class. . .
06:03:43 -!- calamari has quit ("Leaving").
06:10:00 <Geekthras> Hey wait calamari was the BASIC2BF guy right?
06:16:09 <RodgerTheGreat> BFBASIC, yes
06:16:23 <RodgerTheGreat> I told him he was my hero when I realized that
06:17:00 <Geekthras> ...that's awesome
06:17:54 <RodgerTheGreat> yeah, I know
06:18:47 <RodgerTheGreat> this is what is great about the internet: Not only can you meet your heroes, you can find out that the dude you've been chatting with for a couple days IS one of your heroes
06:26:18 <Geekthras> hah
06:26:19 <Geekthras> yeah
06:27:05 <bsmntbombdood> oh fuck
06:27:09 <bsmntbombdood> i LOVE this album
06:27:26 <bsmntbombdood> Infected Mushroom - Vicious Delicious
06:31:41 -!- immibis has joined.
06:32:41 -!- immibis has set topic: THIS IS THE TOPIC.
06:35:06 -!- sarehu has quit (Remote closed the connection).
06:35:17 -!- sarehu has joined.
06:37:54 -!- Geekthras has quit ("Leaving").
06:53:41 <bsmntbombdood> </bsmntbombdood>
06:54:27 <immibis> that is not well-formed xml on many clients.
06:54:43 <immibis> for example, ones that say (bsmntbombdood) or bsmntbombdood:
06:55:24 <bsmntbombdood> huh?
06:57:49 <immibis> (bsmntbombdood) </bsmntbombdood> is not well-formed xml.
06:58:01 <immibis> nor is bsmntbombdood: </bsmntbombdood>
06:58:01 <oklopol> immibis: get a real client
06:58:07 <oklopol> <bsmntbombdood> </bsmntbombdood>
06:58:16 <immibis> </immibis> </oklopol>
06:58:24 <oklopol> :)
06:58:46 <immibis> oklopol: how do you know what client i have?
06:59:03 <oklopol> you have a client that shows (nick) for privmsgs
06:59:12 <immibis> no, actually i don't.
06:59:13 <immibis> but some do.
06:59:24 <immibis> i think xchat shows nick | message
06:59:26 <oklopol> hey
07:00:01 <oklopol> yep yep, i just seem to have missed a few of your lines
07:04:47 <immibis> </immibis> </oklopol> </oklopol> </immibis> </immibis> </immibis> </oklopol> </immibis> </oklopol> <text> Just closing some xml tags that weren't closed. </text>
07:04:47 <oklopol> we need a bot for this
07:04:47 <immibis> </immibis> </oklopol>
07:04:47 * immibis starts netbeans (no this doesn't need a closing tag)
07:04:47 <oklopol> you already did it, didn't you?
07:05:20 <immibis> not yet, no </immibis> </oklopol>
07:09:37 -!- olsner has joined.
07:24:01 <oklopol> is "-->" the end of an html comment?
07:24:10 <immibis> yes
07:24:19 <immibis> and <!-- is the start
07:24:22 <oklopol> (n=salparot@cust.fiber-lan.vnet.lk.85.194.50.194.stunet.se). <<< weh have a problem
07:24:29 <oklopol> err
07:24:37 <oklopol> sorry, konversation fails at copypaste
07:24:42 <immibis> </immibis> </oklopol> </oklopol> </oklopol> </immibis> </immibis> </oklopol>
07:24:43 <oklopol> [09:13] --> olsner has joined this channel
07:24:47 <immibis> indeed.
07:24:51 <immibis> oh
07:25:14 <oklopol> anyways, i think i need to get going now, you keep up the good work! ->
07:25:54 <olsner> what was all the fuzz about?
07:25:58 <immibis> that's --> to you!
07:26:19 <olsner> well, <!-- back at you
07:26:28 -!- XMLCloser has joined.
07:26:50 <immibis> olsner: interpreting irc client output as xml </immibis> </olsner> </immibis> </olsner> </oklopol> </immibis> </immibis> </oklopol>
07:26:53 <XMLCloser> Not well-formed XML! </XMLCloser>
07:26:59 <immibis> hmm
07:27:03 <XMLCloser> </immibis>
07:27:24 -!- XMLCloser has quit (Read error: 104 (Connection reset by peer)).
07:28:37 -!- XMLCloser has joined.
07:28:42 <immibis> blah blah <xml>
07:28:53 <immibis> <moreXML> <moreMoreXML>
07:28:57 <olsner> immibis: but why? it's *not* xml and shouldn't be parsed as it
07:29:08 -!- XMLCloser has quit (Read error: 104 (Connection reset by peer)).
07:29:10 * olsner decides to be boring
07:29:11 <immibis> so?
07:29:21 -!- immibis has changed nick to immibis[A].
07:29:53 <immibis[A]> bbt (be back tomorrow) tiimtza (that is in my time zone anyway)
07:29:53 -!- immibis[A] has changed nick to immibis.
07:29:56 <olsner> <![CDATA[
07:30:00 -!- 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. and dlte ur files. and email ths to).
07:52:57 -!- cmeme has quit ("Client terminated by server").
07:55:04 -!- cmeme has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:18:03 -!- jix has joined.
08:31:18 -!- jix has quit ("This computer has gone to sleep").
08:33:16 -!- 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. and dlte ur files. thx.").
08:45:50 -!- sarehu has quit (Remote closed the connection).
08:45:59 -!- sarehu has joined.
08:52:58 -!- olsner has quit ("-> work").
09:41:39 -!- slereah__ has quit (Read error: 104 (Connection reset by peer)).
09:41:49 -!- slereah__ has joined.
10:08:31 -!- sarehu has quit (Remote closed the connection).
10:08:41 -!- sarehu has joined.
10:26:52 -!- Tritonio_ has joined.
10:45:03 -!- jix has joined.
10:45:51 -!- puzzlet_ has joined.
10:46:38 -!- puzzlet has quit (Remote closed the connection).
10:58:02 -!- Corun has joined.
11:33:46 -!- Figs has joined.
11:33:58 <Figs> Whee!
11:34:17 <slereah__> Wheeeeee!
11:34:48 -!- Tritonio_ has quit (Remote closed the connection).
11:36:10 <Figs> I just wrote a silly little text adventure with absolutlely horrible style in Python :)
11:36:18 <Figs> ...but it works!
11:36:35 <slereah__> Does it involve axes and trolls?
11:36:36 <Figs> It has about six poorly described rooms
11:36:54 <Figs> It involves lightbulbs, pointless stairs, and vague scents of onions
11:37:58 <Figs> and, of course, I've managed to do everything by way of global variables :D
11:38:17 <Figs> well... not everything
11:38:22 <Figs> but more than half :)
11:52:42 <Figs> You're welcome to give it a try if you want
11:52:44 <Figs> http://rafb.net/p/AWjKgu50.html
11:52:48 <Figs> let me know if you find any bugs :)
11:54:41 <slereah__> Are there actions apart from go somewhereN
11:54:59 <slereah__> > help
11:54:59 <slereah__> There be dragons in ye mind!
11:55:05 <slereah__> That's not helpful :o
11:56:21 <Figs> hehe, I forgot to put in a help
11:56:33 <Figs> try playing with the lights
11:56:38 <slereah__> ?
11:56:42 <Figs> in the dark hall way
11:56:56 <slereah__> How do I play with the lights?
11:57:05 <Figs> "turn on the lights"
11:57:13 <Figs> (or just about any variation of that)
11:57:28 <slereah__> You need an action list
11:57:45 <slereah__> Also sumfin to examine the room.
11:58:00 <Figs> type 'look' and it'll give you the description again.
11:58:05 <Figs> like I said, it's pretty minimal
11:58:17 <slereah__> Also, it lacks grue.
11:58:20 <Figs> :)
11:58:27 <Figs> This is true
11:59:06 <Figs> did you figure out how to get outside?
11:59:19 <slereah__> That's the goal?
11:59:38 <Figs> There isn't really a goal in this, but I guess that's as close to a goal as there is
11:59:56 <slereah__> Well, without an action list, it's hard to know what to do.
12:00:08 <Figs> I take it you haven't played H2G2 :)
12:00:44 <slereah__> I've tried to play "Nine Princes in Amber"
12:00:52 <Figs> I'll remember to add better hints when I write the next silly version
12:00:52 <slereah__> It has like three pages full of actions
12:00:58 <Figs> hee hee
12:01:44 <slereah__> http://zelazny.corrupt.net/NPiA/man8.html
12:02:14 <slereah__> Also, fight scenes! http://zelazny.corrupt.net/NPiA/man5&6.html
12:02:31 <slereah__> I'm grateful for being born in the age of computers with actual graphics.
12:02:50 <Figs> rofl
12:03:09 <slereah__> Nine princes in Amber had graphics, sort of.
12:03:20 <slereah__> A pixelated picture on top of every text
12:03:38 <Figs> Ah
12:03:44 <Figs> I've played a couple games like that
12:04:10 <Figs> I think there was one based on the Xanth novels...
12:04:28 <slereah__> Also one on Discworld!
12:04:31 <Figs> It bugged me because there were things in the picture that the game didn't know
12:04:35 <slereah__> The very first Discworld game
12:04:52 <slereah__> Althoguh it was maybe pure texgt
12:04:54 <slereah__> Forgot
12:04:59 <slereah__> I didn't play long.
12:05:02 <Figs> lol
12:05:12 <slereah__> It's pretty much "Light of magic" in video game form
12:05:29 <Figs> Light of Magic?
12:05:39 <slereah__> You know, first Discworld novel
12:05:49 <slereah__> Maybe it's some other name
12:05:52 <slereah__> I forgot
12:05:52 <Figs> ... I haven't read the Discworld novels. :o
12:06:06 <slereah__> You should.
12:06:09 <slereah__> The old ones are good!
12:06:23 <slereah__> Back then, it was silly med fan.
12:06:27 <Figs> I'll consider it, if I ever come across them.
12:06:37 <slereah__> The video games are also good
12:07:14 <Figs> Did you get outside?
12:07:33 <slereah__> Well, I typed "exit" to see what it would do!
12:07:38 <Figs> (I'm just wondering if other people are as silly as me)
12:07:39 <slereah__> I got outside the game :O
12:07:41 <Figs> ahh...
12:07:42 <Figs> haha
12:07:44 <Figs> :P
12:08:02 <Figs> that wasn't the outside I meant. I should probably add a quit guard for the next version
12:08:14 -!- sarehu has quit (Remote closed the connection).
12:08:24 -!- sarehu has joined.
12:08:30 <slereah__> And why not a save system while you're at it!
12:08:39 <slereah__> "Oh shit, I lost my hours fo games!"
12:10:51 <Figs> There's not enough in the game to have a save system
12:11:00 <Figs> but it'd be fairly easy to do
12:11:05 <Figs> (yay python)
12:11:38 <slereah__> :D
12:12:30 <Figs> At this point, I'd be a bit more interested in improving the parser and structure of the game before I worry about something like saving
12:12:45 <Figs> if you look at the code, you'll see it's totally awful
12:12:46 <slereah__> Well, I'd worry about the game itself!
12:12:50 <Figs> haha :)
12:13:00 <Figs> that's true -- it's awful too
12:13:24 <Figs> but it's easier to build a better game with a better base than to fight the base for every inch of game... at least past a certain point ;)
12:14:28 <slereah__> Here's an example of a good game : http://www.somethingawful.com/d/flash-tub/tub-adventure.php
12:16:19 <Figs> I'm halfway between considering doing a silly game and sorta serious game
12:16:39 <Figs> obviously, the example I made was very silly... :)
12:16:57 <Figs> urk
12:16:59 <Figs> it's 4 am
12:17:06 <Figs> what am I still doing up? :P
12:17:38 <slereah__> It's 1 PM here
12:17:46 <Figs> I'll have to check out your flash game tomorrow
12:17:58 <Figs> need sleep... *zombie*
12:18:10 <Figs> thanks for helping me debug :)
12:18:43 <slereah__> Good night then!
12:20:54 -!- Figs has quit ("Java user signed off").
12:23:25 -!- puzzlet has joined.
12:36:08 -!- puzzlet_ has quit (Read error: 110 (Connection timed out)).
13:02:44 -!- Corun has quit ("This computer has gone to sleep").
13:13:19 -!- jix has quit (Success).
13:16:10 -!- jix has joined.
13:16:57 -!- sarehu has quit (Remote closed the connection).
13:17:07 -!- sarehu has joined.
13:49:37 -!- ais523 has joined.
14:10:33 -!- fax has quit ("-").
15:09:53 -!- ehird` has joined.
15:10:36 -!- Corun has joined.
15:15:39 -!- helios24 has joined.
15:26:46 -!- oerjan has joined.
15:27:40 -!- sarehu has quit (Remote closed the connection).
15:27:49 -!- sarehu has joined.
15:51:30 <ehird`> http://www.wana.at/vimshell/sshot1.png wow
15:51:34 <ehird`> you could run emacs -nw inside vim
15:51:36 <ehird`> or vim inside vim
15:52:22 <ais523> what about emacs inside emacs?
15:52:32 <ehird`> you can do that but it's not as funny
15:52:37 * ais523 frequently runs bash inside bash, but thinks it doesn't really count
15:52:46 <ehird`> emacs -nw<RET> M-x term<RET> emacs -nw<RET>
15:53:13 <ehird`> and yes it works./
15:53:23 <ehird`> it works infinite levels
15:53:34 <ais523> well, until you run out of memory or some other resource
15:53:43 <ehird`> doesn't everyone use turing machines?
15:54:21 <ehird`> ais523: it's funny going through a file -- the line/col indicator syncs with an offset on them all
15:54:22 <ehird`> :)
15:56:10 -!- timotiis has joined.
15:58:56 <ehird`> ais523: i was going to tell you something today; but i forgot.
15:59:08 * ais523 is still trying to write uudecode in BF
15:59:17 <ais523> especially as the anarchy golf deadline is almost up
15:59:40 <ais523> hmm... 1 min left. I won't finish it that quickly
16:00:47 <ehird`> i really need to get some info pages up about anagolf
16:00:51 <ehird`> mainly for my own sanity! :p
16:01:04 <ehird`> ais523: it's done
16:01:05 <ehird`> :P
16:01:08 <ehird`> ais523: you can still submit!!
16:01:12 <ehird`> people can just read your code.
16:01:25 <ehird`> ruby one is nice
16:01:26 <ehird`> puts gets(gets).unpack'u'
16:01:34 <ehird`> but could be
16:01:41 <ehird`> puts gets(nil).unpack'u'
16:01:54 <ehird`> puts [*$<].join("\n").unpack"u" # longer i think though
16:01:55 <ais523> no, because they have to skip the first line, I think
16:02:09 <ehird`> ais523: ah, yes
16:02:10 <ehird`> ok.
16:02:17 <ehird`> it seems most languages have uudecode built in
16:02:34 <ehird`> ais523: http://golf.shinh.org/reveal.rb?uudecode/51b/1202143066&erl if you could translate this non-lib-using erlang into bash..
16:02:45 <ehird`> http://golf.shinh.org/reveal.rb?uudecode/pooq/1202119366&ijs nice J code :)
16:02:52 <ehird`> ah
16:02:55 <ehird`> this might be easier to translate:
16:02:56 <ehird`> x;n;main(d,c){for(gets(c);c=getchar()-32,c<65;)x=c*x>0?d=d<<6|c&63,!n?n=6:putchar(d>>(n-=2)):!x;}
16:03:27 <ehird`> ais523: that brainfuck entry cheats in some kind of fscked way: http://golf.shinh.org/reveal.rb?uudecode/nuko%28cheat%29/1201122618&bf
16:03:43 <ehird`> maybe exploiting the interp used??
16:04:01 <ehird`> s re(re).u"u" # i love how pointless goruby is
16:04:14 <ehird`> hm
16:04:20 <ehird`> 8 hours til rot13 is done
16:04:32 <ais523> then you can see my brilliant winning Perl entry
16:04:52 <ais523> unless someone else equals it it'll be the first time I've won anagolf outright in Perl
16:05:02 <ehird`> ais523: :)
16:05:24 <ehird`> you should learn ruby, it might not be as good at general text manipulation at perl, but it's good at *golfing* text manipulation, and arithmetic
16:05:26 <ais523> my bash entry worked on the same principle, BTW, but someone beat it
16:05:42 <ais523> probably using an entirely different approach
16:06:00 <ehird`> anyway, how does that brainfuck entry work?
16:06:15 <ais523> must be a buffer overflow aimed against the interp
16:06:29 <ehird`> ais523: btw, my multiply entry is great
16:06:32 <ehird`> ruby version:
16:06:51 <ehird`> p eval gets.gsub(",","*")
16:07:01 <ais523> that's basically how my Perl version works
16:07:09 <ais523> which is presumably the same as everyone else's, being the same length
16:07:22 <ais523> y/,/*/ and eval
16:08:06 <ehird`> silly ruby version:
16:08:07 <ehird`> #!ruby -p
16:08:07 <ehird`> $_=eval gsub",","*"
16:08:34 <ais523> that reminds me of Perl a lot
16:08:38 <ais523> does $_ have the same meaning?
16:09:35 <ehird`> yes
16:09:40 <ehird`> same with #!ruby -p
16:09:47 * ais523 is less surprised at that
16:10:22 <ehird`> http://ruby-talk.org/cgi-bin/scat.rb/ruby/ruby-talk/179642
16:10:29 <ehird`> the design of ruby :-)
16:10:56 <ehird`> which appears to be down
16:11:09 <ehird`> hm
16:11:11 <ehird`> ais523: hello, ping
16:11:15 <ais523> pong
16:11:21 <ehird`> good
16:11:25 <ehird`> my interwebs are dying
16:11:37 <ehird`> aha
16:11:38 <ehird`> http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/179642
16:11:58 <ehird`> and that's why ruby can do perly stuff like that
16:12:16 <ehird`> along with its crazy ambiguities like "no parens required on function call" and all that, it can beat perl quite a lot
16:12:24 <ais523> Lisp+Perl isn't the first language combination I would have thought of
16:12:54 <ais523> hm... from that I'd guess that Perl would be better for the very short programs and Ruby for the slightly longer ones
16:13:03 <ais523> in terms of golfing potential
16:17:46 <ehird`> ais523: you would be suprised
16:18:34 <ehird`> ais523: also, it's Lisp->simplified&syntaxed->tiny object system->some syntactical sugar->smalltalk->perl, but prettier
16:19:16 <ehird`> i hope you can write to $*
16:19:21 <ehird`> i'm going to use it as a stack :-)
16:19:35 <ais523> $* = obsolete method of controlling /m on regexps?
16:19:42 <ais523> or am I thinking of something else?
16:21:09 <ehird`> no
16:21:12 <ehird`> $* = command line arguments
16:21:14 <ehird`> like bash
16:25:49 <ais523> hmm... /query ais523 actually works, and acts like cat
16:27:02 <ehird`> yes
16:27:09 <ehird`> it amounts to
16:27:17 <ehird`> :ais523blahblah PRIVMSG ais523 :hi
16:27:27 <ehird`> your client looks for a window for ais523blahblah
16:27:30 <ehird`> and inserts the message
16:27:48 <ehird`> ais523: http://golf.shinh.org/p.rb?RPN+calculator this will be interesting
16:27:48 <ehird`> :)
16:27:49 <ais523> why is my brainfuck auto-indenter not working?
16:28:49 <ais523> and ehird`: you should have made one of the examples much longer to hold off cheats
16:29:00 <ehird`> ais523: yeah, i guess so
16:29:01 <ehird`> :|
16:29:10 -!- sebbu has joined.
16:30:45 <ehird`> ais523: why does anagolf have netcat but no net
16:30:45 <ehird`> :|
16:32:00 -!- timotiis_ has joined.
16:38:25 <ehird`> I wonder what an open-source codegolf/anagolf blend would be like
16:38:34 <ais523> I'd like to see a blend, actually
16:38:35 <ehird`> User-centric like anagolf, but more polished (e.g. 'testing scripts')
16:38:43 <ais523> people could submit their own challenges but with test case generators
16:38:49 <ehird`> and open source, unlike codegolf -- also less central and administrated
16:38:51 <ais523> and a reference implementation to compare to
16:38:56 <ais523> which would also count as the first entry
16:39:23 <ehird`> ais523: I would do it but take a look at anagolf's code: http://golf.shinh.org/sag.tgz
16:39:32 <ais523> also, I'd like to see tags like (cheat) and (embed) as part of the system
16:39:32 <ehird`> I can't hope to write something that crazy, it'd just end up insecure
16:39:41 <ehird`> ais523: it counts (sym) and (bin)
16:39:43 <ais523> so you can have separate cheat and noncheat tables
16:40:00 <ais523> and autodetection of if something is a cheat
16:40:06 <ais523> e.g. look for file reads on quine programs
16:40:18 <ehird`> ais523: but seriously, look at anagolf's code... it has a seperate server and stuff!
16:40:37 <ehird`> and watch.c is crazy
16:40:38 * ais523 hasn't looked at the code yet, but is not surprised it's that complicated
16:40:43 <ehird`> it *overrides syscall*
16:40:51 <ehird`> literally. in libc.
16:41:01 <ais523> maybe you could make a simpler version which used nothing but interpreted languages
16:41:10 <ais523> and use the sandboxing features of the interps
16:41:17 <ehird`> most interps have crap sandboxing/.
16:41:20 <ehird`> even with a chroot.
16:41:28 <ais523> (in cases of langs like Brainfuck, you could write a sandboxed interp yourself)
16:41:40 <ais523> Perl allegedly has a sandboxing module that can be used
16:41:43 <ais523> although I've never tried it
16:42:28 <ehird`> hm, anagolf started in 2007? i thought it was older
16:43:30 -!- timotiis has quit (Read error: 110 (Connection timed out)).
16:46:35 <ais523> yay, I think I got the BF indenter working
16:48:27 * ais523 gets to work on a BF strip-comments program
16:48:39 <ais523> as an enhancement to my esolang Emacs package
16:48:51 -!- oerjan has set topic: THIS IS NOT THE TOPIC.
16:48:57 <ais523> that includes the Unlambda code I showed you before, among other things
16:50:24 <ais523> for some reason, I keep pressing g rather than f in the word 'buffer'...
16:55:22 <ehird`> ais523: tee hee, i'm writing a genuine evil c compiler
16:55:22 <ehird`> :D
16:55:23 <ehird`> compiles to ruby
16:55:42 <ais523> along the same lines as my 'simple language' compiler?
16:55:46 <ehird`> yeah
16:55:50 <ehird`> and presumably the postscript one
16:55:51 <ehird`> but less involved
16:56:14 <ehird`> hm
16:56:19 <ehird`> i think this parses differently in ruby than in c
16:56:20 <ehird`> if (n%3==0 && n%5==0)
16:56:39 <ehird`> hm
16:56:40 <ehird`> nope
16:56:42 <ehird`> in line 22, at the end
16:56:54 <ais523> what's the difference?
16:58:18 <ehird`> ais523: not sure
16:58:23 <ehird`> i think the == and && bind differntly
16:58:30 <ehird`> http://pastebin.ca/894031 here's my code so far
16:58:30 <ehird`> :-)
16:58:40 <ais523> Perl deliberately chose to use the same operator precedences as C to avoid confusion
16:59:58 <ehird`> ah wait
17:00:03 <ehird`> else if -> elsif
17:00:03 <ehird`> :-)
17:00:08 <ais523> grr... why do KDE and Gnome apps spout lots of garbage to stderr when run under the other window manager?
17:00:33 <ehird`> yay, it worked!!!!
17:01:04 <ais523> oh, there's an error in the RPN problem
17:01:06 <ehird`> http://pastebin.ca/894033 final version
17:01:10 <ehird`> ais523: is there
17:01:11 <ehird`> crap
17:01:12 <ais523> one of the examples uses 'mod' as infix rather than postfix
17:01:12 <ehird`> what is it
17:01:18 <ehird`> oh crap
17:01:19 <ehird`> :|
17:01:32 <ehird`> can you submit one the same but called rpn calculator(FIXED) andwith that fixed? or am i going to have to do it myself :P
17:01:55 <ais523> submit the fixed version, say it's a fix in the description, and maybe shinh will remove the unfixed version
17:02:10 <ais523> but even if not, people will know what's happened and hopefully aim only for the new one
17:02:57 <ehird`> hahah, "prdeff"
17:03:00 <ehird`> it caught my "int" :)
17:04:51 <ehird`> ais523: http://pastebin.ca/894040 shorter but less robust compiler
17:05:03 <ehird`> c is quite trivial! ;)
17:05:22 <ais523> yes, when it doesn't use many language features
17:05:32 <ais523> and the ones it does are implemented in the target language with much the same syntax
17:06:22 <ais523> my BF comment stripper is working now as well
17:06:44 <ehird`> ais523: make a long rpn example and i'll add that ;P
17:07:27 * ais523 loads up dc
17:07:52 <ehird`> just using my commands and semantics though!
17:07:58 <ais523> yes
17:08:09 <ais523> I'm writing \np\n rather than p, and restricting myself to + - * /
17:09:44 <ehird`> uh
17:09:45 <ehird`> and ^
17:09:46 <ehird`> and mod
17:09:54 <ais523> yes, I didn't use those
17:09:59 <ais523> although I could have, I suppose
17:10:01 <ehird`> okay
17:10:05 <ehird`> involve floating point somehow
17:10:07 <ehird`> but not bignums
17:10:09 <ais523> I have
17:10:10 <ehird`> or bigfloats
17:10:15 <ehird`> i.e. only trivial floating points
17:10:26 <ehird`> preferably, double-fitting
17:11:28 <ehird`> ais523: http://pastebin.ca/894042 this yours?
17:11:38 <ais523> yes
17:11:50 <ais523> I have it invoked from my .emacs
17:11:59 <ais523> it's still a work in progress, though, so it's only a paste for now
17:12:04 <ehird`> ais523: does it highlight idioms differently? :D:D
17:12:08 <ais523> you'll notice bits of it are commented out because they don't do anything
17:12:10 <ehird`> like [-]
17:12:11 <ais523> ehird`: only a few idioms
17:12:16 <ehird`> omg \o/
17:12:17 <ais523> [-] is one of the ones that is highlighted
17:12:25 <ais523> and [-]+++++++++++ (etc)
17:12:30 <ais523> but nothing else in BF yet
17:12:36 <ehird`> ais523: also
17:12:42 <ais523> otherwise, +-/<>/,./[] all have different colour schemes
17:12:43 <ehird`> re: "macros should be done with lambda and quote"
17:12:48 <ehird`> you ALREADY have required macros:
17:12:50 <ehird`> cond
17:12:54 <ehird`> defun
17:12:57 <ehird`> lambda
17:13:07 <ehird`> And even if you made THEM functions taking quotes -- you have one final special form
17:13:08 <ehird`> quote.
17:13:18 <ais523> yes, well I may as well write idiomatically given the existence of the language
17:13:20 <ehird`> and once you have that, it's purest not to make it a special case, and allow extension.
17:13:27 <ehird`> no -- i mean, in general
17:13:29 <ehird`> not just in your code
17:13:51 <ehird`> also -- get rid of your nested ifs, use cond :)
17:13:55 <ais523> (quote ...) seems really wrong to me
17:14:03 <ais523> although '(...) is fine
17:14:07 <ehird`> ais523: that's syntax.
17:14:09 <ehird`> syntax is wrong.
17:14:13 <ehird`> '(...) is very modern!
17:14:18 <ehird`> and i mean very
17:14:20 <ehird`> its recent
17:14:22 <ais523> not sure why, really, it's just like d in Unlambda: it goes so strongly against the grain of the language
17:14:29 <ehird`> no
17:14:40 <ehird`> it goes against the grain of the language you prefer which is wildly different from lisp
17:14:46 <ehird`> :|
17:14:47 <ais523> if something looks like a function, I get surprised when it isn't
17:15:01 <ehird`> (x ...) does not look like a function.
17:15:02 <ehird`> sorry.
17:15:08 <ais523> (+ 1 2)
17:15:08 <ehird`> anyway, how's the rpn example going?
17:15:11 <ais523> looks like a function call to me
17:15:16 <ais523> ehird`: finished, but I haven't pasted it yet
17:15:19 <ehird`> ais523: maybe it does, but that's not what (...) means
17:15:20 <ais523> I was going to when you interrupted
17:15:58 <ais523> http://pastebin.ca/894058
17:16:03 <ais523> the ==== separates the input and output
17:16:08 <ais523> I'm not sure about the last case, though
17:16:17 <ais523> maybe we should change it to something that doesn't end .0
17:16:29 <ais523> because dc's precision rules are likely to be different from those to many other languages
17:17:28 <ehird`> ais523: i think yours is a bit too obscure, yeah
17:17:34 <ehird`> it doesn't allow efficient implementation
17:17:40 <ais523> just get rid of the last case and we'll be fine
17:17:52 <ehird`> also, ais523 -- that's still far easier to cheat than to do correctly
17:18:02 <ais523> really?
17:18:26 <ehird`> yeah!
17:18:51 <ehird`> i mean, we have a few lines of output, some of which are similar enough that they could be combined with some trickery
17:18:58 <ehird`> whereas an rpn calc impl isn't that trivial
17:19:16 <ais523> I suppose so...
17:19:27 <ais523> well, you could always get out dc and type in a lot more commands
17:20:24 * ais523 is still working on the uudecode-in-BF
17:21:31 <ehird`> ais523: so .0 or not .0?
17:21:42 <ais523> don't generate any test cases with trailing 0s
17:21:51 <ais523> and make them all come out exactly in decimal so as to avoid precision problems
17:21:55 <ehird`> ruby outputs as .0 actually.
17:21:59 <ehird`> :/
17:22:00 <ais523> interesting
17:22:09 <ais523> presumably because the output had been floating-point-ised
17:22:18 <ehird`> perl doesn't though
17:22:35 <ais523> we'll just have to make sure that the digit after the decimal point is nonzero in every test case
17:22:45 <ehird`> ais523: OK
17:22:49 <ehird`> so - 482.3
17:23:18 <ehird`> http://golf.shinh.org/p.rb?RPN+calculator+FIXED
17:24:43 <ais523> test.sh: line 3: dc: command not found
17:24:52 <ais523> pity, I was hoping to make a really short bash entry
17:25:00 <ais523> by using sed to compile into dc first
17:25:02 <ehird`> try:
17:25:04 <ehird`> ls /
17:25:06 <ehird`> and ls /bin
17:25:09 <ehird`> and stuff
17:25:11 <ehird`> to see what youcan do
17:25:32 <ehird`> I have a question
17:25:39 <ehird`> Is there any implementation of TURKEY BOMB? :)
17:25:43 <ais523> no
17:25:46 <ais523> I started work on one once
17:25:55 <ais523> got further than you would think possible looking at the spec
17:26:01 <ais523> but gave up after a while
17:26:20 <ais523> BTW, I think it's possible to interpret the ambiguities in the spec in such a way as to make it Turing-complete
17:26:44 -!- Hiato has joined.
17:27:43 <ais523> void* TURKEYBOMB = &TURKEYBOMB; /* the whole point! */
17:27:43 <Hiato> Allo allo allo :P
17:27:50 <ais523> hello
17:28:02 <ehird`> ais523: probably not the best way to do it :P
17:28:11 <ais523> I'm just following the spec
17:28:14 <ehird`> i know
17:28:15 <ehird`> but i mean
17:28:18 <ais523> and a TURKEY BOMB is most definitely a reference to itself
17:28:35 <ehird`> struct tb { struct tb *val; } TURKEY_BOMB;
17:28:39 <ehird`> hm
17:28:40 <ais523> I don't think the TURKEY BOMB itself actually becomes relevant anywhere in the code because there's no way to access it, but it has to exist
17:28:44 <ehird`> struct tb { struct tb *val; } *TURKEY_BOMB;
17:28:47 <ehird`> then initialize like so:
17:28:52 <ais523> char junk[15 - sizeof(void*) * 3]; /* a TRIVIA is exactly 15 bytes, no exceptions. */
17:28:58 <ehird`> TURKEY_BOMB=malloc(sizeof(*TURKEY_BOMB));
17:29:03 <ehird`> TURKEY_BOMB->val = TURKEY_BOMB;
17:29:05 <ais523> the code is littered by that sort of thing
17:29:19 <ais523> and ehird`: why would you use malloc when you can use compile-time initialisation?
17:29:26 <ehird`> because it's a pointer.
17:29:26 <ehird`> :|
17:29:29 <ehird`> ais523: you can access TURKEY BOMB like this:
17:29:30 <ehird`> TURKEY BOMB
17:29:35 <ais523> you can compile-time initialise a pointer
17:30:04 <ehird`> also, if you follow the Paradigm then you have to do crap with the TURKEY BOMB
17:30:13 <ais523> yes, you pass it round
17:30:16 <ais523> it's the instruction pointer
17:30:22 <ehird`> ais523: and..how
17:30:39 <ais523> you pass it from one player to another when certain events happen in-game
17:30:48 <ais523> it's how you implement conditionals and loops
17:31:05 <ehird`> ais523: how did you implement ZILCH?
17:31:10 <ehird`> void ZILCH[0]?
17:31:15 <ais523> typedef void ZILCH;
17:31:27 <ehird`> pfft
17:31:28 <ais523> AMICED was more interesting
17:31:28 <ehird`> :)
17:31:34 <ehird`> hm yes
17:31:35 <ais523> there isn't actually an AMICED datatype
17:31:38 <ais523> but rather NEGATIVE_AMICED
17:31:42 <ehird`> brilliant
17:31:51 <ais523> which is stored in any PUDDING that doesn't contain the AMICED in question
17:31:53 <ehird`> Two thirds of a bit plus half a trit.how did you do that :-|
17:32:05 <ais523> stored it as a 2-bit int
17:32:06 <ais523> with padding
17:32:29 <ais523> but there are semantics that make it act vaguely like the spec requires
17:32:33 <ais523> and that's enough for me
17:33:37 <ehird`> are there any turkey bomb programs?
17:33:39 <ais523> even worse: struct HUMIDOR <class T1,T2,T3>
17:33:45 <ais523> and ehird`: not as far as I know
17:33:48 <ais523> because the spec is so ambiguous
17:33:57 <ehird`> ais523: uhhhh, C++?
17:33:58 <ehird`> eep.
17:34:01 <ais523> yes
17:34:09 <ais523> it seemed fitting somehow
17:34:12 <ehird`> heh
17:34:37 <ehird`> hm, what esolang needs an implementation but seems hard to give one? :-)
17:34:41 <ehird`> ooh, twoducks! ;)
17:34:51 <ais523> I have some thought on writing a twoducks implementation
17:35:03 <ais523> that would try out lots of testcases to try to get the timeline consistent
17:35:09 <ais523> sort-of brute forcing a timeline that works
17:35:15 <ehird`> heh :)
17:35:27 <ehird`> i had an idea for a Scheme-omega implementation
17:35:37 <ehird`> it would introduce a type, MAYBE
17:35:44 <ehird`> no constructor, but is of the form:
17:35:46 <ehird`> MAYBE a b
17:35:53 <ehird`> H would always return MAYBE #t #f
17:36:15 <ehird`> the truth value of MAYBE a b is:
17:36:20 <ehird`> if a and b, #t
17:36:24 <ehird`> if not a and not b, #f
17:36:35 <ehird`> otherwise, MAYBE (truth-value a) (truth-value b)
17:36:53 <ehird`> ais523: if when given a MAYBE would also give a MAYBE etc
17:37:13 <ehird`> no IO, but if you wanted it it would just require you to choose a branch and stick to it if we ever 'might' execute some IO :)
17:37:34 <ehird`> at the end it would just dump out all the 'maybe's and exit
17:37:53 <ais523> incidentally, my idea for TC TURKEY BOMB was to define the ! command to take two of the trit parts of the BI_ITs, and calculate their maximum value, returning it in binary-coded-ternary in the bit parts
17:38:03 <ais523> it would shortcircuit from left-to-right
17:38:31 <ehird`> i would like to see a brainfuck interp in TURING BOMB
17:39:20 <ais523> if you then place a pointer dereference to generate one of the BI_ITs, it will skip the next player's turn at the right moment to cause everything to work correctly
17:40:04 <ehird`> http://it.geocities.com/tonibin/owl/owl.html is this in the esolang wiki?
17:40:07 <ehird`> successor to bogusforth
17:40:09 <ais523> (a \2 \x) (a a \x) ^L b (\\x) ^L GARNISH GARNISH x ^L c
17:40:26 <ais523> is what I have in my notes as TURKEY BOMB for if(a = 2) b; else c;
17:40:45 <ais523> but it's heavily abbreviated; the 2 actually refers to four advisories that together dereference to a variable containing 2
17:40:55 <ais523> and ^L is the formfeed character
17:41:14 <ehird`> why formfeed?
17:41:21 * ais523 can't quite remember
17:41:31 <ais523> from context I guess it means 'next player's turn'
17:41:37 <ais523> but I'm not sure why I chose that character in particular
17:41:51 <ais523> btw, ehird`, the page you linked says that it's a stub on esolang
17:42:00 <ais523> "A small hook is still present at esoteric.voxelperfect.net, and precisely here"
17:42:01 <ehird`> ais523: maybe it's each player?
17:42:23 <ais523> skipping a player's turn is how you do control flow
17:42:27 <ais523> that, and garnishing
17:42:51 <ais523> control flow is nondeterministic but that example generates a loop which can only be escaped by the right combination of random events happening
17:44:28 <ais523> so the code itself is deterministic but the length of time it takes to run isn't
17:47:20 <ehird`> completely unrelated:
17:47:28 <ehird`> vim's scheme indentation is as good as emacs' :|
17:47:31 <ehird`> seriously, it handles everything
17:47:33 <ehird`> crazy
17:47:47 <ehird`> uh
17:47:50 <ehird`> everything except 'if'
17:47:51 <ehird`> o.O
17:49:11 <oerjan> emacs's is buggy on ifs in do blocks, i hear
17:49:36 <ehird`> oerjan: well, it indents if like so:
17:49:37 <ehird`> (if a
17:49:38 <ehird`> b
17:49:41 <ehird`> c)
17:49:43 <ehird`> i.e. doesn't align them
17:49:48 <ehird`> which is arguably nicer, actually
17:50:54 <oerjan> it has to indent then and else relative to if in do blocks, i heard it doesn't
17:53:35 <ehird`> so how much interest is there in a PEBBLE-alike, but self-hosted, with lisp syntax and lisp macros?
17:53:51 <ais523> what do you mean by self-hosted?
17:54:15 <ehird`> ais523: is written in itself.
17:54:27 * ais523 likes languages like that
17:54:27 <ehird`> with a seperate, less featured compiler solely for the purpose of bootstrapping, in some other language, of course
17:54:41 <ehird`> so... interest level=? :)
17:54:49 <ais523> why don't you have several bootstrap compiles
17:54:54 <ais523> *compilers
17:55:03 <ais523> one written in BF to compile the one written in selfhost1
17:55:14 <ais523> the selfhost2 compiler is written in selfhost1
17:55:26 <ais523> the selfhost3 compiler is written in selfhost2, and so on, until you have the whole language
17:55:41 <ais523> where the numbered selfhost langs are subsets of the full lang
17:56:13 <ais523> even better, if you had a lang like CLC-INTERCAL that could modify itself dynamically, you could create new syntax with one line and use it with the next
17:56:27 <ais523> hmm... maybe there should be a lang whose only primitive is the one to define new syntax
17:56:37 <ais523> and the standard library boots up from there
17:56:49 <ais523> CLC-INTERCAL does that but cheats by relying on a very rich syntax for defining new commands
17:57:06 <ais523> (effectively you write bytecode implementations for them, where the bytecode machine is defined elsewhere)
17:57:19 <ehird`> ais523: no, that's crazy :)
17:57:27 <ais523> why?
17:57:34 <ehird`> but is there a lot of interest in the idea i actually said?
17:57:35 <ehird`> :)
17:57:44 <ais523> not really
17:57:57 <ais523> if you could write 'macro' in Lisp then it would get more interesting
17:58:14 <ehird`> but.. it's pebble, but cooler
17:58:15 <ehird`> :<
17:58:16 <ais523> as in, actually implement the 'macro' keyword using only macros
17:58:25 <ehird`> it's practical!
18:01:13 <oerjan> so was Titanic. and unsinkable, too!
18:01:29 <oerjan> (sorry :) )
18:01:31 <ehird`> yeah, well, mine's lispy :(
18:01:48 <ehird`> it's PEBBLE, but with sane syntax, and more powerful macros
18:01:49 <ehird`> :(
18:01:56 <ais523> if the Titanic was made from Lisp, it would have sunk almost instantly
18:02:03 <ais523> parens are terrible at being waterproof
18:02:14 <ais523> they don't nail together at all well
18:02:47 <oerjan> and if it had been made from Haskell, it would have refused to leave the harbour...
18:03:02 <ehird`> oerjan: they used GHC.
18:03:04 <ehird`> unsafePerformIO.
18:04:25 <ais523> they should have made it from Whitespace
18:04:47 <oerjan> unsafeApproachIcebergs
18:05:04 <ehird`> oerjan: approaching the iceberg was safe
18:05:08 <ehird`> hitting it and sinking was not
18:07:54 <oerjan> ah but they used unsafeApproachIcebergs rather than approachIcebergs which checks for ice underwater as well
18:08:03 <ais523> what does unsafePerfomIO do?
18:08:36 <ehird`> unsafePerformIO :: IO a -> a
18:08:38 <ehird`> :)
18:08:48 <ehird`> also enables writing of
18:08:50 <oerjan> that tells it all, really :)
18:08:51 <ehird`> coerce :: a -> b
18:08:55 <ehird`> oerjan: :)
18:09:10 <ais523> and presumably just runs the IO command whenever it happens to be executed, whether that's 0 or more than 1 times in the program?
18:09:34 <ais523> ISTR C++ has a 'coerce anything to anything else' operator
18:09:39 <ehird`> ais523: it just happens... whenever
18:09:42 <ais523> that sometimes fails at runtime when you try to use it
18:09:43 <ehird`> there are no guarantees
18:09:53 <ehird`> it might work, depending on the weather
18:10:17 <oerjan> ais523: more or less, except you cannot predict whether it is called more often, or exactly when
18:11:08 <oerjan> because the compiler treats it as if it is pure, and assumes it can be shared/duplicated like pure code
18:11:12 * ais523 feels justified in their incorrect belief that 'Haskell just evaluates things at random until the program is complete'
18:11:30 <ais523> it helps me to write correct code, anyway, even though evaluation order is meant to be defined
18:11:51 <ehird`> it's not really defined
18:11:58 <ehird`> the report says 'non-strict evaluation' and leaves it at that
18:12:01 <ais523> and the successor to Underload is going to use that evaluation strategy; a strict/lazy mix depending on what the compiler feels like
18:12:16 <ais523> compiler or interpreter
18:12:53 <ehird`> i love how we all refer to underload as a static kind of language
18:13:03 <ehird`> as if it didn't act really self-modifying :)
18:13:14 <ais523> but it isn't self-modifying
18:13:16 <ais523> just self-assembling
18:15:31 <ehird`> yes
18:15:36 <ehird`> but that's not how it was viewed, before
18:16:31 <ais523> grr... anyone know of an online BF interpreter that allows characters other than <>+-[],. in the program and that doesn't error out on EOF?
18:18:03 <ehird`> no, should i write one
18:18:22 <ais523> ISTR oerjan pointed me to one before, but I can't remember where it was and Google isn't showing it up
18:18:29 <ais523> writing one may be faster
18:18:40 <ais523> oh, it has to have debug features that show the tape as well
18:18:45 <ais523> otherwise there are plenty
18:19:30 <oklopol> ais523: i've made one
18:19:30 <ehird`> sounds like a job for me, if only i had my awesomejsframework written
18:19:42 <oklopol> some php scribblie
18:19:45 <ais523> oklopol: where is it?
18:19:54 <oklopol> vjn.fi, in applications, i think
18:19:58 * oerjan vaguely recalls the bf online interpreter he found stopped working after a while
18:20:01 <oklopol> not sure, it seems i've been banned from there :)
18:20:02 <ehird`> it's in bash, ais523
18:20:04 <ehird`> that won't be good :)
18:20:16 <ehird`> http://golf.shinh.org/p.rb?Drop+first+line bash entry: read;cat
18:20:37 <ehird`> oklopol: they stole your url submitter! http://vjn.cc/ :p
18:20:54 <ais523> oklopol: how did you end up banned from it?
18:21:05 <ais523> and that isn't an online interpreter running there, but rather its source code
18:21:56 <ehird`> perl submission:
18:21:58 <ehird`> <>;print<>
18:23:05 <oklopol> ehird`: vjn.cc is ours
18:23:06 <oklopol> :)
18:23:17 <oklopol> ais523: wut
18:23:27 <oklopol> it should not be its source...
18:23:42 <oklopol> and i have no idea why i'm banned, one day i just couldn't load the page from this ip anymore
18:23:43 <ais523> sorry, I was wrong
18:23:49 <ais523> it is running there
18:23:54 <ais523> it's just the link to it says 'download'...
18:23:58 <oklopol> :DD
18:23:59 <oklopol> yeah
18:24:07 <oklopol> the interface currently only allows that
18:24:26 <oklopol> php shit will go into "tools", later
18:24:50 <oklopol> what a shame you don't know finnish, the english-finnish converter owns ass :)
18:34:35 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)).
18:35:35 -!- bsmntbombdood has joined.
18:40:19 <ehird`> ais523: wanna help me debug my rpn calc?;)
18:40:25 <ais523> if you like
18:40:29 <ehird`> hehe
18:40:30 <ais523> what's going wrong?
18:40:47 <ehird`> http://pastebin.ca/894140
18:40:55 <ehird`> my output on the fisrt is
18:40:55 <ehird`> 4
18:40:56 <ehird`> ERR
18:40:56 <ehird`> 4
18:40:57 <ehird`> 5
18:41:05 <ehird`> hm
18:41:07 <ehird`> i eff up on ^
18:41:10 <ehird`> but that's not the main problem
18:41:36 <ehird`> and, well
18:41:38 <ehird`> it just messes up
18:41:39 <ehird`> :P
18:42:13 <ais523> what code do you get if you print out $_ rather than evalling it?
18:42:20 <ais523> and isn't the $_= in the last line rather redundant?
18:42:53 <ehird`> i dunno if eval sets $_
18:43:01 <ehird`> nope
18:43:02 <ais523> you don't need to set it
18:43:07 <ehird`> hm
18:43:08 <ehird`> good point
18:43:10 <ais523> because the puts does all your output
18:43:37 <ehird`> the first compiles to:
18:43:38 <ehird`> $*<<2; $*<<2; $*<<$*.pop+$*.pop;puts$*[-1];\n
18:43:38 <ehird`> $*<<0; if(x=$*.pop)==0;puts'ERR'else $*<<x/$*.pop end;puts$*[-1];\n
18:43:38 <ehird`> $*<<1; $*<<$*.pop+$*.pop;puts$*[-1];
18:43:46 <ehird`> hmm
18:43:50 <ehird`> maybe i should base it on the whole input
18:43:54 <ais523> oh, the error is that you still run the next puts() after a division by 0
18:44:01 <ehird`> ahh
18:44:06 <ehird`> easily fixed
18:44:21 <ehird`> gsub"/\n","/ "
18:44:22 <ehird`> :)
18:44:33 <oklopol> ais523: did the interp work? or did you try it
18:44:36 <ehird`> damnit
18:44:38 <ehird`> only kind of works.
18:44:41 <ehird`> for the first test
18:44:45 <ais523> oklopol: I tried it
18:44:55 <oklopol> i think i either ran a thue interp in it, or ran a brainfuck interp in my thue interp
18:44:57 <oklopol> hmm
18:44:57 <ais523> it worked but wasn't very useful for my purposes because all it displayed was the output
18:45:00 <oklopol> i think it was the latter
18:45:07 <oklopol> oh, i see
18:45:18 <oklopol> it was just something i did to learn php
18:45:20 * ais523 is stuck on debugging the input code for their BF uudecode
18:46:14 <ehird`> ais523: anyway, it's weird
18:46:15 <ehird`> because i get
18:46:20 <ehird`> syntax errors.
18:46:22 <ehird`> oh
18:46:23 <ehird`> i don't handle
18:46:24 <ehird`> .
18:46:24 <ehird`> :)
18:47:01 <ehird`> test.rb:10: (eval):1:in `-': nil can't be coerced into Float (TypeError)
18:47:01 <ehird`> from (eval):1
18:47:02 <ehird`> :-|
18:47:12 <ais523> stack underflow
18:47:16 <ais523> but I wonder what caused it?
18:48:10 <ehird`> $*<<9.2; $*<<0.1; $*<<$*.pop+$*.pop;puts$*[-1];\n
18:48:10 <ehird`> 9.3\n
18:48:10 <ehird`> $*<<$*.pop-$*.pop; $*<<5;puts$*[-1];
18:48:13 <ehird`> that's what it gets up to
18:49:02 <ais523> well, that compiled code you show looks like a stack underflow to me
18:49:19 <ais523> gah, the example is wrong AGAIN!
18:49:21 <ais523> sorry
18:49:33 <ais523> I should have written '5 -' on the second line...
18:49:37 <ais523> not sure how I didn't notice that
18:50:09 <ais523> ehird`: it's a problem with the example
18:50:20 <ehird`> sadfkla;sdfjklasdfhkjasdlfhklasjdfhkjlasdfhajklgakdfjgakdfghkjladfghkljadfadfghdfjkhdfg
18:50:27 <ais523> ?
18:50:33 <ehird`> submit a fixed version would you? :P
18:50:38 <ehird`> should just be a copy/paste+fix
18:50:41 * ehird` is lazy
18:53:13 <ais523> OK, done
18:54:22 <ais523> BTW, I managed to beat even GolfScript on the drop-first-line challenge using sed
18:54:26 <ehird`> nice name heh
18:55:24 <ais523> please let it be right this time...
18:55:36 <ehird`> wtf
18:55:36 <ehird`> i'm outputting 4\nERR
18:55:48 <ais523> wrong sort of quotes?
18:55:52 -!- sarehu has quit (Remote closed the connection).
18:56:02 -!- sarehu has joined.
18:56:08 <ehird`> http://www.modeemi.fi/~chery/lisp500/lisp500.c <-- arthur winfrey would be proud
18:56:30 <ehird`> ais523: you messed the examples.
18:56:34 <ehird`> you forgot to add an extra newline to them all.
18:56:35 <ais523> what, again?
18:56:47 <ehird`> so, after pasting, hit 'ENTER' at the end of them exactly once
18:56:48 <ehird`> :P
18:56:56 <ais523> no, leave it as it is
18:57:07 <ais523> the golf entries can append the newline themselves
18:57:25 <ais523> it'll save riling up shinh further
18:57:40 <ais523> (the first version seems to have disappeared already)
18:57:55 <ehird`> ais523: no, it's important
18:57:57 <ehird`> otherwise it's against the spec
18:58:02 <ehird`> i can do it, i guess
18:58:09 <ehird`> i'll apologize in the descr. :)
18:59:39 <ehird`> your output:
18:59:39 <ehird`> 2\n
18:59:41 <ehird`> 9765625\n
18:59:43 <ehird`> 4
18:59:45 <ehird`> expected:
18:59:49 <ehird`> 1\n
18:59:51 <ehird`> 3125\n
18:59:53 <ehird`> 0.5\n
18:59:55 <ehird`> 1
18:59:57 <ehird`> bizzare
19:01:49 <ehird`> ais523: :/
19:01:55 <ais523> what is it this time?
19:02:27 <ehird`> beats me
19:02:59 <ehird`> ah, duh
19:03:00 <ehird`> of course
19:04:11 <ehird`> $*<<5; $*<<2; $*<<$*.pop%$*.pop;puts$*[-1];\n
19:04:11 <ehird`> 2\n
19:04:11 <ehird`> $*<<5; $*<<$*.pop*$*.pop; $*<<5; $*<<$*.pop**$*.pop;puts$*[-1];\n
19:04:11 <ehird`> 9765625\n
19:04:15 <ehird`> it should be:
19:04:17 <ehird`> 1, 3125
19:04:19 <ehird`> :|
19:04:49 <ais523> is << the push instruction?
19:04:55 <ais523> and ** exponentiation?
19:05:08 <ehird`> oh
19:05:11 <ehird`> i do things the wrong way around
19:05:11 <ehird`> :D
19:05:58 <ehird`> ashdfjashdfhkasdfkhasdf
19:06:01 <ehird`> ruby doesn't auto-float
19:06:01 <ehird`> :(
19:06:31 <slereah__> Once you pop, you can't stop.
19:07:28 <ehird`> ais523: aha
19:07:30 <ehird`> i can check with
19:07:38 <ehird`> x.to_i.to_f == x
19:07:42 <ehird`> and then back to int
19:07:44 <ehird`> mwahahaha
19:09:07 <ehird`> asdfahsdfahsdfhasdfhklasdfasdfadfhasdjflsdhasdfhlasdfhklasdfhdfhdfasdfsdf
19:10:24 <ehird`> ais523: heh, it works interactively
19:10:25 <ehird`> :D
19:12:46 <ehird`> ais523: http://pastebin.ca/894169
19:12:57 <ais523> does it work yet?
19:13:00 <ehird`> nope
19:13:04 <ehird`> it handles stuff wrong
19:13:08 <ehird`> because
19:13:13 <ehird`> ruby's / always produces an int unless given a float
19:13:19 <ehird`> so i have to convert to a float and check for .0
19:13:22 <ehird`> but it isn't working.
19:13:35 <ehird`> on the second example my last line of output is 1.0
19:13:43 <ehird`> oh
19:13:49 <ehird`> ais523: your examples are wrong.
19:13:53 <ais523> not again...?
19:13:56 <ais523> what is it this time?
19:13:58 <ehird`> you expect 0.5 2 * to produce an integer 1
19:14:10 <ehird`> basically, you expect everything to coerce to integers when possible
19:14:10 <ehird`> :|
19:14:18 <ais523> that was your example, not mine
19:14:33 <ais523> but yes, why not?
19:15:54 <ehird`> ig uess so
19:15:55 <ehird`> :P
19:16:14 <ais523> drop first line is coming along well
19:16:28 <ais523> my Brainfuck and Befunge-93 entries are exactly the same bytecount
19:17:11 <ehird`> eh, i give up on my rpn
19:17:12 <ehird`> :)
19:17:43 <ais523> I actually managed to reduce the Befunge to 20 bytes simply by deleting a stray final newline
19:17:53 <ais523> Anarchy Golf seems to be treating \n as \n\r for some reason
19:17:59 <ehird`> btw
19:18:00 <ais523> maybe if I use file upload, it'll be a byte shorter...
19:18:10 <ehird`> i don't get the 'vi' language
19:18:13 <ehird`> for drop first line i tried:
19:18:13 <ehird`> dd
19:18:15 <ehird`> but it didn't work
19:18:33 <ehird`> in fact, everything i try has no effect
19:19:04 <ehird`> ais523: by the way
19:19:16 <ehird`> how's this for a quine and palindromic quine:
19:19:44 <ehird`> puts"aa";File.open("test.rb"){|x|x.puts"aa"}
19:19:45 <ehird`> :)
19:19:54 <ais523> that isn't palindromic
19:19:56 <ais523> and it's a cheat
19:20:01 <ehird`> ais523: aah, but read it
19:20:03 <ehird`> it becomes palindromic
19:20:05 <ehird`> magically.
19:20:23 <ais523> what, it overwrites its own source code to change it to its own output
19:20:26 <ais523> that is very cheating
19:20:32 <ehird`> yes, but very clever
19:20:37 <ais523> who wrote that?
19:20:39 <ehird`> me
19:20:48 <ais523> wait till after the deadline, then you can try it
19:20:52 <ehird`> aww, anagolf looks at the program before executing
19:20:52 <ehird`> :|
19:21:01 <ais523> OTOH, I think shinh said he was banning file save
19:21:36 * ais523 managed to save one char on a newline-containing entry by using file upload so that \n didn't have a \r auto-added
19:24:21 <ais523> BTW, the vi entry for drop first line is apparently ddZZ
19:24:25 <ehird`> ais523: give me a long chunk of text so i can avoid cheaters in a challenge i'm making
19:24:30 <ais523> it says so on the front page of golf.shinh.org itself
19:24:37 <ehird`> ah i see, you have to save
19:24:42 <ais523> and I submitted it with an appropriate (comment)
19:24:52 <ehird`> oh crap, there's ALREADY taht challenge
19:24:52 <ehird`> :(
19:24:57 <ais523> no there isn't
19:25:01 <ehird`> oh
19:25:02 <ehird`> good
19:25:02 <ehird`> heh
19:25:03 <ehird`> :)
19:25:11 <ais523> I searched for it and shinh apparently just used it as an example without realising it hadn't been submitted
19:25:33 <ehird`> perhaps it should be a 'never ending' one
19:25:37 <ehird`> because of its ubiquity
19:25:53 * ais523 likes to be able to see the source code when the challenge ends
19:26:19 <ais523> for a long chunk of text you could copy one of the articles from esolangs.org
19:26:24 <ais523> it's all public domain, after all
19:26:38 <ehird`> eh
19:26:41 <ehird`> i'm using lorem ipsum
19:27:41 <ais523> hmm... that 'delete first line' might even be reasonably plausible in HOMESPRING
19:27:46 <ais523> and it's hard to write anything in that language
19:27:51 <ais523> except cat
19:30:32 <ehird`> ais523: with vi how can i chop off the last eof of a file? :|
19:30:47 * ais523 didn't even realise it was possible to delete an EOF
19:30:56 <ais523> wouldn't that cause the file to run into the next one on a disk?
19:31:06 <ehird`> err
19:31:07 <ehird`> newline
19:31:07 <ehird`> heh
19:31:08 <ehird`> :D
19:31:17 <ehird`> also, that would be cool
19:31:18 <ehird`> :P
19:31:19 * ais523 is not very used to vi
19:33:14 <ehird`> ais523: http://golf.shinh.org/p.rb?Encoder+decoder
19:33:22 <ehird`> i believe the example is real enough to give real submissions
19:33:22 <ehird`> ;)
19:33:34 <ehird`> also, i haven't seen that silly encryption elsewhere
19:33:42 <ehird`> even though it does quite a good job of making text jumbled 'randomly'
19:36:17 <ehird`> actually
19:36:21 <ehird`> a vi solution to that might be easy
19:36:21 <ehird`> :D
19:36:22 * ais523 has done the encode in 24 bytes of BF
19:36:29 <ehird`> ais523: wow. show?
19:36:36 <ehird`> and -- just now?
19:36:39 <ais523> ,,,,,,,,.,+[>,.,+]<[-.<]
19:36:42 <ais523> yes, just now
19:36:46 <ehird`> okay.
19:36:50 <ais523> the commas at the start are to skip over the string 'encode'
19:36:54 <ehird`> maybe i should have made seperate 'encode' and 'decode'
19:36:55 <ehird`> :)
19:37:39 <ais523> no, doing it like this gives BF less of an unfair advantage :)
19:37:47 <ais523> the decode is substantially harder, by the way
19:38:10 <ehird`> ais523: but isn't it better to have seperate decode and encode programs?
19:38:15 <ehird`> instead of mashing two golf challenges into one
19:38:17 <ais523> probably
19:38:20 <ais523> but you've submitted it now
19:38:26 <ehird`> darn :)
19:39:40 <ais523> the problem with the decode is finding the middle of the string in advance
19:39:46 <ais523> BF isn't very good at that
19:39:58 <ehird`> indeed
19:39:58 <ehird`> but
19:39:59 <ehird`> same with sed
19:40:00 <ehird`> etc
19:40:02 <ais523> I suppose I could make a semicheat entry that simply had it hardcoded...
19:40:03 <ehird`> so.. i'm worried
19:40:16 <ehird`> http://www.antlr.org/wiki/display/CS652/How+To+Read+C+Declarations # this would be a good golf challenge
19:41:09 <ais523> ah, good old cdecl
19:42:25 <ehird`> yes
19:46:14 <ais523> "This extremely powerful program can actually add two arbitrary digits together, in only twenty seconds or so on a fast machine!"
19:46:29 <ais523> -- from the HOMESPRING docs
19:46:47 <slereah__> ADDITION IN TWENTY SECONDS?
19:46:50 <slereah__> Boy oh boy!
19:47:03 <ais523> single-digit only
19:47:15 <slereah__> In unary?
19:47:26 <ais523> I'm not entirely sure how the program works
19:47:39 <slereah__> 1) Input
19:47:41 <ais523> although it recognises input and produces output by lookup table, which is never a good sign
19:47:42 <slereah__> 2) ???
19:47:46 <slereah__> 3) Profit!
19:48:12 <oerjan> 4) Blame someone else
19:48:19 <slereah__> The jews?
19:48:37 <oerjan> the scientologists are good to blame these days
19:49:01 <oerjan> hm, maybe not if you want to _keep_ that profit
19:49:12 <slereah__> The 10th of february, be very wary :o
19:49:41 <slereah__> The internet lacks a Guy Fawkes smiley.
19:50:01 <oklopol> 1. steal underpants 2. ??? 3. profit
19:50:05 <slereah__> |:{)>
19:50:44 <oerjan> :[-< <%%%
19:51:01 <oklopol> 8===D - - - - O:
19:51:10 <oklopol> i need coke
19:51:26 <slereah__> 8=m=D
19:51:30 <slereah__> 8m==D
19:51:33 <slereah__> 8=m=D
19:51:35 <oklopol> :)
19:51:37 <slereah__> 8==mD
19:51:40 * oerjan thinks oklopol must have misunderstood his smiley
19:51:41 <oklopol> hot stuff
19:51:44 <slereah__> 8==mD-------
19:51:52 <oerjan> that's an effigy, on a bonfire, just so you know it
19:52:00 <oklopol> oh
19:52:06 <lament> i'm trying to decide on the order in which i ban you all.
19:52:13 <lament> and the kick messages
19:52:16 <slereah__> Alphabetical?
19:52:30 <oklopol> :D
19:52:38 <lament> slereah__: too simple. It tries to be impartial, but really isn't
19:52:44 <oerjan> i say so too. especially as o comes after l.
19:52:54 <ehird`> ais523: http://golf.shinh.org/p.rb?Calculator this one's clever :)
19:52:54 <slereah__> Random number generator?
19:52:57 <ehird`> and not that easy to cheat!
19:53:04 <ais523> and s comes last of the currently active people, and a comes first...
19:53:04 <ehird`> well, i mean
19:53:05 <ehird`> you can do
19:53:10 <ehird`> random selection
19:53:11 <ehird`> but :)
19:53:24 <lament> we could do it by popular vote
19:53:30 <lament> but which voting system?
19:53:30 -!- Tritonio_ has joined.
19:54:13 <slereah__> We declare states in the channel, and each states have a certain weight on the vote.
19:54:14 <ehird`> ok
19:54:17 <slereah__> Hell, if it works for the country that invented freedom and Coca Cola, why not here!
19:54:19 <ehird`> slereah__: ais523: oklopol: you're all in my state
19:54:25 <ehird`> everyone else is in the other state
19:54:35 <ehird`> we vote to kick everyone in the other state.
19:54:46 * ais523 doesn't see why they need to be kicked
19:55:07 <slereah__> We are Suppressive persons :o
19:55:44 <ehird`> ais523: it has to be them or us
19:55:45 <ehird`> :|
19:55:45 * oerjan starts a communist revolution in his state
19:56:20 <ehird`> main(c,x){gets(x);while((c=getchar())>-1)putchar(c);}
19:56:28 <ehird`> that's far larger than is neccessary for drop, isn't it ais523?
19:56:32 <ais523> probably
19:56:38 <ais523> using gets/puts could be faster
19:56:57 <ais523> BTW, the calculator problem doesn't look hard
19:56:59 <slereah__> You can declare variables in main? :o
19:57:03 * slereah__ sucks at C
19:57:10 <ais523> slereah__: it's K&R syntax
19:57:12 <oerjan> Hell, if it works for the country that invented freedom (in principle) and Borshch, why not here!
19:57:14 <ehird`> slereah__: i abuse argc, argv.
19:57:19 <slereah__> Kellogs and...?
19:57:20 <ais523> and UB at that, but the compiler would be unlikely to notice
19:57:25 <ehird`> ais523: and it's hard because it spreads over runs ;)
19:57:41 <ehird`> also, my 25char haskell entry: main=getLine>>interact id
19:57:43 <ehird`> what was yours?
19:57:47 <ais523> oh, I thought you were looking for an embed solution
19:58:00 <ais523> I would have written (embed) if I'd noticed
19:58:19 <ehird`> submit the same one and say
19:58:22 <ehird`> (^embed)
20:01:15 <ehird`> puts x=eval x=File.read("x")rescue x=eval x[0..-2]
20:01:18 <ehird`> that is CONFUSING
20:01:18 <ehird`> :D
20:01:20 <ais523> I did
20:01:34 <ais523> what does rescue do in Ruby?
20:01:40 -!- Hiato has quit (Read error: 110 (Connection timed out)).
20:02:31 <ehird`> ais523: x rescue y is equiv to:
20:02:37 <ehird`> begin; x; rescue; y; end
20:02:44 <ehird`> where rescue with no clause means 'every error'
20:02:57 <ehird`> it's a non-descriminate try/catch with the scope of one expression.
20:02:57 <ais523> like catch?
20:03:01 <ehird`> yes.
20:03:03 <ais523> OK
20:05:00 <oerjan> catch/halt fire. or was that the other way around...
20:05:11 <ehird`> ais523: i wish i had allowed exec
20:05:17 <ehird`> i was going to do a vi solution which called out to ruby after compiling
20:05:17 <ehird`> :-D
20:05:44 <ais523> but that would be less cool than a non-cheat entry in pure vi
20:06:51 <ehird`> :)
20:09:59 <ehird`> ais523: bash question
20:10:07 <ehird`> in $((x)), is there a way to 'rescue' on error?
20:10:17 <ais523> not sure
20:10:23 <ais523> maybe you could do something using trap
20:32:41 -!- RedDak has joined.
20:53:43 -!- cherez has quit ("Leaving.").
20:54:57 -!- cherez has joined.
20:56:32 -!- cherez has quit (Client Quit).
20:56:38 -!- cherez has joined.
20:56:45 -!- cherez has quit (Client Quit).
20:56:52 <ais523> I managed the decoder part of the encoder decoder in 111 bytes of BF, but it times out on anagolf
20:56:55 -!- cherez has joined.
20:57:04 <ais523> string reverses are not very efficient when done character by character in unary...
20:57:27 <ais523> on my computer, the example took 3.626 seconds to run
20:57:33 <ais523> which is higher than the timeout of 1.5 seconds
21:03:08 -!- oerjan has quit ("Good night").
21:06:27 <ais523> anybody still here?
21:07:41 <RodgerTheGreat> I am here
21:07:57 <RodgerTheGreat> 'sup, ais523?
21:08:02 <ais523> nothing much
21:08:11 <ais523> but I was wondering how the conversation had managed to die down
21:08:22 <ais523> presumably ehird` was busy working on something, as was I
21:08:30 <ais523> we were golfing...
21:08:35 -!- Sgeo has joined.
21:09:14 <ais523> wow, someone managed the encoder decoder in 91 bytes of brainfuck
21:09:23 <ais523> which is smaller and faster than my separate encoder/decoder...
21:09:31 <ais523> there must be a trick to the decoder that I haven't noticed
21:09:39 <ais523> maybe they hardcoded the number of bytes in the input
21:09:42 <Sgeo> Hi all/No all/Sal cxiu/Coi
21:09:47 <ais523> hello
21:10:18 * Sgeo tries to get people to look at the recent changes on the esolangs.org wiki
21:10:28 <Sgeo> Anything interesting?
21:10:46 <ais523> one new page
21:10:52 <ais523> and me clearing up some spam
21:11:12 <ais523> it seems that you registered an example PSOX domain...
21:11:46 <Sgeo> I've silently finished PSOX 1.0 and am going to release it now
21:11:55 <Sgeo> Just kidding, but I'm regaining my interest in PSOX
21:12:12 <ais523> it might come in useful for adding file handling capabilities to INTERCAL
21:12:23 <ais523> how unusual is it?
21:13:57 <ais523> actually, one mildly related idea that I've been thinking about is some sort of massive compatibility layer that can be used to link programs in any language with programs in any other language
21:14:01 <ais523> especially esolangs
21:14:33 <ais523> not sure about the details, but one idea I had was to use an ASCII art-style description file which was a flowchart showing how things linked together
21:18:44 -!- GregorR has changed nick to GregorR-L.
21:19:19 -!- GregorR-L has changed nick to GregorR.
21:22:30 -!- cherez has left (?).
21:58:34 -!- helios24 has quit ("Leaving").
22:01:05 -!- RedDak has quit (Remote closed the connection).
22:10:33 <ais523> ehird`: if you're still here, you might want to know that the RPN challenge is correct now
22:10:42 <ais523> I've entered a working 155-byte Perl entry
22:11:19 <ais523> 152 with UNIX newlines
22:15:08 -!- ais523 has quit ("I have to go now").
22:21:37 <ehird`> who's alive
22:23:49 <Sgeo> me
22:24:03 <RodgerTheGreat> ehird`: no he isn't
22:24:19 <ehird`> RodgerTheGreat: ???
22:24:55 <RodgerTheGreat> I'll assume you aren't familiar with "who's on first"
22:25:22 <Sgeo> Who
22:25:25 <Sgeo> Who's dead?
22:25:44 * Sgeo didn't get it until RodgerTheGreat mentioned it
22:26:39 <Sgeo> ehird`, did you hear the news about PSOX?
22:26:53 <ehird`> it's still overengineered vaporware?
22:27:34 <Sgeo> I'm releasing PSOX 1.0 now! --- not really, but I regained interest
22:28:02 <ehird`> we should have a '600 line esolang' contest
22:28:15 <ehird`> the premise: implement the coolest esolang that isn't minimalistic in 600 lines of C
22:29:03 <Sgeo> Define 'minimalistic' such that you can sensibly judge every conceivable esolang.
22:29:46 <Sgeo> Also, I set up the PRI registration page
22:30:09 <Sgeo> http://esolangs.org/wiki/PSOX/PRI
22:32:22 <ehird`> Sgeo: no.
22:32:27 <ehird`> Glass is not minimal, brainfuck is.
22:34:30 -!- Tritonio_ has quit (Remote closed the connection).
22:37:09 <Sgeo> I'm thinking of changing file descriptors
22:37:54 <Sgeo> So that there aren't seperate functions for I and O, and ability to manipulate FDs other than the current one
22:37:56 -!- oklopol has changed nick to oklofok.
22:40:35 <ehird`> #So that there aren't seperate functions for I and O# that's retarded
22:41:03 <Sgeo> I meant, there's currently a seek function for infile descriptors and another for outfile descriptors
22:42:03 <Sgeo> ehird`, oklofok comments?
22:42:16 <oklofok> Sgeo: YEAH!
22:42:20 <ehird`> i don't like psox, much.
22:43:11 * Sgeo goes to make the first change in over a month
22:43:30 <Sgeo> ehird`, because you see it as vaporware, or are there other reasons?
22:44:44 <ehird`> eh.
22:46:01 <Sgeo> I don't think the description of FDs in psox.txt needs to change
22:48:38 <Sgeo> Hm, seeking through the current file descriptor will require knowing what the current file descriptor is..
22:48:41 <ehird`> fibs=1:1:zipWith(+)fibs(tail fibs)
22:48:41 <ehird`> main=do mapM print$take 46 fibs;return()
22:48:44 <ehird`> that could be shortened, heavily
22:49:36 <Sgeo> Maybe I should make 0 be a shorthand for current FD, and 1 is STDFD
22:49:53 * Sgeo goes to do that
22:53:36 <Sgeo> hm, actually, there's an oddity
22:54:13 <Sgeo> there is no "current" file descriptor, just the current infile descriptor and outfile descriptor
22:54:33 <Sgeo> So I can't use 0 to mean current FD
22:54:47 <Sgeo> unless 0 is current outfile, and 1 is current infile. 2 is stdfd
22:58:33 -!- jix has quit ("CommandQ").
23:02:54 <Sgeo> Reached revision 50!
23:03:01 <Sgeo> Well, not 50!, but 50
23:03:10 <ehird`> you know what would be cool?
23:03:15 <ehird`> an esolang based on MapReduce
23:04:11 <Sgeo> http://trac2.assembla.com/psox/changeset?new=trunk%2Fspec%2Fpsox.txt%4050&old=trunk%2Fspec%2Fpsox.txt%4038
23:10:13 <Sgeo> I'm leaving in the out_ and in_ separate in the impl, because of STDFD..
23:10:16 <Sgeo> oshi-
23:11:22 <Sgeo> n/m, I'll make stdout 0x02 and stdin 0x03
23:11:35 <Sgeo> Unless I remove the "current file descriptor" shortcuts
23:12:57 <Sgeo> ehird`, any thoughts?
23:13:07 <ehird`> none because i have not looked.
23:14:08 <ehird`> who was that guy who beat malbolge with a rusty stick and mastered its secrets?
23:14:47 <Sgeo> I really should separate stdin and stdout
23:14:57 <Sgeo> But what about the shortcuts?
23:15:25 <Sgeo> Do I really need shortcuts? Maybe I could have a function return the current fd?
23:16:43 <Sgeo> oklofok, paying any attention?
23:17:44 <Sgeo> ehird`?
23:17:55 <ehird`> no because i don't care about psox
23:24:02 -!- timotiis_ has quit ("leaving").
23:29:55 -!- olsner has joined.
23:37:32 <ehird`> so
23:37:41 <ehird`> anyone know of an esolang that's in dire need of an impl but nobody's bothered?
23:41:47 <olsner> what happened to ninjacode?
23:42:03 <ehird`> olsner: it's still going to be written; it's just on the back-burner
23:42:09 <ehird`> nc2 is the main priority now, for me: #nc2
23:42:21 <olsner> ninjacode 2?
23:42:36 <ehird`> ssh, i'm trying to avoid expanding the name :-)
23:42:44 <ehird`> kind of like how the J site desperately avoids mentioning APL...
23:43:03 <ehird`> olsner: you got bored fast
23:43:36 <olsner> heh, late night at work, so I'll be entering daily hibernation as soon as possible
23:45:27 <ehird`> http://esolangs.org/w/index.php?title=FURscript&diff=6498&oldid=6496 <--I think this is probably better than the previous revision
23:47:48 <olsner> besides the profanity, I think they've got something going there
23:47:53 -!- zbrown has left (?).
23:51:41 <ehird`> olsner: oh noes, prrofanity, what will we do :D
23:54:06 -!- sebbu has quit ("@+").
23:54:31 <ehird`> hm
23:54:39 <ehird`> GolfScript was created by the same guy as Minus
23:55:30 <ehird`> !help
23:55:32 <EgoBot> help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon
23:55:34 <EgoBot> 1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl
2008-02-07
00:01:57 -!- sarehu has quit (Remote closed the connection).
00:04:05 -!- sarehu has joined.
00:12:36 <ehird`> anyone alive?
00:17:50 <ehird`> I want to kill this person:
00:17:54 <ehird`> 'You use manuals? Wow. I think your problems are bigger than coldfusion.'
00:19:26 <pikhq> ehird`: That's. . .
00:19:35 <ehird`> pikhq: Beautiful? Yeah. I know.
00:20:05 * pikhq hurts
00:20:12 <pikhq> That is just painful to see.
00:20:38 <ehird`> pikhq: I'm sure you can manage. :P
00:22:21 -!- RodgerTheGreat has quit (Read error: 104 (Connection reset by peer)).
00:29:10 <ehird`> pikhq: Any thoughts on a hypothetical MapReduce-alike esolang?
00:29:14 <ehird`> I have no idea what it would be like. :P
00:34:43 <pikhq> None.
00:34:54 <ehird`> aww
00:39:27 <ehird`> pikhq: do you think it's a good idea, at least? ;)
00:40:10 <pikhq> Could be.
01:04:03 -!- RodgerTheGreat has joined.
01:10:17 <ehird`> hey RodgerTheGreat
01:10:34 <RodgerTheGreat> hi, ehird`
01:12:20 <Sgeo> Hi all
01:12:31 <Sgeo> pikhq, remember the stuff you did for PEBBLE wrt PSOX?
01:12:50 <Sgeo> If you had anything with the file descriptor stuff, it will need to be redone
01:13:19 <Sgeo> Also, I can't decide if I should make 0x00 short for current outfile, 0x01 current infile, 0x02 stdout, 0x03 stdin
01:13:27 <Sgeo> Or should I get rid of the shortcuts?
01:13:47 <Sgeo> pikhq, awake?
01:13:51 <Sgeo> Anyone awake?
01:14:01 <Sgeo> RodgerTheGreat?
01:14:31 <RodgerTheGreat> hm
01:15:25 <RodgerTheGreat> 0x00 for stdout, 0x01 for stdin, 0x02 for current outfile and 0x03 for current infile.
01:15:36 <RodgerTheGreat> you should put them in order of how commonly they'll be used
01:15:39 -!- sarehu has quit (Remote closed the connection).
01:15:49 -!- sarehu has joined.
01:15:57 <Sgeo> 0 for out, 1 for in
01:16:17 <Sgeo> And the way to reset is with using the functions with standard fds
01:16:24 <Sgeo> But possibly current will be used more?
01:18:36 <RodgerTheGreat> I dunno
01:18:46 <RodgerTheGreat> at some point it just becomes arbitrary
01:19:42 <Sgeo> Is it too many special FDs?
01:22:24 * Sgeo puts it in
01:22:27 <Sgeo> and commits
01:26:07 <RodgerTheGreat> and a decision is reached!
01:26:58 <ehird`> RodgerTheGreat: know of any esolangs desperately needing a good impl but there are none attempted?
01:27:13 <RodgerTheGreat> hm.
01:27:59 <RodgerTheGreat> none come immediately to mind, but lemme crawl esolang
01:28:47 <Sgeo> Hm, should I bother putting in a feature to find out the current descriptor number, or should I not bother?
01:28:57 <Sgeo> It wouldn't be all too easy for me to add it
01:29:05 <RodgerTheGreat> doesn't seem tremendously important
01:29:35 <RodgerTheGreat> bingo... http://esoteric.voxelperfect.net/wiki/Category:Unimplemented
01:30:08 <ehird`> RodgerTheGreat: bit unspecific :)
01:30:18 <RodgerTheGreat> yeah, I'm looking through the list
01:30:50 <RodgerTheGreat> this could be an easy start: http://esoteric.voxelperfect.net/wiki/JumpFuck
01:31:06 <ehird`> RodgerTheGreat: i made that
01:31:07 <ehird`> lmao
01:31:11 <RodgerTheGreat> haha
01:31:14 <ehird`> that was my first esolang
01:31:14 <ehird`> :p
01:31:26 <RodgerTheGreat> it's a little like my idea for "Def-BF"
01:33:01 <ehird`> heh
01:33:04 <ehird`> php infinite loop: #!
01:33:05 <ehird`> (seriously.)
01:33:52 <RodgerTheGreat> oh, man- this sounds like a fun one: http://calamari.reverse-dns.net:980/files/bubble/bubble.txt
01:34:21 <Sgeo> Any glaring issues with http://trac2.assembla.com/psox/browser/trunk/impl/psox/fd.py ?
01:34:48 <ehird`> RodgerTheGreat: haha :)
01:34:54 <ehird`> that would be pure hell on earth in c, though
01:34:56 <RodgerTheGreat> seems alright
01:35:22 <ehird`> RodgerTheGreat: the dynamic shuffling of stuff, though
01:36:30 <ehird`> http://golf.shinh.org/reveal.rb?Timeout/kt3k/1196790123&z8b <-- a one character infinite loop. what fun
01:36:47 <RodgerTheGreat> MOV 0,1
01:37:12 <ehird`> RodgerTheGreat: pretty much what that does
01:37:17 <ehird`> but it's ascii!
01:37:18 <ehird`> 'a'
01:37:29 <ehird`> 'x' also works
01:37:36 <ehird`> and i think one-byte ascii machine code infinite loops pretty much own
01:37:47 * Sgeo suddenly sees a glaring issue
01:38:48 <Sgeo> Forgot to change the outfile and infile to filelike in read() and write()
01:38:50 <olsner> LD H,C? which architecture is that?
01:38:56 <ehird`> olsner: z80
01:39:08 <olsner> aha
01:39:43 <ehird`> i think what we need
01:39:49 <ehird`> is an ascii-only machine emulator thing
01:39:54 <ehird`> so we can splurge like
01:40:07 <ehird`> sdf#'ยฃ:$opjzxiub98yjjisad]][OP")_+
01:40:09 <ehird`> and see what it does
01:44:21 <ehird`> I wonder what a PHAWN impl in c would be like.
01:46:11 <olsner> "Phawn is still on the drawing board" haha
01:47:33 <ehird`> wait, what's funny about that
01:47:33 -!- olsner has quit ("Leaving").
01:47:42 <RodgerTheGreat> PHAWN?
01:51:37 -!- Tritonio_ has joined.
01:58:36 <ehird`> RodgerTheGreat: phawn.
02:00:23 -!- Corun has quit ("Arr").
02:23:18 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
02:33:43 -!- ehird` has quit ("K-Lined by peer").
03:10:35 -!- GreaseMonkey has joined.
04:27:12 -!- immibis has joined.
05:29:35 -!- oerjan has joined.
05:32:13 -!- sarehu has quit (Read error: 110 (Connection timed out)).
06:00:21 -!- XMLCloser has joined.
06:06:10 -!- XMLCloser has quit (Read error: 104 (Connection reset by peer)).
06:10:14 -!- sarehu has joined.
06:16:07 -!- XMLCloser has joined.
06:36:23 -!- sarehu has quit (Read error: 110 (Connection timed out)).
06:58:06 <immibis> This is text <thisIsPseudoXML>
06:58:07 <XMLCloser> </XMLCloser> </thisIsPseudoXML> </immibis>
06:58:49 <bsmntbombdood> </immibis>
06:58:50 <XMLCloser> Not well-formed XML! </XMLCloser>
06:58:58 <immibis> <This is="XML" which="Shows" XMLCloser="has deficiencies">
06:58:59 <XMLCloser> </XMLCloser> </This is="XML" which="Shows" XMLCloser="has deficiencies"> </immibis>
06:59:09 <bsmntbombdood> that means shut the fuck up
06:59:10 <XMLCloser> </XMLCloser> </bsmntbombdood>
06:59:56 -!- XMLCloser has quit (Read error: 104 (Connection reset by peer)).
07:02:16 -!- GreaseMonkey has set topic: THIS IS NOT THE TOPIC | I AGREE.
07:03:12 -!- immibis has set topic: 10 THIS IS NOT THE TOPIC : I AGREE : GOTO 10.
07:37:13 -!- olsner has joined.
07:38:02 -!- 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. and dlte ur files. and email ths to).
07:56:48 -!- Tritonio_ has quit (Remote closed the connection).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:08:29 -!- CodeMangler has joined.
08:33:03 -!- 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. and dlte ur files. thx.").
09:16:19 -!- oerjan has quit ("leaving").
09:38:13 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
09:39:18 -!- puzzlet has joined.
10:34:15 -!- Figs has joined.
10:37:02 <Figs> >.<
11:04:41 -!- jix has joined.
11:10:18 <Figs> Bah
11:10:26 <Figs> this assignment is driving me nuts
11:10:53 <Figs> basically I have to reverse engineer the rest of the project to figure out what the hell the functions I'm supposed to write should do
11:11:22 <oklofok> immibis is the greatest :)
11:11:28 <Figs> since there's barely any documentation anywhere explaining the purpose of anything
11:11:34 <Figs> immibis?
11:11:39 <oklofok> yeah
11:11:48 <Figs> what is immibis?
11:11:59 <oklofok> it's a programming language
11:12:50 <Figs> I don't see it on the wiki
11:12:59 <oklofok> look a bit deeper
11:13:15 <oklofok> immibis is a guy occasionally on this channel
11:13:16 <Figs> I found a user
11:13:21 <oklofok> yarr
11:13:23 <oklofok> him
11:13:29 <Figs> he's a programming language?
11:13:32 <Figs> :P
11:14:18 <oklofok> no, he is a lie!
11:14:26 <Figs> the cake is a lie.
11:14:32 <Figs> I haven't played that game.
11:14:51 <oklofok> the CAKE? the *CAKE*?? the cake is on fire
11:15:07 <Figs> http://limerickdb.com/?286
11:16:03 <Figs> There once was a buggy AI/Who decided her subject should die/When the plot was uncovered/The subject discovered/That sadly, the cake was a lie.
11:19:45 <Figs> Haa, this is a good one: http://limerickdb.com/?291
11:20:44 -!- oklofok has quit (Read error: 104 (Connection reset by peer)).
11:22:03 -!- oklopol has joined.
11:35:39 -!- jix has quit ("CommandQ").
12:11:16 -!- slereah__ has quit (Read error: 110 (Connection timed out)).
12:11:34 -!- slereah__ has joined.
12:35:37 -!- sebbu has joined.
13:02:42 -!- Figs has quit ("Java user signed off").
13:07:32 -!- puzzlet has quit (Remote closed the connection).
13:07:36 -!- puzzlet has joined.
13:13:46 -!- helios24 has joined.
13:17:19 -!- slereah__ has quit (Read error: 104 (Connection reset by peer)).
13:18:41 -!- Slereah has joined.
14:17:39 -!- timotiis has joined.
14:19:52 -!- Slereah has quit (Read error: 104 (Connection reset by peer)).
14:19:53 -!- slereah__ has joined.
14:43:20 -!- jix has joined.
15:23:52 -!- slereah__ has changed nick to Slereah.
16:31:24 -!- CodeMangler has quit (Read error: 113 (No route to host)).
17:09:15 -!- oerjan has joined.
17:58:04 -!- asiekierka has joined.
17:58:05 <asiekierka> Hello
17:58:17 <Slereah> Hi
17:58:26 <asiekierka> I wonder what you consider "the best esoteric language", and what you consider "the easiest esoteric language"
17:58:52 <Slereah> Well, I'd say "mine", but it would be a little biased.
17:59:01 <Slereah> I like the concept of Gravity.
17:59:11 <Slereah> Also Rube
17:59:46 <asiekierka> What about the easiest one?
17:59:57 -!- RedDak has joined.
18:00:22 <Slereah> I mostly use Turing Tarpits, so I can't really say the easiest ones.
18:00:31 <Slereah> Since they're usually not easy.
18:00:48 <lament> the best esoteric language is clearly.
18:01:08 <asiekierka> I mean, the easiest, I.E. easiest to implement, but still sorta easy to use.
18:02:04 <Slereah> Well, BF is easy to implement. And sort of easy to use, with loose definition of easy.
18:06:25 <Slereah> I'd say, look for a high-level language.
18:06:36 <Slereah> Unless that's not esoteric enough for you!
18:06:43 <asiekierka> *ahem*
18:06:55 <asiekierka> what do you consider the MOST ESOTERIC LANGUAGE EVER
18:07:08 <Slereah> Malbolge?
18:07:33 <Slereah> Although it still uses an ordinary machine, sort of.
18:09:02 <asiekierka> you're dead for mentioning Malbolge. it's way too hard for an ordinary person.
18:09:21 <asiekierka> if you have IQ 155+, then you'll be able to understand it
18:09:33 <olsner> if ordinary people could do it, it wouldn't be esoteric, now would it?
18:10:12 <Slereah> Only INTERNET SUPERHEROES!
18:11:05 <asiekierka> OISC is great, it's the most minimal thing ever.
18:11:11 <asiekierka> ZISC, on the other hand, it... SUCKS
18:11:16 <asiekierka> it takes instructions in a different form
18:11:23 <asiekierka> ZISC - Zero Instruction Set Computer
18:11:25 <olsner> zisc? isn't that ibm's old neural net processor?
18:11:41 <Slereah> OISC is cheating.
18:11:41 <Slereah> It has three arguments :o
18:12:05 <olsner> yeah, it's like having EVAL as an opcode
18:12:14 <asiekierka> but it's only one instruction.
18:13:13 <Slereah> But three symbols.
18:13:18 <asiekierka> you can minimalize it to two instructions with two arguments each.
18:13:29 <lament> olsner: having EVAL as an opcode would not be very useful if it were the only instruction.
18:13:37 <Slereah> Well, Lazy K has two instructions.
18:13:47 <asiekierka> JINE (Jump If NEgative) <variable> <address>
18:13:51 <lament> lazy k does not have two instructions.
18:13:55 <olsner> lament: depends on what it takes - let's say it takes a pointer to a block of lisp code :P
18:13:56 <asiekierka> SUB (SUBtract) <vara> <varb>
18:14:05 <Slereah> Well, functions.
18:14:13 <Slereah> I'm not that good on terminology.
18:34:55 -!- RedDak has quit (Read error: 110 (Connection timed out)).
18:48:55 -!- faxathisia has joined.
19:19:58 -!- sarehu has joined.
19:49:07 -!- sarehu has quit (Read error: 110 (Connection timed out)).
20:08:38 -!- mental has joined.
20:19:47 -!- lament has quit (Connection timed out).
20:25:01 -!- ehird` has joined.
20:25:03 -!- ehird` has quit (Read error: 104 (Connection reset by peer)).
20:25:28 -!- asiekierka has quit.
20:25:32 -!- ehird` has joined.
20:27:26 -!- Slereah has quit (Remote closed the connection).
20:27:35 -!- Slereah has joined.
20:34:20 -!- oerjan has quit ("Good night").
20:46:11 -!- jix has quit ("CommandQ").
21:08:46 -!- mental has changed nick to lament.
21:10:53 -!- helios24 has quit ("Leaving").
21:16:59 <ehird`> GregorR: I am going to write malloc&co for c2bf.
21:17:06 <ehird`> Maybe even a garbage collector. <:O>
21:20:58 -!- faxathisia has quit (Read error: 104 (Connection reset by peer)).
21:24:13 <ehird`> ERROR in generation parameter_declaration: Type name parameters are not yet supported.
21:24:14 <ehird`> brilliant
21:26:37 <ehird`> pikhq: pebble2 should be based on c2bf!
21:26:44 <ehird`> but with a whole load of primitives for cool brainfuck stuff.
21:59:27 <ehird`> :P
22:11:14 -!- RedDak has joined.
22:11:21 <pikhq> ehird`: God no.
22:11:27 <ehird`> :( y nawt
22:11:30 <pikhq> If anything, c2bf should target PEBBLE.
22:16:02 <ehird`> bah
22:16:03 <ehird`> why
22:46:39 <timotiis> ls
22:46:41 <timotiis> damnit
22:46:48 <timotiis> this isn't the emacs window, is it?
22:47:01 <Slereah> Heh.
22:50:19 -!- timotiis has quit ("leaving").
23:02:07 <pikhq> Why? Because PEBBLE should create *simple* code, not the word's most complex code.
23:02:26 <pikhq> And C2BF creates code worse than you'd expect from asm->bf->asm->bf.
23:11:13 -!- RedDak has quit (Remote closed the connection).
23:41:11 <ehird`> pikhq: c2bf code isn't that bad
23:48:19 -!- mib_hcz1e6me has joined.
23:48:34 <mib_hcz1e6me> wow, mibbit sucks
23:48:34 <mib_hcz1e6me> :D
23:48:44 * mib_hcz1e6me is ehird
23:49:20 -!- mib_hcz1e6me has quit (Client Quit).
23:49:35 -!- mib_nfvwl022 has joined.
23:49:54 <mib_nfvwl022> i like how the wii version is just the normal version
23:49:54 -!- mib_nfvwl022 has quit (Client Quit).
23:57:23 <pikhq> Heh.
2008-02-08
00:53:16 -!- calamari has joined.
01:15:25 -!- calamari has left (?).
01:25:40 -!- Sgeo has joined.
01:26:01 -!- sebbu has quit (Success).
01:57:57 -!- sarehu has joined.
02:17:13 -!- sarehu has quit (Read error: 110 (Connection timed out)).
02:50:45 -!- ehird` has quit ("K-Lined by peer").
03:13:17 -!- GreaseMonkey has joined.
03:15:47 * Sgeo is a beneficial mutation occuring in your lab.
03:18:55 <RodgerTheGreat> what's everyone up to tonight?
03:19:12 <Slereah> Preparing THE HOLY WAR ON SCIENTOLOGY
03:19:16 <Slereah> (I bought a swell mask)
03:20:02 <Slereah> Also to sleep.
03:20:04 <Slereah> It's 4AM
03:20:14 <Sgeo> g'night
03:20:25 <RodgerTheGreat> cya- make a good stand for anonymous
03:21:10 <pikhq> Slereah: Would said mask bear any relation to Guy Fawkes? :p
03:21:17 <Sgeo> I'm going to eat then work on PSOX
03:21:50 <Slereah> pikhq: I'd say so.
03:21:51 <pikhq> Sgeo: BTW, for PSOX in PEBBLE2: you're in luck. I'm going to have an actual *type system* in there, I believe.
03:22:24 <Slereah> Although it will arrive in time for the second protest, in March.
03:22:32 <Sgeo> pikhq, :)..
03:22:43 <Sgeo> pikhq, did you note my changes to the File Descriptor system?
03:23:05 <Sgeo> With that, I need to eat
03:23:10 <pikhq> Sgeo: Not yet.
03:24:55 <RodgerTheGreat> I'm really in the mood to draw something. Any requests/ideas?
03:25:21 <pikhq> http://pastebin.ca/895846
03:25:30 <pikhq> I hope that, when I'm done, that will compile.
03:26:02 <pikhq> s/!:/!=/
03:26:05 <pikhq> Thinko there.
03:29:04 <pikhq> RodgerTheGreat: Thoughts on my idea?
03:29:28 <pikhq> Anyways: for you to draw: more of that series with the robotic revolution.
03:29:41 <pikhq> Actually, you should probably stick it on your nonlogic page, so that it's easier to find.
03:29:51 <Sgeo> pikhq, http://trac2.assembla.com/psox/changeset?new=trunk%2Fspec%2Fpsox.txt%4053&old=trunk%2Fspec%2Fpsox.txt%4038
03:29:58 <pikhq> (I know, I know, I could grep nonlogic dump and #esoteric logs. . . But I don't wanna)
03:30:10 <pikhq> Sgeo: Comments on my PEBBLE2 example?
03:30:29 <Sgeo> I don't understand PEBBLE2
03:30:49 <pikhq> What don't you understand?
03:30:49 <Sgeo> Oh, is that a proposed thing?
03:30:54 <RodgerTheGreat> hm. I suppose I could do that
03:31:01 <pikhq> Yes.
03:31:16 <pikhq> I've not implemented it; I've mostly been coming up with code examples while thinking of implementation.
03:31:39 <RodgerTheGreat> it looks like a pretty ambitious attempt at a macrolanguage
03:32:33 <pikhq> Which I think is appropriate for PEBBLE2.
03:32:44 <pikhq> The only hard part is going to be that expr command, I suspect.
03:32:53 * Sgeo goes to eat
03:33:26 <RodgerTheGreat> going with infix notation makes your job quite a bit more complex
03:33:32 <RodgerTheGreat> might I suggest RPN?
03:34:10 <RodgerTheGreat> especially if you want to self-host- the only clean ways to do infix require converting to RPN or using recursion, and recursion does not lend itself well to BF
03:36:27 <pikhq> I'm not going to self-host.
03:36:38 <RodgerTheGreat> aw. :(
03:36:44 <pikhq> How I'm thinking of doing the type-system and the allocation of variables does not lend itself to it.
03:37:17 <pikhq> I can either make it self-host, and have it be basically PEBBLE 1 done a bit more rigourously, or make it t3h awesome, and not have it self-host.
03:37:43 <pikhq> (I *really* don't want to do garbage collection from within BF)
03:38:00 <pikhq> Although making it RPN or Polish may help me out a bit.
03:38:27 <pikhq> Probably Polish because, after all, I already have commands like ":= $i 5" and "+= $i 5". . .
03:38:44 <pikhq> Making the expression parser handle those commands in the same way is merely consistent.
03:38:57 <RodgerTheGreat> there you go
03:41:23 <pikhq> PEBBLE2 should end up making all PEBBLE code a hell of a lot cleaner as a result.
03:42:05 <pikhq> I'm really looking forward to making PFUCK about as trivial to write as a C version would be. :p
03:53:22 -!- immibis has joined.
04:22:22 <RodgerTheGreat> I need a last name
04:49:59 <RodgerTheGreat> nvm
04:50:17 <RodgerTheGreat> alright, I'm drawing these really fast, but I think you guys will still enjoy them
04:57:01 <RodgerTheGreat> http://rodger.nonlogic.org/images/axon/
04:57:08 <RodgerTheGreat> behold, pages one and two
04:59:59 <pikhq> Not bad.
05:00:20 <RodgerTheGreat> lemme rest my hand for a bit and I'll do some more
05:00:26 <pikhq> Mmkay.
05:01:12 <pikhq> Would you class having a copy of your GPG revocation certificate and a secure way of encrypting your data as paranoid?
05:01:59 <RodgerTheGreat> depends on the data
05:02:17 <pikhq> (I do neither ATM: I just have the means to)
05:02:23 <RodgerTheGreat> tax records, not paranoid. grocery lists? paranoid.
05:03:24 * pikhq encodes his grocery list with tax records as the one-time pad. :p
05:04:44 <RodgerTheGreat> this is a notable sign of a profusion of free time
05:05:49 <pikhq> Not really. I set all that up in half an hour.
05:06:18 <pikhq> . . . Perhaps a bit of free time.
05:06:39 <RodgerTheGreat> there we go
05:06:56 -!- immibis has quit (Read error: 110 (Connection timed out)).
05:07:23 <pikhq> Of course, if/when I finish PEBBLE2, then we can say that it's a truly insane amount of free time used. :p
05:07:35 <pikhq> Hell, the same applies to PEBBLE 1.0. . .
05:07:42 <pikhq> I *did* spend the better part of a year on that.
05:07:53 <RodgerTheGreat> you're talking to the guy that spent a good chunk of 8 months writing a Java-based Pokemon clone.
05:08:17 <pikhq> You're talking to a guy who's been tempted to do the same in a different language.
05:08:38 <RodgerTheGreat> hey, my source is an open book. :)
05:08:39 <pikhq> I'd say we're about equal on the free time front.
05:08:56 <RodgerTheGreat> right now, at least
05:09:10 <RodgerTheGreat> I tend to take my free time in small, sharp doses
05:09:11 <pikhq> I have yet to enter college, so. . .
05:11:03 <pikhq> You'd be amazed at how much work teachers think they can assign just because it's an 'honors class'.
05:11:17 <RodgerTheGreat> college devours your free time like no other. I was only able to work on CRPG during my vacation time- I would spend the first few days lying around, playing with my cats and watching TV, recharging. Then, I would code like a madman, laying down the ideas that had been splintering away in the back of my head for months.
05:11:34 <pikhq> When I have an actual college class (calc II) that has less homework than high school classes, you know something's up.
05:11:59 <pikhq> (either my teachers are insane, or that college sucks. :p)
05:13:53 <Sgeo> Can I give this line to a computer-illiterate person?
05:13:54 <Sgeo> "Downloading files SHOULD be safe, provided you do NOT open or run them."
05:14:10 <Sgeo> She stopped opening attachments and reading emails from non-@farmingdale.edu
05:14:10 <pikhq> Sgeo: Ask one of them.
05:14:13 <pikhq> We wouldn't know.
05:14:41 <Sgeo> I'm trying to help tell this person what is and isn't safe..
05:14:51 <Sgeo> Are PDFs safe? >.>
05:15:03 <RodgerTheGreat> PDFs are safe
05:15:20 <RodgerTheGreat> they do, interestingly, encapsulate several TC languages
05:15:21 <Sgeo> "application/pdf == Safe for Abode Reader to read, bad for Acrobat 4.0 and 5.0 (I think)"
05:15:27 <pikhq> PDFs are little more than Postscript that feels fairly uppity.
05:15:38 <Sgeo> "image/jpeg == Once problematic, should be safe if Windows is kept up-to-date"
05:15:50 <Sgeo> "application/msword == MS Word document, safe if your macro security
05:15:50 <Sgeo> settings are safe"
05:15:58 <Sgeo> "application/x-msdos-program == BAD BAD BAD"
05:16:31 <pikhq> Oh, yeah. . . I forget that this whole 'Microsoft' thing seems to think that executing arbitrary executable code in arbitrary files (even non-executable ones) is a good idea. . .
05:18:45 <GreaseMonkey> .PIF with .EXE format
05:19:38 <Sgeo> .PIFs would be application/?
05:21:41 <pikhq> appliccation/x-pif, I think.
05:24:54 <Sgeo> "application/(anything else) == I can't predict every attachment, probably not safe"
06:11:37 -!- Sgeo has quit (Remote closed the connection).
06:55:07 <RodgerTheGreat> two more pages: http://rodger.nonlogic.org/images/axon/
06:59:00 <RodgerTheGreat> pikhq?
07:10:48 <RodgerTheGreat> well, good night everyone
07:17:04 -!- oerjan has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:49:24 -!- 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. and dlte ur files. thx.").
09:29:56 -!- oerjan has quit ("leaving").
10:03:16 -!- sebbu has joined.
10:24:33 -!- puzzlet has quit (Remote closed the connection).
10:24:41 -!- puzzlet has joined.
10:57:02 -!- puzzlet has quit (Remote closed the connection).
10:57:10 -!- puzzlet has joined.
11:11:14 <SimonRC> http://www.enterprise-architecture.info/Images/Documents/symeph%5B1%5D.pdf
11:11:15 <SimonRC> I particularly recommjend page 11
11:11:16 <SimonRC> utter gobledegook
11:11:21 <SimonRC> also: lol
11:11:53 -!- sebbu2 has joined.
11:20:09 <SimonRC> in fact, their whole website looks a bit TDWTF-worthy
11:27:53 -!- sebbu has quit (Read error: 110 (Connection timed out)).
12:16:22 -!- helios24 has joined.
12:23:29 <SimonRC> hi
12:23:36 -!- Slereah has quit (Remote closed the connection).
12:32:23 -!- Slereah has joined.
13:24:03 <oklopol> expr isn't that hard, infix -> rpn is trivial, and rpn -> brainfuck is not that hard
13:30:51 -!- jix has joined.
13:37:17 -!- helios24 has quit ("Leaving").
14:43:01 -!- RedDak has joined.
15:07:16 -!- timotiis has joined.
15:12:11 -!- cepera has joined.
15:19:54 -!- cepera has quit ("freenode.net").
15:31:50 -!- ais523 has joined.
15:34:29 <SimonRC> hi
16:03:04 -!- Slereah has quit (Read error: 104 (Connection reset by peer)).
16:03:43 -!- Slereah has joined.
16:09:30 <ais523> SimonRC: belated hi
16:20:07 -!- Sgeo has joined.
16:24:51 <Sgeo> Hi all
16:25:08 <Sgeo> I might release an alpha version of the PSOX ref. interp. soon!
16:25:57 <Sgeo> Anyone other than me excited?
16:26:08 <Slereah> Depends, you've got some drugs?
16:28:14 * SimonRC takes arylstantanine
16:40:44 <Sgeo> I decided that a lot of parsing should occur in @argtypes
16:41:11 <Sgeo> or maybe not
16:48:15 <Sgeo> Itsy Bitsy Teenie Weenie Yellow Polka-dot Clarification
16:48:44 <Sgeo> ^^ used that as a commit message
16:49:15 * ais523 performs the sort of action which usually results in coffee spilling over a computer keyboard, but doesn't due to an empty mouth
16:59:42 <Sgeo> I'm too obsessed with that now to implement PSOX :/
17:06:14 <ais523> ?
17:06:24 * ais523 uses single-character smilies
17:09:41 <Sgeo> Alpha version will implement the pseudodomains and domain2
17:24:00 -!- RedDak has quit (Remote closed the connection).
17:24:52 * Sgeo feels like everything's close to completion
17:46:49 -!- RedDak has joined.
17:48:22 -!- Dagide has joined.
17:48:53 -!- RedDak has quit (Client Quit).
17:49:03 -!- Dagide has quit (Read error: 104 (Connection reset by peer)).
17:49:19 -!- RedDak has joined.
17:49:31 -!- Hiato has joined.
17:49:38 <Hiato> Wassabi all :P
17:50:34 <Hiato> alright, I retract my previous statement and insert an "Hello all :)"
17:51:23 * ais523 replies
17:52:00 <Hiato> hehe
17:52:24 <Slereah> s/all/world!
17:52:34 <ais523> s/ /, /
17:52:45 <Hiato> ///?
17:53:11 * ais523 always writes Hello, world! with the comma
17:54:11 * Hiato realises that this is some kind of string handling syntax as of yet unknown to him
17:54:29 <ais523> it's Perl and sed syntax for substituting regexps in strings
17:54:41 <Slereah> s/A/B = substitute A for B
17:54:41 <ais523> s/a/b/ changes the first a in some string to a b
17:54:46 <Hiato> aha, ok
17:54:48 <ais523> s/a/b/g changes all as to bs
17:54:51 <Hiato> cool
17:54:59 <Hiato> what is the g for then?
17:55:02 <ais523> on IRC, the string that's operated on normally has to be determined from context
17:55:08 <Slereah> It's the same as *B, but * requires the context to be obvious.
17:55:10 <ais523> without the g, it only makes one change
17:55:18 <Hiato> aha
17:55:57 <ais523> "This sentence contains many nonsklarkish English flutzpahs, but the overall plugganzip can be glorked from context"
17:56:23 <Hiato> indeed :)
18:01:59 <Sgeo> Hiato, excited about a possible alpha release of PSOX today?
18:02:31 <Hiato> very much so, I was not aware of this aforementioned release, but know I am ;)
18:02:32 <Hiato> brb
18:03:55 <Sgeo> Do custom domains need to be working for this release?
18:05:54 <Hiato> that is you decision entirely, it would be nice, but hey ;) Also, now is supper, so I'll be back after I've my fill..
18:07:01 -!- jix has quit ("CommandQ").
18:11:46 -!- oerjan has joined.
18:13:47 <Sgeo> Hi oerjan
18:13:55 <Sgeo> Might be an alpha release of PSOX.py soon!
18:14:08 <oerjan> i noticed
18:16:22 <Sgeo> It will be just pseudodomains and domain2(System)
18:26:21 -!- oerjan has set topic: fix $ (++) "THE TOPIC IS NOT " . show.
18:28:07 <Hiato> ok, I'm back. Sgeo: any news?
18:28:33 <Sgeo> Just pseudodomains and domain2(System), not custom domains yet
18:28:42 <Sgeo> and you'll get it via SVN maybe
18:28:55 <Hiato> awesome
18:30:15 -!- helios24 has joined.
18:30:47 -!- olsner has quit (Read error: 110 (Connection timed out)).
18:33:15 <Sgeo> Currently, I'm writing a lot of code w/o testing :/
18:34:10 <Hiato> I would offer to test, but then again, you don't want an idiot smashing randomly at your code ;)
18:35:31 <Sgeo> I'll do testing, and hopefully any and all bugs will make themselves obvious
18:42:12 <Sgeo> Testing now, trying to fix a bug
18:42:16 <Sgeo> Don't know what's causing it
18:44:15 <ais523> what effects does the bug have?
18:44:32 <Sgeo> Nothing is happening
18:44:47 <Sgeo> When I do Ctrl-C, I find it's at the point where it retrieves a line from the client
18:45:01 <RodgerTheGreat> hey guys
18:45:42 -!- olsner has joined.
18:45:46 -!- olsner has quit (Read error: 104 (Connection reset by peer)).
18:45:53 <Sgeo> Actually, that's in the loop, so maybe I should throw some prints in
18:47:32 -!- olsner has joined.
18:47:43 <Sgeo> It's not getting past that line at all
18:47:58 <Sgeo> Maybe I should test with a Python program not a BF one
18:52:24 <Sgeo> That's a strange bug, it's misreading the version number..
18:52:28 <Sgeo> But that's a separate issue
18:52:57 <Sgeo> Oh, I commented something out without knowing what it does
18:53:28 <Sgeo> Ok, fixing that line helps
18:56:54 <Sgeo> Oh, it's not working with the BF file at all
18:57:03 <Sgeo> It's like the BF interp never flushes its stdout
18:57:16 <Sgeo> In the Python file, I'm flushing stdout manually
19:00:55 -!- n0nsense has joined.
19:01:13 <Sgeo> Hi n0nsense
19:02:17 <n0nsense> hello
19:02:42 <oerjan> no n0nsense here please. we should all speak perfectly cromulently.
19:03:15 <n0nsense> I wrote a bot in Tcl with commands to evaluate brainfuck^^
19:10:02 <RodgerTheGreat> always a classic.
19:10:08 <RodgerTheGreat> I wrote mine in Java.
19:10:25 <lament> so much useless software in this world.
19:11:25 <Sgeo> Is PSOX useless?
19:11:42 <RodgerTheGreat> well, there are two ways software can be useful- useful to the world, and useful to the maker. Even if nobody else is ever going to see the code, it can still be a good learning experience.
19:11:49 * ais523 saw a suggestion once that it would be possible to perform parallel computing by sending specially-crafted HTTP requests to a huge number of computers in such a way that whether they were accepted/rejected/bounced/replied-to/whatever performed the computation
19:12:22 <ais523> it would be great if there were some way to write a massively parallel BF interp like that, but unfortunately I doubt it's possible
19:12:33 <ais523> and besides, you'd probably get sued by people for wasting their bandwidth
19:13:34 -!- RedDak has quit (Remote closed the connection).
19:14:12 <RodgerTheGreat> it's a beautiful thing to realize that almost any environment can be used to perform computation
19:14:58 <ais523> before I discovered esolangs, a related pursuit I used to try was to see what environments could be programmed
19:15:10 <ais523> I used to test them with a simple noughts-and-crosses program that never lost if going first
19:15:31 <ais523> that program is easy to write because you can write it as four independent threads if necessary that never need to interact
19:15:46 <ais523> so not a demonstration of TCness or even computational usability, but still impressive
19:15:52 <lament> never need to interact?
19:16:02 <lament> they don't share resources?
19:16:13 * ais523 was talking in a theoretical sense
19:16:16 <RodgerTheGreat> I'd assume they share input events and the ability to draw to the screen
19:16:18 <ais523> you can program it in Paint, for instance
19:16:24 <lament> explain.
19:16:33 <ais523> by using two slightly different colours and bucket-fill as the input mechanism
19:16:44 -!- n0nsense has left (?).
19:17:02 <ais523> i.e. clicking on any particular location for your move causes the appropriate move to be echoed by Paint because they're connected by a thin line in a different colour
19:17:18 <ais523> and the point is that there are four move-pairs that can be triggered in any order
19:17:44 -!- danopia`school has joined.
19:17:49 <RodgerTheGreat> ah, clever
19:19:58 <ais523> http://filebin.ca/tesmth/OANDX.BMP
19:20:25 <ais523> that's it with two shades of blue which are hopefully different enough for you to see how it works
19:20:45 <ais523> hmm... maybe I should make a PNG version. It's years since I last looked at that file
19:21:44 <lament> ais523: clever
19:22:51 <ais523> looking at the dir it's in, it seems I have a winhlp32 and Powerpoint version as well
19:23:02 <ais523> or maybe the original winhelp
19:23:13 <ais523> because I used to use Windows 3.1 around that time
19:23:30 <Hiato> woow, asi523 - that's ingenious!!
19:23:37 <Hiato> beautifully thought out :D
19:23:46 <Sgeo> ..What looked like a bug was me forgetting how the input function worked...
19:24:56 -!- danopia has quit (Connection timed out).
19:25:08 <Hiato> would I be correct in saying that it is not possible to win?
19:25:19 <Hiato> seriously though
19:25:30 <ais523> yes, you're correct
19:25:39 <ais523> in fact that's why that algorithm was chosen
19:25:47 <ais523> simple, yet impresses people who don't understand programming
19:26:07 <Hiato> indeed, even for those who think they do ;)
19:26:11 <RodgerTheGreat> that is really pretty neat
19:26:50 <RodgerTheGreat> I'm sure routing everything took some work
19:27:04 <Sgeo> What are we talking about?
19:27:17 <ais523> an image I mentioned about 7 minutes ago
19:27:32 <ais523> that gives the illusion of being a noughts-and-crosses program for Paint
19:27:32 <RodgerTheGreat> ais523 made a tic-tac-toe game in MSPaint
19:28:26 <Hiato> hrm... I'm thinking of messing with this to implement a draw and lose sign (same construction technique I think) - though I'm not sure it's possible because paint is a definite overwrite procedure, if's and dependencies are not really possible.... perhaps lighting up lose/draw letter by letter may work, but then again, there is no way to say for sure what order the squares where played in...
19:29:22 <ais523> I thought about that too, but never seriously tried
19:29:32 <RodgerTheGreat> you can think of the floodfill as a much more limited version of wireworld, in a sense
19:30:07 <lament> photoshop fill, which fills similar colors (up to a given threshold) as well as exact match, can be used to implement logic gates
19:30:22 <Hiato> yeah, that is an awesome idea :D
19:30:24 <RodgerTheGreat> Hiato: and you can do a form of sequencing logic- lemme see if I can come up with an example...
19:30:49 <Hiato> I'd like to see this
19:30:51 <Hiato> :)
19:33:22 <Sgeo> Well, for some reason it's skipping some input..
19:33:24 <RodgerTheGreat> http://nonlogic.org/dump/images/1202499022-seq.png
19:33:37 <RodgerTheGreat> if our fill color is black
19:33:38 -!- Tritonio_ has joined.
19:33:40 <Sgeo> Maybe I should see what the server is sending
19:34:26 <RodgerTheGreat> actually, whoops- that isn't what I meant
19:34:38 <RodgerTheGreat> http://nonlogic.org/dump/images/1202499095-seq.png
19:34:40 <RodgerTheGreat> ^ this
19:35:10 <ais523> hmm... does that need two fill colours for user input to work?
19:35:14 <RodgerTheGreat> if all four cyan paths have been filled with black, the pathway from bottom to top can now be filled with a different color
19:35:17 <RodgerTheGreat> well, yes
19:35:18 <Sgeo> The input command is sending stuff all at once
19:35:27 <ais523> however, you can assign them to left-click and right-click
19:35:33 <ais523> at least on MS Paint
19:35:48 <RodgerTheGreat> and I'm pretty sure it's impossible to do anything complex with a single color
19:35:59 <ais523> so am I
19:36:09 <Hiato> damn, I see know, that is actually very very clever
19:36:24 <RodgerTheGreat> but the above is essentially an arbitrary-input AND gate. :)
19:36:31 * Hiato goes to work on the lose sign
19:36:36 <Hiato> yes, true
19:37:04 <RodgerTheGreat> and OR gates are naturally trivial... so you can do combinational logic... holy shit
19:37:15 <RodgerTheGreat> the only problem is the wire-crossing problem
19:37:28 <Hiato> which can be overcome
19:37:31 <ais523> and the fact that changing one input can affect another input
19:37:39 <Sgeo> That's because when I was trying to fix things, I changed the client a bit
19:37:43 <Hiato> vy using as many layers as necessary with different colours
19:37:44 <ais523> whereas in most programming languages changing an input only affects the outputs
19:37:56 <Hiato> and spacing in between
19:38:16 <RodgerTheGreat> ais523: I think it should be possible to overcome that with multiple colors
19:38:32 <ais523> yes, probably
19:38:48 <Hiato> pretty much what I said :P
19:40:13 <Sgeo> The cat program WORKS!
19:40:49 <ais523> well done
19:40:56 <ais523> cat from file to file, presumably
19:40:56 <lament> with multiple colors, you can certainly have logic gates, but it's too much work for the user
19:40:59 <Sgeo> Actually, the Python client that is a client that does cat is
19:41:01 <ais523> otherwise PSOX isn't really needed
19:41:08 <Sgeo> ais523, I'm just testing
19:41:22 <Sgeo> But this client in Python is the first PSOX program ever run successfully
19:41:35 <Hiato> hrmm... this requires many and gates
19:41:42 <Sgeo> Don't know why BF isn't working
19:42:20 <Hiato> running into wire crossing :(
19:43:35 <Sgeo> Another BF program is sending stuff, but this one isn't
19:45:48 <RodgerTheGreat> lament: I'm not sure- I think it might be possible to do everything with sort of a "two-color logic"
19:45:57 <lament> still too much work for the user
19:46:24 <Hiato> hrmm, I'm still on the gates, perfecting and working :P
19:47:22 <ais523> incidentally, this reminds be of another esolang I was working on
19:47:47 <ais523> what I can remember is that it was a cellular automaton in 2D
19:48:07 <Hiato> nice :)
19:48:08 <ais523> that cells only ever changed to be brighter colours, never darker
19:48:17 <ais523> and that http://pastebin.ca/896573 is a TC proof by emulating rule 110
19:48:24 * oerjan is reminded that 2-coloring is easy while 3-coloring is NP-complete
19:48:25 <ais523> but I've completely forgotten how the lang worked and never documented it
19:48:28 <Hiato> interesting, what happens after white
19:48:42 <ais523> Hiato: then the cell can't change at all
19:48:49 <ais523> in fact, most cells never change more than once, if ever
19:48:54 <Hiato> I see, a shame this wanted documented
19:48:58 <ais523> it was an experiment in irreversible programming
19:49:01 <ais523> whilst still being TC
19:49:04 <Hiato> I see... sounds interesting
19:49:13 <Sgeo> The client isn't sending stuff!
19:49:19 <Sgeo> Why isn't the client sending stuff!
19:49:23 <ais523> however, the only way to recover the spec now is likely to reverse-engineer it from the one surviving program
19:49:34 <oerjan> Sgeo: block buffering perhaps?
19:49:41 <Sgeo> hm?
19:49:57 <ais523> are you flushing the output after every write?
19:50:13 <Sgeo> Maybe the person who wrote the bf interp is an idiot and . sets the current cell to 0
19:50:16 <ais523> if you aren't, pipes between programs sometimes will store up a lot of data and then output it all at once, for efficiency reasons
19:50:27 <oerjan> a file can be unbuffered, line buffered or block buffered. with the last output is only sent when the buffer is full.
19:50:34 <Sgeo> ais523, can't force client to flush
19:50:38 <Sgeo> Except with newlines
19:50:41 <ais523> oerjan: or there's an EOF signal
19:51:14 <oerjan> and only line buffering implies flushing on newlines
19:51:36 <ais523> on Unices a single Control-D will flush standard input if there's at least one unflushed character in it
19:51:46 <ais523> or end-of-file if all characters have been flushed
19:51:53 <ais523> (and, of course, the terminal controls stdin)
19: