00:56:56 <ihope> Find the error: >>>>>>>>>>>>>>>>>>>>>>><>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
01:52:10 <{^Raven^}> The R programming language - an esolang missing from the Wiki: http://www.jbum.com/idt/r.html
02:24:28 -!- ihope has quit (Connection timed out).
02:39:50 -!- GregorR-S has joined.
02:40:08 -!- GregorR-S has changed nick to GregorR.
02:40:28 <GregorR> Paying for an internet connection and not actually getting one.
02:40:41 * GregorR is at school, becaues his home network (as per usual) doesn't work.
04:01:52 -!- calamari has quit (Connection timed out).
04:25:25 -!- rabidpoobear|afk has joined.
04:26:15 -!- rabidpoobear|afk has changed nick to rabidpoobear.
04:45:21 -!- poiuy_qwert has quit (Read error: 104 (Connection reset by peer)).
04:52:05 -!- rabidpoobear has quit.
05:07:46 -!- calamari_ has joined.
06:11:34 -!- bsmntbombdood has quit ("all your basment are belong to bsmntbombdood").
06:14:25 -!- GregorR has quit ("Time to go suffer my lack of usable network at home.").
07:28:36 -!- calamari_ has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:02:44 -!- Keymaker has joined.
11:46:20 <Keymaker> is there something stupid song about some banana phone or not?!
11:46:36 <Keymaker> i don't know whether i have dreamed or not
12:20:18 -!- GregorR has joined.
13:39:08 -!- poiuy_qwert has joined.
13:42:58 -!- jix has joined.
14:16:27 -!- ihope has joined.
14:59:38 -!- ihope has quit (Read error: 110 (Connection timed out)).
15:35:48 -!- ihope has joined.
16:13:40 <ihope> Can BackFlip be compiled into SMATINY yet?
16:14:19 <Keymaker> argh.. does this "c!='\n'||c!=EOF" mean that c can be neither \n or EOF?
16:14:36 <ihope> Is that a Haskell expression?
16:14:42 <jix> Keymaker: that is true
16:14:55 <ihope> Oh right, Haskell uses /=, not !=.
16:14:56 <jix> the expression allways evaluates to true ...
16:15:04 <jix> not your statement...
16:15:25 <jix> "c!='\n'||c!=EOF" mean that c can be neither \n or EOF? << wrong
16:15:38 <jix> c!='\n'||c!=EOF << true whatever c is...
16:16:15 <jix> if c == '\n' then c != EOF and the other way around... one of them has to be true... and true || whatever (and the otherway around) is always true..
16:17:40 * ihope attempts to come up with a witty way to say "AFK"
16:17:53 <Keymaker> ah. so, what do i do if i want condition in which c can be anything but not \n or eof?
16:18:35 <jix> Keymaker: do !(c=='\n' || c== EOF) or c!='\n' && c!='\n'
16:20:43 -!- GregorR has quit (Remote closed the connection).
16:21:21 <Keymaker> is this a correct start "int main(int argc, char *argv[]){"? somewhere i've seen "**argv" and so on.. i can't understand these
16:23:15 <jix> Keymaker: yes
16:23:39 <jix> **argv is the same as *argv[] (there is an obscure difference for sure but it doesn't matter)
16:23:59 <jix> an array of unknown size is a pointer...
16:24:46 <Keymaker> so, could i have something like int *memory that would work as an "infinite" array?
16:24:57 <jix> Keymaker: no
16:25:07 <jix> Keymaker: you have to use malloc to obtain memory from the system
16:25:18 <jix> and if you need more than you allocated you have to realloc...
16:25:35 <Keymaker> phew.. luckily i don't need such things right now
16:25:43 <jix> but that changes the value of the pointer so if you have multiple references to that memory location you have to be careful...
16:32:22 -!- GregorR has joined.
16:32:48 -!- GregorR has changed nick to GregorR-W.
16:46:13 -!- calamari has joined.
16:46:18 -!- ihope has quit (Read error: 110 (Connection timed out)).
17:08:11 <SimonRC> Keymaker: I recommend doing some assembley language programming first
17:08:26 <SimonRC> C will make more sense then, apparently
17:08:47 * SimonRC has always wondered why people found pointers hard to understand.
17:09:43 <Keymaker> perhaps i just stick to brainfuck :p
17:09:54 <SimonRC> I recall taking very little time to understand them.
17:10:17 <SimonRC> The problem with Java is... incompetant people can bullshit their way through it.
17:10:32 <jix> SimonRC: i never learned asm or c... but i think i'm able to program in both of them...
17:10:49 <Keymaker> i have never read any good explanation about those pointers nor experimented them.. so i guess i will never get around learning them
17:11:17 <SimonRC> Keymaker: Hint, learn some ASM.
17:11:31 <jix> Keymaker: if you want to program in c you have to know pointers
17:12:41 <jix> Keymaker: so.. learn asm first (but not x86 asm that's ugly)
17:13:41 <Keymaker> what makes asm so special i should learn it? pointers?
17:14:19 <GregorR-W> It just gives you a better understanding of the nature of pain.
17:14:23 <Keymaker> i think i could program some stuff in it, though
17:14:34 <jix> Keymaker: if you want to access the memory you have to use pointers...
17:16:28 <GregorR-W> Also, learn x86 ASM, it's less ugly :)
17:16:57 <jix> GregorR-W: arm is really beautiful asm!
17:17:12 <GregorR-W> Yeah, I really love using two instructions to get a fegging static pointer into a register.
17:17:37 <jix> GregorR-W: ldr r1, =pointer one instruction?
17:17:39 <jix> where is the problem?
17:17:56 <GregorR-W> Oh wait, I'm not thinking of ARM, I'm thinking of SPARC.
17:18:15 <jix> in arm you can write r1 += r2 << 4 in ONE instruction
17:18:31 <jix> add r1, r1, r2, lsl #4
17:19:52 <jix> oh.. it has no divide instruction... that's the only bad thing...
17:20:03 <SimonRC> by abusing array indexing and struct offset?
17:20:08 <jix> but it has a 32bit * 32bit => 64bit multiplication
17:20:15 <jix> SimonRC: what?
17:20:35 <SimonRC> "< jix> in arm you can write r1 += r2 << 4 in ONE instruction" "< SimonRC> by abusing array indexing and struct offset?"
17:20:57 <jix> SimonRC: no... arm allows you to shift at least one argument of many instructions by a constant
17:22:04 <fizzie> MIPS uses two instructions to load a 32-bit value to a register.
17:22:31 <jix> fizzie: arm uses two words (one instruction with a relative address to the value in the pool) but only one instruction
17:24:06 <fizzie> "lui $at, 0x1234" to load the upper 16 bits, and then "ori $rX, $at, 0x5678" to combine that with the lower 16 bits. (Where $at is the register typically reserved for the assembler to use in pseudo-instructions, and $rX the target register.)
17:26:05 <jix> ldr is the instruction to get the value a pointer (fetched from a register) is pointing to... but it allows you to specify a constant or a register offset (which can be shifted!)...
17:26:34 <fizzie> ARM is funky; I've read the instruction set cheat-card once or twice.
17:26:49 <jix> so ldr, =pointer translates to ldr, [pc, #offset_to_the_value_in_the_pool]
17:27:19 <jix> isn't {^Raven^} using a computer that uses an arm cpu?
17:27:45 <jix> condition codes are really cool too...
17:28:12 <jix> if you want to execute 1 or 2 instructions conditionally you don't have to branch (jump) just suffix them with the condition...
17:29:19 * SimonRC would like a CPU suited to functional langs. :-)
17:29:42 <SimonRC> hint: not the LISP machine.
17:30:04 <jix> SimonRC: i thought of haskell and...
17:30:10 <jix> i don't want a cpu that works like haskell...
17:30:28 <SimonRC> Consider the amount of analysis that a modern CPU does to re-order instructions, considering which instructions are prerequisites of others...
17:31:15 <SimonRC> expression-based machine language doesn't seem so far off...
17:32:01 <SimonRC> hardware support for GC would help, as would really fast indirection.
17:32:47 <SimonRC> e.g. *(**(*foo+3)+2) in one instruction.
17:33:21 <jix> hardware string => pointer hash tables would be useful...
17:33:25 <SimonRC> and an extra bit in every word to say whether it has been evaluated yet or not.
17:33:55 <SimonRC> jix: I believe the VAX has an instuction to do hashes of blocks of memory ;-)
17:34:13 <SimonRC> (well, it had one to solve quartic equations, so why not?)
17:34:28 <jix> SimonRC: computing the hashes of the strings could be done before executing them...
17:34:52 <jix> but looking them up can't be done because in dynamic languages methods could be redefined at runtime
17:36:15 <SimonRC> no, I mean there would be a bit to say wether a word was an actual value or a thunk telling you how to calculate it.
17:36:24 <SimonRC> .'. no penalty for lazy evaluation.
17:36:35 <jix> SimonRC: yeah but i was talking about fast dynamic method lookup
17:36:50 <jix> because that's one bottleneck of many languages like ruby...
17:39:45 <SimonRC> ruby isn't too bad though, because it uses symbols
17:52:57 -!- Keymaker has left (?).
18:12:12 * SimonRC thinks of something many BASICs can do but Java can't...
18:13:22 <SimonRC> If you have caught an error condition but you have fixed it, it allows you to continue after the statement that caused the error.
18:13:56 <SimonRC> also, RESUME allows you to re-try the statement.
18:23:55 <calamari> what is the traditional first version/release number for x.x.x-x .. 0.1.0-1 ?
18:38:07 -!- tgwizard has joined.
18:39:40 <GregorR-W> And only jackasses use four numbers in their releases.
18:40:05 <calamari> I found some examples of 0.0.0-0 so I'll probably use that for a default
18:41:07 <calamari> of course release 0 only makes sense to computer science types :)
19:02:33 -!- kipple has joined.
19:50:51 -!- ihope has joined.
20:08:04 -!- CXI has quit (Read error: 104 (Connection reset by peer)).
20:08:25 -!- CXI has joined.
20:25:48 <{^Raven^}> jix: Yup, several of my machines are ARM based
20:26:49 <{^Raven^}> conditional execution of almost any instruction is/was a unique feature of the ARM
20:29:55 <{^Raven^}> calamari: I've got a few released proggies that are version 0.00. Darn those bug free coding sessions.
20:30:22 <ihope> Bug-free coding sessions...
20:30:50 <ihope> Just code while sleepy. Then you'll get to have lots of time working before you release :-)
20:31:24 <calamari> a couple days ago we drove up north for a funeral and the changing landscape (how the trees changed with elevation, etc), reminded me of my adventure game
20:31:40 <calamari> still need to finsih that thing
20:33:22 <{^Raven^}> it looks unlikely that there will be a 2k comp this year
21:19:27 -!- rabidpoobear has joined.
21:48:17 <ihope> <same> ::= "0" <same-1> <same> | "1" <same-0> <same> | epsilon
21:48:43 <ihope> <same-1> ::= "1" <same> | "0" <same-1> <same-1>
21:48:57 <ihope> <same-0> ::= "0" <same> | "1" <same-0> <same-0>
21:49:12 <ihope> No backtracking required there, I think.
21:50:51 <ihope> Well... not much backtracking.
21:51:21 * ihope sees how well Parsec can handle it
22:16:35 -!- khaladan has joined.
22:26:19 <jix> {^Raven^}: my new favorite handheld is arm based...
22:31:14 -!- jix has left (?).
22:37:54 <fizzie> My "phone" is ARM-based, but it runs Symbian. :/
22:57:19 <{^Raven^}> Too many ARM based machines are running WinCE
23:26:02 -!- tgwizard has quit ("Leaving").
23:45:52 -!- ihope_ has joined.