←2007-12-07 2007-12-08 2007-12-09→ ↑2007 ↑all
00:24:31 -!- iEhird has joined.
00:25:13 <iEhird> blah
00:26:08 -!- iEhird_ has joined.
00:26:08 -!- iEhird has quit (Read error: 104 (Connection reset by peer)).
00:26:11 -!- iEhird_ has quit (Remote closed the connection).
00:36:14 -!- iEhird has joined.
00:36:27 <iEhird> gregorr well damn you
00:36:43 <bsmntbombdood> only god has the power to damn
00:36:52 <iEhird> lisp then :p
00:37:03 <iEhird> (Days later.)
00:37:13 <GregorR> iEhird: How 'bout PDP-11 ASM?
00:37:49 <iEhird> um no :p
00:38:01 <GregorR> iEhird: How 'bout brainfuck?
00:38:21 <iEhird> I want a crazy implementation using continuations and rwcursion
00:38:47 <GregorR> Is rwcursion like recursion but you can write to the execution stack?
00:39:29 <iEhird> oh you should add continuations to Plof -- I'd write a continuations-based web framework in it and use it for everything :p
00:39:34 <iEhird> and heh
00:39:58 <iEhird> (actually just provide access to the call stack )
00:40:20 <iEhird> then a continuation is just a copy of it
00:40:33 <GregorR> The call stack is read-accessible, but not write-accessible. That could be fixed though ...
00:40:56 <iEhird> do so! :p
00:41:12 <iEhird> (plot 3 I'd 2)
00:41:14 <iEhird> wrt
00:41:18 <iEhird> err
00:41:49 <GregorR> That'll take a bit of a mental exercise.
00:42:20 <iEhird> ???
00:42:38 <GregorR> I don't want to just toss in something to allow that, I want it to be elegant.
00:43:29 <iEhird> ah. make the callstsck a global linked list
00:43:32 <iEhird> a
00:43:54 <iEhird> of MethodContexts or something
00:44:12 <GregorR> That's what it is right now.
00:44:19 <GregorR> But Plof has no classes, so the type is "object"
00:44:31 <iEhird> yeah yeah
00:44:41 <GregorR> The problem is I have these two different means of calling functions.
00:44:46 <GregorR> But I think I need to take that out of PSL.
00:44:51 <iEhird> yes
00:44:51 <GregorR> Because it's lameus maximus.
00:45:00 <GregorR> And instead, return -> a kind of throw.
00:45:22 <iEhird> also plof3 is overengineeredv to the max
00:45:28 <iEhird> just a comment
00:46:03 <GregorR> I think you can only say when something is /over/engineered once it's implemented :P
00:46:39 <iEhird> mmmnope
00:47:46 <GregorR> IMHO, it's a fairly standard VM language with the only exception being the runtime-defined parser.
00:47:57 <GregorR> (That is, what I have documented so far :P )
00:48:01 <iEhird> exactly.
00:48:03 <GregorR> (Since I haven't gotten to the user language yet)
00:48:17 <GregorR> Runtime parser == gone too far?
00:48:27 <iEhird> yeah IMO
00:48:51 <iEhird> you could do something similar but less overboard
00:49:42 <GregorR> I haven't found a more elegant solution to the fundamental problem I wanted to solve.
00:49:56 <iEhird> What problem
00:50:17 <GregorR> I have a prototype-based system, and I want everything to be an object, and furthermore to be derived from the appropriate prototypes. But I don't want "system" types like integers to be special - that is, I want them to be defined at runtime, in real code.
00:51:15 <ihope> Generally, either fundamental things are plain old objects or they're not.
00:51:29 <iEhird> define special
00:51:43 <iEhird> you make little semsem
00:51:49 <ihope> Semsem?
00:52:01 <GregorR> iEhird: Defined by the system and not replicatable by users.
00:52:08 <iEhird> side note hf with the prwttyprinter with that ruhtime patset
00:52:28 <iEhird> (sorry iPhone keyboard)
00:52:57 <GregorR> "hf" == ?
00:53:50 <ihope> Yeah, you can't really define things like words in terms of other things.
00:54:04 <iEhird> have fun be
00:54:08 <ihope> Unless the system automatically decides that certain things could be words.
00:54:12 <iEhird> gr
00:54:19 <iEhird> yes ihope
00:54:27 <iEhird> you need core stuff
00:54:49 <iEhird> provide a crazy minimal core and a stdlub in plof
00:54:56 <iEhird> like forth does
00:55:29 <GregorR> That doesn't solve the fundamental problem.
00:55:44 <iEhird> there is none
00:55:47 <GregorR> The code has a '3', I want that to evaluate to something derived from the Number prototype.
00:56:24 <iEhird> it can
00:56:32 <ihope> So if the code has a '3', it's passed to some function that interprets that somehow?
00:56:46 <GregorR> ihope: Yeah - the parser.
00:56:48 <iEhird> make your parade do it greg
00:56:55 <iEhird> parseer
00:57:03 <ihope> So it's a matrioshka thingy?
00:57:17 <iEhird> ruby python smalltalk ... do this fine
00:57:31 <iEhird> theres no problem
00:57:37 <ihope> GregorR: and what does the parser do with the 3?
00:58:42 <GregorR> iEhird: It's not a problem in that it doesn't cause the language to be non-TC or what not, so yes it works for all sorts of languages, but I consider it a problem because I don't want the language to have any types with a level of "nativeness" that a user could never recreate with their own objects.
00:59:13 <GregorR> ihope: Presumably, it parses it into the value, asks the system to turn that into the underlying data type, then wraps it up into a Number object and returns it.
00:59:15 <ihope> There are things that have a level of "nativeness" that a user could never recreate with their own objects.
00:59:48 <iEhird> yes
00:59:51 <ihope> Like the word 0x43. How do you define that?
01:00:06 <iEhird> for the rest you can already so that greg
01:00:09 <ihope> The byte 0x43, I mean, I guess.
01:00:20 <iEhird> just make a new Number class
01:00:26 <GregorR> iEhird: No classes.
01:00:30 <iEhird> the parseer calls it. voillam
01:00:44 <iEhird> srfu greg. you know I mean
01:00:55 <GregorR> Actually, I'm quite confused by what both of you mean.
01:01:41 <ihope> Suppose you want to define a type that contains a 32-bit word.
01:01:50 <GregorR> OK.
01:02:20 <ihope> What might that look like?
01:02:46 <GregorR> That depends. If you just want: new ThirtyTwoBitWord(1024); // then that would obviously be quite simple.
01:02:52 <iEhird> greg class=object
01:03:02 <bsmntbombdood> wewt
01:03:10 <iEhird> greg no that's using an alerteadt word class
01:04:23 <ihope> Well, I guess an entire parser thingy is unnecessary: 1024 could be a shorthand for SomeFunction(object containing 1024 somehow).
01:04:47 <ihope> Roughly like in Haskell: 1024 means fromInteger (the number 1024 as an Integer).
01:04:51 <GregorR> Yes, but then SomeFunction is deemed unique and special by the language.
01:05:29 <ihope> Then have a declaration like "numparser SomeFunction" that declares SomeFunction to be the number parser.
01:05:35 <iEhird> the patset function willtoo be unique and wspecisl
01:06:30 <GregorR> Except it's deemed unique and special by something which can be modified.
01:06:40 -!- immibis has joined.
01:06:46 <GregorR> Therefore, you can make something ELSE unique and special (which makes it not unique or special)
01:06:54 <iEhird> you must have a root somewhere
01:06:54 <ihope> Huh?
01:07:01 <GregorR> If the language only supports decimal, you can just add support for hex.
01:07:07 <ihope> Okau.
01:07:14 <GregorR> And not as: HexNumber("0x123"), but just 0x123
01:07:39 <ihope> So it is a matrioshka thing.
01:08:08 <iEhird> greg. overengineering.
01:08:15 <iEhird> ugh crab
01:08:29 <iEhird> stupid colloquy
01:08:49 <GregorR> You declare it overengineering, while simultaneously not denying its value. Why is it not useful to be able to add that sort of thing to the language?
01:09:31 <ihope> HexNumber("123") every time you want 0x123 is bad?
01:09:53 <GregorR> It's inelegant, it makes hex numbers second-class citizens.
01:10:17 <ihope> So say that every word that starts with a number is parsed by some special thing?
01:10:51 <GregorR> That's merely one example, it's not like it could only be useful for numbers.
01:11:16 <GregorR> You could add operations, and not in the Smalltalk-style "anything is an identifier but there's no precedence" style.
01:11:31 <GregorR> Erm, remove one of those instances of the word "style" :P
01:11:46 <GregorR> And s/operations/operators/ X_X
01:11:55 <ihope> Hmm...
01:12:38 <ihope> Say that every word that doesn't start with a letter and consist entirely of alphanumerics except for a few special ones is parsed by some special thing, I guess?
01:13:17 <GregorR> Do you honestly believe that having those limitations in a runtime pseudoparser is simpler than having a runtime parser?
01:13:45 <GregorR> You would now need to have a parser, PLUS this pseudoparser and make them mesh.
01:14:30 <iEhird> cannot read Coll problem
01:14:35 <ihope> Well, I guess you're saying that matrioshka stuff is more elegant than HexNumber("123") and MkArray(1,2,3) and such.
01:14:54 <GregorR> ihope: definition("matrioshka")
01:16:25 <GregorR> Oh, multiple layers?
01:16:30 <ihope> Yeah.
01:16:33 <GregorR> (So sez wikipedia :P )
01:17:16 <ihope> Define the syntax here, and then use it there.
01:17:39 <GregorR> The only difference is where "here" is.
01:17:57 <ihope> I'd rather define a function HexNumber than extend an existing parser to make 0x123 work.
01:18:03 <ihope> I think.
01:18:59 -!- immibis has left (?).
01:19:36 <ihope> Maybe you could remove the parentheses and instead of HexNumber("123") you could call your function 0x and have it be 0x"123".
01:19:49 <GregorR> Approximation of code to convert one to the other: pbnf { number = /0x[0-9A-Fa-f]+/ => { return { HexNumber(args[0]); } }
01:20:10 <GregorR> Oops, got my semicolon in the wrong place, but that's the idea ;P
01:20:24 <ihope> I guess so.
01:21:51 <ihope> HexNumber(/0x[0-9A-Fa-f]/)
01:21:54 <ihope> Redivider syntax >:-)
01:22:44 <GregorR> And then, Gregor disappeared.
01:35:15 -!- Jontte has quit ("Konversation terminated!").
01:55:03 -!- pikhq_ has quit (Read error: 104 (Connection reset by peer)).
01:57:35 -!- pikhq has joined.
02:37:52 -!- iEhird_ has joined.
02:41:57 -!- immibis has joined.
02:56:12 -!- iEhird has quit (Read error: 110 (Connection timed out)).
03:39:08 -!- ihope has quit ("Lost terminal").
04:43:46 -!- immibis has quit (Read error: 110 (Connection timed out)).
05:24:33 -!- faxathisia has joined.
05:42:00 -!- oo has joined.
06:18:39 -!- faxathisia has quit ("Leaving").
06:57:31 -!- oo has left (?).
07:00:41 <oklopol> the parser language is brilliant, and there is no "overengineering"
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:22:22 -!- faxathisia has joined.
08:31:55 <faxathisia> Does anyone know about Gries? invertible do-loop?
08:32:10 <faxathisia> I think it's mentioned in The Science of Programming by David Gries
08:46:44 -!- oerjan has joined.
09:15:19 -!- Jontte has joined.
09:24:02 -!- RedDak has joined.
09:30:26 -!- Dagide has joined.
09:33:07 <oklopol> hi faxathisia, oerjan, Jontte, RedDak and Dagide
09:33:15 <faxathisia> hello
09:33:26 <faxathisia> What is going on
09:33:44 <oklopol> faxathisia: i don't know about that, but i know a bit about reversible programming in general
09:34:08 <faxathisia> oh cool :D
09:34:14 <faxathisia> I wrote about 99% of a Janus system
09:34:22 <faxathisia> but I got stuck on the loops so I couldn't finish it
09:34:22 <oklopol> mostly that it can be tc, although makes some problems always take a bit longer.
09:34:48 <oklopol> it's a long time since i read about it, and i was a time complexity noob back then
09:35:02 <oklopol> so just remember it's slower
09:35:03 <oklopol> hmm
09:35:04 <oerjan> morn morn
09:35:10 <faxathisia> I really need someone to help !
09:35:22 <faxathisia> I basically found a bunch of contradictions in the paper
09:35:23 <oklopol> what exactly are you doing?
09:36:03 <faxathisia> Interpreter, Program Inverter, Simplifier, Encoder ..
09:36:03 <faxathisia> there's a few things like that which once done should let the self interpreter run
09:36:19 <faxathisia> But the semantics of the loop doesn't match with the textual description
09:40:08 <faxathisia> which sucks!
09:44:37 <Slereah> My ridiculously complicated calculator can now multiply!
09:44:37 <Slereah> http://membres.lycos.fr/bewulf/Russell/Calc6.txt
09:44:47 <faxathisia> haha that's sick
09:45:59 -!- RedDak has quit (Read error: 110 (Connection timed out)).
09:46:02 <Slereah> The ugly business will now be to make one for both multiplication and addition!
09:58:14 <faxathisia> oklopol: Which reversible languages do you think are ok ?
09:59:08 <oklopol> heh, there was one where the reversibility was explicit, you could run fibonacci backwards etc :D
09:59:38 <oklopol> i don't remember the name though
10:00:25 -!- Dagide has quit (Read error: 104 (Connection reset by peer)).
10:01:04 <oerjan> we've got Kayak on the wiki
10:03:42 <faxathisia> Yeah I can run fibonacci backwards
10:03:47 <faxathisia> because it uses recursion not loops
10:03:52 <oerjan> as well as Category:reversible computing
10:04:28 <faxathisia> Janus is the one I was dealing with
10:04:37 <faxathisia> But I'm sure others are capable of the same
10:04:52 <oklopol> kayak is a palindrome!!
10:04:57 <oklopol> i totally get the reference xDD
10:05:00 <oklopol> ...
10:05:09 <oklopol> (sorry, random burst.)
10:05:11 <oerjan> as is revaver
10:05:21 <faxathisia> redivider too
10:05:38 <oklopol> i can't do palindromes in english :<
10:05:38 <faxathisia> random burst is good!
10:05:52 <faxathisia> palindrome(X) :- reverse(X,X). % :
10:05:56 <faxathisia> :D
10:06:26 <oklopol> well, i can do palindromes in any language that's fully robust
10:06:51 <oklopol> trying to mean "every string being a legal program"
10:06:59 <oklopol> which of course is not the meaning of robust.
10:07:01 <Slereah> Heh.
10:07:09 <faxathisia> I got one hing to say about it, GLYCYLGLYCYLGLYCYLGLYCINE!
10:07:19 <oerjan> can you do a palindromic quine? :)
10:07:35 <Slereah> Well, I can do the empty program.
10:07:38 <faxathisia> 1 -- is a quine in some languages
10:08:59 <oklopol> my game enema gym :)
10:09:05 <oklopol> damn
10:09:07 <oklopol> i failed.
10:09:29 <oerjan> trust oklopol to mention enemas :)
10:10:09 <oklopol> my game: neon, no enema gym
10:10:39 <oklopol> okay, i guess i can somewhat make palindromes in english too, but i'm a bit slow
10:13:22 <faxathisia> What's the biggest ring of interpreters in esoteric languages?
10:13:44 <faxathisia> like brainfuck/K/unlambda/brainfuck sort of thing
10:18:27 <oerjan> i am not sure there are that many rings. i have this impression that mostly a simple language is implemented in a more powerful one, or itself.
10:19:02 <oerjan> otoh we do have a table...
10:19:26 <Slereah> Ring?
10:19:38 <oerjan> cycle then
10:21:17 <oerjan> http://esoteric.voxelperfect.net/wiki/EsoInterpreters
10:21:49 <oklopol> we should make a gigantic 2d grid with the whole list of languages on the wiki running on each side, and then put an interpreter written in language on the left for the language on the top in every cell, if one exists!
10:22:04 <faxathisia> yes :D
10:22:05 <oklopol> ...
10:22:06 <oklopol> whut
10:22:15 <faxathisia> cool oerjan
10:22:20 <oklopol> that was quite a weird coincidence
10:23:06 <oerjan> not really, this cycle thing is exactly what such a table is useful for
10:23:14 <faxathisia> now I'm wonder.. how to find the biggest ring given a table
10:23:27 <faxathisia> I need an APL command list
10:24:04 <oerjan> first we can remove every language which isn't in _both_ row and column
10:24:18 <oklopol> i want a connection between brainfuck and unlambda...
10:24:27 <oklopol> especially an unlambda interpreter in brainfuck
10:24:39 <faxathisia> that sounds tricky to write...
10:24:41 <faxathisia> :D
10:25:32 <faxathisia> http://esolangs.org/wiki/Befreak
10:25:36 <oerjan> leaving: befunge, brainfuck, kipple, minus, subleq, um-32, underload, unlambda
10:25:39 <faxathisia> seems like there is a befreak in K ..
10:25:44 <faxathisia> but it's not in the table?
10:26:22 <oerjan> always omissions :)
10:26:40 <oklopol> K isn't really meant to be an esolang
10:27:01 <oklopol> although it's more eso than many on the wiki :;)
10:27:18 <faxathisia> oh...
10:27:26 <faxathisia> It's K as in the APL-like language
10:27:35 <faxathisia> I thought it was Lazy-K or something
10:27:44 <faxathisia> WHat is an esolang?
10:27:49 <oerjan> minus, subleq, um-32 and overload are only related to themselves
10:28:13 <oerjan> er wait there is also brainfuck in underload
10:28:43 <oerjan> er, the other way
10:29:13 <oklopol> faxathisia: the fine line between weird languages and esolangs is whether the creator 1) knew about esolangs 2) wanted an esolang status
10:29:25 <oklopol> making esolangs doesn't really bring much profit :P
10:29:28 <oerjan> in any way, my conclusion is there are _no_ length > 1 cycles in that table
10:29:34 <faxathisia> :(
10:30:05 <oklopol> no loops :O
10:30:10 <oklopol> whutz
10:30:16 <faxathisia> we must avert this crisis
10:30:51 <oklopol> it's a long time since i actually programmed in an esolang
10:31:05 <oklopol> perhaps i should make an interpreter
10:31:05 * faxathisia wonders which lang to write an interpreter for in which
10:31:12 <faxathisia> oklopol! yeah!
10:31:13 -!- iEhird_ has quit (Remote closed the connection).
10:31:14 <oklopol> dice!'
10:31:17 <oklopol> throw them!
10:31:21 <faxathisia> why not unlambda interpreter in brainfuck
10:31:27 <faxathisia> for you :p
10:31:31 <oklopol> hehe :P
10:31:37 <oklopol> perhaps, shouldn't be too hard
10:31:51 <faxathisia> maybe I should try brainfuck in unlambda?
10:31:52 <faxathisia> or something else
10:32:00 <oklopol> or, perhaps i'll use bitchanger
10:32:09 <oklopol> i think bitchanger is much sexier
10:32:24 <oklopol> (bitxtreme!)
10:33:55 <Slereah> Fuck. That calculator thingy is impossible for large amounts.
10:34:17 <oklopol> it's interesting that it's a lot easier to write song lyrics in english than in finnish, but simultaneously i cannot come up with any good long palindromes
10:34:59 <oklopol> perhaps i detect suckyness easier in finnish lyrics than in english ones
10:35:28 <oerjan> otoh the easiest way to get a 2-cycle may be to implement in brainfuck one of the many things that already implement brainfuck
10:38:25 <oerjan> or perhaps underload the other way.
10:39:27 <oerjan> oh wait, underload has no input
10:39:41 <oklopol> so brainfuck in underload
10:39:44 <oklopol> oh
10:39:50 <faxathisia> There's gotta be a really neat way in APL/J to find the longest cycle in a graph...
10:39:55 <faxathisia> given the connecitivity matrix
10:40:38 <oklopol> i had an (somewhat) interesting idea for specifying graphs
10:40:45 <faxathisia> yes? :D
10:40:55 <oklopol> you have a haskell type system -like way to specify trees
10:40:57 <oerjan> this _is_ NP-complete, the hamiltonian cycle problem
10:41:02 <faxathisia> ack ok thanks
10:41:09 <faxathisia> I didn't realize it was the same thing
10:41:09 <oklopol> but, you can add an additional id tag to every node
10:41:59 <oerjan> although you can find the maximal fully connected components more easily...
10:42:05 <faxathisia> hmm I don't think its' hamiltonian cycle problem..
10:42:18 <faxathisia> I only want the biggest cycle, It needn't traverse the entire graph
10:42:27 <oklopol> so you could, for example, make a 2d grid by taking a node in the grid, and making it a tree with 4 children == the ones that go from that point to the edges
10:42:35 <oklopol> eh
10:42:37 <oerjan> but to know if it _is_ biggest, you need to solve the HCP
10:42:39 <oklopol> not children, branches.
10:43:04 <faxathisia> for this http://img265.imageshack.us/img265/8628/picture3sn0.png http://rafb.net/p/lAvWd238.txt
10:43:07 <oklopol> each branch would then extend itself to 2 branches every step, those branches again reaching for the top
10:43:23 <oklopol> now carrying position around would effectively create a 2d grid.
10:43:27 <oklopol> did that make any sense?
10:43:35 <faxathisia> oklopol, Is that the same thing in my paste?
10:43:39 <faxathisia> or a different hing..
10:44:09 <oklopol> hmm, not sure :D
10:44:33 <oklopol> a 2d grid, basically an array[x][y], where every node in there has a connection to it's 4 neighbors
10:44:52 <oklopol> and the edges the 3 neighbors etcx
10:44:54 <oklopol> *-x
10:45:38 <oklopol> basically, you make a whole tree, but use id tags to specify where the branches should meet and form more complex connections than tree-like
10:46:09 <oklopol> i should make the syntax ready... this is hard to explain
10:53:09 <oklopol> every attempt to formalize this makes it overly verbose :D
10:59:12 <oklopol> http://www.vjn.fi/pb/p332633336.txt
10:59:15 <oklopol> graph lambdas!
11:07:45 <oklopol> http://www.vjn.fi/pb/p146432433.txt <<< dynamic scoping detected!!
11:08:04 <oklopol> i actually didn't realize what i was doing with the tags is essentially dynamic scoping
11:08:15 <oklopol> until i actually managed to write something with them
11:08:51 <oklopol> anyhow, lambdas + recursion equations with id tags for graphs, what do you think?
11:09:17 <oklopol> this is the one and only place where i should be able to get opinions on this, so don't be shy
11:09:51 <oklopol> also, does my notation make any sense, i think it does, but i'm wrong 92% of the time
11:10:22 <faxathisia> Is p146432433.txt a function of one parameter?
11:10:26 <faxathisia> basically Int -> Graph
11:11:08 <oklopol> yes
11:11:18 <faxathisia> cool I think your notation makes sense then
11:11:27 <oklopol> nice, how about the lambda one? :)
11:11:34 <oklopol> nameless graph structure
11:12:02 <oklopol> http://www.vjn.fi/pb/p113552143.txt
11:13:33 <faxathisia> Why not write it this way instead: http://www.vjn.fi/pb/p231424322.txt ?
11:13:49 <oklopol> basically, it says "the node tagged (x y) is two-way connected to nodes ((x+1) y) and (x (y+1)) for every x in 0..maxx-1 and y in 0..maxy-1"
11:14:42 <oklopol> well, i want it to be a first-class citizen
11:14:47 <oklopol> that can be passed around
11:14:56 <oklopol> so that you can make graphs on the fly 8DD
11:15:27 <oklopol> my grand idea is to make a graph rewriting language, something that united tree rewriting and cellular automata
11:15:32 <oklopol> *unites
11:17:04 <oklopol> the thing that troubles me a bit about the lambda notation, is that those things don't really overlap in usability
11:17:48 <oklopol> meaning that you can specify some graphs using the lambda notation trivially, while it's simultaneously almost impossible to do in the tree+tag notation
11:18:05 <oklopol> on the other hand, i think the tree notation is tc, while the lambda one is not.
11:19:00 <oklopol> so, the other one is more usable than the other, while the other is more powerful in theory... i kinda feel that a lambda for creating graphs should just be a shorthand for the actual graph declaration mechanism, not a completely separate way to define them
11:19:35 <oklopol> that is prolly because it's like that for functions + lambdas, and i for some reason need a sort of an isomorphism between my graph things and funxxxions
11:20:32 <oklopol> i should use a smaller font, it's depressing to fill a few screens with messages without response :D
11:21:03 <oklopol> *or*, i could just shut up
11:21:06 <faxathisia> No need to have it turing complete!
11:21:14 <faxathisia> is there?
11:21:22 <oklopol> is there what
11:21:28 <faxathisia> any need to have it tc
11:21:51 <faxathisia> I mean 'capable of expressing a wide range of structures/computations' vs 'tc'
11:21:53 <oklopol> well, i would like it being able to specify *any* graph structure.
11:22:09 <faxathisia> hm...
11:22:16 <oklopol> but, it's not necessary, no
11:22:44 <faxathisia> What (finite) graph would you need turing completness to express
11:22:57 <oklopol> well, trivially none
11:23:05 <oklopol> unless you wanna parametrize
11:23:35 <oklopol> you could, in theory, want a graph that somehow flunctuates with the digits of pi or something
11:23:36 <oklopol> i dunno! :D
11:24:08 <oklopol> hohoho, lazy infinite graphs!
11:24:09 <oklopol> xD
11:24:18 <faxathisia> hehe :D
11:24:47 <oklopol> actually, that's not even that far-fetched, given that you prolly want that for cellular automata anyway...
11:24:49 * faxathisia writes some shamefully crap code to find the longest cycle in a graph...
11:25:06 <faxathisia> i'm *sure* there is some magic one liner in an array programming language
11:25:29 <oklopol> i'm pretty sure there's a primitive function for that in my graph language!
11:25:33 <oklopol> just you wait!
11:25:37 * faxathisia waits...
11:25:52 <oklopol> actually, there may be problems once i start thinking about stuff like that
11:26:34 <oklopol> i tend to be very idealistic, every function will basically have to be some sort of a rewriting rule
11:27:00 <oklopol> so stuff that actually computes something about the structure of a graph is hard to express
11:27:33 <oklopol> or not... not sure, i've mostly considered the awesomeness, not so much the usability!
11:28:10 <oklopol> faxathisia: you can stop waiting now, unless you have a *lot* of time
11:28:13 <faxathisia> hehe
11:28:22 <faxathisia> well this code is crap http://paste.lisp.org/display/52132
11:28:29 <faxathisia> but I don't know how to do it better
11:28:41 <faxathisia> so I can plug the eso interpreter matrix into it later on
11:28:48 <faxathisia> (once more interpreters are written :p)
11:32:15 <oklopol> coool, lisp
11:32:56 <oklopol> hmm, what does the graph signify exactly?
11:33:35 <oklopol> (a d e) means there's a... connection from a to d and d to e?
11:34:04 <faxathisia> there is an arc from a->d and a->e
11:34:36 <faxathisia> I guess I could have written it (a . (d e))
11:36:10 <oklopol> http://www.vjn.fi/pb/p231253223.txt <<< i think i have the 2d grid now
11:36:18 <oklopol> it's a bit verbose, but i think it's correct
11:36:35 <oklopol> changed =, the tagging thingie, to ::
11:37:16 <oklopol> since = is nice when you just want identity, and not a tagging or a connection
11:38:05 <oklopol> (although connecting [2dGraph x y :: (x y)} to {2dGraph x y mx my :: (xy)} wouldn't make an actual connection anyway, since the tags are the same...)
11:38:35 <oklopol> ah
11:38:39 <oklopol> of course it means that
11:44:40 <oklopol> heh, once again i stare for 5 minutes at a code before i realize i will never get it since i don't know what mapcar is :D
11:45:01 <oklopol> i suck at reading other people's code
11:45:10 <faxathisia> (mapcar #'square '(5 6 8)) -> (25 36 8*8???)
11:46:30 <oklopol> :=)
11:46:30 <faxathisia> does that explain it? :p
11:46:46 * faxathisia should avoid such large numbers as 8 when giving examples...
11:46:53 <oklopol> oerjan: as the official mathematician, can you help faxathisia calculate 8*8 :P
11:47:14 <oklopol> that's a tricky one, gotta admit.
11:47:27 <faxathisia> You expect a mathematician to know 8*8?? :P
11:48:15 <oklopol> well, i expect the official mathematician to know it
11:48:21 <oklopol> !
11:48:26 <faxathisia> lol
11:49:26 <oklopol> well, actually i'd assume any programmer to have the powers of two as a reflex
11:49:41 <oklopol> anyhow, mapcar is... map?
11:49:57 <oklopol> i guess mapcar is more descriptive
11:50:02 <oklopol> or not
11:50:04 <oklopol> dunno
11:50:42 <oklopol> too many functions i don't know used in there, does not parse.
11:51:17 <oklopol> faxathisia: did the new 2dGraph i made with explicit tree structurizing make sense?
11:51:23 <faxathisia> you can click on the function names oklopol
11:51:28 <faxathisia> it will give you a full desription of them
11:51:34 <faxathisia> but... my code is basically utter crap
11:51:36 <oerjan> 8*8 = 8*(7+1) = 8*7+8*1 = 8*(6+1)+8*1 = ...
11:51:40 <faxathisia> so I don't think there's much point understanding it
11:51:55 <faxathisia> ah oerjan, reduced it to the harder problem of 8*7 + 8 :)
11:52:07 <oklopol> you generate everything possible and check 'em?
11:52:40 <oerjan> you've got problems recursing?
11:52:48 <oklopol> i'd say 8->1000_2, 1000*1000 = 1000000_2
11:53:37 <oerjan> if you want only top-of-tree rewriting then you can rewrite in continuation-passing style, i believe
11:53:38 <oklopol> oerjan: i think the human brain can only handle tail recursion
11:54:55 <oklopol> oerjan: opinions on my graph thingie! :D
11:55:13 <oklopol> and don't give me that crap about you not being qualified for that
11:55:22 <oklopol> !
11:56:12 <oerjan> fine, i'll give you crap about not being in the mood instead...
11:56:33 <oerjan> and being on my way out the door, besides
11:56:51 <oklopol> oh
11:57:04 <oerjan> back when my brain is refilled :)
11:57:15 <oerjan> recharged, whatever
11:57:18 <oklopol> well, bye then, and remind me to fix my crap filter, it seems to have holes!
11:57:41 -!- oerjan has quit ("Lunch").
12:11:48 -!- jix has joined.
12:47:57 -!- Sabskm has joined.
13:03:22 -!- Slereah has quit (Read error: 110 (Connection timed out)).
13:21:06 <oklopol> http://www.vjn.fi/pb/p666413311.txt hypercubz
13:22:01 <oklopol> oh, there's an error
13:22:11 <oklopol> not that it matters since i didn't explain the syntax :D
13:28:50 -!- faxathisia has quit ("Leaving").
13:29:57 -!- faxathisia has joined.
13:37:40 * faxathisia cannot decide which box to fill in from http://esoteric.voxelperfect.net/wiki/EsoInterpreters
13:37:41 <faxathisia> :[
13:41:59 <faxathisia> there is befunge in zetaplex, brainfuck in befunge, and BCT, Underload, UTM in brainfuck
13:43:48 <faxathisia> zetaplex in underload
13:49:12 <oklopol> :O
13:49:19 <oklopol> zetaplex looks awesome
13:49:24 <oklopol> i haven't seen it
13:49:29 <faxathisia> yeah it does
13:50:13 <oklopol> oh, it's a 2d language, should've guessed that's the only way to get that cool-looking code :P
13:50:26 <faxathisia> mm it looks awfly hard to write an interpreter for zetaplex though
13:51:08 <faxathisia> (in an esolang)
13:51:45 <oklopol> http://www.vjn.fi/pb/p133626425.txt this should be game of life, but i should really add some syntax that makes a difference between a graph and a transition...
13:52:48 <oklopol> i'm currently marking state changes with a !!
13:53:01 <faxathisia> I don't understand that
13:53:08 <oklopol> which part?
13:53:13 <faxathisia> the code you pasted
13:53:19 <oklopol> the grid thing in the beginning should be easy
13:53:27 <oklopol> i'll explain
13:53:47 <oklopol> Grid = Grid 0 0 -- a grid is a grid starting at 0 0
13:54:26 <oklopol> Grid x y = 0 <-> ... -- a grid node at x y has value 0 (= 0) and is connected to adjacent cells (<-> Grid .., Grid .., etc)
13:54:33 <oklopol> was that of any help?
13:55:20 <oklopol> the transition part will definitely change anyway, so no use explaining that
13:55:35 <faxathisia> that's the bit I didn't understand :p
13:55:51 <oklopol> do you now?
13:56:19 <oklopol> !! g![x y] = 1 means, take the thing in g tagged with [x y], and make it's value 1
13:56:31 <oklopol> hmm
13:56:48 <faxathisia> What about !! {t\g}*10
13:56:53 <oklopol> heh
13:57:03 <oklopol> x\y means for all y do x
13:57:13 <oklopol> t\g means do transition t to g
13:57:25 <oklopol> !! means there is a state transformation
13:57:45 <oklopol> f*10 means, do f 10 times, with params 0..10
13:57:58 <oklopol> that's helpful when doing multiple branches.
13:58:50 <oklopol> also, the syntax is somewhat weird in that it's infix when you don't separate with whitespace, but prefix when you do separate... so (+ 5 2) = 5+2 xD
13:59:17 <oklopol> that's nice since a pattern like [x+1 y-3] is often needed
13:59:46 <oklopol> [(+ x 1) (- y 3)] is verbose, but i find infix ugly in large portions
13:59:47 <faxathisia> cool
14:00:06 <oklopol> so... decided to do something really weird there
14:00:29 <oklopol> i like playing around with the details as well as the big picture when making a language
14:01:02 <oklopol> me no like teh transition thingie...
14:02:43 <oklopol> hey, i could have lowercase for variables, uppercase for node/graph names, zumbercase for transitions, and nimbiecase for normal functions.
14:02:54 <oklopol> oh, right, there's not zumber and nimbie.
14:03:09 <oklopol> such a rookie mistake
14:03:26 <faxathisia> I've never heard of zumbercase or nimbiecase
14:03:39 <oklopol> naturally, i'd like everything to be a graph :D
14:04:42 <oklopol> perhaps i could do something like having a function be a graph with a certain structure, like something with tag #funx for the root, and then two branches, #from and #to, and then add support for kinda first-class citizen variable names
14:04:44 <oklopol> or something.
14:05:15 <oklopol> it'd be notoriously complicated and weird, but i'd feel pure again
14:05:21 <oklopol> :)
14:05:42 <oklopol> faxathisia: there's no zumber and nimbie, i was just amusing myself.
14:06:27 <oklopol> lol now i'm actually considering that :D
14:06:47 <oklopol> wonder if i should still make it possible to program functionally without knowing the underlying sick structure
14:07:54 <oklopol> need to sleep for half an hour or so ->
14:08:22 <oklopol> to get the mental juices flowing
14:26:58 -!- jix has quit (Read error: 113 (No route to host)).
14:28:00 -!- jix has joined.
14:32:53 -!- jix has quit ("CommandQ").
14:47:52 -!- wooby has joined.
14:48:12 <wooby> hello
14:48:35 <Sabskm> Hi.
14:49:12 <wooby> how are things
14:49:40 <Sabskm> Fine, fine.
14:50:16 <wooby> im reading up on bf hardware here, people have done some interesting things with the PIC
15:02:32 -!- wooby has quit.
15:23:08 -!- puzzlet_ has quit (Remote closed the connection).
15:23:10 -!- Sabskm has changed nick to Slereah.
15:23:12 -!- puzzlet has joined.
15:30:11 -!- Tritonio_ has joined.
15:54:09 -!- faxathisia has quit ("Leaving").
15:56:55 -!- pikhq_ has joined.
15:57:00 -!- pikhq has quit (Read error: 110 (Connection timed out)).
16:06:52 -!- Tritonio_ has quit (Read error: 110 (Connection timed out)).
16:06:59 -!- Tritonio__ has joined.
16:07:36 -!- Tritonio__ has changed nick to Tritonio_.
16:10:06 -!- oerjan has joined.
16:12:26 -!- jix has joined.
16:16:21 -!- pikhq_ has changed nick to pikhq.
16:17:51 -!- MonkeyofDoom has joined.
16:18:11 <MonkeyofDoom> helloes
16:18:31 <Slereah> Hies.
16:18:35 <oerjan> 'afternoon
16:19:46 <MonkeyofDoom> has anyone here ever gotten INTERCAL to work on a windows pc?
16:23:06 <MonkeyofDoom> I've been trying for days but all that's come of it is a bunch of NO SKELETON IN MY CLOSET, WOE IS ME! messages and a bunch of "use linux or suicide" sentiments
16:23:23 <pikhq> Install Cygwin?
16:23:39 <oerjan> if ais523 were here, i'm sure he could help
16:24:00 <oerjan> he's the C-INTERCAL maintainer
16:24:10 <pikhq> Oh?
16:24:25 <oerjan> or so he claimed in an email i got the other day :)
16:25:28 <MonkeyofDoom> hm
16:25:58 <MonkeyofDoom> I'm pretty sure I have cygwin installed
16:26:01 * MonkeyofDoom keyofDoom checks*
16:27:16 <MonkeyofDoom> I have mingw at least
16:28:13 <oerjan> "Builds and runs nicely under any ANSI/POSIX platform"
16:30:21 -!- jix has quit (Read error: 110 (Connection timed out)).
16:32:19 <MonkeyofDoom> it's not building or running nicely on windows though
16:32:36 <MonkeyofDoom> I'm trying the 0.15 port to dos right now
16:32:40 <pikhq> Which isn't a POSIX platform.
16:35:58 -!- Tritonio__ has joined.
16:36:39 -!- Tritonio_ has quit (Read error: 110 (Connection timed out)).
16:41:06 <MonkeyofDoom> yeah
16:41:29 <MonkeyofDoom> hence my current attempt with the DOS port
16:41:40 <MonkeyofDoom> which still isn't working
16:44:54 <oerjan> i haven't tried any of them but my impression from how they were used in haskell was that MinGW was to create "ordinary" windows programs but CygWin is closer to a Posix environment
16:45:07 <MonkeyofDoom> I see
16:45:41 <MonkeyofDoom> my current problem is that I've got the thing "installed" according to instructions
16:46:02 <MonkeyofDoom> but I still get errors that indicate lack of proper installation in all the other cases I've found
16:48:37 <oerjan> "Cygwin aims to provide a complete POSIX layer (similar to that found in a Linux or other Unix systems) on top of Windows, sacrificing performance where necessary for compatibility, while MinGW aims to provide only a free compiler and toolchain, prioritizing performance."
16:50:33 <oerjan> (from wikipedia:mingw)
16:54:53 <MonkeyofDoom> I suppose I can try using cygwin
16:55:04 <MonkeyofDoom> hopefully magic things work
16:56:57 -!- pikhq has quit (Remote closed the connection).
16:57:02 -!- pikhq has joined.
17:10:31 -!- Slereah_ has joined.
17:22:04 -!- Slereah has quit (Read error: 110 (Connection timed out)).
17:38:06 -!- MonkeyofDoom has quit (" magic *nix takes time and soul donation").
18:02:36 -!- jix has joined.
18:50:29 -!- Slereah_ has changed nick to Slereah.
19:01:04 -!- digital_me has joined.
19:02:34 -!- AnMaster has quit (Client Quit).
19:03:49 -!- digital_me has quit (Client Quit).
19:29:55 -!- puzzlet_ has joined.
19:30:41 -!- puzzlet has quit (Remote closed the connection).
19:53:15 -!- bsmntbombdood has quit (Connection timed out).
19:53:26 -!- bsmntbombdood_ has joined.
19:54:28 -!- bsmntbombdood_ has changed nick to bsmntbombdood.
20:15:33 -!- puzzlet_ has quit (Remote closed the connection).
20:15:40 -!- puzzlet has joined.
20:34:36 -!- puzzlet_ has joined.
20:34:46 -!- puzzlet has quit (Remote closed the connection).
20:42:00 -!- puzzlet has joined.
20:47:00 -!- Tritonio__ has quit ("Bye...").
20:51:59 -!- puzzlet has quit (Remote closed the connection).
20:52:03 -!- puzzlet has joined.
20:52:16 -!- puzzlet_ has quit (Read error: 110 (Connection timed out)).
21:02:38 -!- puzzlet_ has joined.
21:06:03 <bsmntbombdood> bah, christmas
21:07:58 -!- puzzlet_ has quit (Remote closed the connection).
21:08:09 -!- puzzlet_ has joined.
21:12:48 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
21:14:47 -!- puzzlet_ has quit (Remote closed the connection).
21:14:51 -!- puzzlet has joined.
21:29:13 -!- RedDak has joined.
21:31:57 -!- puzzlet has quit (Remote closed the connection).
21:32:01 -!- puzzlet has joined.
21:39:20 -!- puzzlet has quit (Remote closed the connection).
21:44:23 -!- puzzlet has joined.
21:53:19 -!- puzzlet has quit (Remote closed the connection).
21:53:23 -!- puzzlet has joined.
22:04:46 -!- puzzlet has quit (Remote closed the connection).
22:04:46 -!- puzzlet_ has joined.
22:13:59 -!- puzzlet_ has quit (Remote closed the connection).
22:14:00 -!- puzzlet has joined.
22:21:00 -!- puzzlet has quit (Remote closed the connection).
22:21:01 -!- puzzlet_ has joined.
22:31:14 -!- oklopol has quit (Read error: 110 (Connection timed out)).
22:32:39 -!- puzzlet has joined.
22:38:43 -!- oklopol has joined.
22:42:53 -!- puzzlet_ has quit (Read error: 110 (Connection timed out)).
22:48:52 -!- RedDak has quit (Remote closed the connection).
22:58:02 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
22:58:15 -!- puzzlet has joined.
23:08:25 -!- puzzlet_ has joined.
23:08:26 -!- puzzlet has quit (Remote closed the connection).
23:45:49 -!- Jontte has quit ("Konversation terminated!").
23:46:30 -!- puzzlet has joined.
23:51:04 -!- Jontte has joined.
23:54:49 -!- puzzlet has quit (Remote closed the connection).
23:56:26 -!- puzzlet has joined.
23:56:51 -!- puzzlet_ has quit (Read error: 110 (Connection timed out)).
←2007-12-07 2007-12-08 2007-12-09→ ↑2007 ↑all