←2005-06-06 2005-06-07 2005-06-08→ ↑2005 ↑all
00:00:33 <pgimeno> read access? nope, it doesn't handle permissions; files are files and must be readable by your client, that's all
00:00:34 <kipple> ? esoarchive/kipple/src
00:00:34 <kipple> ? esoarchive/kipple/impl/kipple1.01.zip
00:00:54 <kipple> (that was from svn status)
00:00:56 <pgimeno> do you want to add the whole src/ tree with all of its contents?
00:01:35 <kipple> i just want to commit the files I added...
00:01:46 <pgimeno> you haven't added the files yet :)
00:02:20 * pgimeno sends pm to kipple for a primer on handling svn
00:04:05 <graue> you need to use "svn add whateverfilename" on new files, and "svn mkdir someplace" to make new directories
00:05:23 <kipple> I have got it now
00:05:44 <kipple> though I made the directory through Samba, not svn...
00:07:11 <pgimeno> yeah, it works if it already exists and you svn add it
00:07:27 <pgimeno> basically that's what svn mkdir does: it creates the dir and adds it
00:08:32 <kipple> thanks for the help. added some kipple just to test it
00:09:06 <pgimeno> just be sure to update before you commit
00:09:30 <kipple> oops. I have to do that as well?
00:10:14 <pgimeno> it will avoid future problems (when overwriting files that are not up to date)
00:12:21 <pgimeno> and please use a meaningful commit message when possible (for example: added Kipple implementation)
00:12:54 <cpressey> btw, i've just created a new esolang (first one in a couple of years)
00:13:02 <cpressey> http://catseye.webhop.net/projects/beturing/
00:13:25 <graue> cool
00:13:46 <kipple> 2d tape! haha. that's cool
00:13:47 <pgimeno> nice!
00:14:10 <pgimeno> 2D tape? that reminds me of the turmites
00:15:21 <cpressey> ah yeah.. i dimly remember a "turmite" program from my Amiga days...
00:16:33 <cpressey> http://mathworld.wolfram.com/Turmite.html
00:16:34 <cpressey> cool
00:17:56 <pgimeno> yeah
00:17:59 <kipple> wow
00:24:08 <pgimeno> what's the wire crossing problem?
00:24:58 <pgimeno> does it have any resemblance to the problem of crossing wires in wireworld?
00:30:03 <cpressey> the wire-crossing problem is (very informally) that languages like Befunge seem to need an "#" operator, or some other operator that can jump over things.
00:30:24 <cpressey> otherwise your paths of execution can't cross, and you can't write some interesting programs
00:30:27 <cpressey> (this is all conjecture)
00:30:38 <cpressey> kind of like light cycles in Tron, maybe...? :)
00:31:01 <cpressey> i've been googling for related stuff in the past few minutes, and i found this
00:31:03 <cpressey> http://planetmath.org/?op=getobj&from=objects&name=PlanarGraph
00:31:04 <kipple> that's why you should use 3d ;)
00:31:35 <cpressey> there's no problem in 3d, so what's the fun in that? :)
00:32:06 <kipple> does there exist a language where you write code in 3d?
00:33:24 <graue> graph theory is fun
00:33:48 <graue> kipple, Trefunge
00:34:13 <kipple> so, what kind of file format does it use?
00:36:30 <cpressey> text files
00:36:40 <cpressey> with directives that say "advance the Z dimension"
00:36:56 <cpressey> i don't think it's ever been implemented... maybe it has
00:37:14 <kipple> it uses a single 2d text file?
00:38:09 <lament> heh
00:38:22 <lament> exarkun was working on a 3d befunge
00:38:29 <lament> somebody else has also made one
00:38:39 <lament> theres one in basic somewhere i think
00:38:48 <lament> with graphical representation
00:39:01 <cpressey> kipple: yes
00:39:14 <lament> befungeGL? something like that
00:39:37 <lament> glfunge
00:39:45 <kipple> then it's not what I was talking about. I meant where you WRITE code in 3 dimensions (as opposed to a 2d text file)
00:39:57 <GregorR> I think that somebody (not me 8-D) needs to make a 2D programming language that is NOT esoteric.
00:40:13 <GregorR> I don't know how, I think that for one you'd have to use a spreadsheet to edit it non-esoterically.
00:41:48 <graue> kipple, make a program that edits trefunge in 3D and saves source code in a text file
00:41:57 <graue> it's just a matter of representation
00:42:25 <cpressey> kipple: you're talking about editors, not languages, then?
00:42:31 <lament> cpressey: how do you like my smallfuck stuff :)
00:42:53 <kipple> cpressy. languages
00:43:15 <kipple> where the source code is 3 dimensional
00:43:37 <cpressey> lament: it's quite impressive, especially the compiled output ;)
00:43:42 <lament> kipple: you have to store the source code SOMEHOW
00:43:47 <kipple> sure
00:43:52 <lament> kipple: in 1'dimensional memory
00:44:08 <kipple> one way could be to use multiple text files per program
00:44:22 <cpressey> well, text files are technically 1d, no?
00:44:35 <cpressey> newlines are a convention that says "increment the y dimension"
00:44:36 <kipple> well, ok...
00:44:49 <cpressey> funge just has another convention, there are lines that say "incrememnt the z dimension"
00:44:55 <kipple> ok
00:45:15 <graue> http://www.di.fc.ul.pt/~jpn/gv/4dttt.htm - is this a 2D game just because the playfield is shown in 2D?
00:46:16 <graue> anyway, thunderstorms are here so i'm going to save my computer, brb later
00:46:17 -!- graue has quit ("Leaving").
00:47:25 <lament> cool
00:47:30 <lament> thunderstorms
00:48:08 <lament> are cool
00:48:16 <lament> i think im finished with my music language
00:48:28 <lament> im just trying to figure out if it's any fun or not
00:48:28 -!- wooby has joined.
00:53:40 <pgimeno> now I get what the wire crossing problem is
00:55:13 <pgimeno> my brain was stuck thinking turmite-wise, that the state was internal to the machine rater than given by the position of the code head
00:55:45 <cpressey> GregorR: http://atlas.usafa.af.mil/dfcs/bios/mcc_html/raptor.html ... ? :)
00:57:25 <cpressey> pgimeno: hmm.. well, it's not like a turmite (not even much like befunge.) the only state (besides the contents of the playfield) is the positions of the code head and the data head
00:57:49 <cpressey> but the wire-crossing problem shows up in other places too, i'm sure (and they may be better places to study it)
00:57:59 <cpressey> like wierd, probably REVERSE
00:58:03 <cpressey> probably wireworld
00:58:21 <cpressey> except i don;t think wireworld is TC
00:58:30 <pgimeno> no?
00:58:30 <cpressey> unless there have been advances since i played with it last
00:58:42 <pgimeno> I thought it was crystal clear
00:59:04 <pgimeno> wireworld can cope with wire crossing by using four xor gates
00:59:17 <cpressey> hm
00:59:20 <cpressey> it's been a while
00:59:22 <pgimeno> I have designed a wire crossing with wireworld
00:59:51 <cpressey> yeah, they definately exist
00:59:52 <cpressey> http://karl.kiwi.gen.nz/CA-Wireworld.html#WW-4
01:00:32 <cpressey> i guess it is TC, if you can make a clock, logic gates, and registers
01:00:46 <cpressey> errrm
01:00:54 <cpressey> sans infinite tape.
01:02:29 <pgimeno> damn
01:02:30 <pgimeno> :)
01:08:40 <cpressey> kipple: there is also this: http://ryujin.kuis.kyoto-u.ac.jp/ylab/yamakaku/Visulan/
01:08:50 <cpressey> (site can be VERY slow.)
01:08:56 <cpressey> i don't remember how it's edited, though.
01:09:10 <cpressey> nice example of a rewriting language, regardless
01:10:00 <pgimeno> cpressey: btw, I havent' managed to use ALPACA (perl problems)
01:11:35 <pgimeno> my knowledge of perl is null
01:12:39 <pgimeno> can you run it without problems?
01:12:40 <kipple> cpressey: looks interesting :)
01:13:55 <cpressey> pgimeno: um... i haven't tried in a while. i'll look at it in a bit.
01:14:19 <cpressey> i'm actually wondering if wireworld's unlimited space counts as "tape" or
01:14:22 <cpressey> not
01:14:45 <cpressey> you can make wireworld forms as big as you like... but you can make fsm's as big as you like too
01:14:49 <pgimeno> that's about the same question as if unlimited size in smetana counts as tape or not
01:14:55 <cpressey> wireworld forms can't grow
01:15:03 <pgimeno> I know
01:15:06 <cpressey> nor can smetana programs or beta-juliet programs
01:15:32 <cpressey> life, otoh, can
01:15:43 <pgimeno> yeah
01:15:56 <cpressey> so i wonder what all these wonderful "turing machine in wireworld" articles are about?
01:16:13 <cpressey> this, for example, looks interesting: http://pages.prodigy.net/nylesheise/train_set.html
01:16:57 <pgimeno> I think that they have an infinite wire
01:17:32 <cpressey> yes
01:17:47 <pgimeno> so, "they can't grow" is no limitation
01:17:56 <cpressey> if your "space" looks like this: http://pages.prodigy.net/nylesheise/langton_5.gif you can make one of those Turmites
01:18:21 <cpressey> well, ... i'm still undecided but at least the problem seems clearer
01:18:25 <cpressey> i'll probably be off now
01:18:51 <cpressey> see y'all latere
01:18:54 <cpressey> later, even...
01:19:03 <pgimeno> bye then
01:19:06 <pgimeno> I'm off too
01:19:13 <pgimeno> g'nite all
02:48:36 -!- graue has joined.
03:06:47 -!- kipple has quit (Read error: 110 (Connection timed out)).
03:11:15 -!- GregorR has quit (Remote closed the connection).
03:11:32 -!- pgimeno has quit (Read error: 104 (Connection reset by peer)).
03:15:51 -!- graue has quit ("Leaving").
03:23:49 -!- pgimeno has joined.
03:47:07 -!- GregorR has joined.
04:20:14 <cpressey> pgimeno: i just tried alpaca.pl... it works for me... what part of it isn't working for you?
04:46:22 -!- malaprop has quit ("sleep").
06:29:19 -!- wooby has quit.
06:40:10 <lament> woohoo
06:40:40 <lament> or something
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:43:53 <lament> heh
08:44:02 <lament> if you can have wireworld with "infinite wire"
08:44:10 <lament> you can also have a smetana program with infinite instructions
08:45:50 <lament> the only problem then is that programs won't terminate
08:45:59 <lament> you'd have to have something like "Goto step -1" to terminate your program
08:47:41 <lament> wireworld is definitely very pretty, though :)
08:48:59 <lament> http://www.quinapalus.com/wires11.html
08:49:05 <lament> pure sex
08:54:29 <pgimeno> whoa
08:54:50 * pgimeno is amazed
08:55:21 <lament> dunno what's more technically impressive, that thing or the life turing machine
08:55:25 <lament> probably the latter
08:55:37 <lament> but they both look so amazing.
09:01:15 <pgimeno> life turing machine? you mean Conway's Life, right?
09:01:35 <pgimeno> cpressey: still around?
09:02:54 <lament> yeah, that thing
09:03:21 <lament> the annoying thing is that after they do something like that, it's completely pointless to do anything with wireworld (or life) :(
09:04:36 <pgimeno> heh, yeah, almost impossible to beat
09:06:54 <pgimeno> where have you found about Life?
09:07:10 <lament> er.. everybody knows about it?
09:07:35 <pgimeno> ah, ok
09:08:23 <pgimeno> I was wondering if you saw a graphic so amazing as the wireworld one
09:08:29 <lament> yes
09:08:37 <lament> http://rendell.server.org.uk/gol/tm.htm
09:11:09 <pgimeno> whoa (again)
09:11:16 <pgimeno> I see
09:15:40 <pgimeno> cpressey: $ perl ../../../src/alpaca.pl redgreen.alp redgreen.pl
09:15:41 <pgimeno> Unknown 'strict' tag(s) 'vars refs subs' at ../../../src/alpaca.pl line 19
09:15:41 <pgimeno> BEGIN failed--compilation aborted at ../../../src/alpaca.pl line 19.
09:20:29 <pgimeno> (perl 5.8.4 if that matters)
09:26:25 <pgimeno> removing the 'use strict' line seems to work
11:07:40 -!- kipple has joined.
13:01:59 -!- wooby has joined.
13:08:26 -!- malaprop has joined.
13:11:36 -!- wooby has quit.
14:19:00 -!- CXI has quit ("If you're reading this, it's probably x-chat's fault.").
14:19:11 -!- CXI has joined.
14:28:57 -!- puzlet has joined.
14:29:21 -!- puzlet has left (?).
14:51:34 <GregorR> Wowsa.
14:51:40 * GregorR just watched that Wireworld go.
15:15:09 -!- sp3tt has joined.
16:38:45 -!- Keymaker has joined.
16:41:37 <Keymaker> 'ello
16:41:44 <Keymaker> i'm back!
16:41:46 <Keymaker> :)
17:13:24 <malaprop> Keymaker: Did you write a polygot quine?
17:13:30 <Keymaker> shh!
17:13:33 <Keymaker> i'm almost done!
17:13:42 <Keymaker> i was trying to keep it as surprise
17:14:12 <Keymaker> (and to note; i have been away from 4th till today 18:45 when i arrived on this channel today)
17:14:34 <Keymaker> just wait ;)
17:14:54 <malaprop> I look forward to seeing it.
17:14:59 <Keymaker> ok
17:31:49 -!- CXI has quit (Connection timed out).
18:50:55 <Keymaker> phew..
18:51:02 <Keymaker> now there isn't much left
19:06:18 * Keymaker Programs now a program to convert some data..
19:17:05 -!- CXI has joined.
19:18:33 -!- graue has joined.
19:19:46 * Keymaker goes to eat some pizza, will be back soon..
19:22:11 <graue> cpressey, in the Beturing documentation, you say "...a Beturing machine is incapable of having a state transition diagram that is a planar graph."
19:22:18 <graue> shouldn't that be "that is NOT a planar graph"?
19:40:12 <graue> i think i may have just disproved the "universal Turing machines need state diagrams that are nonplanar graphs" conjecture: http://www.oceanbase.org/graue/archway/archway.txt
19:59:58 <cpressey> graue: yes, that's how it should read
20:01:15 <cpressey> and i think i agree with your conclusion... based on an outline of a smallfuck interpreter in beturing i got half-done last night before falling asleep
20:02:43 <cpressey> pgimeno: that's really weird... i'm using 5.005_03...
20:04:16 <cpressey> it's possible they changed the 'strict' module for 5.8
20:04:44 <cpressey> anyway, deleting it should do no harm
20:04:52 <pgimeno> I'm afraid that's the cause
20:05:48 <cpressey> that's one of the reasons i don't like perl anymore :) they couldn't even bother to bump the major revision number for incompatible changes
20:11:22 <pgimeno> seems that this would be correct syntax now: use strict vars,refs,subs (but then, a lot of warnings or errors appear)
20:13:56 <cpressey> thanks
20:14:18 <cpressey> that works for me in 5.005, weird... i guess i was just doing it wrong the whole time?!?
20:15:43 <pgimeno> all I know about Perl is that its syntax resembles C, vars start with $ and regexps are widely used, so I'm not the right one to ask :)
20:16:46 <cpressey> the description "write-only language" fits... :)
20:19:09 <graue> the "esoteric programming language" article on wikipedia once listed Perl as a prominent example
20:21:08 <sp3tt> Heh.
20:21:25 <pgimeno> :D
20:21:42 <sp3tt> I saw a guestbook, it was on the l33t page, and there was a field named "What esoteric languages have you used?"
20:22:13 <sp3tt> One answer was: "Brainfuck, befunge, malbolge, perl - oh wait that's not esoteric is it?"
20:22:28 <sp3tt> And another simply read: "English".
20:23:11 * Keymaker dies
20:23:17 <Keymaker> nooooooo
20:23:26 * Keymaker hunts small bug
20:23:47 <sp3tt> And speaking of different languages, I was looking through the documents for subjects you can take in the Swedish equivalent of high school.
20:24:01 <graue> hey what happened to that math language of yours?
20:24:24 <sp3tt> The page for Programming B listed the following languages: Perl, PHP, C++, Python, Java, and other.
20:24:30 <sp3tt> I hope other includes BF.
20:24:52 <sp3tt> http://rename.noll8.nu/sp3tt/mathspec.txt
20:24:57 <graue> i hope it includes XUML, Qdeql, and "math"
20:25:17 <sp3tt> Code examples: http://rename.noll8.nu/sp3tt/hw.math, http://rename.noll8.nu/sp3tt/beer.math
20:25:19 <graue> are you still working on this?
20:25:26 <sp3tt> Yes, kind of.
20:25:50 <Keymaker> sp3tt; you're from sweden?
20:25:53 <sp3tt> Yes.
20:25:57 <Keymaker> ok
20:26:01 <pgimeno> hi Keymaker, how was the bike ride?
20:26:09 <Keymaker> not mention it :)
20:26:16 <sp3tt> And you are from Finland.
20:26:18 <Keymaker> it was half-success
20:26:19 <Keymaker> yeah
20:26:24 <sp3tt> If your hostmask isn't faked.
20:26:38 <Keymaker> like when we were at ~30 km we were all wet because of rain
20:26:39 <Keymaker> and cold
20:26:44 <Keymaker> so we decided to turn
20:26:53 <Keymaker> and did so, and got home ~1.30 am
20:27:11 <Keymaker> and then we decided to use car instead and got to our target ~4.20 am
20:27:13 <Keymaker> :)
20:27:17 <pgimeno> oh
20:27:29 <Keymaker> but there was good 60 kms..
20:27:37 <Keymaker> (that almost finished me)
20:28:28 <sp3tt> Good night all.
20:28:34 <Keymaker> 'nite
20:28:52 <pgimeno> sp3tt: nite, I'll comment about my impression later
20:29:13 <sp3tt> Ok, it isn't finished though.
20:29:29 <sp3tt> The interpreter can only print stuff so far >.<
20:30:00 <sp3tt> http://rename.noll8.nu/sp3tt/mathlang.py
20:30:23 <pgimeno> k
20:36:26 -!- graue has quit ("Leaving").
20:47:58 -!- sp3tt has quit (Read error: 110 (Connection timed out)).
20:57:10 -!- wooby has joined.
21:01:45 <Keymaker> YEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
21:01:49 <Keymaker> found the bug..
21:03:35 <malaprop> Heh, I know that feeling.
21:03:42 <Keymaker> :)
21:03:46 <Keymaker> it'll be soon up
21:03:50 <Keymaker> wait ~10 mins
21:15:37 <Keymaker> rghh
21:15:41 <Keymaker> small bug
21:15:53 <Keymaker> takes a bit time more..
21:25:04 -!- cmeme has quit (Connection timed out).
21:26:23 -!- cmeme has joined.
21:30:08 <Keymaker> :(
21:30:15 <Keymaker> still some bug
21:30:30 <Keymaker> rggggggghhhhhh
21:30:46 * Keymaker dives into program
21:31:30 <fizzie> Remember to check for underwater obstructions before diving.
21:31:38 <Keymaker> :)
21:50:28 <Keymaker> bug fixxed
21:50:43 <Keymaker> i'm almost done, hopefully, this time :)
21:54:42 <kipple> with that polyglot quine thingy?
21:56:08 <Keymaker> w00000000000000000t!
21:56:11 <Keymaker> done done done done hahahahaha
21:56:12 <Keymaker> :)
21:56:24 <Keymaker> i'll update bf-hacks.org now
22:04:30 <Keymaker> here it is:
22:04:31 <Keymaker> http://www.bf-hacks.org/hacks/pgq.b
22:04:46 <Keymaker> as it says on the page, i'll try to make it shorter sometime and add more languages
22:05:43 <Keymaker> as it says on the page as well, it's made with simple technique
22:05:44 <malaprop> WOw, that's crazy. DId you generate that somehow or is it by hand?
22:06:02 <Keymaker> the other part is made by hand
22:06:03 <Keymaker> but not the
22:06:06 <Keymaker> data that has
22:06:12 <Keymaker> d[i]=0x......
22:06:30 <Keymaker> i made a program that converts input to that form
22:06:53 <malaprop> Well, congrats.
22:06:53 <Keymaker> :)
22:06:56 <Keymaker> cheers
22:07:12 <Keymaker> the bugs i had were something annoying stuff that i just didn't notice
22:07:33 <Keymaker> like that there was one cell increased by two in brainfuck version and i didn't notice that
22:07:46 <Keymaker> and other stupid stuff..
22:07:49 <Keymaker> :)
22:08:40 <Keymaker> while i was away i got some idea for an esoteric programming language
22:09:02 <Keymaker> i'll try think more about it now
22:16:10 <lament> m
22:16:11 <lament> hm
22:16:24 <lament> so i just made an esoteric language
22:16:32 <Keymaker> what kind of?
22:16:38 <lament> not sure
22:16:41 <Keymaker> ok
22:16:42 <lament> factorial:
22:16:42 <Keymaker> tell more
22:16:43 <lament> 5(>(1-)#1-)
22:16:43 <lament> 1 # >+ !
22:16:43 <lament> >
22:17:08 <Keymaker> hmm
22:17:17 <Keymaker> how does it work?
22:18:36 <lament> first 9 fibonacci numbers:
22:18:37 <lament> 9(< #1-)
22:18:38 <lament> 1 !#<
22:18:38 <lament> 1 < +
22:19:08 -!- graue has joined.
22:19:14 <lament> hey graue
22:19:18 <graue> hey
22:19:26 <lament> check out my factorial program :)
22:19:37 <lament> 5(>(1-)#1-)
22:19:37 <lament> 1 # >+ !
22:19:37 <lament> >
22:19:43 <lament> the idea is this:
22:19:55 <lament> each line controls a separate stack
22:20:21 <lament> instructions < and > access data from neighD[D[D[D[D[D[Dbouring stacks
22:20:31 <lament> neighbouring
22:20:41 <Keymaker> that sounds clever :)
22:21:02 <lament> i'm not sure how fun it actually is
22:21:17 <lament> the idea is to use this as a base for a language built on music notation
22:21:19 <graue> so the stacks run in parallel?
22:21:32 <lament> yeah
22:21:48 <lament> < gets data from the stack above (with wraparound)
22:21:56 <lament> > gets data from the stack below (with wraparound)
22:21:58 <lament> this:
22:22:00 <lament> <
22:22:00 <lament> >
22:22:23 <lament> will add to both stacks the top value on the other swap
22:22:24 <lament> err
22:22:26 <lament> *other stack
22:22:38 <graue> oh cool
22:22:40 <lament> i.e. they're executed "simultaneously"
22:23:18 <lament> nothing gets popped though. And maybe i should change that.
22:24:55 <graue> maybe so
22:25:12 <lament> as it is, i'm not even sure how to swap top values
22:25:42 <lament> (without the use of a third stack)
22:27:24 <lament> even with the third stack it's not trivial :(
22:28:03 <lament> with the use of the third stack, swapping values in the first two:
22:28:06 <lament> #<
22:28:08 <lament> #<
22:28:09 <lament> <
22:29:04 <lament> where # means drop
22:29:19 <lament> in music notation, < is a rising third
22:29:43 <lament> and # is unison
22:31:44 <lament> http://z3.ca/~lament/prelude.txt
22:31:46 <lament> http://z3.ca/~lament/prelude.py
22:33:48 <lament> note that it's practically trivial to compile Brainfuck to Prelude
22:34:00 <lament> you need two voices
22:34:09 <lament> [ becomes ( in the first voice
22:34:13 <lament> ] becomes )
22:34:25 <lament> + becomes 1+
22:34:29 <lament> - becomes 1-
22:35:07 <lament> < becomes
22:35:09 <lament> #
22:35:09 <lament> <
22:35:26 <lament> > becomes
22:35:27 <lament> >
22:35:28 <lament> #
22:35:47 <lament> , becomes ? and . becomes !
22:36:51 <graue> that's not good
22:37:04 <graue> if it's trivial to compile brainfuck to it, no one will write in it; they'll just write in brainfuck
22:37:16 <lament> but Prelude is a lot easier to write in
22:37:32 <lament> because you're not limited to two stacks
22:37:42 <graue> oh, okay then
22:37:44 <lament> three seems like a good number
22:37:48 <lament> for general use
22:37:56 <lament> but you can have as many as you wish
22:38:06 <lament> brainfuck is trivial to compile to C as well
22:43:00 <kipple> lament: shouldn't "- pop two values, add them and subtract." be "- pop two values, subtract them and push." ?
22:43:27 <lament> hahahaha
22:43:30 <lament> yes
22:43:57 <kipple> when you say "# drop last value", you mean the top of the stack, right?
22:44:00 <lament> sorry, i wrote the spec in like 15 minutes and didn't enjoy it at all
22:44:03 <lament> yes
22:44:32 <kipple> yeah. writing specs is not too much fun..
22:44:38 <Keymaker> indeed
22:44:40 <lament> also "voice above" and "voice below" is "with wraparound
22:44:50 <lament> so if you have only two voices, < and > do the same thing
22:45:04 <kipple> interesting language :)
22:45:17 <lament> and three is a convenient number of voices because each one can access both others
22:45:18 <kipple> Keymaker: nice polyglot quine!
22:45:35 <Keymaker> cheers :)
22:46:28 <lament> actually i'll probably change < and > to ^ and v
22:46:38 <graue> i like < and >
22:46:46 <lament> ^ and v make much more sense
22:46:52 <kipple> yes
22:46:56 <graue> they look uglier
22:47:01 -!- ChanServ has quit (ACK! SIGSEGV!).
22:47:17 <lament> i was just vary of using v because i was contemplating string literals
22:47:24 <lament> but screw that
22:47:55 -!- ChanServ has joined.
22:47:55 -!- irc.freenode.net has set channel mode: +o ChanServ.
22:48:08 <lament> how about: ^ or < and v or >
22:48:41 <kipple> nah. stick to one of them
22:48:52 <lament> okay. ^ and v then
22:49:35 * lament changes the spec and the interpreter
22:50:39 <kipple> does the ^ and v alter the stack above/below ,or just peek at it?
22:51:57 <lament> just peek
22:52:09 <lament> im not sure which way would be better
22:52:21 <lament> but i think just peeking encourages more cooperation between the voices
22:52:30 <lament> i.e. the other voice has to drop the value if it needs to
22:53:31 <pgimeno> Keymaker: wow, a pretty nice quine!
22:53:50 <Keymaker> thanks
22:54:13 <pgimeno> tried it in both langs, it wrocks! :)
22:54:36 <Keymaker> hehe
23:00:14 <kipple> umm, the spec says "! output a character", but it outputs it as a number
23:00:58 <lament> yeah
23:01:16 <lament> change NUMERIC_INPUT to False in the interpreter
23:01:24 <lament> it's uhhh... for debugging purposes :)
23:01:43 <kipple> maybe you should just add another operator....
23:01:48 <lament> maybe it'll have both numeric and non-numeric
23:02:02 <lament> but then one of them would have to correspond to a seventh
23:02:06 <lament> and that's a bigass interval
23:02:19 <kipple> huh? you lost me there....
23:02:41 <lament> the main point of Prelude is to be a text representation of Fugue
23:02:57 <lament> which is the same language, but using music as source code
23:03:09 <lament> with different intervals corresponding to different instructions
23:03:14 <lament> that's why voices are called voices
23:03:51 <lament> (i doubt it makes much sense to actually implement Fugue)
23:04:27 <fizzie> "That sounds nice." (Gahh, what a horrible 'pun'.)
23:05:05 <lament> ahh
23:05:08 <lament> stop the punishment
23:12:33 <kipple> nice language :) just made a hello world
23:14:08 <Keymaker> time for 99 bottles of beeer! :)
23:14:27 <lament> kipple: show :)
23:14:43 <kipple> keymaker: I thought it was quines that was your thing... :)
23:14:52 <kipple> or digital roots
23:15:23 <kipple> lament: well, actually it's only Hello (I cheated)
23:15:34 <kipple> 99999999+++++++H9992++++e7+l l3+o
23:15:34 <kipple> v! v! v!v! v!
23:15:52 <kipple> hmm. that didn't look good in my client
23:16:58 <lament> looks fine here
23:17:14 <Keymaker> :)
23:17:24 <lament> i'm sure it could be more compact though :)
23:17:36 <kipple> yeah
23:17:47 <Keymaker> i should try to look at this programming language..
23:17:57 <lament> Keymaker: and make a quine
23:17:59 <lament> :)
23:18:23 <Keymaker> :)
23:19:44 <lament> kipple: maybe i should add string mode after all?
23:20:07 <kipple> ok
23:20:23 <kipple> then maybe I'll wait until you've decided until I try to do 99bob ;)
23:20:28 <lament> haha
23:20:58 <fizzie> Good old fibonacci:
23:20:58 <fizzie> 1(v+
23:20:58 <fizzie> 1 !v v)
23:21:04 <fizzie> Gah, my paste botched.
23:21:06 <fizzie> Let's try that again
23:21:10 <fizzie> 1(v+
23:21:14 <fizzie> 1 !v
23:21:16 <fizzie> v)
23:21:30 <fizzie> Using the "numeric output" thing.
23:22:10 <fizzie> It's iterative. I usually do recursive, but that'd be too non-trivial.
23:22:22 <lament> oooh
23:22:34 <lament> dense :)
23:23:12 <fizzie> For a fibonacci, it's pretty small indeed.
23:23:24 <lament> the bottom stack keeps growing?
23:23:31 <Keymaker> is the file extension .p ?
23:23:39 <lament> i'm sure .p is used
23:23:44 <Keymaker> ok
23:23:44 <lament> by thousands of different languages
23:23:48 <kipple> I used .pre
23:23:48 <Keymaker> 'doh
23:23:51 <Keymaker> ok
23:23:51 <lament> i had .pre
23:23:57 <kipple> :)
23:24:31 <lament> so it seems like most programs would either have to be bloated with # instructions
23:24:40 <lament> or have huge memory leaks
23:24:44 <fizzie> I used .prel :p
23:25:11 <fizzie> And yes, it has a huge memory leak. What more do you expect from a 4x3 block of code. :p
23:25:11 <lament> oh well... huge memory leaks it is :)
23:26:07 <pgimeno> implement gc
23:26:56 <pgimeno> most modern languages do :)
23:26:58 <lament> hm, how would that work
23:27:14 <kipple> it wouldn't, as it is not a real memory leak
23:27:25 <lament> yeah :)
23:27:31 <pgimeno> I was just kidding anyway
23:27:31 <kipple> the data is on the stack, and could still be used by the program
23:27:46 <lament> kipple: unless somebody writes an extremely smart compiler
23:27:49 <Keymaker> i can't get kipple's hello working :(/
23:28:00 <lament> Keymaker: change to non-numeric output
23:28:05 <Keymaker> how
23:28:10 <lament> edit the interpreter
23:28:29 <fizzie> Merf, that prelude fib is denser than the simple befunge fib:
23:28:31 <fizzie> 100p1>00g\:0v
23:28:33 <fizzie> ^ .:+p0<
23:29:01 <fizzie> Two stacks really make a difference. :p
23:29:13 <lament> three
23:29:34 <kipple> but that befunge fib only prints the first 100, right? that's different
23:29:45 <fizzie> Uh, no, it loops indefinitely.
23:30:01 <kipple> ah, of course
23:30:38 <kipple> I just saw the number 100, and forgot all about befunge :)
23:30:43 <lament> haha
23:31:10 <fizzie> Although (with most interpreters) it has problems when the number goes >255, since the playfield cell is only one byte.
23:31:24 <lament> hm
23:31:30 <lament> i never specified the data type size
23:31:39 <lament> the interpreter uses bignums
23:31:50 <lament> i like bignums though
23:31:55 <fizzie> I noticed. It's nice for scientific purposes.
23:35:38 <fizzie> Usually I've written a befunge interpreter after fib, but I think I'll skip that for now.
23:35:44 <lament> aww
23:36:09 <fizzie> If it had functions, maybe. :p
23:36:27 <fizzie> Besides, it's 0140am again and I need to be at work "tomorrow"-morning again.
23:36:31 <lament> brainfuck should be easy to interpret
23:36:41 <Keymaker> i don't get this working
23:36:43 <lament> two stacks for the program, two more for memory
23:37:27 <fizzie> A prelude->midi converter would be nice, too.
23:37:56 <lament> well no
23:38:01 <lament> Fugue would also have note durations
23:38:13 <lament> and some choice as to which exact interval you use
23:38:37 <lament> prelude lacks that information
23:39:06 <lament> it could be converted into Fugue but the result certainly wouldn't sound good.
23:39:19 <wooby> heh, also cool would be some kind of midi parser... where a midi is the program
23:39:29 <wooby> so you could program in cakewalk :)
23:39:47 <fizzie> Or program with a musical instrument.
23:42:01 <wooby> or maybe a program that applies arbitrary "operators" to a piped-in mp3 or wav, and adjusts the rules until it spits out "Hello World"
23:56:26 <fizzie> Do the 'lines' (physical-lines-of-source, not logical-lines-of-code) for voices need to be equally long?
23:57:58 <lament> no
23:58:12 <lament> they're padded with whitespace at the end to make them of equal length
23:58:47 <fizzie> 'k.
23:58:55 <fizzie> (Started to write the befunge interpreter after all.)
23:59:09 <lament> oh god :)
23:59:29 <fizzie> I probably won't finish this, much as I didn't finish the sed befunge interpreter. :p
←2005-06-06 2005-06-07 2005-06-08→ ↑2005 ↑all