00:01:58 <kallisti> dear #esoteric: http://pastebin.com/LHwFWdDD
00:02:19 -!- augur has quit (Read error: Connection reset by peer).
00:02:19 <kallisti> please judge the effectiveness of these regexes at accurately determining a list of channels that are relevant to a raw IRC message.
00:04:37 <kallisti> also I just added a special case for channel MODEs
00:04:49 <kallisti> because channel modes are only relevant to that channel, not every channel the sending nick is in.
00:06:15 <kallisti> I could probably drop the KICK one with the PRIVMSG|JOIN|... one
00:25:21 -!- soundnfury has joined.
00:27:29 <Phantom_Hoover> http://apod.nasa.gov/apod/image/0610/newrings_cassini_big.jpg
00:27:51 <Phantom_Hoover> Pictures like this always make me sad because I know they have no bearing on what the human eye would actually see.
00:31:18 -!- kallisti has quit (Quit: Changing server).
00:31:48 -!- nortti- has quit (Ping timeout: 245 seconds).
00:33:00 -!- kallisti has joined.
00:33:05 <soundnfury> Hi, I'm Edward, you may remember my fugly language "spl"...
00:33:17 <soundnfury> So, I had this idea for an esolang: "Assign"
00:33:27 <soundnfury> you can assign to anything; you can assign a number to an operator, for instance
00:34:05 <soundnfury> has anything like this been done before?
00:35:04 <nortti_> there was one that let you assign number to another number
00:35:19 -!- augur has joined.
00:35:31 <soundnfury> "It is called Forte due to the mess it makes of the Peano postulates." LIKE!
00:36:07 <zzo38> O, that is why you called it that.
00:36:25 -!- adu has joined.
00:36:32 <adu> there was this thing
00:36:41 <adu> I can't remember
00:36:44 <adu> what it was
00:36:56 <zzo38> Then how can you explain it if you don't know?
00:37:05 <soundnfury> well, FORTE looks nice, and something similar was my idea for Assign, but I went beyond that
00:37:10 <zzo38> With no information it is difficult to help
00:37:19 <HackEgo> adu: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
00:37:26 <zzo38> None of us are psychic
00:37:43 <oerjan> zzo38: hey speak for yourself!
00:37:46 <adu> zzo38: it was a chat room on irc.freenode.org that was about languages
00:37:59 <zzo38> adu: About what languages, to be specific?
00:37:59 <adu> it was very much like #esoteric
00:38:36 <adu> it might have been #polyglot, but I don't remember
00:38:54 <zzo38> adu: Well, try #esoteric-en and #polyglot and whatever see if they know this answer any better.
00:39:23 -!- elliott has joined.
00:39:35 * oerjan doesn't trust HackEgo when it takes that long to say No output.
00:39:36 <elliott> adu: It was Trivial Pursuit.
00:39:37 <lambdabot> elliott: You have 8 new messages. '/msg lambdabot @messages' to read them.
00:39:39 -!- elliott has left ("Leaving").
00:39:41 <adu> maybe try without <>
00:39:42 -!- elliott has joined.
00:39:46 <elliott> Either that, or beef jerky.
00:39:47 -!- elliott has left ("Leaving").
00:39:54 <adu> oerjan: I've been here before
00:39:56 -!- elliott has joined.
00:40:01 <elliott> It could also be marriage?
00:40:03 -!- elliott has left ("Leaving").
00:40:06 <oerjan> yeah so why aren't you in the logs
00:40:15 <HackEgo> 2007-07-25.txt:05:03:56: <EgoBot> 3 immibis: ps
00:40:23 <adu> `pastlog adu
00:40:29 <kallisti> it would seem that irssi removes nicks within its channel structure before my event handler receives the QUIT message.
00:40:35 <shachaf> elliott: That's really annoying
00:40:50 <shachaf> I'm not even paying attention to the channel and it's still annoying.
00:41:11 * oerjan swats HackEgo -----###
00:41:14 <HackEgo> 2008-01-23.txt:06:50:44: <adu> interesting
00:41:29 <adu> oerjan: yey!
00:41:49 <soundnfury> if 8=5, then (2*2)*(2*2) is 16 but (2*2*2)*2 is 10
00:42:02 <adu> that was 4.5 years ago!
00:42:25 <adu> actually I first started hacking out on this network (irc.openprojects) about 15 years ago
00:42:56 <adu> I'm an oldbie
00:43:43 <zzo38> O, that is why. OK
00:44:09 <adu> soundnfury: wuttf
00:45:07 <soundnfury> and apparently mangles intermediate values in expressions
00:45:14 <soundnfury> which must have been a bitch to implement
00:45:47 <oerjan> nah you just need some kind of dictionary/hashtable
00:46:05 <adu> not really, you'd just have to attach logic to every math operation, that's all
00:46:25 <soundnfury> yeah but I have a vague feeling there might be a way to construct an infinite loop in said mangulator
00:46:28 <adu> oerjan: I like how you think
00:46:42 * Sgeo goes to install Blender
00:46:43 <oerjan> adu: i almost tried implementing once :P
00:46:48 <soundnfury> oh wait no, it computes expressions /before/ you assign
00:46:55 <oerjan> but someone else did it before i overcome my laziness
00:46:59 <adu> oerjan: I've only written a dozen parsers
00:47:06 <soundnfury> so I can't say 5=5+2 and have insanity ensue
00:47:15 <adu> oerjan: I've only implemented 2 languages: Funge-98 and Scheme
00:47:35 <kallisti> I guess I can reconstruct the quit message by handling the quit event itself.
00:47:48 <adu> Funge-98 was definitely harder than Scheme
00:47:56 <soundnfury> adu: among other things, I'm trying to implement a LISP for the ZX Spectrum
00:48:30 <adu> soundnfury: yes
00:48:37 <zzo38> soundnfury: I think you can try if you like to do so.
00:48:39 <adu> I would recommend at least RPI
00:49:20 <adu> but if you need some z80 docs, I think I have some backups of a webcrawl about 10 years ago
00:49:33 <soundnfury> adu: nah, I've got all the z80 knowledge I need...
00:49:45 <nortti_> soundnfury: what kind of lisp?
00:50:00 <soundnfury> nortti_: a dialect I'm devising as I go along
00:50:47 <adu> ooops 'along'
00:51:04 <soundnfury> (SET MAP (LAMBDA LISt (LAMBDA FN (CONS (FN (CAR LISt)) (MAP (CDR LISt) FN)))))
00:51:10 <adu> but I must say, it's really hard to implement call/cc in golang
00:51:20 <soundnfury> only the first three characters of variable names are significant!
00:51:35 <nortti_> ok. speaknig of lisp implementations I wm trying to implement version of lisp on my own esolang
00:53:51 <nortti_> is set like scheme define? is ((lamba x(lambda y(foo))) bar baz) valid?
00:54:32 <adu> what I'd like is a top-of-the-line MMIX JITer
00:54:33 <soundnfury> I'm not sure how scheme does things; set basically binds a name to a cons
00:54:57 <soundnfury> and yes I think that's valid, it ought to produce foo, yes?
00:55:10 <zzo38> What I want is a compiler to compile LLVM to MMIX
00:55:29 <adu> zzo38: do you want to work together?
00:55:32 <lambdabot> Overlapping instances for GHC.Show.Show (a -> a)
00:55:40 <nortti_> soundnfury: yes. it just seems strange.
00:55:52 <zzo38> adu: Work together with...?
00:55:58 <oerjan> i think original lisp called it SETQ
00:56:20 <adu> zzo38: on an LLVM=>MMIX compiler
00:56:47 <zzo38> OK, maybe; but I am not very good at C++
00:57:08 <adu> well, what are you good at?
00:57:13 <nortti_> soundnfury: shouldn't it be (((lambda x(lambda y(foo))) bar) baz)
00:57:36 <zzo38> I can program in C and in Haskell, and some others
00:57:48 <adu> zzo38: then let's write it in Haskell
00:57:52 * adu <3 Haskell
00:58:20 <zzo38> But doesn't it have to be in C++ if you want to write a LLVM backend?
00:58:29 <soundnfury> so your original expression would produce Ly.foo
00:58:46 <soundnfury> because x would get bound to the list (bar baz)
00:58:56 <oerjan> adu: you want to write haskell with zzo38? how very brave of you.
00:59:06 <adu> zzo38: that's only if you want to use their libraries, there are other ways of getting LLVM bytecode dumps
00:59:18 <nortti_> soundnfury: how does your MAP work? it has no checking for LISt being null
00:59:37 <adu> and those LLVM bytecode dumps are all you need, you really don't need the libraries
01:00:08 <soundnfury> because, as I think I mentioned, I've been making this dialect up as I go along
01:00:21 <adu> cuz if anyone really wanted to compile LLVM to MMIX, then they probably know how to do clang -o stuff, and cat a file
01:00:22 <zzo38> adu: Yes I know you can use LLVM bytecode dumps with anything (I have even written a program in C to read them once). But I thought you needed the libraries too for something; well, if you don't then now I know better
01:00:28 <soundnfury> and when I wrote that example line in my notes, I hadn't defined any conditionals yet
01:01:00 <oerjan> > logBase 10 (1/81) -- *cough*
01:01:10 <adu> zzo38: there are C++ representations but text and binary should be good enough interfaces
01:01:38 <adu> zzo38: or did you mean compile MMIX=>LLVM?
01:01:53 <zzo38> There is already a compiler to compile C to MMIX (GCC does this); but if it is not C then you need LLVM->MMIX
01:02:01 <zzo38> adu: No, I mean compile a LLVM code into MMIX binary.
01:02:09 <nortti_> soundnfury: for my lisp implementations I use dialecr I call LIS because of my first lisp interpreter was names lis.py
01:02:11 <adu> ok, just checking
01:02:44 <soundnfury> I think I'd choose to use short-circuiting AND in my MAP
01:02:54 <oerjan> adu: zzo38: i think there is at least one haskell library binding for llvm too
01:03:02 <zzo38> (Note: Haskell codes that I write tend to be different from other Haskell codes.)
01:03:03 -!- itidus21 has quit (Quit: Leaving).
01:03:29 <soundnfury> (SET MAP (LAMBDA LISt (AND LISt (LAMBDA FN (CONS (FN (CAR LISt)) (MAP (CDR LISt) FN))))))
01:04:42 <soundnfury> and as for the question about ((f x) y) versus (f x y), I've been changing my mind back and forth about that ever since I started
01:05:13 <adu> zzo38: www.lugod.org/presentations/Haskell_LLVM.pdf
01:06:08 <zzo38> adu: Why do they all have to be presentations?
01:06:19 <nortti_> I thought you came from python background. and was used in place of if in some older python programs
01:06:39 <soundnfury> here's another representative line: (set WHIle (lambda f (lambda g (and f (or g (WHIle f g))))))
01:06:51 <nortti_> then python got (true if condition else false)
01:06:52 <adu> oerjan: oh zzo38's "Note", is that what you meant by "brave"?
01:07:47 <nortti_> soundnfury: where does g get executed?
01:07:48 <soundnfury> nortti_: that's because python is /weird/.
01:08:27 <soundnfury> I don't know. It's 2AM and I give up on Lisp for tonight
01:10:09 <nortti_> soundnfury: should it be (set WHIle (lambda f (lambda g (and f (or (eval g) (WHIle f g))))))
01:10:44 <nortti_> soundnfury: * (set WHIle (lambda f (lambda g (and (eval f) (or (eval g) (WHIle f g))))))
01:11:36 <nortti_> or is your lisp variant call-by-name?
01:13:55 <soundnfury> My plan is to implement it first, then experiment with the implementation to see how it behaves, and maybe change the spec to match :S
01:14:21 <soundnfury> This might not be the most successful project I've ever attempted
01:14:28 <zzo38> adu: Perhaps you tell me if you like or hate my Haskell codes; one program I wrote is the "dvi-processing" library.
01:15:25 <adu> zzo38: ok, I wrote language-go
01:16:54 -!- nortti_ has quit (Ping timeout: 264 seconds).
01:17:01 <adu> zzo38: looks well documented to me
01:17:05 <zzo38> They say it won't build
01:17:07 <adu> and idiomatic
01:19:25 <zzo38> Why do you say it is idiotic? Do you mean mine or yours? If you mean yours, I agree because they say it won't build.
01:19:55 <adu> zzo38: "idiomatic" means it's good
01:20:07 <adu> it means it fits in with the style of the Haskell community
01:20:41 <adu> zzo38: oh mine won't build
01:20:47 <adu> I haven't updated it in a while
01:21:00 <adu> I will fix by 2013
01:21:19 <kallisti> "idiomatic" and "good" are not completely equivalent, but for the purposes of creating non-write-only code it's a plus.
01:21:46 <shachaf> That's why I write idiomatic PHP.
01:21:56 * adu *shudders*
01:22:03 <kallisti> it helps if people can read the code you're writing. idioms are things that are (more or less) universally readable to anyone with knowledge of the language.
01:22:16 <zzo38> Well, some people hate my "dvi-processing" program, because I use explicit {;}, because I do not use do-notation, because they prefer PDF over DVI, because ...
01:22:33 <adu> bla bla bla
01:23:21 <Phantom_Hoover> If you want to make enemies, try to change TeX conventions.
01:24:27 -!- azaq23 has quit (Quit: Leaving.).
01:24:28 <zzo38> If you like this program, that is good.
01:26:09 <adu> Phantom_Hoover: like scribble?
01:26:53 <adu> \f[x]{y} <= TeX notation
01:27:00 <adu> @f[x]{y} <= Scribble notation
01:28:08 <zzo38> In TeX you can change the category codes whatever you want, including part way through a file. This may be useful when you want to load external files which are stored in a different format.
01:28:25 <adu> http://docs.racket-lang.org/scribble/
01:32:04 <zzo38> I have written some things with TeX, too.
01:33:41 <zzo38> Including: chess, Dungeons&Dragons, a program to include pictures on the page, a program to make binary specials, and this code-golf: \newcount\-\let~\advance\day0\loop~\-1~\day1~\mit\ifnum\-=3\-0Fizz\fi\ifnum\fam=5Buzz\rm\fi\ifvmode\the\day\fi\endgraf\ifnum\day<`d\repeat\bye
01:33:42 -!- DHeadshot has quit (Ping timeout: 264 seconds).
01:34:14 -!- DHeadshot has joined.
01:35:45 * soundnfury wonders if http://www.chiark.greenend.org.uk/~sgtatham/infinity.html might inspire any esolangs
01:42:10 <Phantom_Hoover> Zeno machines are a fairly old way of getting around the halting problem.
01:42:42 <Phantom_Hoover> So we can split any infinite stream of bits into two infinite streams by separating the odd bits from the even bits. Each of those streams, in turn, can be split. And so on - so we can have a binary tree of bit streams, all of which can fit in the Machine's memory without interfering with one another.
01:43:12 <Phantom_Hoover> FWIW that doesn't lead to a binary stream, it leads to each bitstream having one bit at a finite index.
01:46:55 -!- adu has quit (Quit: adu).
01:59:18 <soundnfury> I think he possibly meant a binary tree of bits
01:59:39 <soundnfury> but he came up with a better system anyway
02:01:16 <oerjan> http://esolangs.org/wiki/V
02:02:52 -!- Canaimero-15d7 has joined.
02:03:17 -!- Patashu has quit (Read error: Connection reset by peer).
02:03:40 -!- Patashu has joined.
02:04:27 -!- itidus21 has joined.
02:07:01 -!- Canaimero-15d7 has quit (Read error: Connection reset by peer).
02:07:24 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
02:19:36 <soundnfury> Hmm... I've had another language idea, and after a little investigation I've realised that the only way to make loops is with quines
02:20:01 <soundnfury> it's a stack-based language, and instead of an "output" instruction it has an "append to the program" instruction
02:20:08 <soundnfury> execution ceases when you run out of program
02:20:28 <soundnfury> every instruction is a single character
02:20:34 <soundnfury> but not every character is an instruction
02:20:56 <soundnfury> We can't say "Hello World" because that's got two 'o's and a 'd' in, both of which are instructions
02:21:13 <soundnfury> but a similar program (and quine!) is: 'Sup, Earth
02:21:45 <soundnfury> I'm now trying to write the nearest I can get to a cat program, which is one that reads in integers and writes out their binary expansions
02:22:33 <soundnfury> so far I've got: ?`O`*`7`4`D`*`7`4`K`*`7`4`+`1`!`/`2`o`+`+`1`*`9`8`*`6`&`1`d74*D74*O
02:22:54 <soundnfury> where "`x" is shorthand for "an arithmetic expression producing the ASCII value of 'x'"
02:26:33 <soundnfury> Want to write an IF statement? Shove your body code onto the stack, turn your condition into (length of body or 0), remove that many items from the stack, output an appropriate number of items from the stack. Weep.
02:34:29 -!- DHeadshot has quit (Read error: Connection reset by peer).
02:34:34 -!- DH____ has joined.
02:35:04 -!- oerjan has quit (Quit: Good night).
02:41:33 -!- nortti- has joined.
02:47:06 -!- kallisti has quit (Remote host closed the connection).
02:47:44 -!- kallisti has joined.
02:47:44 -!- kallisti has quit (Changing host).
02:47:44 -!- kallisti has joined.
02:50:15 -!- itidus20 has joined.
02:51:04 -!- DH____ has quit (Read error: Connection reset by peer).
02:51:06 -!- itidus21 has quit (Ping timeout: 264 seconds).
02:55:57 <soundnfury> Here we go... ?`O`*`-`+`1`!`f`*`2`*`*`1`7`7`1`*`2`*`*`1`7`7`K`*`+`1`!`f`*`2`*`*`1`7`7`*`2`*`*`1`7`7`D`*`*`1`7`7`I77*D77*O
02:56:07 <soundnfury> reads a number and prints it out in unary
02:56:34 -!- itidus20 has changed nick to itidus21.
03:15:38 <zzo38> I have reformatted the GPLv3 (for use in typeset documents), but made no modification to its text. Is this OK?
03:26:46 -!- DHeadshot has joined.
04:00:42 -!- DHeadshot has quit (Ping timeout: 264 seconds).
04:01:53 * itidus21 realizes he is reading a description of what is essentially a commandline driven paint program.
04:12:15 -!- edwardk has joined.
04:12:57 <zzo38> What commandline driven paint program?
04:19:31 -!- Patashu has quit (Ping timeout: 246 seconds).
04:19:52 <soundnfury> YES! IT WORKS! ?`O`*`7`4`K`*`+`1`!`!`f`+`2`d`*`2`*`7`4`D`*`7`4`~`-`1`~`I74*D74*O
04:20:17 <soundnfury> ?89*7+49*6+69*1+59*7+89*3+49*6+49*7+59*4+39*6+39*6+8d*1*49*2++49*7+59*5+8d*1*49*0++49*6+59*5+49*6+69*1+59*7+79*5+49*6+69*1+59*7+8d*1*69*8++59*0+59*4+8d*1*69*8++89*1+74*D74*O
04:21:03 -!- elliott has joined.
04:21:12 <elliott> let's take an opportunity to honour the contributions of "R. Koot" to the wiki
04:21:18 <elliott> http://esolangs.org/wiki/User_talk:R._Koot
04:21:19 <elliott> http://esolangs.org/w/index.php?title=Fuckfuck&diff=prev&oldid=6135
04:21:22 -!- elliott has left ("Leaving").
04:22:47 -!- Patashu has joined.
04:27:34 -!- Dovregubben has quit (Ping timeout: 246 seconds).
04:28:30 -!- Dovregubben has joined.
04:30:00 -!- ogrom has joined.
04:42:03 -!- sirdancealot7 has quit (Remote host closed the connection).
04:44:13 <shachaf> monqy: what happened to your nose !
04:47:19 -!- Dovregubben has quit (Ping timeout: 255 seconds).
04:52:45 <zzo38> How does it smell?
04:56:07 -!- ssue has quit (Ping timeout: 240 seconds).
05:00:15 -!- Dovregubben has joined.
05:22:03 -!- Otas has joined.
05:29:48 <kallisti> my terminal should have a keybind
05:30:16 <kallisti> so I can immediately start confirming everything mid command invocation
05:32:33 <fizzie> I think that's activated by repeatedly pressing the y key as long as you want it to be active.
05:32:43 <fizzie> Well, y-enter. But anyway.
05:33:46 <kallisti> despite my most intense longing
05:34:06 <kallisti> because I feel discomfort in the task.
05:34:18 <kallisti> whereas a true yes emulator is without concern.
05:35:01 <itidus21> i don't think it's possible to specify concerns
05:36:08 <itidus21> it's a turing test kind of thing
05:36:42 <kallisti> I wish CPAN didn't test things.
05:38:24 <fizzie> But then you would be UNCERTAIN.
05:38:33 <itidus21> i mean, it's not for me to say if caged chickens suffer waiting for me to eat them
05:39:07 <kallisti> the chicken parts of my brain understand chicken-suffering
05:39:10 <itidus21> nor whether the errand boy's day is ruined by running my errands
05:40:01 <kallisti> that's a more less certain situation.
05:40:29 <itidus21> well, i try to be kind to the people who sort recyclables..
05:40:41 <kallisti> how is that even related to the last thing you said.
05:41:08 <itidus21> its possible to make a real mess of what you put in the recycling bin
05:41:18 <itidus21> and the person who later has to sort it in a factory has to deal with the mess
05:41:37 <kallisti> factories are places where people make good money (?????????)
05:41:53 * kallisti says something else with topics loosely derived from the last thing said.
05:42:20 <itidus21> my point is, do you really care if an original yes machine suffers discomfort?
05:44:03 <itidus21> i just don't like a specification based upon the discomfort of the system/machine
05:45:16 <kallisti> I'm mostly focused on avoiding my own discomfort..
05:45:28 <itidus21> the jains argue it is better to pick a single fruit off a tree, than to shake the tree causing several fruit to fall. since you only intend to eat 1
05:46:18 <itidus21> <-- having another "crazy" day
05:46:30 <kallisti> so it's better to type yes by hand, than to have an infinite loop spam a buffer as fast as possible?
05:46:40 <kallisti> because the second is wasteful?
05:50:45 <itidus21> http://gallery.trupela.com/albums/userpics/10001/normal_Moo.jpg
05:51:46 <HackEgo> (__) \ (oo) \ /------\/ \ / | || \ * /\---/\ \ ~~ ~~ \ ...."Have you mooed today?"... \ W: Unable to read /etc/apt/apt.conf.d/ - DirectoryExists (2: No such file or directory)
05:52:01 <fizzie> The line breaks kind of mess that up.
05:52:20 <itidus21> anything to save me from my topic
05:52:25 -!- ssue has joined.
05:52:36 -!- sirdancealot has joined.
05:52:42 <soundnfury> well, I think I can safely conclude that Eniuq /is/ difficult to program in
05:53:02 <soundnfury> given that I've been working on my "print a number in unary" program for the last three hours
05:53:20 <itidus21> soundnfury: sounds like it could be a hit then
05:54:24 <fizzie> Going purely on logic, and not as an any sort of assessment of personal skills or anything, but I don't think that's an entirely safe conclusion; it could always be just you.
05:54:46 <soundnfury> http://jttlov.no-ip.org/tar/eniuq_0.1.src.tar.gz
05:55:12 <fizzie> I'd have a look but I have to be in a train in twenty minutes or so. :/
05:55:18 <soundnfury> * the interpreter isn't anywhere near finished - many of the operators remain unimplemented
05:55:29 <soundnfury> * there isn't any accompanying documentation
05:56:10 <soundnfury> * the one program supplied doesn't exit cleanly; when it's done it produces a stack underflow error
05:56:26 <soundnfury> * programs have to be run through the preprocessor `epp' by hand
05:57:14 <itidus21> clean exit is defined by stack underflow!
05:57:51 <itidus21> the less input i have on actual serious esolangs the better
05:58:22 <soundnfury> but I already have a defined clean exit...
06:00:15 <itidus21> itidus21 is not yet learned in the ways of computer programming
06:11:36 <zzo38> I made the TeX calendar to include the preset month/weekday names of: \EnglishNames \CharlemagneNames \GermanNames \JulianNames \OldTurkmenNames \NewTurkmenNames \OldZorkNames \NewZorkNames
06:15:16 -!- augur has quit (Remote host closed the connection).
06:15:26 <zzo38> For preset list of special days you can use: \DiscordianTraditional \DiscordianModern \CanadaNationwideStatutoryHolidays \CanadaCommon \Alberta \BritishColumbia \Manitoba \NorthwestTerritories \Nunavut \Ontario \PrinceEdwardIsland \Saskatchewan \Yukon \UnitedStates \Japan
06:16:20 <zzo38> Is there any sun/moon ephemeris data that can be used with TeX?
06:29:09 -!- ion has joined.
06:33:41 -!- rolebot has joined.
06:36:17 -!- Otas has quit (Quit: Page closed).
06:45:36 -!- zzo38 has quit (Quit: Sorry, I quit.).
06:48:46 <soundnfury> http://jttlov.no-ip.org/tar/eniuq_0.2.src.tar.gz
06:49:42 -!- MoALTz has joined.
06:51:01 <soundnfury> (oh, in case anyone hasn't figured it out, "eniuq" is "quine" backwards)
06:51:39 -!- rolebot has quit (Quit: manual shutdown by kallisti).
06:52:28 -!- ais523 has quit (Remote host closed the connection).
06:52:39 -!- rolebot has joined.
06:52:45 -!- ais523 has joined.
06:52:45 -!- rolebot has quit (Remote host closed the connection).
07:10:13 -!- edwardk has quit (Quit: Computer has gone to sleep.).
07:17:09 -!- MoALTz has quit (Quit: brb).
07:29:13 -!- MoALTz has joined.
07:37:21 <soundnfury> Yay, I've managed to make a version of unary.en that exits cleanly!
07:37:57 <soundnfury> Unfortunately, if you input 0 or 1 you get nearly 2^32 digits output :(
07:38:29 <soundnfury> but who cares, it works, and it's self-modifying quining code
07:39:10 <soundnfury> the code: ?1-`+`3`*`4`8`k`D`+`3`*`4`8`+`*`*`3`d`5`*`4`+`1`!`f`+`3`*`4`8`~`-`1`~`I48*2+D48*2+O`Oo
07:55:46 <itidus21> does histogram ever mean a set of numbers independant of it's means of display?
07:56:20 <itidus21> it seems pretty obvious that it does based on a google result
08:03:07 <soundnfury> anyone who is using it to mean that is *wrong*
08:03:27 <soundnfury> and if they're appearing in a google result, then they must be *wrong on the internet*
08:04:26 <itidus21> its probably just me misinterpreting
08:05:58 <itidus21> im doing something which to my mind is actually pretty cool
08:07:47 <itidus21> disclaimer: i have never been employed in I.T., never completed a degree, no signifigant knowledge of mathematics, no real understanding of functional programming
08:08:18 <itidus21> my main interest is things related to computer games
08:08:31 <itidus21> so, i'm trying to think up a really clever 2d engine
08:09:01 -!- mtve has quit (Ping timeout: 244 seconds).
08:09:54 <soundnfury> You could implement your game in Befunge...
08:10:44 -!- mtve has joined.
08:29:06 -!- AnotherTest has joined.
08:54:28 <soundnfury> http://jttlov.no-ip.org/tar/eniuq_0.3.src.tar.gz
08:55:07 * soundnfury is probably not up to the task of determining its computational class
08:55:29 <soundnfury> it looks like it /should/ be TC, but I'm not good enough at writing quinescent code
08:57:55 -!- AnotherTest has left.
08:58:01 -!- AnotherTest has joined.
09:33:53 -!- Jafet has quit (Ping timeout: 265 seconds).
09:34:03 -!- augur has joined.
10:04:06 -!- AnotherTest has quit (Quit: Leaving.).
10:54:19 -!- stlangbot has joined.
10:54:28 <mroman> stlangbot: dfa iiisdsi
10:54:30 <mroman> stlangbot: dfa iiisdsio
10:54:38 -!- stlangbot has quit (Client Quit).
10:55:06 -!- stlangbot has joined.
10:55:14 <mroman> stlangbot: dfa iiisdsio
10:56:18 <mroman> stlangbot: df iiisdsio
10:57:00 <mroman> stlangbot: stlang M .0III<+*D<+*I \
10:59:04 -!- stlangbot has quit (Client Quit).
11:05:57 -!- stlangbot has joined.
11:12:48 -!- Phantom_Hoover has joined.
11:27:22 <augur> Phantom_Hoover: stop being so stupid.
11:27:32 <augur> your arguments are full of shit and you know it.
11:28:13 -!- stlangbot has quit (Remote host closed the connection).
11:28:57 -!- stlangbot has joined.
11:29:09 <mroman> stlangbot: p 0+++*-*+@[
11:29:10 -!- stlangbot has quit (Remote host closed the connection).
11:29:55 -!- stlangbot has joined.
11:29:56 <mroman> stlangbot: p 0+++*-*+@[
11:30:29 <mroman> stlangbot: p 0+++*-*+@[d
11:30:29 <stlangbot> [mroman] Timeout!ATimeout!Timeout!AATimeout!Timeout!ATimeout!Timeout!AAATimeout!ATimeout!Timeout!AATimeout!Timeout!ATimeout!Timeout!
11:31:50 -!- stlangbot has quit (Client Quit).
11:33:45 -!- stlangbot has joined.
11:33:48 <mroman> stlangbot: p 0+++*-*+@[d
11:33:55 <mroman> stlangbot: p 0+++,*-*+@[d
11:34:04 <mroman> stlangbot: p 0+,++*-*+@[d
11:34:18 -!- oonbotti has quit (Ping timeout: 245 seconds).
11:34:30 <mroman> stlangbot: p 0[+++,*-*+@[d
11:34:55 <mroman> stlangbot: p [+++*-*+@
11:35:11 -!- nortti has quit (Ping timeout: 265 seconds).
11:35:44 <mroman> stlangbot: p [+[++*-*+@@
11:35:55 -!- nortti has joined.
11:37:06 <mroman> stlangbot: p +[++*-*+@@
11:38:29 -!- nortti has quit (Client Quit).
11:38:36 <mroman> stlangbot: p +++*-*+@^+@v@
11:38:58 -!- nortti has joined.
11:41:52 -!- MoALTz has quit (Ping timeout: 246 seconds).
11:42:18 <mroman> http://codepad.org/qpPFtoyh <- pretty sucky to produce loops :(
11:50:07 -!- MoALTz has joined.
11:51:41 -!- copumpkin has quit (Ping timeout: 250 seconds).
11:52:12 -!- copumpkin has joined.
12:02:25 -!- ais523 has quit.
12:14:30 -!- sirdancealot has quit (Ping timeout: 264 seconds).
12:15:33 <nortti> point me to very limited text mode browser with no or very few dependencies
12:17:47 <soundnfury> if you can't Do Protocol and parse HTML manually, you shouldn't be using the Web :P
12:18:14 <nortti> I'm just tired of doind it while using netbsd
12:18:30 <nortti> (wget and nc are not installed by default btw)
12:18:42 -!- lifthrasiir has quit (Ping timeout: 264 seconds).
12:19:10 -!- lifthrasiir has joined.
12:19:23 <nortti> http://pics.kuvaton.com/kuvei/os_cars.jpg
12:19:30 <itidus21> nortti: since people are all too clever, there is a general lack of half-baked applications
12:20:31 <itidus21> nortti: you made a time machine out of a delorean?
12:20:32 <nortti> I'd want something like lynx -dump but without all of the dependecies lynx has
12:20:44 <soundnfury> also, I guess RISC OS would be a Rover
12:20:51 <nortti> itidus21: no? why do you ask?
12:21:32 <soundnfury> it's British and the company that made it doesn't exist any more
12:22:26 <soundnfury> Microsoft BOB would be a kid's tricycle
12:22:32 <nortti> soundnfury: but RISC OS is still developed
12:22:57 <soundnfury> nortti: perhaps so, but Acorn Computers aren't the ones developing it
12:23:20 <itidus21> nortti: in other words, all apps have feature creep
12:23:59 <nortti> soundnfury: true. but there are still new versions of it. risc os open is developing port for raspi
12:24:51 <itidus21> basically, it would be too easy to write the app you want
12:24:57 <soundnfury> itidus21: Zawinski's Law of Software Envelopment
12:26:11 <itidus21> 1)download html page from specified url. 2)allow viewing of the text with tags hidden. 3) if click on a link, goto (1)
12:27:26 <nortti> either that or 1)download html page from specified url. 2)allow viewing of the text with tags hidden and links having number after them 3) display list of numbers and list at the botom
12:27:43 -!- DHeadshot has joined.
12:28:06 <itidus21> nortti: yes.. i actually thought of that earlier :D .. should have stuck with it
12:29:05 <itidus21> except i didnt think of the numbers
12:30:56 <soundnfury> ah yes, but HTML isn't that simple, because SGML has some brain-damage
12:31:41 <mroman> Firefox does not support SGML though.
12:31:48 <soundnfury> Why couldn't Tim Berners-Lee have used sexps instead?
12:32:32 <itidus21> you mean, you actually have to check for bar in <foo/bar> ..
12:33:16 <itidus21> if noone knows, it won't get used
12:34:04 <monqy> itidus21: what if they use it accidentally
12:35:43 <nortti> what the fuck it that?
12:35:58 <itidus21> I emphatically hope they don't
12:38:37 <mroman> SExp for HTML would have been awesome.
12:38:38 <itidus21> i saved tag_length+2 characters that way.. as in "em"+"<>" = 4
12:38:51 <mroman> That could have lead to use Lisp instead of Javascript.
12:38:57 <mroman> Which also would have been awesome :)
12:39:49 <itidus21> you know, for all those non-mnemonic html tags where saving space matters
12:40:01 <nortti> well we can hope for www 2.0 to use sexpr and lisp
12:40:19 <itidus21> like img, div, em, u, li, ol, tr, td
12:42:18 <itidus21> can you nest a tag within a <foo/bar/ ?
12:42:40 <soundnfury> (escape me instead, it's simpler to implement)
12:43:25 <soundnfury> mroman, nortti: one of my occasional projects is to try and develop a sexpr+lisp replacement for html+js. But it's slow going
12:43:47 <soundnfury> and convincing the world to change would be infinitely difficult
12:44:27 <nortti> soundnfury: I'm using gopher. if it is public I'll also serve my webpages in that format
12:44:59 <soundnfury> my brother is working on a gopher client for the ZX Spectrum
12:45:35 <nortti> soundnfury: cool. does zx spectrum have tcp/ip stack?
12:45:47 <itidus21> <a href="blah.html"><em/blah/</a>
12:45:50 <nortti> soundnfury: that refering to your project
12:46:01 <soundnfury> nortti: It does now! http://spectrum.alioth.net
12:46:39 <itidus21> <a href="blah.html"/<em/blah// !
12:47:10 <nortti> soundnfury: awesome. I'm thinking of getting rrnet card for my c64
12:47:23 <mroman> <b>I'm fat<i>I'm cursive is also valid sgml.
12:47:24 <itidus21> to hell with, <a href="blah.html"><em>blah</em></a>
12:47:57 <mroman> but I'm not sure anymore how sgml treats omittags exactly.
12:48:07 <mroman> but essentially the parser decides from context where a tag ends :)
12:49:39 <mroman> <ol><li>hello<>world<>where<>are<>you</> is also pretty nasty.
12:50:52 <mroman> http://www.is-thought.co.uk/book/sgml-9.htm
12:51:09 <mroman> Saving bytes is precious!
12:51:13 <soundnfury> also: LLML: http://jttlov.no-ip.org/projects/llml/index.htm
12:51:26 <soundnfury> a few things about it are definitely wrong
12:52:27 -!- oonbotti has joined.
12:54:40 <soundnfury> instead of ((a (href /foo/bar)) link text)
12:54:55 <soundnfury> it should be something like (href /foo/bar (a link text))
12:55:23 * soundnfury has been experimenting with various approaches and hasn't settled on the perfect answer yet
12:55:25 <nortti> or maybe (a /foo/bar (link text))
12:55:55 <nortti> or (a /foo/bar link text)
12:56:22 <mroman> href is an attribute of a
12:56:39 <mroman> (href /foo/bar (a)) looks like it is in the wrong order.
12:57:02 <nortti> soundnfury: or maybe like (a ((href /foo/bar)) link text)
12:57:09 <mroman> I'd prefer shortcuts like
12:57:31 <soundnfury> every tag should essentially apply a modifier to its content
12:57:54 <mroman> > anchor ! [href "foo"]
12:57:55 <lambdabot> Not in scope: `anchor'Not in scope: `href'
12:58:02 <soundnfury> so (img /foo.png alt text (em with an emphasised bit))
12:58:18 <soundnfury> tags should take a fixed number of non-text-content arguments
12:59:42 <soundnfury> and instead of (for instance) having the "class" attribute for any tag, you just have a (class classname ...) tag
12:59:46 -!- ogrom has quit (Quit: Left).
12:59:48 <mroman> (a (href "foo.lisp") (p (class "no-ident") "Hello!"))
12:59:56 <mroman> (tag attributes contents)
13:00:43 <nortti> soundnfury: so basicaly arguments are written before the tag?
13:00:56 <soundnfury> mroman: (a "foo.lisp" (class "no-ident" (p "Hello!")))
13:01:45 <mroman> I wouldn't just assume that every a has a href.
13:02:04 <soundnfury> mroman: well, it wouldn't be called (a)
13:02:35 <soundnfury> because the other use for an (a) is fragment identifiers, for which you'd use (id)
13:03:23 <soundnfury> (href #somewhere (u (strong link) to somewhere)) (id somewhere (em this is somewhere))
13:04:07 <soundnfury> == <a href="#somewhere><u><strong/link> to somewhere</u></a><a id=somewhere><em>this is somewhere</em></a>
13:04:13 <nortti> soundnfury: what if you want normal text in link? do you use (href #foo '(bar))
13:04:35 <soundnfury> because href knows it only takes one fixed argument
13:04:44 <nortti> and (href #foo bar baz) ?
13:04:47 <soundnfury> so any remaining args must be normal text
13:05:11 <nortti> that seems pretty good idea actually
13:05:50 <nortti> are there any specifications? if there are I can write simple parser/conversion tool
13:07:34 <soundnfury> only got as far as this: http://pastebin.com/Sp3srYxJ
13:08:05 <soundnfury> it's just a sample of the kind of thing I want the language to be able to handle
13:09:18 <nortti> how does the if work? is it that not null if true, null is false?
13:09:56 <soundnfury> headings have content, so (h1 (. Top Level Heading) Stuff under that heading)
13:10:08 <nortti> only problem: how to use ( and )
13:10:30 <soundnfury> (admittedly it can be a pain in the ass remembering to use them)
13:11:06 <nortti> maybe if we use m exspressions...
13:11:23 <nortti> you don't know mexprs?
13:11:36 <nortti> they are part of lisp history
13:12:46 <soundnfury> I vaguely recalled them but couldn't remember much about them
13:13:58 <nortti> using sexprs with { and } in place of ( and ) would be easier in web pages
13:14:17 <soundnfury> or even < and >, because people are used to escaping those
13:14:51 <nortti> *go to write my own harkup language
13:16:14 <soundnfury> All the world's a LispM,nAnd all the men and women merely conses:nThey have their cdrs and their cars;nAnd one man in his time evals many sexprs,nHis acts being seven lists.
13:22:30 -!- Phantom__Hoover has joined.
13:25:18 -!- Phantom_Hoover has quit (Ping timeout: 264 seconds).
13:29:36 <soundnfury> It's just so /ugly/, in phonotactic terms.
13:41:30 -!- DHeadshot has quit (Ping timeout: 264 seconds).
13:42:11 -!- ogrom has joined.
13:44:07 -!- Guest8000 has quit (Quit: I found 1 in /dev/zero).
14:05:20 -!- Vorpal has quit (Quit: ZNC - http://znc.sourceforge.net).
14:14:57 -!- azaq23 has joined.
14:15:04 -!- azaq23 has quit (Max SendQ exceeded).
14:17:00 -!- azaq23 has joined.
14:24:02 <nortti> ok. now I have written specs of my own s-expr based markup language
14:26:42 <mroman> Now write a parser using parsec for it.
14:27:07 -!- copumpkin has quit (Ping timeout: 240 seconds).
14:27:37 <nortti> nah. I don't want to require any dependecies
14:28:33 -!- copumpkin has joined.
14:38:15 <nortti> hmm. I started building of lynx in 15:20 and it has now build the dependencies
14:38:41 -!- Patashu has changed nick to Patashu[Zzz].
14:39:28 <nortti> but to be fair I had to compile gmake and other utilities like that before it could be compiled
14:42:02 <nortti> (I am building it on netbsd on virtual machine)
15:04:18 -!- kallisti has quit (Ping timeout: 245 seconds).
15:09:24 -!- ogrom has quit (Quit: Left).
15:12:16 -!- oonbotti has quit (Remote host closed the connection).
15:14:37 -!- oonbotti has joined.
15:15:56 -!- kallisti has joined.
15:33:40 <nortti> yay. I just got another nokia 1610
15:43:26 -!- Taneb has joined.
16:18:47 <mroman> stlangbot: stlang M 'Hello \s : 'Taneb! : \
16:18:47 <stlangbot> [mroman] [['H', 'e', 'l', 'l', 'o', ' ', 'Taneb!']]
16:19:23 <mroman> stlangbot: stlang M 'Hello \s : 'Taneb! : concat \
16:19:32 <mroman> Damn python strings not lists :(
16:19:42 <mroman> I'm very disappointed of python right now.
16:19:56 <mroman> You can treat a string as a list
16:20:03 <mroman> for e in "somestring": foo.append(e)
16:20:08 <mroman> but foo is not a string anymore.
16:20:15 <mroman> it's a list of strings.
16:20:41 <Taneb> I switched to Haskell shortly after joining this channel
16:20:45 <Taneb> It has that effect on you
16:20:59 <mroman> I learned haskell a while ago.
16:21:08 <mroman> During my apprenticeship as an IT supporter.
16:23:02 <mroman> Not that it would have had anything to do with that job but...
16:23:34 <Taneb> I probably ought to finish PietBot
16:23:47 <Taneb> I probably ought to find PietBot
16:23:50 <mroman> I learned it anyway at home :)
16:24:35 <Taneb> I think it's possible to get from the wikipedia page on Perl to our wiki in four clicks
16:25:01 <mroman> Taneb: http://www.youtube.com/watch?v=SmkdIeImbWk
16:26:13 <mroman> Taneb: http://www.youtube.com/watch?v=pztDbROyspk
16:26:38 <Taneb> Oh, we do that for fun
16:26:44 <Taneb> I'm quite good at it
16:28:17 <mroman> Taneb: You can get there with 3 clicks.
16:28:52 <mroman> on Perl -> 'obfuscated code' -> 'Esoteric programming language' -> 'Esolang'
16:30:09 <Taneb> Okay, this isn't good
16:30:53 <Taneb> I once went into a very long game late, and still won
16:33:18 <mroman> http://en.wikipedia.org/wiki/Very_high-level_programming_language
16:33:47 <mroman> goal-oriented programming language
16:34:03 <mroman> Sounds like buzzword bullshit.
16:35:19 <Phantom__Hoover> So... it's basically just a scripting language built into an application?
16:36:51 <mroman> It's a VERY high-level language.
16:37:15 <mroman> It's just an embedded scripting language.
16:37:44 <mroman> With functions specific to an application.
16:38:03 <mroman> Which according to WP makes it *very* high-level.
16:38:57 <mroman> The references there even suck.
16:39:13 <Phantom__Hoover> I guess the term would mean a language completely divorced from the hardware it's running on?
16:40:31 <mroman> Isn't that true for almost any interpreted language as well?
16:41:10 <Phantom__Hoover> Eh, they generally have some form of hardware interface so you can actually use them.
16:56:43 -!- DHeadshot has joined.
17:07:08 -!- Frooxius|TabletP has quit (Ping timeout: 250 seconds).
17:25:54 -!- ogrom has joined.
17:34:55 -!- Taneb has quit (Quit: Leaving).
17:38:37 <stlangbot> [mroman] iiiiiisddddsddddddddddddddddddddddddd
17:39:29 -!- Tod-Autojoined has joined.
17:40:30 <stlangbot> [mroman] iiiiiisddddsdddddddddddddddddddddddd
17:41:08 -!- TodPunk has quit (Read error: Connection reset by peer).
17:42:17 -!- stlangbot has quit (Quit: Bye, cruel world!).
17:59:34 <Sgeo> Is Opera less of a memory hog than Chrome?
18:07:09 -!- zzo38 has joined.
18:37:47 -!- Taneb has joined.
19:11:47 -!- edwardk has joined.
19:12:08 -!- DHeadshot has quit (Ping timeout: 264 seconds).
19:20:16 -!- Frooxius|TabletP has joined.
19:20:35 -!- oerjan has joined.
19:32:48 -!- Vorpal has joined.
19:33:34 <nortti> fuck yeah. I installed lynx
19:34:01 <Vorpal> well, that was fun. / remounted ro. Seems to have been a kernel bug rather than disk issue though. Will run memtest on it tonight as well.
19:34:09 <Vorpal> (the disk is fine as far as I can tell)
19:35:00 <nortti> compiling started around 15:40
19:35:21 <Vorpal> nortti, is it still not done?
19:35:27 <Vorpal> what are you compiling?
19:35:57 <nortti> but it had to compile dependecies and gmake
19:36:29 <nortti> also the virtual machine netbsd is running is about as fast as 486
19:37:00 <Vorpal> nortti, what virtual machine? qemu?
19:39:37 <nortti> what!? there are binary packages for netbsd?
19:40:39 -!- sirdancealot has joined.
19:41:25 <nortti> okay. that was 7 hours of wasted time
19:50:40 <nortti> Gregor: where is ircII located in pkgsrc?
19:51:58 -!- ogrom has quit (Quit: Left).
20:23:33 <nortti> kallisti: when I try to visit spirity.org I get "The plain HTTP request was sent to HTTPS port" error
20:24:14 <Taneb> That's another one for my collection
20:24:19 <kallisti> nortti: ha. I /just/ attempted to set up HTTPS
20:25:30 <kallisti> someone in #nginx told me I could just drop the HTTPs setting into a server block.
20:27:24 <Taneb> Looks like an interesting site
20:27:35 <kallisti> yeah it's the next big thing on the internet.
20:27:57 <nortti> wow. that site is full of content
20:29:08 <kallisti> so I just googled "welcome to nginx"
20:29:13 <kallisti> apparently there's a "welcome to nginx" virus.
20:29:32 <kallisti> http://community.norton.com/t5/Norton-Internet-Security-Norton/Help-with-quot-Welcome-to-nginx-quot/td-p/730142
20:33:38 -!- calamari has joined.
20:38:58 -!- copumpkin has quit (Ping timeout: 255 seconds).
20:39:31 -!- copumpkin has joined.
20:43:55 <zzo38> Is there any sun and moon ephemeris usable with TeX?
20:46:42 -!- calamari has quit (Quit: Leaving).
20:59:12 -!- edwardk has quit (Quit: Leaving...).
21:20:36 -!- MoALTz has quit (Quit: bbl).
21:32:45 -!- oonbotti has quit (Quit: oonbotti).
21:33:18 -!- oonbotti has joined.
21:42:32 <Vorpal> <Taneb> That's another one for my collection
21:42:38 <Vorpal> you collect HTTP errors?
21:42:44 <Taneb> I'd like to, one day
21:42:52 <Taneb> Ever since I saw a 302 error
21:43:00 <Vorpal> Taneb, 302, which one is that?
21:43:27 <olsner> is that the "I'm not a teapot" error?
21:43:37 <Taneb> olsner, that's 418
21:44:29 <nortti> yeah. it is kinda weird error message
21:44:43 <Gregor> It means your resource has been found, it just doesn't happen to be here.
21:44:50 <Vorpal> Gregor, well obviously, all 3xx are redirects after all
21:45:06 <Taneb> I was at school, which uses IE7, I think
21:45:10 <Vorpal> anyway it seems 303 See Other and 307 Temporary Redirect have replaced 302 Found
21:45:15 <Vorpal> according to wikipedia
21:45:23 <Taneb> It may have been a 502 or something
21:45:29 <Taneb> I neglected to write it down
21:45:41 <Vorpal> that happens sometimes
21:45:49 <Vorpal> usually a server being overloaded
21:47:00 -!- oonbotti has quit (Quit: oonbotti).
21:52:03 -!- oonbotti has joined.
21:55:08 -!- Frooxius|TabletP has quit (Ping timeout: 245 seconds).
21:55:32 -!- Frooxius|TabletP has joined.
21:59:13 <oerjan> i'll just keep waiting for a 451 error
21:59:26 -!- nortti_ has joined.
22:32:48 -!- Taneb has quit (Quit: Leaving).
22:35:29 -!- itidus20 has joined.
22:38:16 -!- itidus21 has quit (Ping timeout: 252 seconds).
22:39:37 -!- nortti_ has quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )).
22:45:09 <Vorpal> oerjan, I hope I never see that one
22:45:37 -!- kallisti_ has joined.
22:45:58 -!- kallisti has quit (Ping timeout: 245 seconds).
22:51:50 <Vorpal> huh subversion is an apache project? What?
22:52:03 <Vorpal> I could have sworn it was a tigris.org project?
22:53:52 -!- ais523 has joined.
22:54:11 <Vorpal> since when has subversion been an apache project?
22:55:07 <oerjan> since it was subverted
22:55:21 <Vorpal> oh right, it used to be a tigris.org project, as I thought. I just found the old subversion bug tracker on there
22:55:30 <Vorpal> so I wasn't going insane then. Phew.
22:55:52 <shachaf> Everything is Apache these days.
22:56:04 <Vorpal> seems it has been an apache project since 2009 though
22:56:08 <shachaf> They even have a web server.
22:56:09 <Vorpal> how did I not notice that...
23:12:11 -!- itidus20 has changed nick to itidus21.
23:12:50 <kallisti_> I suddenly have a strange urge to write a compiler.
23:14:51 <olsner> kallisti_: write one then
23:15:01 <kallisti_> not sure what to compile, or what to compile it to.
23:16:35 -!- itidus20 has joined.
23:16:37 <soundnfury> kallisti_: compile Befunge-93 to Eniuq
23:17:20 <soundnfury> *without* using a single regex, bwahahaha
23:17:55 -!- kallisti_ has changed nick to kallisti.
23:19:18 -!- itidus21 has quit (Ping timeout: 264 seconds).
23:19:27 <Vorpal> kallisti, unless it heavily optimises
23:19:33 <kallisti> yes, well, I don't have experience with compilers
23:19:38 <Vorpal> can it break esotope-bfc is the question then
23:19:50 <Vorpal> which is a pretty good brainfuck->C compiler
23:19:51 <kallisti> actually befunge-93 could be more interesting.
23:20:03 <Vorpal> kallisti, befunge is self modifying, you can't compile it
23:20:41 <Vorpal> you can do threaded code sure, but you need to be able to recompile it on the fly
23:21:06 <Vorpal> so you either need threaded code or you need a JIT
23:21:17 <Vorpal> fizzie, was working on a befunge-98 JIT
23:21:33 -!- itidus20 has changed nick to itidus21.
23:22:04 <kallisti> I'd imagine javascript is dynamic enough to make modification not a huge issue.
23:22:27 <soundnfury> I don't think you can treat code as data in javascript
23:23:05 <soundnfury> it's just Strongly Discouraged by security peoples
23:25:31 <kallisti> an inline JS extension could be fun.
23:25:42 <kallisti> manipulate the DOM in your fungespace!
23:25:51 * kallisti will need to work on his catchphrases.
23:26:46 <soundnfury> Could AFAX be this year's hottest web technology?
23:27:00 <Vorpal> kallisti, you mean as a fingerprint for befunge-98?
23:27:38 <kallisti> possibly. I don't know how that works exactly
23:28:08 <kallisti> looks to be what I'm talking about
23:28:13 <kallisti> assign a symbol to some foreign code.
23:30:08 <Vorpal> kallisti, well if you need any help with Befunge-98 implementation (which is tricky, the standard is ambiguous in several places!) I suggest you check out Deewiant's test suite Mycology. It documents the standard interpretation of Befunge-98 pretty much.
23:30:21 <Vorpal> http://users.tkk.fi/~mniemenm/befunge/mycology.html
23:30:44 <Vorpal> kallisti, there is a befunge-93 part of that test suite too
23:30:52 <Vorpal> so even in befunge-93 you can use that
23:31:01 <Vorpal> just cut out the first 25x80
23:31:09 <Vorpal> that makes up the befunge-93 part
23:31:21 <Vorpal> (I suggest using block selection mode in your editor)
23:32:04 <kallisti> ha. modular programming in befunge.
23:32:26 <Lumpio-> Well if the standard is ambiguous you might as well make an ambiguous implementation
23:32:35 <Lumpio-> Undefined behavior where-ever the standard calls for it!
23:32:40 <oerjan> * kallisti will need to work on his catchphrases. <-- "the befunge of DOM", hth
23:32:51 <Vorpal> Lumpio-, well there are also some cases where the other behaviours doesn't work
23:33:07 <kallisti> also what should I call this? FungeScript? CoffeeFunge? FungeCoffee?
23:33:10 <Vorpal> Lumpio-, also the standard doesn't completely work
23:33:19 <Vorpal> the behaviour wrt t is broken
23:33:36 <Vorpal> basically you can't avoid forkbombing a standard implementation
23:33:43 <Vorpal> so no one implements it like that
23:34:24 <Vorpal> <kallisti> ha. modular programming in befunge. <-- the fingerprint testing is kind of modular actually
23:34:32 <oerjan> kallisti: Hemileia, hth
23:34:48 <Vorpal> oerjan, is that a species of fungus?
23:34:57 <kallisti> Hemileia vastatrix is a fungus of the order Uredinales that causes coffee rust, a disease that is devastating to coffee
23:35:00 <Vorpal> oerjan, also what do you mean by "hth"?
23:35:28 <Vorpal> kallisti, I went for the boring name for my implementation: "cfunge" since it was written in C
23:35:35 <Vorpal> I also have efunge, written in Erlang
23:35:57 <kallisti> how would fingerprints work with a compiler? seems difficult.
23:36:11 <Vorpal> kallisti, remember you need a stack per letter
23:36:42 <Vorpal> example: fingerprint AAAA defines A B and C. fingerprint BBBB defines B C and D
23:36:53 <Vorpal> then if you load A and unload B. What do you get?
23:37:09 <Vorpal> Turns out the A semantic from AAAA remains loaded
23:37:53 <Vorpal> kallisti, so basically unloading a fingerprint just pops one function pointer off the stack of each letter that it defines.
23:38:02 <kallisti> it seems odd to restrict fingerprints to A-Z
23:38:17 <Vorpal> kallisti, well, there weren't any printable ASCII characters left over
23:38:26 <kallisti> Vorpal: I feel like "stack" is the wrong word here.
23:38:44 <Vorpal> kallisti, well, I implement it in C as each letter having a stack of function pointers
23:38:51 <Vorpal> well, an array each, that is malloced
23:39:01 <Vorpal> linked list in erlang obviously
23:39:10 <kallisti> ah I guess the ( ) make it work like a stack, nevermind
23:39:17 <kallisti> I thought you could unload fingerprints arbitrarily.
23:39:40 <oerjan> Vorpal: um what happens if you load AAAA, load BBBB, then unload AAAA?
23:40:24 <Vorpal> let me work out what happens
23:41:10 <Vorpal> oerjan, lets see.. you get: A: empty, B: AAAA semantics, C: AAAA semantics, D: BBBB semantics
23:41:42 <oerjan> ...and this is according to spec? :P
23:42:16 <Vorpal> oerjan, the spec is not very clear. But there was a lot of discussion (see logs for this channel, whenever that discussion was). There are several possible interpretations.
23:42:24 <Vorpal> but it is the one mycology expects
23:42:53 <Vorpal> oerjan, you could make a case for about 5 different interpretations as well
23:43:06 <Vorpal> this is however common practise.
23:43:16 <oerjan> for a start, you could make a case for not keeping around pointers to unloaded fingerprints
23:43:29 <Vorpal> oerjan, ah but you could load a fingerprint multiple times
23:44:36 <kallisti> it looks to me like each load saves the old semantics of the operation on the stack.
23:44:54 <Vorpal> CCBI and cfunge both implements it as loading a fingerprint pushing a set of function pointers onto a set of stacks. And unloading just popping whatever is on top (even if it is for a different fingerprint)
23:45:00 <kallisti> to whatever the old semantic-set was.
23:45:38 <kallisti> so it looks to me like it should be a stack of linked lists of function pointers
23:45:43 <kallisti> rather than a stack of function pointers.
23:45:47 -!- copumpkin has quit (Ping timeout: 255 seconds).
23:45:58 <kallisti> or null-terminated arrays or something
23:46:04 <kallisti> whatever sequence you want to use.
23:46:28 -!- copumpkin has joined.
23:46:43 <Vorpal> kallisti, uh? stack of linked lists?
23:46:51 <Vorpal> each letter has a separate stack
23:46:58 <Vorpal> (that is how I implement it)
23:48:21 <Vorpal> kallisti, http://sprunge.us/ePBg?c
23:48:23 <kallisti> it looks as though loading a new semantic onto a letter overwrites the previous.
23:48:58 <Vorpal> oh I forgot this at the start:
23:48:59 <Vorpal> typedef void (*fingerprintOpcode)(struct s_instructionPointer * ip);
23:49:55 <kallisti> I'd probably use a single stack of arrays
23:50:26 -!- glogbackup has joined.
23:50:31 <Vorpal> kallisti, anyway you might not want to read the cfunge source code in general. I kind of went for it being the fastest implementation at the time (and it was until CCBI2). So there are some stupid optimisations XD
23:50:50 <kallisti> so then a save makes a copy of the array, binds the new semantics to their respective indices in the new array, and pushes that to the stack.
23:51:19 <Vorpal> I should write an implementation for android
23:51:47 <Vorpal> nah I don't like java that much, and the NDK looks painful
23:51:59 <Vorpal> and cfunge wouldn't work under a libc like the one on android
23:52:07 <Vorpal> I would have to learn scala
23:52:16 <Vorpal> don't know clojure either
23:52:38 <Vorpal> I'm not going for /slowest/ interpreter
23:52:55 <Vorpal> hm I'm interested in what feeding cfunge into an android toolchain would do now...
23:53:10 <kallisti> I think I'll start with a javascript befunge-98 interpreter.
23:53:15 <kallisti> since that will be a simpler task
23:53:19 <Vorpal> kallisti, 93 you mean?
23:53:19 <kallisti> and might prove useful for a compiler.
23:53:37 <Vorpal> kallisti, try implementing k for example
23:54:07 <Vorpal> kallisti, read the spec and tell me what 8::::kkj would do
23:54:19 <Vorpal> that is when traveling left to right
23:54:48 <Vorpal> I know cfunge doesn't work on windows. And even getting it to work under cygwin is apparently tricky, requiring disabling some fingerprints
23:55:45 <Vorpal> I even had trouble getting it to work on openbsd. Yet it doesn't require anything except C99 and some POSIX-2001 bits
23:56:26 <Vorpal> it requires some esoteric bits of those however
23:56:38 <kallisti> well I think it will be easier to write in JS than in C.
23:56:51 <Vorpal> you don't have to deal with memory management
23:56:59 <Vorpal> C is not an easy language to write in
23:57:05 <kallisti> you can implement fingerprints as functions on the grid.
23:57:11 <Vorpal> I have my own memory pool implementation
23:57:32 <Vorpal> kallisti, and you probably get associative arrays :P
23:58:05 <Vorpal> kallisti, but you can't do what my erlang implementation can. It can run on multiple computers
23:58:06 <kallisti> if I were going to go for an efficient befunge compiler I'd probably use C++
23:58:35 <Vorpal> (I didn't finish the fingerprint for accessing that functionality, some parts work)
23:59:12 <Vorpal> it has a ATHR (async threads, since the befunge-98 threads created by t run in lock step, I wanted truly async threads)
23:59:38 <Vorpal> btw, cfunge can do 64-bit cells. Forgot if it does that by default. And efunge does bignum cells.