←2008-01-31 2008-02-01 2008-02-02β†’ ↑2008 ↑all
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-01-31 2008-02-01 2008-02-02β†’ ↑2008 ↑all