<< 15-07-2013 >>

00:07:53*DAddYE quit (Remote host closed the connection)
00:10:40*DAddYE joined #nimrod
01:59:36*Associat0r quit (Quit: Associat0r)
02:19:04*q66 quit (Quit: Leaving)
02:43:28*Trixar_za is now known as Trix[a]r_za
04:18:41*EXetoC joined #nimrod
04:35:28*OrionPK quit (Read error: Connection reset by peer)
05:03:58EXetoCwake up guys, it's morning!
05:04:03EXetoChere anyway
05:59:59*DAddYE quit (Remote host closed the connection)
06:44:16*DAddYE joined #nimrod
07:15:26*Araq_ joined #nimrod
07:47:46*Araq_ quit (Read error: Connection timed out)
07:48:06reactormonkWake up, time to die!
07:48:43*Araq_ joined #nimrod
07:51:11EXetoCwut
07:51:55EXetoCo
07:55:01reactormonkEXetoC, http://www.youtube.com/watch?feature=player_detailpage&v=azAELMY0_vU#t=27s
07:59:41EXetoCoh. I googled it and blade runner popped up
07:59:54EXetoCstupid circle won't render properly :(
08:01:27EXetoCI should just draw individual pixels instead. that shouldn't matter if the hardware is decent, right? :>
08:07:33*Araq_ quit (Read error: Connection timed out)
08:08:46*Araq_ joined #nimrod
08:29:36*zahary_ quit (Quit: ~ Trillian Astra - www.trillian.im ~)
08:34:05*Associat0r joined #nimrod
08:34:05*Associat0r quit (Changing host)
08:34:05*Associat0r joined #nimrod
08:45:35*Araq_ quit (Read error: Connection timed out)
08:46:43*Araq_ joined #nimrod
09:08:57*q66 joined #nimrod
09:23:09DAddYEbum bum
09:23:18DAddYEwtf is result?
09:23:31DAddYEI mean in nimrod source code there is in a lot of places
09:23:37DAddYEnew(result)
09:23:45DAddYEAraq: ^^
09:25:59EXetoChttp://nimrod-code.org/manual.html#return-statement
09:28:35DAddYEEXetoC: so here https://github.com/Araq/Nimrod/blob/master/lib/pure/streams.nim#L265
09:28:39DAddYEwhat is it?
09:29:31DAddYEPStringStream ?
09:30:35EXetoCPFileStream you mean? anyway, it's the variable that will be returned either implicitly or explicitly
09:32:13EXetoC"proc f(): int = 0" -> "proc f(): int = result = 0" -> "proc f(): int = # comment" -> "proc f(): int = discard"
09:33:40EXetoCor "proc f(): int = return result" or "proc f(): int = return" :>
09:35:00EXetoCand there's nothing special about new. see system.nim for the definition
09:35:14DAddYEEXetoC: thanks a lot
09:35:21EXetoCor system.html on the website
09:38:20*DAddYE quit (Remote host closed the connection)
09:51:55*BitPuffin joined #nimrod
10:02:35*Araq_ quit (Quit: ChatZilla 0.9.90 [Firefox 22.0/20130618035212])
10:08:46EXetoCBitPuffin: morrn
10:09:11BitPuffinEXetoC: nämen tj tj tj tjeenaaa
10:11:55EXetoC:o
10:11:57EXetoC:#
10:11:59EXetoC:E
10:30:46EXetoCBitPuffin: spelet klart?
10:30:56BitPuffinEXetoC: nesh
10:31:14BitPuffinlär dröja till typ december
10:31:22EXetoC:/
10:34:47*Araq_ joined #nimrod
10:39:41*DAddYE joined #nimrod
10:45:50*DAddYE quit (Ping timeout: 240 seconds)
11:02:10BitPuffinEXetoC: oavsett om det blir klart tills då eller ej :P
11:02:16BitPuffineller innan*
11:07:40BitPuffinEXetoC: Det handlar om vinter så :)
11:08:02Araq_speak english
11:08:14BitPuffinOkay
11:08:17Araq_or german
11:08:28BitPuffinIs there a linear algebra lib for nimrod?
11:08:38BitPuffinAraq_: well, Swedish is a Germanic language, so close enough :)
11:09:15Araq_BitPuffin: a recent pull request added support for polynomials
11:10:44BitPuffinwell like
11:10:59BitPuffinmatrices and stuff
11:11:37BitPuffinquaternions
11:12:10Araq_fowl: has some stuff for game programming matrices I think
11:12:37*Araq_ distinguishes matrices from "game matrices" ;-)
11:12:42BitPuffinhaha
11:12:44BitPuffinwell
11:12:50BitPuffinregular matrices can be useful sometimes
11:12:52BitPuffin"regular"
11:13:04Araq_well "real" matrices can have thousands of elements
11:13:04BitPuffinnot only transformations
11:13:10Araq_game matrices are 4x4
11:13:13BitPuffinor 3x3
11:13:15BitPuffinor 2x2
11:13:21Araq_yeah of course
11:13:40BitPuffinBut "real" matrices become useful with physics simulations for example
11:14:15Araq_well I don't think a single matrix type can cover both
11:14:45BitPuffinhmm
11:14:48BitPuffinI don't see why not
11:14:50Araq_big matrices are often sparse for instance
11:15:01BitPuffinyou could have the standard matrix operations
11:15:19BitPuffinand an extra utility for "lookAt" operations etc and create perspective matrix
11:15:36Araq_and you might want O(1) row swaps for gauss's algorithm
11:15:54Araq_which means an array of pointers
11:16:04BitPuffinthere is the method binding stuff so why would it be difficult
11:16:20Araq_it's not difficult at all
11:16:29Araq_but it sucks for performance
11:16:49Araq_it's better to have different types IMO
11:16:57BitPuffinI guess
11:17:06BitPuffinbut it's less clean
11:19:42Araq_for big matrixes I'd use openmp, for small ones ensure that vector ops are generated ... etc. it's foolish to use a single type for "matrix" and pretend they are the same
11:20:40BitPuffinfair enough
11:21:05BitPuffinso where is fowl's lib?
11:24:43BitPuffinhttps://github.com/fowlmouth/nimlibs/tree/master/fowltek ?
11:25:03BitPuffinI only see vectors
11:26:36BitPuffinbest commit message "oops"
11:29:55Araq_well I could be wrong
11:30:53BitPuffinplus
11:31:04BitPuffinthere doesn't seem to be a license?
11:31:19BitPuffinwhich basically assigns full copyright
11:31:30BitPuffinwell, the babel file says mit
11:33:04BitPuffinAraq_: any work being done on import renaming? :)
11:35:09Araq_no ...
11:35:25BitPuffinokay
11:35:35Araq_currently everything is on hold until my new VM works
11:36:09BitPuffinAraq_: is there a way to give a tuple element more than one id? like xyzw, rgba etc
11:36:22BitPuffinVM? What kind of VM?
11:37:56Araq_BitPuffin: you can use a template to create aliases
11:38:13Araq_the VM which is used to evaluate things at compile time
11:39:54BitPuffinah
11:40:12BitPuffinI wonder if nimrod is powerful enough to make something as flexible as gl3n, I might give it a shot
11:40:36BitPuffinAs my first open source contribution to the nimrod community :)
11:42:46*DAddYE joined #nimrod
11:49:43*DAddYE quit (Ping timeout: 276 seconds)
11:58:18BitPuffinAraq_: So basically I want to be able to swizzle elements around like you can in glsl with my library, can template aliases help me achieve that?
11:59:19BitPuffinBasically so v.zyx give a new vector with the elements arranged in that order
11:59:41BitPuffin(https://en.wikipedia.org/wiki/Swizzling_%28computer_graphics%29)
11:59:53Araq_well for now you need a macro for that like macro `@`(x, y: expr): expr {.immediate.}
12:00:00Araq_v@zyx
12:00:10Araq_and the macro can analyse the second part
12:00:29Araq_overloading of '.' for swizzling is a planned features ... yeah I know I know ...
12:01:21BitPuffinHmm
12:01:22BitPuffinwell
12:01:32BitPuffinI guess something like @ will have to do in the mean time then
12:02:07BitPuffinand when I can overload . for the same functionality I'll just deprecate @
12:04:00Araq_better use @. or something
12:04:07Araq_@ is already in use ...
12:05:06BitPuffinwhat is @ used for?
12:05:41BitPuffinAraq_: I guess maybe postpone the feature until it's added
12:05:58Araq_BitPuffin: that's fine
12:06:10Araq_@ is used for @[1,2,3] sequence construction
12:06:20Araq_normally overloading would ensure it works
12:06:25BitPuffinhmm
12:06:34Araq_but overloading doesn't work for immediate templates/macros
12:06:49Araq_and you need the immediate since the 2nd part is an undeclared identifier
12:07:11BitPuffinhttps://github.com/BitPuffin/linagl this is where the magic will happen
12:08:23BitPuffinAraq_: so what's the solution? just wait?
12:09:36Araq_I'd support v["abc"] now and later make v.abc an alias
12:10:49BitPuffinhmm
12:10:52BitPuffinnot a bad idea
12:19:49*EXetoC quit (Read error: Connection reset by peer)
12:21:27*EXetoC joined #nimrod
12:43:05*gradha joined #nimrod
12:44:09*gradha quit (Client Quit)
12:54:47*Trix[a]r_za is now known as Trixar_za
13:01:41BitPuffinFLOAT_LIT ::= digit (['_'] digit)* ('.' (['_'] digit)* [exponent] |exponent)
13:01:47BitPuffin[exponent] |exponent)
13:01:50BitPuffinwut
13:06:30Araq_well .0 is invalid but apart from that it's the conventional 0.4e-2 stuff
13:09:49*Araq_ quit (Quit: ChatZilla 0.9.90 [Firefox 22.0/20130618035212])
14:51:45*Trixar_za is now known as Trix[a]r_za
15:07:59reactormonkEXetoC, that's possible, WC3 doesn't have too many original texts ;-)
15:57:56*Mat2 joined #nimrod
15:57:59Mat2hello
16:03:54reactormonkMat2, sup
16:04:07Mat2hi
16:05:23Mat2I have a pointer into allocated memory, how I access that memory location byte and word size ?
16:06:47Mat2^sized
16:12:41Mat2I think needing to write some templates for this but not sure
16:13:34*alexandrus joined #nimrod
16:20:20reactormonkMat2, what are you working on?
16:21:39reactormonkMat2, that's how I do it on an arduino: http://sprunge.us/DPWV - not sure if it's the official sanctioned method
16:23:31Mat2I'm working on an AOT compiler as IL layer for my current project
16:24:31reactormonkIL layer?
16:25:25Mat2immediate language = cpu abstracted low-level interface for cpu's
16:26:06*Mat2 tend to write circulary in english somehow
16:34:47Mat2thanks for the example, I'm lost in unneeded type conversation this time
16:41:49*Sergio965 joined #nimrod
16:47:59*DAddYE joined #nimrod
16:51:01*DAddYE quit (Remote host closed the connection)
16:51:37*DAddYE joined #nimrod
17:14:21Mat2ciao
17:14:28*Mat2 quit (Quit: Verlassend)
18:34:03*f0wl joined #nimrod
18:34:05*f0wl quit (Changing host)
18:34:05*f0wl joined #nimrod
18:34:05*f0wl quit (Changing host)
18:34:05*f0wl joined #nimrod
18:39:50f0wlgradha: i added you as a collaborator for nake, plz merge your changes in if they work, thanks
18:41:29f0wloh hes not here
18:41:35f0wlhopefully he'll check the logs
19:22:46*f0wl quit (Quit: Page closed)
19:24:44*Mat2 joined #nimrod
19:24:49Mat2hi
19:25:02dom96hello
19:26:52Mat2Araq remarking yesterday there exist a module for handling pointers, where can I find it ?
19:31:19dom96I think he said it was something fowl wrote?
19:31:24dom96check fowlmouth on github
19:31:37Mat2thanks
19:31:43*fowl quit (Quit: EliteBNC free bnc service - http://elitebnc.org)
19:36:25*Sergio965 quit (Ping timeout: 276 seconds)
19:43:41*fowl joined #nimrod
19:47:19Mat2by the way: what's the reason for explicit casting pointers ?
19:47:30Araqmemory safety?
19:48:12Mat2hello
19:48:51Mat2oh, I thought pointers are unsave in nimrod
19:49:23Araqtrue but that doesn't mean they are completely type unsafe
19:51:48Mat2I found an object referencing syntax readable: <pointer>.value for assignement and <pointer>.inc|dec for arithmetic. Just an idea. Should be possible with nimrod
19:52:27Mat2well, at current I'm just learning handling the syntax
20:01:19Mat2I likely would compile machine.code into a sequence, because this way the GB memory managment should be of use. I just do not know if it would be possible to get the pointer to its start-address
20:02:38Mat2and call from it. The allocated memory must be garanted continuous for this
20:12:27AraqMat2: this is all possible and easy
20:12:39Araqvar pc = addr(instructions[0])
20:13:15Araqonce you built up the instructions it doesn't reallocate and then taking the address of the first element is fine
20:13:49Mat2nice, thanks
20:14:15Araqand I have a seq[TInstr] in my VM too ;-)
20:16:51Mat2does your VM using threaded code or it is a JIT compiler ?
20:17:28*DAddYE_ joined #nimrod
20:17:47*DAddYE quit (Read error: Connection reset by peer)
20:18:00Araqsimple threaded code
20:18:21Araqwell ... for now it's not even threaded but while+case (switch)
20:20:00*Sergio965 joined #nimrod
20:20:23*Amrykid quit (Ping timeout: 240 seconds)
20:21:30*Amrykid joined #nimrod
20:28:32Mat2then your coding some kind of bytecode interpreter. Do you know a technique called dynamic-token threading for gain performance ?
20:31:24Araqwell yes, it's bytecode; dunno about dynamic-token threading, I think I know about all the threading possibilities but can't remember the names :P
20:35:17Mat2dynmaic-.token threading compile so-called superinstructions before execution though concatentating a fixed set of jump-locations and execute them though direct-threading dispatch
20:36:26Mat2because dispatching bytecodes is more expensive than a direct-threading dispatch the overhead for compiling to DTC is irrelevant
20:37:42Mat2this has alos advantages for short loops and tail-calls
20:37:50Araqdirect-threading is also a PITA to debug; been there done that
20:38:06Araqso I'm back to good old (register based) bytecode
20:38:24Mat2that's true, it can be hard to find out bugs
20:45:11DAddYE_ciao Mat2
20:47:42Mat2ciao DAddYE_
20:49:48DAddYE_Mat2: are u Italian?
20:49:52*DAddYE_ is now known as DAddYE
20:55:06*Associat0r quit (Quit: Associat0r)
20:55:06*EXetoC quit (Read error: Connection reset by peer)
20:58:51Mat2no, sorry
20:59:34Mat2but growing in a multilingual family
21:00:09Araqlol really? "caio" is very common in German
21:00:28Araqthough I would spell it "Tschau"
21:01:10Mat2would you say "Tschau" as greeting ?
21:01:14Mat2I'm not
21:01:46Araqno ... I thought it's meant as "bye"
21:02:46Mat2you can use 'ciao' for both in italiano (though not so common dependent of age and so on)
21:03:20Araqyeah I know
21:03:34Araqdidn't think of it because it's always "bye" in german
21:06:09Mat2sometimes I head also 'ahoi' (that's Czech for hello)
21:06:34Mat2languages flow...
21:21:32Mat2get some sleep, ciao
21:21:44*Mat2 quit (Quit: Verlassend)
21:21:45Araqtschau
21:34:43*Associat0r joined #nimrod
21:37:27*Associat0r quit (Client Quit)
21:41:23*gradha joined #nimrod
21:50:33gradhafowl: ok, PR merged, though I have no idea if it works outside of macosx, we will soon find out
21:51:37gradhano idea either why you want me as admin
22:00:21*zahary quit (Read error: Connection reset by peer)
22:00:33*zahary joined #nimrod
22:29:03*OrionPK joined #nimrod
22:33:02gradhamaybe I should install nimrod under wine
22:35:31*alexandrus quit ()
22:55:53*Sergio965 quit (Ping timeout: 240 seconds)
22:59:22*f0wl joined #nimrod
22:59:42*f0wl writes case-insensitive code
22:59:50f0wljs
23:00:01Araqwhat's that?
23:00:04AraqI can't read it
23:00:11Araqoh you mean JS
23:00:15f0wlno
23:00:20f0wljs = just saying
23:00:26gradhait's Js
23:00:33AraqJavaScript?
23:00:38f0wl..no
23:00:40f0wlnerds
23:00:45gradhajS
23:01:14f0wli like the API to be nicelyCased but internally will call nicelycased or nicely_cased just because i can
23:01:37Araqthat's bad of you f0wl and you're giving Nimrod a bad name
23:02:03f0wlwell i've been called a bit of a maverick in my day
23:02:13Araqmore confusing however is to have both nicelycased and nicely_cased and they mean different things
23:02:38f0wli do wish i could use more underscores
23:02:53f0wl_here, here_ and he__re
23:03:07Araqyeah c99's _Bool is cool
23:05:37gradhamaybe we should debate on vim: is it an IDE? what makes an IDE an IDE?
23:05:58AraqIDE = bloated crap with features I don't use
23:06:12Araqeditor = cool with features I do use
23:06:29gradhayou are too quick answering, I was going to look up a reference to the chewbacca defense
23:06:35OrionPK^ this is why nimrod doesnt have good tooling :P
23:07:16Araqc2nim is the best header file translator that I've ever seen
23:07:24Araqof course I'm biased
23:07:47Araqbut nimrod has good tooling
23:08:06gradhawait, I need popcorn for this one
23:08:10OrionPKhaving a few good tools (in my mind) does not make good tooling
23:08:24Araqinteresting
23:08:26OrionPKI'm talking about support for popular IDEs, mainly
23:08:43Araqbut we just agreed IDEs suck by definition
23:08:48OrionPKlol
23:09:07gradhameh, only found chocolate
23:09:45gradhaif you accept vim/emacs as popular IDEs, then nimrod supports them, therefore excellent tooling support
23:10:03OrionPKwith source code level debugging
23:10:13OrionPKintegrated w/ the IDE
23:10:43Araqwell we're all waiting for your GDB patches, OrionPK
23:11:02OrionPK:p
23:13:09gradhaI wonder when dom96 will implement debugger support in Aporia
23:13:30OrionPKthat would be kind of the holy grail..
23:13:56OrionPKthen maybe re-write aporia with aporia
23:13:58OrionPK:P
23:14:17Araqdom96 writes Aporia in Aporia ...
23:14:22OrionPKdoes he?
23:14:25Araqyes
23:15:01OrionPKat least we know aporia handles long nim well
23:15:17OrionPKfuck im a little bitch today, must have low blood sugar ;)
23:15:22Araqbtw I use it all the time too
23:15:46OrionPKcool
23:16:07*f0wl quit (Ping timeout: 250 seconds)
23:17:12gradhahaven't yet looked at endb, all I've written so far can be debugged with echo
23:17:35AraqI compile Nimrod code with a compiler written in Nimrod, using an editor written in Nimrod, pushing it to nimbuild which is written in Nimrod and then visit the Nimrod forum which is written in Nimrod
23:18:14gradhayou even debug Nimrod in Nimrod
23:19:52Araqwe need this OS written in nimrod though
23:21:37gradhadidn't dom96 write one instead of implementing the Aporia debugger?
23:21:58OrionPKhe could only write 1?
23:22:11Araqyeah but the OS can't do anything
23:22:26gradhaso like HURD?
23:23:28*DAddYE quit ()
23:23:54*DAddYE joined #nimrod
23:23:56AraqI think it's better than Hurd since it is a pico kernel
23:23:57*DAddYE left #nimrod (#nimrod)
23:25:59*Trix[a]r_za is now known as Trixar_za
23:27:23gradhaI wonder if DAddYE will follow gour's path
23:28:10gradhaow, Nimrod is sliding down positions, now it's 101 on github, long after Delphi 40
23:28:46gradhahaha, we are just behind the bro programming language, bro
23:36:09OrionPKbrogramming?
23:36:35gradhait's something about networks, http://www.bro.org/
23:37:01gradhathe logo was donated by the NSA
23:38:36gradhahoho, and now #521 is reopened again... who knows why
23:40:17gradhaah, I guess my brief message could be misunderstood as coming from a sarcastic jerk, even though it had the best of intentions
23:43:45gradhaAraq: I'm not sure an iterator should be made constant inside the iteration body, maybe there is a use for mutating the contents while iterating over them
23:44:12gradhaI just found this because I was replacing strings with others which didn't have the same length, but for same length strings it would be ok
23:44:42Araqmaybe but most iterators are not written with "change under the hood" in mind
23:45:38gradhait's hard to create a case where it would be useful
23:46:10AraqI use a while loop when the underlying data changes
23:48:18gradhastill don't know how you would prevent https://github.com/gradha/normalize_filenames/blob/master/normalize_filenames.nim#L74
23:48:45gradhathe problem is with dest being modified, it would be odd that dest is read only inside the loop
23:50:29Araqit's not odd at all, good type systems are flow sensitive these days
23:50:41Araqalso it would only produce a warning
23:54:30gradhaby the way, if somebody feels like ranting and not having enough with case, just go to http://sealedabstract.com/code/nsa-proof-your-e-mail-in-2-hours/ and join the party