00:24:31 -!- iEhird has joined.
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:37:13 <GregorR> iEhird: How 'bout PDP-11 ASM?
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: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:41:49 <GregorR> That'll take a bit of a mental exercise.
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: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: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 <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:46:03 <GregorR> I think you can only say when something is /over/engineered once it's implemented :P
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:03 <GregorR> (Since I haven't gotten to the user language yet)
00:48:17 <GregorR> Runtime parser == gone too far?
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: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:43 <iEhird> you make little 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:53:50 <ihope> Yeah, you can't really define things like words in terms of other things.
00:54:08 <ihope> Unless the system automatically decides that certain things could be words.
00:54:49 <iEhird> provide a crazy minimal core and a stdlub in plof
00:55:29 <GregorR> That doesn't solve the fundamental problem.
00:55:47 <GregorR> The code has a '3', I want that to evaluate to something derived from the Number prototype.
00:56:32 <ihope> So if the code has a '3', it's passed to some function that interprets that somehow?
00:56:48 <iEhird> make your parade do it greg
00:57:03 <ihope> So it's a matrioshka thingy?
00:57:17 <iEhird> ruby python smalltalk ... do this fine
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: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: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: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: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:07:01 <GregorR> If the language only supports decimal, you can just add support for hex.
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: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: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: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: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: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:44 <oklopol> faxathisia: i don't know about that, but i know a bit about reversible programming in general
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: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:44:37 <Slereah> My ridiculously complicated calculator can now multiply!
09:44:37 <Slereah> http://membres.lycos.fr/bewulf/Russell/Calc6.txt
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:52 <oerjan> as well as Category:reversible computing
10:04:37 <faxathisia> But I'm sure others are capable of the same
10:04:57 <oklopol> i totally get the reference xDD
10:05:38 <oklopol> i can't do palindromes in english :<
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: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: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: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: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: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:25:36 <oerjan> leaving: befunge, brainfuck, kipple, minus, subleq, um-32, underload, unlambda
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: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: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: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:13 -!- iEhird_ has quit (Remote closed the connection).
10:31:21 <faxathisia> why not unlambda interpreter in brainfuck
10:31:37 <oklopol> perhaps, shouldn't be too hard
10:31:51 <faxathisia> maybe I should try brainfuck in unlambda?
10:32:00 <oklopol> or, perhaps i'll use bitchanger
10:32:09 <oklopol> i think bitchanger is much sexier
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:50 <faxathisia> There's gotta be a really neat way in APL/J to find the longest cycle in a graph...
10:40:38 <oklopol> i had an (somewhat) interesting idea for specifying graphs
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: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:37 <oerjan> but to know if it _is_ biggest, you need to solve the HCP
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:35 <faxathisia> oklopol, Is that the same thing in my paste?
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: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
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:11:18 <faxathisia> cool I think your notation makes sense then
11:11:27 <oklopol> nice, how about the lambda one? :)
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: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: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: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:16 <oklopol> but, it's not necessary, no
11:22:44 <faxathisia> What (finite) graph would you need turing completness to express
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:24:08 <oklopol> hohoho, lazy infinite graphs!
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: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:22 <faxathisia> well this code is crap http://paste.lisp.org/display/52132
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: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: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: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: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:49:26 <oklopol> well, actually i'd assume any programmer to have the powers of two as a reflex
11:49:57 <oklopol> i guess mapcar is more descriptive
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: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:57:04 <oerjan> back when my brain is refilled :)
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: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:41:59 <faxathisia> there is befunge in zetaplex, brainfuck in befunge, and BCT, Underload, UTM in brainfuck
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: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:19 <oklopol> the grid thing in the beginning should be easy
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:55:20 <oklopol> the transition part will definitely change anyway, so no use explaining that
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: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
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: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:05:15 <oklopol> it'd be notoriously complicated and weird, but i'd feel pure again
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: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: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:39 <oerjan> if ais523 were here, i'm sure he could help
16:24:00 <oerjan> he's the C-INTERCAL maintainer
16:24:25 <oerjan> or so he claimed in an email i got the other day :)
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: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: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: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: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: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)).