←2005-06-01 2005-06-02 2005-06-03→ ↑2005 ↑all
00:04:38 <pgimeno> I'm too tired right now to try to figure out how to do anything with sort
00:04:52 <pgimeno> I'm off to bed, good night
00:07:37 <graue> good night
00:17:47 <graue> updated http://illegal.coffeestops.net:3703/sort.zip, fixed one regex bug
00:23:20 <graue> this now works:
00:23:20 <graue> world := ""
00:23:20 <graue> hello := "hello, " ".!" "" ? ~
00:55:11 <graue> heh, i just realized you can trick the matcher into matching a literal !
00:55:42 <graue> "r@!", if you can make sure there won't be an r at the beginning, will match only "!"
01:50:56 <GregorR> jix: True. Quick rundown:
01:51:22 <GregorR> A) If you put a [, { or : somewhere where there HASN'T been one, it will work just like any other. If you put one where there HAS been one, it will still be spent.
01:51:35 <GregorR> (That is, a : placed where there has been one will still be spent)
01:52:05 <GregorR> B) If a jump is to be made, but there is no matching symbol, the jump is ignored.
01:52:26 <GregorR> IE: in [[], if it hit that first [ and decided to jump, it wouldn't, and in []] if it hit that second ] and decided to jump, it wouldn't.
02:20:53 -!- malaprop_ has joined.
02:29:25 <graue> hey Greg, ph, what do you guys think of my sorted language innovation?
02:34:56 -!- malaprop has quit (Read error: 110 (Connection timed out)).
02:37:21 <GregorR> Sorry, haven't taken a look at it yet. Also, my name is Gregor ;)
02:38:15 -!- kipple has quit (Read error: 110 (Connection timed out)).
02:43:50 <graue> eliminating all syllables but the first is a typical way of abbreviating someone's name
02:44:31 <GregorR> Yes, I'm well aware of that, but I personally don't like blunt names, such as one-syllable names starting and ending with the same letter ;p
02:46:24 <graue> so you are offended by the 99bob program in ORK, which uses someone named Bob as a mathematician?
02:50:15 <graue> or are you only offended when blunt names are used to address you?
02:51:26 <graue> anyway, check out the sort lang
02:51:37 <graue> i fixed all regex bugs of which i am aware
03:39:48 -!- graue_ has joined.
04:14:41 <graue_> i posted some thoughts on sort at http://esoteric.voxelperfect.net/research/
04:14:48 <graue_> as well as an updated package
04:14:51 -!- graue_ has quit ("Leaving").
04:27:22 <GregorR> I'm not offended by blunt names.
04:27:39 <GregorR> And if somebody wants to be called by a blunt name, I'll call them that.
04:27:41 <GregorR> I just prefer not to myself.
04:27:43 <graue> hey Gregor
04:27:57 <graue> as long as you're here, why not give Sort a look?
04:28:37 <GregorR> Sure, por que no.
04:28:46 <GregorR> (Please ignore my terrible Spanish :-P)
04:28:52 <graue> i don't even know what that means
04:29:18 <GregorR> In my happy universe where I know any Spanish, it means "Why not?"
04:33:49 <graue> cool
04:36:03 <GregorR> So, stack elements are a sort of "variant," that can be either a number or a string?
04:36:55 <graue> if by "variant," you mean they get automatically converted to whichever form an operator requires when the operator is used, then yes
04:37:45 <GregorR> Oh, OK.
04:44:23 <GregorR> *brain melting*
04:45:21 <graue> heh, pretty esoteric, eh?
04:45:54 <GregorR> Very.
04:46:00 <GregorR> I'm trying to wrap me brain around it.
04:46:20 <GregorR> I don't quite understand what triggers the program to end ...
04:46:38 <graue> when there is only one expression left
04:46:46 <graue> all expressions but one must have deleted themselves
04:46:48 <GregorR> OHhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
04:47:36 <GregorR> And when you create an expression with :=, what does that expression evaluate to when it gets to it?
04:48:13 <GregorR> That is ...
04:48:18 <GregorR> Not when you "create" an expression ...
04:48:23 <GregorR> But when one expression translates into another.
04:48:23 -!- malaprop_ has quit ("quit").
04:48:33 <graue> translates into another?
04:49:11 <graue> an expression that is evaluated must result in exactly one value on the stack
04:49:25 <graue> that value if it is a number is converted to a string, then it becomes the new name of the expression
04:49:30 <graue> an expression that is renamed to "" is deleted
04:49:39 <graue> the number 0 converts to the string ""
04:50:09 <GregorR> It becomes the new NAME of the expression ...
04:50:24 <GregorR> (How to phrase this ... )
04:50:59 <GregorR> And when it comes across that expression again (now with the new name), what does it evaluate to?
04:51:25 <graue> whatever the result of the expression is
04:51:45 <graue> the expression is unchanged, although the results of a regex searching the expression name list may be
04:51:55 <GregorR> So, for simple string literals, just itself, though other-------
04:51:59 <GregorR> I was just mentally computing that.
04:52:07 <GregorR> OK, thank you.
04:52:46 <GregorR> I think the doc could be helped a bit by explicitly defining all of the nomenclature at the top.
04:53:05 <graue> like "push", "pull", "regex", "expression"?
04:53:34 <graue> uh oh, the interpreter has another bug
04:54:18 <GregorR> I guess [name] := [expression] is pretty much what I was looking for, and is there.
04:54:27 <GregorR> So ... *cough* ... ignore me.
04:54:33 <graue> okay
04:54:47 <lament> lalala
04:55:04 <graue> hey lament
04:56:21 <graue> feel like trying a new esolang today?
04:56:30 <lament> no
04:56:51 <graue> maybe tomorrow, then
05:20:42 -!- CXI has quit (Read error: 145 (Connection timed out)).
06:25:09 <graue> i uploaded a new package fixing clobbering
06:25:30 <graue> meaning that if an expression evaluates to the name of another existing expression, it overwrites that one
06:25:37 <graue> so you can now write hello, world like this:
06:25:41 <graue> hello := "hello, world"
06:25:45 <graue> world := "hello, world"
06:26:19 <graue> this also may make it easier to write more sophisticated programs, but it's hard to say
06:55:56 -!- graue has quit ("Are you a Schweinpenis? If so, type "I am not a Schweinpenis."").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:32:56 -!- puzzlet has joined.
08:33:36 -!- puzzlet has quit (Client Quit).
08:33:39 -!- puzzlet has joined.
10:35:16 -!- kipple has joined.
11:08:56 <pgimeno> hm, it looks to me as if graue's language has a mechanism for converting the programas to SMETANA
11:09:14 <pgimeno> I'm not sure though
13:16:09 -!- malaprop has joined.
13:24:46 -!- pgimeno has quit (Read error: 110 (Connection timed out)).
13:33:04 -!- pgimeno has joined.
13:38:18 -!- jix has joined.
14:21:01 -!- CXI has joined.
15:20:56 -!- graue has joined.
15:28:28 <pgimeno> hi graue
15:28:35 <graue> hello
15:29:00 <graue> i think Sort resembles Whenever a bit
15:29:21 <pgimeno> I was wondering if it is possible to transform a SMETANA program into a Sort program
15:29:44 <graue> the ending conditions are different
15:29:54 <graue> in Sort, if it falls off the end it just goes back to the beginning
15:30:28 <pgimeno> yes hmm...
15:30:44 <CXI> you know what'd be a neat idea?
15:31:03 <graue> no, what?
15:31:22 <CXI> a program to take a list of inputs and outputs, and use some kind of state-space search over all possible programs to find a program that matches the inputs and outputs
15:31:53 <graue> yeah, that would be cool
15:32:21 <graue> you could use it to duplicate a closed-source reverb effect
15:32:26 <CXI> it'd be easier in BF because of its' tiny instruction set
15:32:30 <graue> give it a PCM wave before and after the effect was applied
15:32:43 <malaprop> CXI: How goes the regexp esolang?
15:32:52 <graue> i wrote a program once that generated BF programs at random
15:33:00 <graue> you'd type and they would do funny things
15:33:03 <graue> it was cool
15:33:03 <CXI> been busy since yesterday, unfortunately
15:33:28 <graue> i have a concern about the regexp esolang
15:33:39 <malaprop> What's that?
15:33:41 <graue> if it uses perl for the regexp matching, doesn't that tie the language inextricably to perl?
15:34:25 <CXI> I don't think so... though I suppose there are slight regex variations between engines
15:34:44 <kipple> CXI: are you familiar with genetic programming?
15:34:55 <graue> maybe if that "perl compatible" regexp library really is, it would work
15:35:05 <graue> perl's regular expressions are not anything like a standard though
15:35:15 <CXI> kipple: I'm quite a fan of it, but not terribly familiar
15:35:36 <kipple> because it is used for what you described
15:35:47 <pgimeno> that's more or less how the first Hello world program was written in Malbolge
15:36:16 <CXI> haha
15:36:26 <CXI> malbolge is a fearsome beast
15:36:30 <kipple> yes, that's right :)
15:36:43 <puzzlet> malbolge is the name of hell
15:36:58 <CXI> and so appropriately named
15:37:21 <pgimeno> I'm trying to write a 'cat' program in it
15:37:49 <pgimeno> but that's a tough task
15:38:20 <pgimeno> my program is already complete if the memory can be preloaded into the virtual machine; I'm now working in the initialization
15:39:08 <pgimeno> i.e. the code that sets up the memory to be as desired, but it will be several K's long
15:39:43 <pgimeno> it's a bit stalled right now until I finish the changes in my homepage though
15:40:25 <pgimeno> I'm pretty sure I won't see a quine in Malbolge
15:40:32 <CXI> good lord
15:40:38 <pgimeno> Dis is a bit more tractable
15:40:58 <graue> poor Dis never really gets talked about at all
15:41:09 <pgimeno> yeah, I wanted to change that
15:41:38 <pgimeno> there are just a few progs ever written in Dis
15:42:01 <pgimeno> it *might* be possible to write a (real) 99bob in dis
15:43:14 <pgimeno> the main advantage of Dis is that instructions stay in their place, i.e. they do not change after being executed (as opposed to Malbolge)
15:43:34 <CXI> I thought that was an endearing feature, personally
15:43:42 <graue> we need an article on Dis in the esolang encyclopedia
15:43:53 <graue> i've never really looked at it, so it would be nice to have an overview
15:44:07 <pgimeno> if you can wait about one week more I can write it
15:44:15 <graue> fair enough
15:44:16 <pgimeno> I'd like to do
15:47:17 <pgimeno> in "useable" Malbolge, the program flow is expressed as data (jump addresses), because instructions must be at fixed positions
15:48:06 <pgimeno> Lou Scheffer wrote an excellent article (which hooked me into Malbolge coding)
15:48:28 <jix> graue: use oniguruma for regexps
15:48:46 <graue> tell CXI that
15:48:50 <graue> he's the one making the regexp language
15:48:52 <jix> sry
15:48:58 <graue> unless you mean for Sort
15:49:13 <jix> for anything where regexps are used
15:49:14 <graue> Sort intentionally uses its own underpowered regexp implementation
15:49:27 <jix> CXI: use oniguruma for regexps
15:49:29 <CXI> :P
15:49:51 <CXI> you mentioned it before, but to be honest I've already written most of it in perl now anyway
15:49:55 <graue> jix, have you checked out sort?
15:50:00 <jix> no
15:50:07 <graue> why not do so?
15:50:25 <graue> it is at http://esolangs.org/research/
15:53:14 <CXI> haha
15:53:19 <CXI> I want to make a uno programming language
15:53:55 <CXI> flow control: reverse, skip
15:54:07 <CXI> IO: draw two/draw four
15:55:00 <graue> heh, do it then
15:57:12 <kipple> uno? like in the card game?
15:57:46 <CXI> yeah
15:58:03 <kipple> hehe. nice idea. (long time since I've played that)
16:37:11 <graue> hey kipple, you tried out Sort yet?
16:43:04 <GregorR> jix: So, about FYB ...
16:43:12 <GregorR> I realized a problem with my old programs.
16:43:23 <GregorR> Many of them had something like this: :@....;
16:43:44 <GregorR> The problem is, when that thread does the second loop, it defects again, hence editing the enemy!
16:44:05 <GregorR> So, *cough*, yeah, totally fubar'd code there 8-D
17:43:20 <jix> i just noticed that a FYB war ends after the 1st or 2nd bomb.. so my idea was: every player has 10 lives
17:54:42 -!- GregorR-L has joined.
17:55:09 <GregorR-L> The reason that it ends after the first is so that threads are a blessing and a curse.
17:55:22 <GregorR-L> They're nice because you can do more, but bad because they make you more susceptible.
17:55:30 <GregorR-L> I think having more lives would skew that balance.
17:56:54 <GregorR-L> Or at least, I can't think of a "lives" system that would not skew that balance, I don't know if you have something up your sleeves ;)
18:12:36 <jix> is there a language that uses analog memory
18:18:33 <GregorR-L> Would that not be similar to simply having floating-point memory elements?
18:24:33 <jix> no
18:24:44 <jix> memory positions are floating too...
18:24:55 <jix> +point
18:25:00 <GregorR-L> Oh, I think I sort of see what you're saying.
18:33:57 <GregorR-L> Here's a great language!
18:34:04 <GregorR-L> The only command is "add to output que"
18:34:15 <GregorR-L> Any character entered is assumed to be a parameter for this command.
18:34:20 <GregorR-L> I call this language "cat"
18:35:55 <graue> heh, already been invented
18:36:02 <GregorR-L> Damn!
18:36:14 <graue> that was discussed on lang@esoteric a few years back
18:36:15 <GregorR-L> :P
18:36:20 <GregorR-L> lol
18:36:26 <graue> the main attraction of cat is that every program is a quine
18:36:36 <GregorR-L> Heheh, that's nice.
18:37:12 <malaprop> Hm, the defintion for "programming language" that I have in my head requires conditionals.
18:37:25 <graue> if you add a second command to read from the output queue, you can get by like that, with no formal way of storing data
18:37:36 <graue> (you do need other commands to process the data, of course)
18:37:56 <graue> Choon works that way, its only data storage is its own past output
18:38:24 <GregorR-L> malaprop: Is HQ9+ a programming language?
18:38:43 <kipple> definately not!
18:38:48 <GregorR-L> w00t
18:38:58 <graue> is Sort a programming language?
18:39:27 <malaprop> GregorR-L: I don't know HQ9+
18:39:41 <malaprop> ...or sort.
18:39:51 <kipple> HQ9+ is a parody of a programming languge :)
18:39:58 <GregorR-L> malaprop: The H command outputs "Hello World!", the Q command outputs the content of the program, the 9 command outputs 99-bottles-of-beer, the + command increments the accumulator.
18:39:59 <graue> HQ9+ is a language with four commands, H = print hello world, Q = print program's source code, 9 = print lyrics to 99 bottles of beer, + = increment the accumulator
18:40:09 <GregorR-L> Hahah, I win by several seconds :-P
18:40:11 <graue> Sort is at http://esolangs.org/research/
18:40:17 <graue> it was not a contest
18:40:24 <GregorR-L> I'm kidding ;)
18:42:14 <malaprop> I would not call HQ9+ a programming language, no. But I still like it.
18:42:24 <GregorR-L> Heheh
18:43:09 <malaprop> Hm, I'd like to see an esolang where it's impossible to write a quine in the lang.
18:43:46 <GregorR-L> Make it incapable of outputting arbitrary characters.
18:43:47 <kipple> malbolge? (I dare anyone to disprove it!)
18:43:48 <GregorR-L> Only numbers.
18:44:24 <graue> i dare anyone to write a quine in Sort!
18:44:35 <GregorR-L> Hmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
18:45:31 <graue> (man, what's the deal here? Everyone was like, "Hey, graue, we're really excited about your esoteric language," but now that I have a working interpreter no one seems to care)
18:46:32 <GregorR-L> I still haven't wrapped my head around it enough to write anything useful :P
18:49:58 <GregorR-L> \22 didn't get translated into a " for me ...
18:50:27 <GregorR-L> Oh wait ..
18:50:30 <GregorR-L> Maybe I'm wrong ...
18:51:29 <GregorR-L> a := "a := \22" "a" "" ? ~
18:51:29 <GregorR-L> quit := ""
18:51:42 <GregorR-L> Seems like that should output:
18:51:55 <GregorR-L> a := "a := " or something
18:52:00 <GregorR-L> Still working on it :P
18:52:40 <GregorR-L> Still working on it :P
18:52:47 <GregorR-L> Whoops, up-entered in the wrong window.
18:58:22 <graue> an expression can't find itself with a regex
18:58:27 <graue> it only searches all the other expression names
18:58:31 <GregorR-L> Ohhhhhhhhhhhhhh
18:58:49 <GregorR-L> I guess that makes sense, otherwise it would recurse forever :P
18:59:10 <graue> no it wouldn't, i just disabled that feature to make it esoteric :)
19:00:38 <graue> you realize, don't you, that it only searches expression names, not the expressions themselves?
19:03:37 <GregorR-L> I thought it searched the names and replaced with the expressions, but I'm realizing that that's wrong.
19:04:29 <pgimeno> for the record, I do consider HQ9+ a programming language, just not Turing-complete
19:04:52 <pgimeno> graue: the lack of examples makes the idea difficult to aprehend
19:05:08 <pgimeno> to me at least
19:07:27 <pgimeno> hm, my Spanish->English dict says "aprehender" = "seize"
19:08:36 <GregorR-L> Apprehend might be another word :P
19:09:26 -!- sp3tt has joined.
19:09:28 <pgimeno> oops, right, sorry
19:10:10 <GregorR-L> Though seize is right too I suppose.
19:10:12 <GregorR-L> Just a strange context.
19:10:57 <graue> pgimeno, i've included all the examples i've been able to come up with
19:10:58 <pgimeno> maybe grab would make more sense
19:11:11 <graue> it seems possible to make more sophisticated programs, but i haven't figured out how to do so yet
19:11:20 <graue> have you seen hello3.sort? it illustrates some features usefully
19:11:34 <pgimeno> nope, I just downloaded the zip
19:12:03 <graue> get the new tar.gz from http://esolang.org/research/
19:12:08 <GregorR-L> I'm trying to figure out how to have a decrementer ... have something like a99 := "a98", but then a98 becomes a97, etc.
19:12:10 <graue> it also fixes some bugs in the interpreter
19:12:25 <graue> well, you need at least two expressions to pull that off
19:12:40 <graue> an expression can rename only itself, but it can access only the names of others
19:13:08 <jix> graue: i care about sort.. but i need time to get an idea how to do things
19:13:14 <GregorR-L> Yeah, I figured I would need more than one, but still haven't figured out how :P
19:13:21 <graue> jix, cool
19:13:50 <pgimeno> graue: oh, by the way, http://www.esolangs.org/wiki/ redirects to voxelperfect
19:13:57 <jix> i hate this.. every day i add a new dns server to my list and the 2nd day it's down
19:14:29 <graue> pgimeno: yeah i am aware, i'm not sure if there is a way to fix that
19:14:42 <graue> (other than making it do the reverse)
19:14:53 <pgimeno> there's an ugly way, using index.html and a refresh with a relative path
19:15:27 <graue> the HTTP spec doesn't allow refreshes with relative paths
19:15:33 <pgimeno> yuck
19:15:39 <graue> however, i could examine the Host: header in the request
19:15:48 <graue> i was hoping for a way to do it without editing MediaWiki :)
19:15:55 <pgimeno> in php?
19:16:05 <pgimeno> you'd just need an index.php
19:16:23 <graue> i already do, it's from mediawiki
19:16:37 <pgimeno> oh, dang
19:17:37 <pgimeno> btw, when are you going to set up the database and images backup?
19:18:43 <graue> soonly
19:18:45 <graue> is there demand now?
19:19:39 <pgimeno> well, I'm already backing up svn and waiting to start backing up the rest
19:19:51 <GregorR-L> Perhaps I'm confused, but it seems that the regex "a(.)" works bu "a(.!)" does not ...
19:20:09 <graue> ! and @ aren't allowed within groups
19:20:15 <GregorR-L> Crapsy.
19:20:17 <GregorR-L> Hmmmmm
19:21:02 <graue> i think it'll search for a literal ! if you do that, actually
19:21:13 <graue> so there is a way to search for a literal ! or @, do [!] or [@]
19:25:31 <sp3tt> Is it possible to write a quine in Chef? XD
19:26:04 <kipple> I would think so...
19:26:09 <kipple> but HARD
19:27:04 <kipple> btw sp3tt, is that Chef-interpreter you made available on the web somewhere?
19:27:10 <sp3tt> Not yet...
19:27:22 <sp3tt> It has some regexp trouble when it comes to multiple bowl.s
19:44:17 <sp3tt> These troubles seem to have disappeared overnight :O
19:44:29 <sp3tt> I'll write some comments and upload it...
19:44:40 <kipple> great :)
19:52:22 -!- Keymaker has joined.
19:52:25 <Keymaker> grrhh..
19:52:32 <Keymaker> this channel is TOO active!!!!!! :p
19:52:53 <Keymaker> logs are filled with interesting stuff about interesting new or old languages
19:53:03 <Keymaker> i don't have time to read them nor think about them!!!!!!!!!!!
19:53:14 <graue> just read and think about Sort
19:53:20 <graue> the others can wait
19:53:47 <Keymaker> is that some new or old?
19:56:37 <graue> new
19:56:43 <graue> i made it up two days ago
19:56:50 <graue> got the interpreter working yesterday
19:57:03 <graue> still have yet to figure out how to write anything more sophisticated than hello, world in it
19:57:13 <Keymaker> ok
19:57:24 <Keymaker> how it works? :)
19:59:14 <graue> it's a series of named expressions
19:59:29 <graue> at runtime, first the expressions are sorted lexically according to their names
19:59:50 <graue> then the expressions are evaluated in turn going down, and wrapping around when reaching the bottom
19:59:51 <sp3tt> GAH. Two problems is named correctly.
20:00:11 <graue> the catch is that each expression renames itself to the value it evaluates to
20:00:20 <Keymaker> what means 'lexically'?
20:00:22 <graue> the other catch is that this renaming is the only form of data storage
20:00:35 <Keymaker> hmm sounds really tricky
20:00:36 <graue> the final catch is that an expression can only rename itself and can only examine other expressions' names
20:00:45 <graue> lexically means, it's sorted according to the results of strcmp()
20:00:57 <graue> that probably is not what "lexically" really means, i apologize
20:01:13 <graue> oh yeah, there's actually one more catch
20:01:30 <Keymaker> (well, haven't used strcmp()..)
20:01:35 <graue> the program ends when only one expression is remaining, and prints out the name of that expression (that's its only form of output)
20:01:48 <Keymaker> sounds really hard
20:01:50 <graue> an expression can delete itself by renaming itself to "", or can clobber another expression by renaming itself to that expression's name
20:02:15 <graue> the sorting is based on bytes being less than or greater, starting with the first byte
20:02:25 <graue> i.e., if you consider only capital letters, it's alphabetical
20:02:31 <pgimeno> terminate := ".!" "" ? <- that terminates any program
20:02:48 <graue> not necessarily!
20:02:59 <graue> another expression could run in the meantime and rename itself to "terminate"
20:03:07 <pgimeno> oh, right
20:03:13 <Keymaker> uh
20:03:23 <Keymaker> too hard language for me, probably
20:03:35 <graue> well, maybe you can try it
20:03:41 <graue> it's definitely too hard for me, its inventor
20:03:46 <Keymaker> i can :)
20:03:53 <Keymaker> but i can't get anything done probably
20:03:55 <graue> by the way, i fixed the problem on the wiki
20:04:08 <pgimeno> nice
20:04:10 <graue> when you submit edits, it now redirects you using the proper hostname, so you can edit comfortably from http://esolangs.org
20:04:33 <kipple> Wow! I just noticed that David Morgan-Mar, the creator of Chef, Piet, Whenever etc. is the author of the Irregular Webcomic!
20:05:06 <Keymaker> ?
20:05:08 <graue> i had never heard about Irregular Webcomic until i read the wikipedia article about Mr. Morgan-Mar
20:05:12 <Keymaker> what's that?
20:05:14 <kipple> http://www.irregularwebcomic.net/
20:05:14 <graue> but i guess it's cool that he did something famous
20:05:42 <kipple> I've been reading that comic for a while without knowing :D
20:07:10 <Keymaker> has sort any site`
20:07:11 <Keymaker> ?
20:07:31 <graue> not at the moment
20:07:40 <Keymaker> where are the example?
20:07:44 <Keymaker> or interpreters
20:07:46 <graue> i hope to rename it once i learn more about its characteristics
20:07:52 <graue> http://esolangs.org/research/
20:07:53 <Keymaker> :)
20:08:00 <Keymaker> ah
20:09:30 <sp3tt> I was thinking of a very painful esolang... Using mathematics.
20:09:55 <sp3tt> It is partly based on beatnik, but instead of scrabble words, mathematical functions...
20:10:09 <pgimeno> graue: I think it may fail to be turing-complete
20:10:42 <sp3tt> A modulo operation determines which opcode a given value represents.
20:10:45 <graue> maybe it's practically, but not formally, turing-complete
20:10:45 -!- GregorR-L has quit (Read error: 113 (No route to host)).
20:10:49 <graue> http://esolangs.org/wiki/Turing-complete
20:11:40 <pgimeno> are you sure that something can e.g. do a finite loop before stopping?
20:11:57 <graue> no, i am not
20:11:58 <sp3tt> So, if the opcode for "Read from STDIN" is 3, one would have to come up with a mathematical function to return 3 at that point on the X axis XD
20:12:10 <graue> however, i do not know of a reason why that is not possible, either
20:12:48 <Keymaker> the idea about the language that uses md5 as input sounds great
20:13:11 <Keymaker> (although then there are more than one possible inputs)
20:13:43 <graue> a language with only one possible input would be pretty boring
20:14:02 <graue> ;)
20:14:03 <Keymaker> i mean more than one input for one md5
20:14:05 <Keymaker> :)
20:14:16 <pgimeno> well, if there's an stopper like terminate := ".!" "" ? then the only way to do a loop is to insert strings before reaching it
20:14:56 <jix> sp3tt: i had the same idea!
20:15:09 <graue> hmm, so why do you have to use an expression like that?
20:15:44 <Keymaker> this language all crazy...
20:16:15 <pgimeno> graue: in order to terminate
20:16:20 <jix> but i have also an idea for an lazy evaluating bf like list based language..
20:16:27 <graue> you don't need clobbering, though
20:16:39 <sp3tt> You need an opcode to change between functions though.
20:16:42 <graue> you can make every expression but one rename itself to "" if a certain condition is met
20:16:51 <sp3tt> Imagine how representations of programs would look!
20:17:00 <graue> this should be possible between ^ and ?
20:17:07 <pgimeno> the language is "lossy" in the sense that no new expressions can be created; all you can aspire to is swapping
20:17:09 <jix> sp3tt no your function can have an unlimited set of variables
20:17:09 <sp3tt> I'll try to code an interpreter for something like that this weeken.
20:17:13 <sp3tt> Weekend*
20:17:13 <jix> and you can change them
20:17:17 <sp3tt> Naming suggestions?
20:17:27 <jix> i want to implement it...
20:17:29 <graue> pgimeno, you can make fake variables, by adding onto the ends of names of existing expression
20:17:33 <graue> s
20:18:17 <graue> the difficulty arises only because an expression cannot look at its own name
20:18:33 <pgimeno> in any case it's a quite unamageable beast :)
20:18:33 <graue> so you have to do something like, a renames itself to a99, which makes b rename itself to b98, which makes a rename itself to a97
20:18:59 <pgimeno> unmanageable
20:19:19 <graue> hm, i think there is a change that would make it more manageable
20:20:04 <sp3tt> kipple: http://rename.noll8.nu/sp3tt/chef.py
20:20:05 <graue> if a regex has (a)! at one point, and it matches aaa, perhaps aaa could be captured instead of a
20:20:26 <sp3tt> Has some bugs, no error reporting and it does not support stir.
20:20:31 <graue> that would make it possible for a single regex to look for "99", "4", and "", for instance
20:20:45 <sp3tt> But it is version 0.0.1 after all :)
20:20:49 <graue> also, character classes would help a lot
20:21:01 <sp3tt> Tell me what you think...
20:21:26 <graue> i don't think that makes anything possible that isn't now, though
20:21:29 <graue> it would just make it more manageable
20:24:43 <kipple> thanks sp3tt. I've written a short chef article in the wiki. Should I link to it, or do you want to wait until a more complete version?
20:25:38 <jix> i'm going to call my language lazy-brain
20:25:45 <kipple> sp3tt: so, stir and sous-chefs is all it is lacking now?
20:29:06 <Keymaker> must go for a while..
20:29:07 -!- Keymaker has quit ("Freedom!").
20:29:47 <sp3tt> Sous-chefs work.
20:29:56 <sp3tt> Link me to the article.
20:30:00 <kipple> noce!
20:30:12 <sp3tt> Loops are a bit buggy though...
20:30:19 <kipple> nice! I mean...
20:30:20 <sp3tt> Two Problems XD
20:30:22 <kipple> anyway: http://esolangs.org/wiki/Chef
20:30:23 <sp3tt> :)
20:31:05 * kipple must install python now...
20:31:10 <sp3tt> Thanks. Have to go now. Be back tomorrow. Esoteric for life!
20:31:12 -!- sp3tt has quit ("Chatzilla 0.9.68a [Firefox 1.0.4/20050511]").
20:33:56 <jix> lazy-brain will rule
20:34:35 <jix> it's inspired by bf and haskell
20:35:54 -!- puzzlet has set topic: Another brainfuck site (http://www.bf-hacks.org/) is open! ~ http://chriscoyne.com/cfdg/ ~ Esolang Preservation project info: http://tinyurl.com/d3fk5 ~ Esolang wiki: http://esolangs.org/wiki/Main_Page.
20:38:35 <pgimeno> I think elpp can be removed from the topic
20:41:18 -!- puzzlet has quit ("Leaving").
20:45:08 <jix> hmm i need to change some things in my concept
20:46:32 -!- pgimeno has set topic: Another brainfuck site (http://www.bf-hacks.org/) is open! ~ http://chriscoyne.com/cfdg/ ~ Esolang wiki: http://esolangs.org/wiki/Main_Page.
20:47:27 -!- graue has set topic: Another brainfuck site (http://www.bf-hacks.org/) is open! ~ http://chriscoyne.com/cfdg/ ~ Esolang wiki: http://esolangs.org/wiki/.
20:47:31 <graue> even shorter
21:01:10 <cpressey> what's all this then?
21:01:17 <cpressey> smetana is NOT turing complete!
21:01:28 <cpressey> looks like i'm going to have to start editing this wiki thing :)
21:02:08 <pgimeno> cpressey: lament proved otherwise
21:03:45 <cpressey> i can give you a proof that SMETANA programs are equivalent to FSA's, though.
21:03:51 <cpressey> it's actually pretty trivial
21:04:00 <cpressey> a SMETANA program has a finit # of states
21:04:04 <pgimeno> yeah
21:05:03 <pgimeno> but there's no size limit for a SMETANA program
21:05:35 <cpressey> there's no size limit for an FSA either
21:05:48 <cpressey> given a "big enough FSA" you can compute anything
21:05:57 <cpressey> that doesn't mean FSAs = Turing Machines
21:06:33 <pgimeno> that's what "practical Turing completeness" referred to :)
21:07:04 <pgimeno> I think it's just a problem on the choice of words
21:09:36 <fizzie> There is a size limit for an FSA: it must not have an infinite number of states.
21:12:18 <fizzie> Hm. Does the alphabet for a FSA need to be finite? Perhaps not.
21:15:08 <pgimeno> speaking of FSAs, Malbolge may fail to be complete enough for performing complex tasks; it has a limit of 3^10 memory positions which may be insufficient even for the requisites of writing a countdown from e.g. 65535 to 0 (let alone a true 99bob)
21:15:11 <cpressey> ok, no "finite size limit" :)
21:15:27 <cpressey> yes, the alphabet has to be finite IIRC
21:15:51 <cpressey> pgimeno: but is that just an artefact of implementation?
21:16:26 <fizzie> I'm not sure if an infinite alphabet would make much of a difference. Perhaps it would.
21:16:47 <pgimeno> well, it's a VM with 10 trits per register
21:17:02 <pgimeno> the 10 trits is part of the language because rotations, one of the two operators that can be used, are 10 trits
21:18:53 <pgimeno> every memory position holds a 10-trit machine word, and the instruction and data pointer and the accumulator are also a machine word long each
21:19:24 -!- Keymaker has joined.
21:19:46 <pgimeno> the machine words might be extended to, say, 24 trits and maybe that makes it useable
21:19:53 <cpressey> yeah, it might be like befunge-93 then.
21:20:10 <cpressey> or... no, even befunge has a stack, making it a PDA
21:20:35 <pgimeno> what does PDA stand for?
21:20:45 <pgimeno> (assuming it's not Personal Data Assistant)
21:20:56 <malaprop> Pushdown Automata
21:21:08 <pgimeno> ah thanks
21:23:27 <pgimeno> I wrote my language Bitxtreme as a parody on Malbolge's capabilities
21:25:15 <pgimeno> to express with some sense of humor my doubts about it being powerful enough as to perform simple tasks
21:25:47 <pgimeno> (with a bit of irony)
21:29:37 <Keymaker> 8)
21:31:36 <pgimeno> I'm sorry you took it seriously, Keymaker
21:32:06 <Keymaker> :)
21:32:21 <pgimeno> I didn't intend to trick anyone
21:32:27 <Keymaker> ok
21:32:41 <Keymaker> you don't need to tell everyone i'm stupid :P
21:33:05 <pgimeno> heh, I also didn't intend to mean that :)
21:33:16 <kipple> Keymaker: don't worry. It's not a secret ;)
21:33:27 <Keymaker> hah
21:33:36 <Keymaker> :)
21:34:11 <Keymaker> hmmm
21:34:20 <Keymaker> can anyone remember the name of that esoteric language that
21:34:24 <Keymaker> has mouse support
21:34:28 <Keymaker> and 2d graphics
21:34:31 <kipple> anyway, nice to see all the updates in the wiki today.
21:34:36 <Keymaker> like the output is to 2d screen
21:34:49 <Keymaker> (as pixels and shapes like triangles and circles)
21:35:20 <Keymaker> there was even pong made in it
21:37:52 <pgimeno> that just rings a distant bell
21:38:44 <Keymaker> if i remember any correct it started with 'o'
21:38:49 <Keymaker> well, doesn't help much
21:40:58 <Keymaker> no, it starts with 'g'!
21:41:02 <Keymaker> Gammaplex!
21:41:07 <Keymaker> http://www.student.kuleuven.ac.be/~m0216922/gammaplex/Manual.html
21:43:02 <Keymaker> lol, the language has a big set of instructions :D
21:43:35 <pgimeno> I'm afraid my bell was something else
21:43:59 <Keymaker> ok
21:47:19 <pgimeno> that one is in danger of disappearing, btw
21:47:24 <pgimeno> the page is by one student
21:47:34 <pgimeno> by a student, I mean
21:53:14 <lament> i don't like it
21:53:38 <lament> an overcomplicated befunge dialect
21:53:41 -!- graue has quit (Read error: 60 (Operation timed out)).
21:53:45 <Keymaker> yeah
21:54:39 <lament> after befunge 94 and wierd and piet, it seems there's no new ground left for 2d languages :)
21:54:50 <lament> oh and the game of life of course
21:55:01 <Keymaker> :)
21:55:10 <Keymaker> well, better get to 3d then..
21:55:35 <kipple> I think a saw a 4d language somewhere...
21:55:42 <Keymaker> yeah
21:55:45 -!- graue has joined.
21:55:48 <Keymaker> you're not the only one then i guess
21:55:58 <Keymaker> i remember seeing something like that as well
21:57:06 <lament> it was probably befunge
21:57:41 <Keymaker> a funge you mean?
21:58:03 <Keymaker> i thought that befunge-like languages were called funges
21:58:12 <lament> probably befunge
21:58:12 <kipple> no, I don't think it was a funge
21:58:32 <lament> okay, funge.
21:58:43 <Keymaker> :)
21:58:49 <lament> or befunge
21:59:03 <kipple> quadfunge?
21:59:24 <Keymaker> http://www.cliff.biffle.org/esoterica/4dl.html
21:59:42 <kipple> yeah, that's it
21:59:51 <Keymaker> yeah
22:00:45 <lament> later funges are bizarrely complex
22:00:59 <lament> dunno if they allowed for more than 2d but seems likely
22:01:09 <Keymaker> :)
22:01:38 <lament> it's amazing how much work cpressey put in later funges
22:01:46 <Keymaker> heh
22:01:47 <lament> and i doubt anybody ever actually used them :)
22:02:03 <Keymaker> yes
22:02:03 <lament> just look at http://catseye.mine.nu:8080/projects/funge98/doc/funge98.html
22:02:18 <Keymaker> hah
22:02:52 <lament> seems like an attempt to make it a non-esoteric language
22:03:55 <cpressey> Funge-98 was mostly designed by committee (isn't it obvious? :) so I can't take entire credit :)
22:04:51 <cpressey> it's a language family, not a single language, technically, so of course it's a royal mess.
22:05:03 <Keymaker> :D
22:05:06 <lament> yeah, but... why?! :)
22:05:08 <cpressey> it kind of maxed out at Nefunge (n-dimensional) and Chronofunge (time-travelling)
22:05:19 <Keymaker> :)
22:05:23 <cpressey> lament: heh
22:05:32 <cpressey> that is the WRONG question to ask in this community :)
22:05:37 <lament> cpressey: did people ever write any programs fon any of those?
22:05:42 <Keymaker> how would time travelling work in language?
22:05:59 <cpressey> lament: they were never specified fully or implemented, so i imagine, no
22:06:02 * lament thinks of continuations
22:06:07 <cpressey> Keymaker: painfully
22:06:12 <Keymaker> yeah
22:06:13 <cpressey> yeah, continuations kind of
22:06:15 <Keymaker> i can see that
22:06:19 <cpressey> store the state of the program at every step
22:06:27 <cpressey> then when you travel back in time, restore it
22:06:38 <lament> so, continuations without returning anything?
22:06:42 <lament> seems horribly useful :)
22:06:59 <cpressey> it's the time travelling to the future that we never quite modelled :)
22:07:09 <Keymaker> :)
22:07:52 <lament> hmm
22:07:55 <lament> shouldn't be too hard!
22:08:29 <Keymaker> well, probably not unless the language has input
22:08:38 <kipple> while (year < 2100);
22:09:10 <lament> well, any instruction implicitly travels to the future
22:09:22 <lament> at an alarmingly fast rate of one second per second
22:09:31 <kipple> hehe
22:10:08 <kipple> ok. how about letting the interpreter optimize it by altering the system clock instead? ;)
22:10:13 <Keymaker> hey! i got an idea: program language that has one bit as it's memory, but it can be accessed at different times
22:10:42 <lament> hmmmmm
22:10:45 <kipple> neat! (as long as you can move back and forward in time)
22:10:52 <Keymaker> and since future is uncertain, the future bit, along with all the ones before it would be randomized
22:10:58 <Keymaker> so the future couldn't be predicted
22:11:14 <lament> hmm
22:11:24 <lament> in Choon you can access the past
22:11:49 <lament> it has one 'register' and you can access its value at any past point
22:12:17 <Keymaker> so, does this mean somebody used time travelling and stole my idea?
22:12:32 <graue> no
22:12:38 <graue> as you said, time travelling to the future isn't possible
22:12:38 <Keymaker> ah good :)
22:12:43 <lament> well, it wasn't a one-bit register, and choon had other things as well
22:12:54 <Keymaker> yeah, so i think i can still use it
22:12:56 <Keymaker> good
22:12:58 <Keymaker> hahaha
22:13:47 <lament> besides nobody knows about choon
22:13:56 <Keymaker> yeah
22:13:57 <graue> it's on the wiki, everyone will know soon
22:13:59 <lament> and it wasn't the key feature of choon
22:14:05 <lament> oh, so that's how wiki works
22:14:35 <Keymaker> but seriously, since i hadn't idea about that and it isn't totally same idea, so i can't see a problem if i use this idea
22:14:46 <graue> indeed, there is no problem whatsoever
22:14:46 <Keymaker> as well, many esolangs share same features
22:14:58 <Keymaker> but this will be probably much different than any choon
22:15:08 <Keymaker> now i'll try to think with brain
22:15:30 <lament> the key feature of choon is sound output
22:15:34 <lament> nobody cares about its other features
22:16:30 <jix> ok.. lazy-brain specs are complete (in my head)
22:17:04 <lament> lazy brain???
22:17:09 <Keymaker> now write them down before you forget
22:17:11 <lament> how what
22:17:36 <jix> lazy-brain is brainfuck with functions,lists and lazy evaluation
22:17:52 <lament> how!??
22:18:30 <Keymaker> well, one could code those extras with normal brainfuck :p
22:19:05 <jix> you could code a c compiler in smallfuck+io extension
22:19:24 <Keymaker> yes
22:19:30 <Keymaker> that would be neat indeed
22:19:32 <Keymaker> :)
22:19:41 <Keymaker> and notice i was only joking,
22:19:43 <lament> that would be grotesque
22:19:49 <Keymaker> i'm waiting to see your work now
22:19:52 <Keymaker> sounds fun
22:19:56 <lament> it would be neat to write anything in smallfuck
22:19:59 <lament> (without cheating)
22:20:07 <Keymaker> cheating?
22:20:13 <lament> compiling brainfuck code to smallfuck
22:20:16 <Keymaker> yeah
22:20:18 <Keymaker> no
22:20:21 <Keymaker> that's not allowed!
22:20:53 <Keymaker> i'll write something it when i have time
22:21:50 <lament> jix: so what about this lazybrain thing!
22:22:07 <jix> lament: wait.. i post an example
22:22:16 <Keymaker> cool
22:22:24 <jix> it doesn't shows all features.. just lists and functions
22:23:15 <Keymaker> ok
22:24:54 <GregorR> Today I'm going to release a new version of FYB with a better spec (Thanks jix for telling me what things needed to be added) and more verbose output when verbose is enabled.
22:25:16 <jix> http://rafb.net/paste/results/cY9zp019.html
22:25:31 <jix> should print ABCDEFGHIJKLMNOPQRSTUVWXYZ
22:27:05 <jix> wait no.. updated specs in my head
22:27:07 <pgimeno> well, I'm going to sleep, so you guys don't flood up the log while I'm away, ok? ;)
22:27:13 <lament> ateoh
22:27:13 <lament> aoeu
22:27:13 <lament> ho
22:27:14 <lament> qrcjkgx
22:27:15 <lament> jqkrcgx
22:27:17 <lament> .ptnhoe
22:27:20 <lament> gcfaoeu
22:27:22 <pgimeno> heheh
22:27:22 <lament> qfxkglcf
22:27:23 <jix> lament: while he's away!
22:27:30 <lament> oh, oops
22:27:34 <jix> ;)
22:27:43 <lament> i'm too impatient :(
22:27:48 <pgimeno> g'nite all
22:28:07 <jix> gn8
22:29:02 <graue> g'nite
22:29:07 <Keymaker> bye
22:29:08 <Keymaker> nite
22:30:17 <jix> http://rafb.net/paste/results/pzwMJM37.html
22:32:08 <jix> its: upto a b = (a:if a==b EMPTY else upto a+1 b)
22:50:56 <jix> hmm i need to rethink some things for lazy brain
22:51:04 <jix> g'nite
22:51:08 <Keymaker> ok
22:52:04 -!- jix has quit ("Banned from network").
22:52:53 <Keymaker> hmmm
22:53:24 <Keymaker> i think i'll watch some movie
22:53:36 <Keymaker> 'nite
22:53:42 -!- Keymaker has quit ("Freedom!").
←2005-06-01 2005-06-02 2005-06-03→ ↑2005 ↑all