<< 08-12-2013 >>

00:24:55*DAddYE quit (Remote host closed the connection)
00:25:26*DAddYE joined #nimrod
00:29:49*DAddYE quit (Ping timeout: 246 seconds)
00:31:23*brson_ quit (Ping timeout: 246 seconds)
00:33:15*brson joined #nimrod
00:38:20*DAddYE joined #nimrod
00:38:30*DAddYE quit (Remote host closed the connection)
00:38:37*DAddYE_ joined #nimrod
00:41:02Araqfowl: you might want to checkout how Lazarus produces Andriod apps. It has a nice UI builder and interfacing between FreePascal and Nimrod is really simple.
00:45:13fowlmeh
00:45:18fowlill have gradha investigate it
00:45:36*DAddYE_ quit (Remote host closed the connection)
00:47:27NimBotAraq/Nimrod vm2 8791bf9 Araq [+0 ±2 -0]: new VM supports 'getAst'
00:47:27NimBotAraq/Nimrod vm2 5842672 Araq [+0 ±6 -0]: more tests are green
00:47:52Araqlol
00:50:09fowlare they green enough for production
00:50:17Araq"LCL-CustomDrawn-Android utilizes a minimal Java application which communicates with our Pascal library and sends all events to it and also obeys commands from it. The communication is done via JNI as supported by Google. The controls are not native, instead they are all drawing using TRawImage+TLazIntfImage+TLazCanvas and events and the painting are clipped using LazRegions. The drawing...
00:50:19Araq...itself is done in Pascal using jnigraphics to draw on a Bitmap Java object which is then drawn by the minimal Java activity on a SurfaceView. "
00:50:39AraqLazarus is used in production, in general
00:50:41joelmoI am reading the tutorial, part 1, the @ operator, why would this be necessary if x is a sequence and i do x = [1,2,3,4], won't this be converted to a sequence aswell?
00:50:54Araqno it's an array
00:51:24Araqand no, it would not be better the other way round. Nimrod is not Python.
00:51:40fowlthat sounds interesting
00:52:37fowljoelmo, [1,2,3] is a literal array (array[3, int]) @ is actually a (unary) operator
00:54:13joelmofowl, yes i understood that, thank you
00:55:29joelmobut a sequence can actually be an array at some points?
00:56:51joelmolike, not dynamic
00:57:49fowlwell, you could refrain from resizing it
00:58:19ZuchtoHow would I go about representing an c-array in nimrod? I tried just creating an array and taking the addr but that did not work.
01:00:19EXetoCit should
01:00:33joelmofowl: yes, but i was just asking too see if i understood it right. And I think this is a good feature
01:02:59fowltry myarray[0].addr thats the address of the first item
01:03:31Zuchtofowl: nice, thanks :)
01:03:39fowlin c T myarray[] implicitely casts to T*, this is not so in nimrod
01:04:40fowlhmm.. trying something
01:06:13EXetoCjoelmo: arrays are allocated on the stack and cannot be resized, while sequences are dynamically allocated and can be resized
01:06:20EXetoCsort of like array vs vector in C++
01:09:43EXetoCfrom system.nim: "proc `@` * [IDX, T](a: array[IDX, T]): seq[T]"
01:09:45EXetoClater
01:21:15*EXetoC2 joined #nimrod
01:24:38mflamerAraq: Missed you earlier. I'll be on and off next couple days, traveling for work. Let me know what you have in mind
01:27:04Araqmflamer: work on the idetools please
01:27:18Araqwe have lots of failing tests for these
01:27:34Araqin fact, I think the tests are not completely automated yet
01:29:13Araq" (warning: the VirtualBox image was created using the Mac OS X default Zip utility and not all zip applications can handle it. The Mac OS X default zip application can, and PeaZip too and WinRAR too. Both 7-Zip and the Windows 7 default unzipper fail. " -.-
01:29:46Araqyeah, let's use mac zip utilities that create wrong zips ...
01:38:36Araqgood night
01:39:43fowlcya
01:40:09ZuchtoI can't seem to figure out how to declare a simple function that takes an array of a variable length. What is the type even supposed to be? :O
01:40:36fowlZuchto, openarray[T]
01:42:49Zuchtooh, so there is an openarray keyword :O
01:45:14*silven quit (Ping timeout: 246 seconds)
01:45:27ZuchtoWhen i try to get the address of my openarray it says that the expression has no address... it worked when I had a array literal
01:45:58*viteqqq_ quit (Read error: Connection reset by peer)
01:46:44*DAddYE joined #nimrod
01:46:47fowlZuchto, var openarray[T]
01:48:15*fundamental2 quit (Ping timeout: 260 seconds)
01:48:20Zuchtofowl: yes but when I try and get the ptr to pass to the C library it tells me that the foo[0].addr expression has no address
01:51:02*DAddYE quit (Ping timeout: 240 seconds)
01:57:38fowlgot a code example?
02:03:41*fundamental2 joined #nimrod
02:06:59*fundamental3 joined #nimrod
02:10:03*mflamer quit (Ping timeout: 246 seconds)
02:10:15*fundamental2 quit (Ping timeout: 260 seconds)
02:10:31*mflamer joined #nimrod
02:11:56*fundamental3 is now known as fundamental
02:18:19*mflamer quit (Ping timeout: 246 seconds)
02:33:20*fundamental2 joined #nimrod
02:33:56*fundamental quit (Read error: Connection reset by peer)
02:34:33*fundamental3 joined #nimrod
02:34:59Zuchtofowl: Here is an example, not runnable tho but I think it shows what confuses me https://gist.github.com/KoFish/0a869310f32c7f295523
02:38:01*fundamental2 quit (Ping timeout: 250 seconds)
02:38:39fowlZuchto, you want list: var openarray[TCell]
02:44:08Zuchtoah, thanks
02:44:54Zuchtonow i just need to find the documentation for it so that I might understand why :P
02:45:47Zuchtoah, interesting
02:46:20fowlnimrod treats arguments as const by default (like let) so you dont have addr access to something that's a copy
02:46:47fowlthat doesnt mean its passed by copy, it may be passed by reference anyways but you dont get access to it like that unless you declare it as var T
02:46:51Zuchtoyeah, makes sense
02:47:30*DAddYE joined #nimrod
02:51:50*DAddYE quit (Ping timeout: 240 seconds)
02:57:13*fundamental2 joined #nimrod
03:00:19*fundamental3 quit (Ping timeout: 246 seconds)
03:01:20*boydgreenfield joined #nimrod
03:01:32*fundamental2 quit (Read error: Connection reset by peer)
03:02:19*fundamental2 joined #nimrod
03:04:55*fundamental3 joined #nimrod
03:08:21*fundamental2 quit (Ping timeout: 250 seconds)
03:10:50*boydgreenfield quit (Quit: boydgreenfield)
03:11:41*fundamental3 quit (Ping timeout: 246 seconds)
03:27:17*fundamental3 joined #nimrod
03:32:03*ics joined #nimrod
03:48:20*DAddYE joined #nimrod
03:52:38*DAddYE quit (Ping timeout: 240 seconds)
04:18:59*fundamental3 quit (Ping timeout: 260 seconds)
04:26:34EXetoCmoo
04:28:03*brson quit (Quit: leaving)
04:32:11*fundamental3 joined #nimrod
04:34:42*fundamental3 quit (Read error: Connection reset by peer)
04:43:34*webskipper quit (Ping timeout: 246 seconds)
04:49:25*DAddYE joined #nimrod
04:52:42*fundamental3 joined #nimrod
04:53:43*DAddYE quit (Ping timeout: 246 seconds)
05:13:17*brson joined #nimrod
05:17:03*ics quit (Ping timeout: 250 seconds)
05:20:25*brson quit (Quit: leaving)
05:22:27*ics joined #nimrod
05:26:18*OrionPKM quit (Remote host closed the connection)
05:32:21*OrionPKM joined #nimrod
05:50:17*DAddYE joined #nimrod
05:54:38*DAddYE quit (Ping timeout: 240 seconds)
06:51:04*DAddYE joined #nimrod
06:55:26*DAddYE quit (Ping timeout: 240 seconds)
07:04:30*mflamer joined #nimrod
07:05:00*hoverbear quit (Quit: Hibernating, be back soon.)
07:13:26*boydgreenfield joined #nimrod
07:18:11*webskipper joined #nimrod
07:43:26*boydgreenfield quit (Quit: boydgreenfield)
07:51:59*DAddYE joined #nimrod
07:55:32*EXetoC quit (Quit: WeeChat 0.4.2)
07:56:31*DAddYE quit (Ping timeout: 252 seconds)
08:00:14*mflamer quit (Ping timeout: 240 seconds)
08:00:37*webskipper quit (Ping timeout: 246 seconds)
08:05:12*EXetoC2 quit (Read error: Connection reset by peer)
08:14:16*webskipper joined #nimrod
08:23:31*dirkk0 joined #nimrod
08:27:55*DAddYE joined #nimrod
08:36:58*EXetoC joined #nimrod
08:41:37*DAddYE quit (Remote host closed the connection)
08:41:45*DAddYE joined #nimrod
08:57:04*fntzr joined #nimrod
08:57:14*fntzr quit (Client Quit)
09:00:52*DAddYE quit (Remote host closed the connection)
09:01:18*DAddYE joined #nimrod
09:05:26*DAddYE quit (Ping timeout: 240 seconds)
09:17:15*DAddYE joined #nimrod
09:17:26*DAddYE quit (Remote host closed the connection)
09:17:32*DAddYE joined #nimrod
09:38:42*dirkk0 quit (Quit: Leaving)
09:44:32*zielmicha joined #nimrod
09:49:47*zielmicha1 joined #nimrod
09:49:48*zielmicha quit (Read error: No route to host)
10:00:19*zielmicha1 is now known as zielmicha
10:42:54*DAddYE quit (Remote host closed the connection)
10:43:23*DAddYE joined #nimrod
10:47:26*DAddYE quit (Ping timeout: 240 seconds)
10:48:50*ics quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
11:15:00*BitPuffin joined #nimrod
11:32:56*gradha joined #nimrod
11:41:51BitPuffinAraq: wouldn't it be possible to instead have kepwords for alloc, alloc0, allocShared, allocShared0 that didn't involve casting?
11:44:57webskippermoin
11:50:05EXetoCBitPuffin: isn't that just a matter of extending the interface?
11:52:00EXetoCso that they also take types for example
11:53:15BitPuffinEXetoC: well I guess something like var poop = alloc0[TEpicThing](sizeof(TEpicThing)) would almost be acceptable
11:55:08EXetoCor you make it so that only the type has to be specified
11:55:26EXetoCin addition to the current signatures
11:56:02NimBotAraq/Nimrod master 0ebf81f Grzegorz Adam Hankiewicz [+0 ±1 -0]: Fixes link to manual in bold section.... 4 more lines
11:56:02NimBotAraq/Nimrod master 0983fa0 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Adds missing ``s`` to sligthly odd sentence.
11:56:02NimBotAraq/Nimrod master 44ace3a Grzegorz Adam Hankiewicz [+0 ±1 -0]: Merge pull request #717 from gradha/pr_fixes_minor_doc_mistakes... 2 more lines
11:56:15EXetoCwith the implementation in system.nim
12:03:36EXetoCproc alloc0*[T](x: T): ptr T = cast[T](alloc0(T.sizeof)) ?
12:04:54BitPuffinEXetoC: there is such a thing?
12:05:33BitPuffingotta go
12:05:36BitPuffinbut I'll be portable
12:05:53EXetoCBitPuffin: no, this is just a proposed overload, but I haven't tested it
12:05:56EXetoCok
12:06:37*PortablePuffin joined #nimrod
12:08:17EXetoCPortablePuffin: in case you missed that: it's just an overload that satisfies your requirements. I'll see if it works
12:08:32EXetoCPortablePuffin: sounds like you're using these interfaces a lot. if so, what for?
12:10:00*BitPuffin quit (Ping timeout: 246 seconds)
12:10:24PortablePuffinEXetoC: what I'm using memory management for?
12:11:20EXetoCPortablePuffin: yes manual memory management
12:12:46PortablePuffinEXetoC: A few parts of the engine. probably gonna try and get it back to GC
12:13:02PortablePuffinbut for portaudio I used malloc
12:13:05PortablePuffinalloc
12:13:08PortablePuffin0
12:15:08EXetoCPortablePuffin: ok, is that for when not taking the callback route? in which case at least the input and output buffers are provided by the library
12:16:31EXetoCPortablePuffin: anyway, the example works correctly now; it was just a stupid loop mistake. will re-learn hg soon so that I can submit it
12:17:32PortablePuffinEXetoC: well for some reason I allocd pstream or something
12:17:48PortablePuffincan check laterml
12:23:34EXetoCPortablePuffin: well, it might save you from having to cast it. you have to do this when PStream is allocated on the stack: "var stream: PStream; ... openDefaultStream(cast[PStream](stream.addr) ...", and also for the other proc that takes the same type
12:24:44EXetoCPortablePuffin: and in all other cases you can do this: "startStream(stream)"
12:26:30zielmichaAraq: do you really want stdmsg (=stdout or stderr)? I'm not sure if you were joking or not.
12:32:07gradhaAraq hates stderr
12:36:45PortablePuffinEXetoC: you mean alloc saves me?
12:52:00EXetoCPortablePuffin: it avoids the cast like I said, but there's no reason not to have the pointer on the stack
12:53:04EXetoCit's confusing, so a high level interface will be necessary. I think I'll have time to work on it
13:08:54Araqzielmicha: I wasn't joking ...
13:09:11AraqI think it's a rather nice solution
13:09:40Araqbtw this posix_spawn bug gives me the creeps. It returns 0 and a valid process id!
13:09:50zielmichamaybe, instead of new stdmsg, assign stdout to stderr during initialization
13:10:13Araqzielmicha: this causes more problems as 'stdout' itself can be a macro in C
13:10:16EXetoCyeah, giving the user a choice seems like a good solution
13:10:38zielmichathat would be choosen by compile time flag, of course
13:10:57Araqwell we pretend 'stdout' is a variable in C and wrap it as such
13:11:03Araqbut that might not be the case
13:11:17zielmichawhen iHateStderr:
13:11:17zielmicha template stderr* = stdout
13:11:18zielmichaelse:
13:11:18zielmicha var stderr {.extern.}
13:11:35Araqnah
13:11:46Araqok I got it
13:11:55Araqbut nah, it's nicer if it's always a template
13:13:18zielmichaok. The issue with posix_spawn is that it's implemented in glibc (in userspace) on Linux
13:13:45zielmichaso it really can't determine if exec suceeded, without using hacks
13:15:52Araqso how I am supposed to invoke an external program without forking?
13:16:08Araqforking is breain dead, COW my address space? why?
13:17:33zielmichaon Linux: only vfork
13:17:37zielmichaor clone(CLONE_VM)
13:18:09Araqvfork can't be used reliably in Nimrod/C. You need to call it from assembler iirc.
13:18:35zielmichaglibc manages to do it without asm, I think
13:18:38Araqthere are some conditions to be met which you can't assure with C
13:18:43zielmichaand Python's 3.2 subprocess
13:19:08Araqwell I spent lots of time to make posix_spawn work
13:19:16AraqI won't give up easily
13:22:47Araq" The use of vfork() was tricky: for example, not modifying data in the parent process depended on knowing which variables were held in a register."
13:23:00Araqso is this still an issue or not?
13:23:11*zielmicha quit (Ping timeout: 260 seconds)
13:26:04*zielmicha joined #nimrod
13:26:42zielmichaat least on Linux, it is not
13:26:49zielmichavfork == clone(CLONE_VM)
13:27:00zielmicha+ stop parent
13:27:13zielmichaso it's like new thread, but execv doesn't destroy parent
13:30:29Araqgah I guess that means all my work was for nothing and we should use vfork
13:30:56*Araq hates Posix, Unix, Linux, MacOS X and Windows
13:34:42EXetoC"wine internet explorer (default)". No I don't think I want to open png's with that
13:37:00*Ogion joined #nimrod
13:37:41EXetoCso much hate :-)
13:38:51Araqhi Ogion welcome
13:39:19Ogionhello there
13:39:32EXetoCI know that linux has some issues, but I'm happy with it overall. I've never had to deal with low-level stuff though :p or that lovely X11 architecture for example
13:39:39gradhaAraq: so you run MenuetOS
13:41:02AraqEXetoC: unfortunately ignorance is the only way to keep the happiness and ignorance is a comfort I can't afford.
13:45:40EXetoCI don't know if any of that is directed towards me, but I do appreciate it when experienced people make their voices heard about broken shit :p
13:47:15gradhaHURD will fix all these problems soon
13:47:53Araqit's not directed towards you at all. And I don't mean "ignorance" negative in this context.
13:48:16Araqgradha: MenuetOS looks cool :-)
13:48:22EXetoCok
13:49:26gradhaAraq: I tried to fix https://github.com/Araq/Nimrod/issues/709 but failed hard to compile libbson and mongo-c, and when I managed to install them, the API had changed and the wrapper wasn't good
13:50:03gradhastill, https://github.com/Araq/Nimrod/blob/master/lib/impure/db_mongo.nim#L61 looks suspicious because host is not being cast to a cstring
13:50:44Araqconversion from string to cstring is implicit in Nimrod
13:51:57gradhacan't figure out what's wrong then failing on that line
13:52:34Araqwell I tested it once, it worked
13:52:50Araqit's either some installation issue of mongo or indeed the mongo wrapper changed
13:54:57EXetoCHURD... GNU HURD.... GPL LICENSE... </negative association>
13:56:11Araqzielmicha: so we need useFork, useVFork and useSpawn
13:56:16gradhaAraq: sounds like such an unstable wrapper would be better off stdlib, though there was a plan to move all db* wrappers to babel, right?
13:58:24Araqwell surely moving mongo over to Babel is a no-brainer
13:59:41Araqhowever I really like Babel integration into http://nimrod-lang.org/lib.html
14:00:33Araqand some means of having "sacred" Babel packages
14:05:02EXetoCAraq: were you implying before that there really aren't any situations where something like mongodb shines?
14:05:50gradhaEXetoC: mongodb is webscale
14:06:04Araqhell no, I used to like Mongodb
14:06:33EXetoCI just thought "hmm, SQL seems kinda old and maybe there are newer alternatives that are better in general", but of course I've barely used SQL at all
14:06:38*fundamental3 quit (Ping timeout: 240 seconds)
14:06:45EXetoCgradha: ah it's one of those. I will watch it later
14:07:10Araqhowever since the C wrapper itself used to be not stable ... it surely should be a babel package
14:07:51Araqalso db_mongo has a different interface than db_sqlite or db_mysql
14:08:37EXetoCok same response this time (hell no) :p
14:08:51webskipperEXetoC: SQL is pure power.
14:11:33AraqI need to go, see you later
14:14:08*gradha quit (Quit: bbl, need to watch http://www.youtube.com/watch?v=hcDEWiH-ciw again)
14:19:09*fundamental3 joined #nimrod
14:29:34*zielmicha1 joined #nimrod
14:29:35*fundamental3 quit (Read error: Connection reset by peer)
14:30:18*fundamental3 joined #nimrod
14:30:51*zielmicha quit (Ping timeout: 260 seconds)
14:35:54*Hannibal_Smith joined #nimrod
14:46:23EXetoCwebskipper: got it!
14:49:12*PortablePuffin quit (Ping timeout: 246 seconds)
14:51:16*zielmicha1 is now known as zielmicha
15:20:44*PortablePuffin joined #nimrod
15:49:03*fundamental3 quit (Ping timeout: 246 seconds)
15:50:15*mflamer joined #nimrod
16:04:41*fundamental3 joined #nimrod
16:11:58webskipperis nimrod not case sensitive?
16:13:18zielmichayes, it's even not "_" sensitive
16:19:07webskippervar android = Android(job: "Commander", age: "30") leads to "Error: redefinition of 'android'". "Android" is a type I declared.
16:20:33*boydgreenfield joined #nimrod
16:20:35Araqwebskipper: that will be changed in the next version though
16:20:58webskipperah ok
16:21:02*mflamer quit (Ping timeout: 240 seconds)
16:29:30webskipperhm, the first OO on tutorial page 2 does not work for me: student = TStudent(name: "Anton", age: 5, id: 2) -> " Error: undeclared field: 'id'"
16:32:36*mflamer joined #nimrod
16:32:45webskipperthe example I mean
16:42:59*hoverbear joined #nimrod
16:56:09*silven joined #nimrod
17:00:00*OrionPKM quit (Remote host closed the connection)
17:04:00*xenagi joined #nimrod
17:07:25*boydgreenfield quit (Quit: boydgreenfield)
17:09:49*mflamer quit (Ping timeout: 252 seconds)
17:10:54*OrionPKM joined #nimrod
17:11:28*BitPuffin joined #nimrod
17:15:13*ics joined #nimrod
17:17:44BitPuffinahoy
17:18:08*gradha joined #nimrod
17:18:52gradhawebskipper: there have been errors in constructors, the git version of nimrod works fine with that example
17:29:14*Varriount|Mobile joined #nimrod
17:29:31Varriount|MobileGig morning gents.
17:29:36Varriount|Mobile*Good
17:29:50gradhaVarriount|Mobile: that's a long nick, new bouncer?
17:30:08Varriount|MobileNo, using phone
17:30:31Varriount|MobileI gave up on the bouncer, it wouldn't reliably connect
17:33:54Varriount|Mobilegradha, how familier are you with using templates?
17:34:16gradhaI've used a few
17:34:55Varriount|MobileWhat would you say to having the ability to introduce procedures and types into a namespace through a template?
17:35:58gradhaproblematic, though eventually I would request that for macros, which can't look at their invokation context
17:36:55Varriount|MobileFunny, I was about to file that as a bug report feature request, however I thought that might be prudent to ask someone else's opinion first.
17:37:30Varriount|MobileAlso I typed all of that using Google Voice typing.
17:37:55gradhamy opinion doesn't count much, on the other hand if you want my opinion on kpop I'm a solid reference
17:38:08Varriount|Mobile:D
17:38:34OrionPKMI can type with Google Voice typing is well
17:38:41OrionPKM;)
17:38:45Varriount|MobileNevertheless I always find it a good idea to ask either of their opinion before I go posting a posting a new idea
17:38:54Varriount|Mobile*others
17:38:59OrionPKMI love that when I just tried to type with Google Voice it didn't work
17:39:49gradhaVarriount|Mobile: the question is what namespace you are willing to change through the template, I guess nested procs are already possible with them, but not global types
17:40:16gradhaplus it sort of doesn't make much sense to create a global type from a template, if you use the template again, does it create another one?
17:42:34gradhaI don't think *creating* procs/types in the parent namespace is very useful, but I can see some nice templates/macros being able to read about it to modify their behaviour
17:43:51Varriount|Mobilegradha, it would be useful for my iterator tools library.
17:44:15gradhaanother case where it would be useful would be adhoc sql result structures
17:44:46gradhayou could write "query("SELECT foo FROM bar")" and it would return a special query object with a 'foo' field
17:45:19gradhaso for each query yes, you could be creating a new structure like type to hold the results from sql
17:45:48gradhasee how useful am I? contradicting myself in less than 10 minutes
17:48:16gradhaah, I knew I should not update, now "koch web" fails
17:49:39Varriount|MobileFix eeeet.
17:49:59*Varriount|Mobile quit (Remote host closed the connection)
17:50:15*Varriount|Mobile joined #nimrod
17:50:46gradhabisecting
17:59:35*apotheon left #nimrod (#nimrod)
18:00:09*zielmicha quit (Quit: Leaving.)
18:01:26*zielmicha joined #nimrod
18:02:02gradhacan statement macros accept parameters? I'd like to write 'my_macro param1, param2, param3: block'
18:02:29VarriountI don't know.
18:03:00gradhaI guess I can pervert the first statements of the block and presume they are parameters
18:03:04VarriountPerhaps you could have a macro inside another macro? and have the outer macro accept parameters?
18:03:09*dom96_and joined #nimrod
18:03:22*xlq joined #nimrod
18:03:26dom96_andgradha: yes
18:04:39dom96_andVarriount: I think you can introduce procedures and types through templates already
18:05:17xlqHow do dispatch trees avoid indirect branches?
18:05:53Varriountdom96, how?
18:06:19BitPuffindom96_and: who?
18:06:24Varriountdom96, you can return anonymous lambdas and such from a template, however that doesn't always suit.
18:06:26dom96_andNest the type/proc in the template
18:07:09VarriountNesting the type/proc in the template would cause that proc/type to be emitted (and you would have to bind the names also)
18:07:31VarriountI'm thinking something along the lines of what the compiler does during the lambda lifting process.
18:07:44VarriountOr during generic instantiation
18:08:42dom96_andOh. I'm not exactly sure what the compiler does in that case.
18:08:47*gradha considers how much records are worth with mobile clones
18:09:06*boydgreenfield joined #nimrod
18:10:10OrionPKMI am mobile and not mobile;)
18:36:22*AndChat- joined #nimrod
18:36:23*dom96_and quit (Read error: Connection reset by peer)
18:41:30VarriountAnyone have any good ideas so far concerning putting system.nim on a diet?
18:41:33OrionPKMaraq, for sacred packages, why not include installation of them as part of the Nimrod install, like csources
18:42:11Varriountxlq, I think because function calls are computed ahead of time, by the compiler. I could be completely wrong though.
18:45:09*xenagi|2 joined #nimrod
18:47:32*_dymk joined #nimrod
18:48:52*Zor quit (Ping timeout: 265 seconds)
18:49:39BitPuffindo I need to surround my sql strings with '' when the values are strings?
18:49:44BitPuffinI assume yes?
18:50:30gradhaBitPuffin: see https://github.com/Araq/Nimrod/blob/master/examples/cross_todo/nimrod_backend/backend.nim#L125 for an example
18:50:54gradhaas long as you use ? there's nothing else you need to do
18:51:28gradhacompare to quots for embedded false at https://github.com/Araq/Nimrod/blob/master/examples/cross_todo/nimrod_backend/backend.nim#L146
18:52:01BitPuffinepic syntax highlighting ftw
18:52:24gradhawasn't there a pygments wiki for that?
18:52:29BitPuffinyou guys do know that it is t and f right?
18:54:20gradhasqlite accepts many variants
18:54:24*xenagi quit (*.net *.split)
18:54:24*Hannibal_Smith quit (*.net *.split)
18:54:25*reactormonk quit (*.net *.split)
18:54:25*dymk quit (*.net *.split)
18:54:26*Reisen quit (*.net *.split)
18:54:46BitPuffingradha: Well I'm using postgres now
18:54:50BitPuffinbecause suddenly I'm a big boy
18:55:15gradhaBitPuffin: excellent, we all await your postgress compatible PRs for those examples!
18:55:32BitPuffinlol :P
18:56:03*Hannibal_Smith joined #nimrod
18:56:40*Zor joined #nimrod
18:57:21*AndChat- quit (Ping timeout: 246 seconds)
18:57:39Varriount|MobileHow *do* you change the actual highlighting rules on github? To fix troubles with the above syntax?
18:58:01gradhaVarriount|Mobile: you ask dom96 to rewrite the pygments highligher
18:58:06*reactormonk joined #nimrod
18:58:33BitPuffinand to optimize the webserver
18:58:41gradhaVarriount|Mobile: you can also add issues to https://github.com/Araq/Nimrod/wiki/Pygments-issues
18:58:59*Reisen joined #nimrod
18:59:14Varriount|Mobiledom96 needs to delegate.
19:01:07*Varriount|Mobile wonders what filwit is working on
19:01:24gradhabadger logos
19:01:57BitPuffinlol
19:02:01Varriount|Mobile:O No waaaay! Really?
19:02:21gradhayesterday they took a picture of me, perfect for making into a log
19:02:45Varriount|Mobile"they" being...?
19:02:51*dom96_and joined #nimrod
19:03:04gradhapeople at a party
19:03:31BitPuffinhow do we get a random seed?
19:03:45Varriount|MobileBitPuffin, mersenne.nim
19:04:13BitPuffinVarriount|Mobile: o.O
19:04:30gradhaBitPuffin: math.randomize
19:04:49BitPuffinoh there were two of them
19:04:53BitPuffinI only saw the one with the seed lol
19:05:00Varriount|Mobilegradha, doesn't work on windows, I think
19:05:27gradhaVarriount|Mobile: I wonder why, it should be just calling libc srand with time(0) or something similar
19:05:49Varriount|MobileHrm
19:06:10BitPuffinokay errh
19:06:25BitPuffinhow should I do to get a random character using random now lol
19:06:31BitPuffinseriously we need to improve our random support
19:06:35BitPuffinit's quite pathetic
19:07:16gradhaBitPuffin: it all depends on what you want to do, usually you get a random for the range of available values and pick that
19:07:29BitPuffinhttps://gist.github.com/BitPuffin/7862385
19:07:44gradhaso if you have 26 chars to pick from, use random and scale it to the 0..25 range, then pick the char
19:07:58BitPuffingradha: but what's asci for 0 haha
19:08:09gradha'0'?
19:08:11EXetoC\0
19:08:12BitPuffinbasically I want 0-9,a-z,A-Z
19:08:19EXetoCjk
19:08:35dom96_andUse random.org :p
19:08:36BitPuffingradha: I meant what does 0 in ascii correspond to
19:08:40gradhaBitPuffin: that's going to have holes in your range, create an array and fill with the values
19:08:51EXetoCjust use '0'
19:09:03EXetoCas an integer
19:09:08gradha'0' is 48
19:09:13gradha'A' is 65
19:09:20gradha'a' is 97
19:09:31gradhayou can get that easily with a program, or the maligned nimrod i
19:09:38BitPuffinhttp://devnull-as-a-service.com/
19:09:59*Zor quit (Ping timeout: 246 seconds)
19:10:04*dom96_and still awaits a screenshot from BitPuffin
19:10:25gradhaBitPuffin: also, does a-z include language locale chars? that's why you want to fill up a static array and use that
19:10:57BitPuffinokay so I'll use random(62) + 48
19:11:29EXetoCfine, be cryptic :p
19:12:06BitPuffingradha: because salt
19:12:07*_dymk is now known as dymk
19:12:33*BitPuffin still awaits new web server from dom96_and
19:13:19EXetoCfinish it and you can have a screenshot from both of us
19:13:45EXetoCactually, I'll even make a video to show you how awesome I am at using sin and cos
19:14:00BitPuffinlol
19:14:06Varriount|MobileBitPuffin, don't complain loudly if you can't help
19:14:11*dom96_and still awaits the disappearence of his sickness
19:14:58EXetoCI hope I didn't pass on my infection
19:15:43dom96_andBitPuffin: I'm telling you, use random.org
19:15:56*Reisen quit (*.net *.split)
19:16:02BitPuffinVarriount|Mobile: well he complained about screenshot :P
19:16:18EXetoCmaybe I should use that as my RNG, in a separate thread
19:16:32EXetoCWIN
19:16:45Varriount|Mobilerandom.org has limits
19:16:56dom96_andBitPuffin: in fact, my cahbot uses it.
19:17:15gradhawhat's a cahbot
19:17:21BitPuffinyeah
19:17:23BitPuffinwtf maen
19:17:25dom96_andYou could reuse its code :p
19:17:35BitPuffinnevah
19:17:42dom96_and Cards against humanity bot
19:17:45BitPuffintrust non
19:17:48BitPuffinah
19:17:50BitPuffincool
19:17:53BitPuffinwanna play that game some day
19:18:02dom96_andI think it also reads /dev/urandom
19:18:06gradhaso dom96_and is the sick version of dom96?
19:18:21BitPuffinit's dom96 on android
19:18:23BitPuffinthat's my guess
19:18:39BitPuffinseems like both dom96_and and Varriount|Mobile are ripping off PortablePuffin
19:18:39EXetoCmaybe there should be a /dev/random.org
19:18:43dom96_andYep. I contracted a case of the Android
19:18:44BitPuffinpoor mom
19:19:14dom96_anddom96 is actually currently my mum
19:19:19EXetoChm, did someone say something about signal-to-noise ratio before? c(:)-<
19:19:29dom96_and As she is currently using my computer hah
19:20:57Varriount|MobileO_o
19:21:17*Reisen joined #nimrod
19:21:58BitPuffinyay
19:22:02BitPuffinworked really fucking well
19:23:13BitPuffinoutputs the same salt every time
19:23:21EXetoCBitPuffin: so you'll only support ogg?
19:23:29OrionPKMvarriount|mobile I got another idea.. nimrod integration w/ SublimeREPL
19:23:41*Zor joined #nimrod
19:24:09dom96_andHow about you guys stop improving Sublime and improve Aporia instead? :p
19:24:17BitPuffinEXetoC: for my game?
19:24:26OrionPKMsublime is a better base to work off of dom96_and :P
19:24:32EXetoCBitPuffin: ya
19:24:38BitPuffinEXetoC: why would I support anything else?
19:25:09OrionPKMdom96_and our plugin has already got just about everything aporia has
19:25:18dom96_and:(
19:25:19BitPuffinguys why does randomize only work once -_-
19:25:57dom96_andBitPuffin: what about mp3's, what if I want to listen to custom music? :p
19:26:13BitPuffindom96_and: well then you mute the game and use cmus
19:26:18OrionPKMdom96_and clean up aporia so it's not all in like 3 source files, and i"ll think about contribuitng to it :P
19:26:19EXetoCBitPuffin: why is the earth round?
19:26:29EXetoCjust asking. ogg seems like a good format
19:26:34BitPuffinEXetoC: why is your mom?
19:26:36BitPuffinBOOOM!
19:26:38EXetoCdunno
19:26:38BitPuffinkidding
19:26:41BitPuffinsorry
19:27:16BitPuffinEXetoC: yeah well I guess flac would be nice but it would take too much space
19:28:28BitPuffinguys seriously
19:28:32BitPuffinrandomize only works once
19:28:32dom96_andOrionPKM: ok
19:28:34OrionPKMbtw, i do use aporia, but only for looking up the source for the standard library and whatnot
19:28:45EXetoCBitPuffin: wot
19:28:54BitPuffinb;J`b;7f30@]RPAekjP:b5120::c@4
19:28:55BitPuffinb;J`b;7f30@]RPAekjP:b5120::c@4
19:28:57BitPuffinb;J`b;7f30@]RPAekjP:b5120::c@4
19:29:00BitPuffinso many random salts!!!
19:29:19dom96_andBitPuffin use /dev/urandom!
19:29:35BitPuffindom96_and: gtfo :P I'm not gonna leave nimrod
19:29:53EXetoCBitPuffin: people have lots of storage these days, but yeah I agree. it's just unnecessary bloat
19:30:15dom96_andBitPuffin: leave nimrod? What?
19:30:35BitPuffindom96_and: yeah I might as well write the website in bash if you are gonna be like that :P
19:30:45BitPuffinEXetoC: yeah but it's also bandwidth etc on the web server
19:31:15BitPuffinand vorbis is a really good codec
19:31:17BitPuffinso it's fine
19:31:40dom96_andBitPuffin: huh? I agree that random can be improved but isn't /dev/urandom a good choice anyway?
19:32:16BitPuffindom96_and: not only improved but it needs to be fixed
19:32:28BitPuffinwell I dunno
19:33:30dom96_andWe should actually play cah.
19:34:58BitPuffinyup
19:35:57EXetoCread the documentation for the various random functions
19:36:29EXetoCthe documentation seems to imply that nothing is being cycled or whatever the term is, when not seeding
19:37:06BitPuffinEXetoC: well the problem is that randomize only works once
19:37:09BitPuffinso there is only one seed
19:37:22BitPuffinor actually no
19:37:26BitPuffinthat's not the problem
19:37:30BitPuffinwtf is the problem even
19:38:43EXetoCI'm talking rubbish as always
19:39:10EXetoCI just called random about 10 times, and the numbers were all different
19:39:34BitPuffinwell
19:39:44BitPuffinthey aren't different if you call randomize before each time
19:39:47BitPuffinso now I just call it once
19:39:50BitPuffinbut that's crappy
19:39:55BitPuffinI want the seed to be different for each salt
19:40:34EXetoCI don't know how useful that is, but maybe randomize does something stupid. you can provide your own seed value if you want
19:41:16dom96_andEr. If you're calling randomize before each time then aren't you resetting it with the same salt?
19:42:05BitPuffindom96_and: well the point is that randomize() should generate a new seed
19:42:17BitPuffinbut it generates the same seed over and over in the same process
19:42:22BitPuffinso it will reset
19:42:46Araqso what should randomize's implementation look like according to you?
19:42:52EXetoCdom96_and: yes
19:43:02BitPuffinsalt: 1: u@rP1s>IT:;;vr]9=5Njo8oNaTS]m^3k6=SGHaa44lOBv4K;J2=A:4o3YJaN@tQVI=nanWv:[MLYR0u4
19:43:03BitPuffinsalt: 2: 2:EL?LO0fH^>D8d]EjWKYUV<::vlJsp\5=0TY`TW0KuUSbJ0dqKF^9RiT`]n[VSqsc]eKJT\eR9@LS@8
19:43:06BitPuffinsalt: 3: ]kNS=9Dai:g]pBfk>KhieEMRwfrKRJcG>:j[S7DDQC9IVo<tC=e@RKca9]4k@g:N9=1\DU9uhBFVJbR]
19:43:07dom96_andRandomize uses the current time as the seed iirc
19:43:08BitPuffinsalt: 4: oP5Yk0B<nF06FJTOWeD3RM0BoF1AAc68;<b><tK2S[8i=lPeYt0CI1VAWgRhbY96ukD9wo<RRTS`I<]:
19:43:10BitPuffingood enuf
19:43:23Araqstop spamming this channel
19:43:27BitPuffindom96_and: well then it's using some low precision seed haha
19:43:29dom96_andSo if you're calling it really often it uses the same seed
19:43:31BitPuffinI mean time
19:43:36BitPuffinAraq: no u
19:43:58AraqBitPuffin: we use what Ansi C gives us for that thing ...
19:44:07OrionPKMaraq http://xkcd.com/221/
19:44:10gradhaBitPuffin: calling randomize for each salt doesn't make sense
19:44:41BitPuffinlol
19:44:42BitPuffin:D
19:44:47BitPuffinAraq: well this will do
19:45:11BitPuffinwhat's the difference between chr and char
19:45:13AraqOrionPKM: nice one, but I already know it :P
19:45:25OrionPKMits pretty well known :p
19:48:04BitPuffinyeah nothing new really
19:48:07BitPuffinbut it's still fani
19:50:51EXetoCBitPuffin: well, chr is a proc. other than that, I don't know
19:52:15BitPuffintoo bad there is no way to make b64 not create newlines
19:52:21BitPuffinother than giving it a higher num
19:52:23EXetoCBitPuffin: no difference apparently
19:52:24BitPuffinnumnumnum
19:52:36EXetoCnomnom
20:08:07NimBotnimrod-code/packages master eb7de6f fenekku [+0 ±1 -0]: Added commandeer
20:08:07NimBotnimrod-code/packages master a0b074a Grzegorz Adam Hankiewicz [+0 ±1 -0]: Merge pull request #39 from fenekku/master... 2 more lines
20:09:29*fundamental3 is now known as fundamental
20:09:49*Varriount|Mobile quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com ))
20:09:55VarriountMeep.
20:10:00EXetoCmeep meep
20:10:44Araqhi Varriount
20:11:18VarriountHey Araq
20:11:33VarriountDid you read my question regarding the peg parser the other day?
20:11:49Araqoh yeah.
20:12:12Araqwell currently pegs don't really support anything beyond regex like pattern matching
20:12:30Araqyou seem to want a peg based parser generator
20:14:07VarriountAh well. I was hoping for an easy way to create a YAML parser, but I guess I would have to do something like what the JSON and XML parsers do.
20:14:26AraqYAML is a bitch to parse
20:14:33Araqvery complex spec
20:14:58OrionPKMwhy are you still trying to parse yaml?
20:15:00VarriountInterestingly enough, the yaml specification uses Parameterized EBNF
20:15:05Araqwrap some C yaml lib instead
20:15:07KoodaAraq: I just read your link about unsigned integers… It just seems programer’s carelessness to me
20:15:17VarriountOrionPKM, a guy can dream, can't he?
20:15:21OrionPKMlol
20:15:23KoodaBut anyhow, I need them, I have no choice
20:15:31OrionPKMi thought you were going to use XML -> XML transformation
20:15:49VarriountOrionPKM, I just hate having to run two tools to get the desired output.
20:16:09OrionPKMmake 1 tool to run both
20:16:11OrionPKM:p
20:16:32AraqKooda: you do. I'm not saying you shouldn't use them, but Java lacks unsigned too and is still used for everything
20:16:37OrionPKMur gonna have to run two things anyway, the default YAML thing doesnt make two outputs
20:16:58*mflamer joined #nimrod
20:17:06VarriountAraq, why the YAML makers wrote the reference implementation in haskell, I'll never understand.
20:17:31VarriountHurr-Durr, let's make an implementation no-one knows how to interface with.
20:18:07AraqOrionPKM: this one is new for me: http://xkcd.com/225/
20:19:36OrionPKMheh
20:19:57fundamentalthe basics of yaml are fairly sane, but the reference system seems fairly out of place
20:21:20BitPuffinit seems that my scrypt.nim.nimrod.cfg is completely ignored :(
20:21:20Araqfundamental: IMHO it shouldn't even include the possibility to create cycles
20:21:21OrionPKMvarriount is being a silly butt with his yaml ideas, he doesnt need to parse yaml
20:21:33Araqbbl
20:21:34EXetoCBitPuffin: .nim?
20:21:44BitPuffinEXetoC: the library is called scrypt.nim remembah
20:21:47EXetoCnever seen that as part of a nimrod cfg before
20:21:55EXetoCoh
20:22:08VarriountOrionPKM, btw, I pushed a commit earlier this morning. It fixes some things with lines.
20:22:24BitPuffindom96_and: advice naouw
20:22:49fundamentalAraq: I'd agree to that. Almost all of my yaml usage (including seeing real world usage) was essentially json with pythonic indentation and fewer quotes
20:23:07OrionPKMcool
20:23:16dom96_andIf your file is named scrypt.nim then the cfg doesn't need the .nim
20:23:31Varriountfundamental, OrionPKM and I are currently using it as part of developing sublime text syntax for nimrod.
20:23:33BitPuffindom96_and: the file isn't named scrypt.nim
20:23:40BitPuffindom96_and: the repo is called scrypt.nim
20:24:08dom96_andYou think the compiler is aware of repos?
20:24:25BitPuffinwell I believe I saw something doing like blah
20:24:27BitPuffinokay
20:24:30BitPuffindamn it
20:24:43BitPuffinbut doesn't nimforum or some other crap do nimforum.nimrod.cfg?
20:25:00EXetoCthat's an application though
20:25:23EXetoCand so the compiler is normally invoked in the same dir
20:25:48BitPuffinnow I moved it as nimrod.cfg in the srcDir and it still doesn't work
20:25:50BitPuffinwtf
20:26:16fundamentalVarriount: ah, I have only needed to work with vim syntax files so far and they are simple enough generally
20:28:04EXetoCdom96_and: so what's the deal with that? there's a config for kwin for example, which is a lib, so when is that used? if ever
20:28:37BitPuffinscrew yuu guis öm goin höm xD
20:28:38BitPuffinkidding
20:28:44EXetoCwhen there's a babel file?
20:29:20BitPuffinEXetoC: huh?
20:30:16*mflamer quit (Ping timeout: 245 seconds)
20:30:23dom96_andIt's the file you are compiling, its name.
20:30:46BitPuffindom96_and: but it's required for multiple files
20:31:01OrionPKMvarriount, you're getting hung up on yaml I think
20:31:38dom96_andBitPuffin: huh? The other files get imported by the file you are compiling
20:31:44BitPuffindom96_and: I sholudn't have to create a nimrod.cfg for each file shouldn't I?
20:31:48BitPuffindom96_and: but it's a library
20:31:49BitPuffinthere is no file
20:32:07BitPuffinwell there are files
20:32:11BitPuffinbut not a definite file
20:32:14*webskipper quit (Ping timeout: 240 seconds)
20:32:22dom96_andOh. Hrm. I don't think it works for libraries
20:32:45BitPuffinwell that's lame
20:33:02dom96_andWhat do you want to put in the cfg file?
20:33:14BitPuffin--passL:"-ltarsnap"
20:34:02dom96_andThere is a way to specify that in .nim files iirc
20:34:09BitPuffinyes
20:34:14BitPuffinbut then it's still per file
20:34:28EXetoCbtw pragmas can be pushed
20:34:41BitPuffindon't bush me brah
20:34:45BitPuffinbush
20:34:49BitPuffingeorgie boy
20:34:52EXetoCyou seem to define your own pragmas, which reduces repetition a little, but not as much
20:34:58dom96_andYou probably need it in only one file
20:35:13BitPuffindom96_and: no, 2!
20:35:17VarriountI will give 5 dollars to anyone who can add simple anonymous struct/union support to c2nim
20:35:18dom96_and And then other files can import that file and it will propagate
20:35:37BitPuffinfowl: -----------------> Varriount
20:36:05BitPuffindom96_and: yeah but lame to have to put it in each file
20:36:20BitPuffinshouldn't .nimrod.cfg in the srcDir work?
20:36:22BitPuffindamn it
20:36:24dom96_andComplain to Araq then :p
20:36:26BitPuffingradha: save me barry
20:36:32BitPuffinbut Araq hates me xD
20:36:41gradhaBitPuffin: what's to save?
20:37:05BitPuffingradha: I believe you were the one who told me that I could put a .nimrod.cfg in my srcDir
20:37:10BitPuffinbut that dun diddely wurk
20:37:23EXetoCcus you is substituting periods for enter? :p
20:37:28gradhaBitPuffin: I don't know what you are talking about, but I accept the blame
20:37:32EXetoCI mean, the other way around
20:37:59BitPuffinEXetoC: yeah but you are on your period boom shakalaka
20:38:11BitPuffinxD
20:38:16BitPuffingradha: good man
20:38:50gradhaBitPuffin: maybe you mean to avoid passing params? .cfg files seem a little flaky, I would use a nakefile
20:39:06BitPuffingradha: but that's not really compatible with babel
20:39:17EXetoClols
20:39:36gradhaBitPuffin: if you are installing a lib, why do you need it compiled?
20:39:48BitPuffingradha: it's not about that
20:40:00BitPuffingradha: it's about when someone uses the lib it should autolink
20:40:36gradhathis hypothetical person will likely import some module, make that module add the switch with a pragma
20:40:50EXetoCso pushing isn't good enough? in many cases you can just push once per file
20:40:53BitPuffingradha: yes but in this case multiple modules depend on the same pragma
20:41:02BitPuffinthe same lib
20:41:17gradhaBitPuffin: so your users have to import a, then b, then c, then d? lame
20:41:29BitPuffingradha: well it corresponds to header files from C
20:41:42gradhaBitPuffin: your users don't want to know about silly C header files
20:41:49BitPuffinblame Colin Percival
20:41:50gradhaaren't you abstracting that for them?
20:42:21BitPuffingradha: well this is just to be close to the metal
20:42:24BitPuffinand it makes sense
20:42:34BitPuffinon module is for encrypting, and one is for hashing
20:42:55gradhapresumably nimrod doesn't include unused code, you could import whole stdlib and nothing would change
20:43:29BitPuffinit's as if when wrapping say irrlicht you'd have to put {.passL: "-lirrlicht".} in every file
20:43:37BitPuffinis stoopit :P
20:43:44gradhaBitPuffin: you only need it in the one users impot
20:43:55BitPuffinbut the user would import either
20:44:00BitPuffinthe wan they want
20:44:10gradhawell, then that's two libraries, why are you putting them together?
20:44:20fowlVarriount, you might be able to use a variant type..
20:44:27BitPuffingradha: because it's all scrypt
20:44:45gradhaBitPuffin: make a decission, either a single scrypt library, or multiple scrypt mini libraries
20:45:10BitPuffingradha: I shouldn't have to
20:45:10gradhaBitPuffin: right now you seem to be mixing both and obviously having problems with that
20:45:26BitPuffingradha: yeah because stoopid :P
20:45:39BitPuffindamn it I'll just put passL in both
20:45:47gradhaBitPuffin: yes, that's good
20:46:36BitPuffingradha: no it's horrible
20:46:50*BitPuffin punches the nimrod honey badger in the brain
20:47:08gradhaBitPuffin: why is that horrible?
20:47:25gradhaBitPuffin: you seem to be the weird person providing two separate module entry points for a single lib?
20:47:27BitPuffingradha: it dun diddely scale
20:47:31BitPuffingradha: not weird at all
20:47:49BitPuffinworst argument I've heard in a long time
20:47:59gradhaBitPuffin: still haven't heard yourse
20:48:05gradhaBitPuffin: "oh, it's horrible"
20:48:17gradhaamazing argument
20:48:20BitPuffingradha: it dun diddely scale
20:48:22BitPuffingradha: it dun diddely scale
20:48:27gradhaBitPuffin: do you know about babel's private dir?
20:48:43BitPuffinthink so yeah
20:48:45BitPuffinand?
20:49:02gradhapresumably that will make your two modules but one lib not work
20:49:15gradhaor force your users to "improt private/modulea|b"
20:50:56BitPuffinmakes no sense
20:51:06gradhaindeed, please ignore me
20:51:43BitPuffinno I won't put you on the irc ignore list man xD
20:52:00fowlwhats going on in here
20:52:09gradhafowl: Varriount is giving money
20:54:33EXetoCgradha: does it make sense to separate such tiny libs?
20:54:49EXetoCor maybe they're unfinished
20:55:30gradhaEXetoC: if module A and B both depend on the same C lib, I don't think they should be split anyway
20:56:17EXetoCI got the impression that you suggested that
20:57:45gradhaEXetoC: weird, can't recall being asked about it
20:58:22gradhaBitPuffin: when did you ask me about splitting this scrypt thingy into several modules?
20:59:21EXetoCforget it
21:01:27*radsoc joined #nimrod
21:04:54VarriountOn a contrary topic, why can't we merge stdrdin into terminal?
21:05:05BitPuffingradha: that's not what I ever asked
21:06:19BitPuffingradha: what was the tag format for babel again?
21:06:34BitPuffinI mean dom96_and
21:06:39BitPuffinwas it with or without a v
21:06:52BitPuffinas in v0.1.0
21:06:53dom96_andWith
21:06:54BitPuffinor 0.1.0
21:07:06OrionPKMVarriount : http://sublimerepl.readthedocs.org/en/latest/#structure-of-sublimerepl
21:07:14dom96_andI think
21:07:17dom96_and Wait
21:07:28BitPuffindom96_and: oh come on I just pushed with v
21:07:56dom96_andSowwy
21:07:58BitPuffinseems right though
21:08:02BitPuffinlucky you
21:08:09BitPuffinbtw you are mentioned in the scrypt.nim readme
21:08:17BitPuffinhttps://bitbucket.org/BitPuffin/scrypt.nim
21:08:50dom96_andYeah. Just checked.
21:09:29BitPuffinis scrypt.nim in babel?
21:09:35BitPuffinnope
21:09:42dom96_andHah nice
21:09:49VarriountOrionPKM, um, yeah, so?
21:10:52OrionPKMso, we should have nimrod i integration ready
21:11:06OrionPKMfor when it doesnt suck in the future
21:11:06OrionPKM:0
21:11:40VarriountOk...
21:12:15OrionPKMyou disagree?
21:13:35BitPuffindom96_and: merge NOW WHAT ARE YOU WAITING FOR
21:14:13dom96_andgradha: merge plz
21:14:26fowleverybody: MERGE MERGE MERGE
21:14:30gradhawat
21:14:42BitPuffinMERGEEEEE!!
21:14:43fowlgradha, where did you see und() used still btw
21:14:55gradhafowl: in an old issue, don't worry
21:15:11fowlo
21:15:47gradhadom96_and: haven't received any github notification, merge wat?
21:15:57BitPuffingradha: everyone is waiting for you to merge
21:16:08BitPuffinhttps://github.com/nimrod-code/packages/pull/40
21:16:36dom96We can’t automatically merge this pull request.
21:16:40dom96That's it i'm going back to bed
21:16:40gradhahah http://dl.dropbox.com/u/145894/jessica_cares.jpg github says it can't merge
21:17:06gradhaBitPuffin: most likely you didn't update before the comandeer merge
21:17:20gradhaBitPuffin: but don't worry, I'll use my superpowers to fix that
21:17:25BitPuffingradha: nah I didn't
21:17:28BitPuffinfock dat shit xD
21:17:38BitPuffinno but github doesn't have an easy way to pull afaik
21:18:25gradhadom96_and: something I've been meaning to ask, did you notice in the forum post preview page the title says "Error"?
21:18:51dom96_andIt does? Nope I didn't notice lol
21:19:20*radsoc quit (Remote host closed the connection)
21:19:29gradhadom96_and: try it on your browser, maybe its some safari thingy
21:19:39*OrionPK joined #nimrod
21:20:02BitPuffindom96_and: don't you know that the proper abbreviation of android is droid?
21:20:26OrionPKMnonsense
21:20:28OrionPKMthat's a verizon braand
21:20:39BitPuffinpffffffffff
21:21:39fowlits robo
21:22:01BitPuffindrobo
21:23:11OrionPKMVarriount https://gist.github.com/onionhammer/7863958
21:23:51zielmichaAraq, or anyone who worked on compiler: how do I debug it? "$" is not defined on anything and "repr" hangs on cycle (on _everything_). Using debugger?
21:23:57BitPuffingradha: where is the superpowers?
21:24:23NimBotnimrod-code/packages master 853d1d5 Isak Andersson [+0 ±1 -0]: Add scrypt.nim
21:24:23NimBotnimrod-code/packages master 44f7d56 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Merge branch 'master' of github.com:BitPuffin/packages into BitPuffin-master... 3 more lines
21:24:26zielmicha(i'm trying to fix https://gist.github.com/zielmicha/0a5739a1b77af0f7d5d5)
21:24:59BitPuffinWelcome to the world of nice crypto friends
21:25:14fowlzielmicha, what are you working on, java interop?
21:25:18zielmichayes
21:25:25zielmichahttps://github.com/zielmicha/nimrod-java
21:25:28OrionPKMfor android?
21:25:39BitPuffinnow anyone wanna do the nimrod community some good go patch nimforum to use scrypt.nim
21:25:39zielmichamainly
21:25:41OrionPKM(cant think of another good reason)
21:25:45dom96_andZielmicha: there are debug functions in compiler/ast.nim iirc
21:25:58OrionPKMjava is evil, but it's an evil we have to tolerate for android's awesomeness :\
21:26:22BitPuffinandroid isn't terribly awesom
21:26:22gradhaBitPuffin: these are my superpowers http://dl.dropbox.com/u/145894/jessica_hace_un_jessica.mp4
21:26:35*OrionPKM will follow zielmicha's progress with great interest
21:26:45BitPuffinyeah awesome zielmicha keep it up!
21:26:52zielmichaOrionPKM: I have the same opinion
21:27:13gradhazielmicha: did you look at javacpp for jni integration?
21:27:37fowlgradha, this is creepy
21:27:38OrionPKMlol, why do they have twins shirts on Gradha?
21:27:51OrionPKMis this at target field?
21:27:55OrionPKMno...
21:28:03zielmichadom96_and: thanks (they are actually in compiler/astalgo.nim)
21:28:17fowlaha she sucks at throwing
21:28:21OrionPKMlol twins are from my home state (minnesota), not japanese
21:28:32dom96_andZielmicha: np
21:28:42gradhaawesome pink gloves
21:29:03zielmichagradha: it's cool, but wrapping it would require same amount of work as pure JNI
21:29:08KoodaAraq: is it intended that I can’t compare an uint32 with a literal int? -_-
21:29:23*OrionPKM gets an employee discount on twins merch ;)
21:29:32gradhazielmicha: I was thinking more of "stealing" ideas from it, as it claimed to be better than pure JNI itself
21:30:00gradhazielmicha: but you better handle android, so I can concentrate on objc integration
21:31:10dom96_andKooda: yeah, that could probably be relaxed a bit. You can use a type suffix for now: 0'uint
21:31:30KoodaOk ^^'
21:31:33gradhaOrionPKM: maybe these twins have some kind of japanese franchise?
21:31:40dom96_andOr is it ui32? something like that
21:31:45fowl'u32
21:31:56dom96_and^
21:31:57KoodaIt’s a bit anoying to be hit by the language every time I play with numbers…
21:32:04OrionPKMnot that I know of gradha
21:32:34OrionPKMthe twins do have a japnese player though I think
21:33:18*OrionPK quit (Quit: Leaving)
21:33:19gradhaOrionPKM: on my good days my superpowers are more like http://dl.dropbox.com/u/145894/gifs/snsd_molotov2.gif though
21:34:04OrionPKMarent you spanish or something, what are you watching japanese baseball for
21:34:28gradhaOrionPKM: not watching, but stupid memes propagate everywhere
21:35:47dom96_andKooda: submit a bug report about it
21:35:58KoodaWill do ^^'
21:36:07KoodaI have at least 3 now x)
21:36:14KoodaOne per day of usage x)
21:36:21gradhaKooda: they are like bitcoins, going up in value with time
21:36:41KoodaHeh
21:37:07*ics quit (Ping timeout: 252 seconds)
21:39:22*ics joined #nimrod
21:45:50NimBotAraq/Nimrod master 065cd34 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Fixes strutils reference in macro tutorial.
21:45:50NimBotAraq/Nimrod master ebeda70 Grzegorz Adam Hankiewicz [+0 ±2 -0]: Updates configuration for recent lib removals. Refs #698.
21:45:50NimBotAraq/Nimrod master eb16afa Grzegorz Adam Hankiewicz [+0 ±3 -0]: Merge pull request #721 from gradha/pr_doc_fixes... 2 more lines
21:46:46Varriountdom96, I found a temporary workaround for the builder crash
21:47:21dom96_andTell me more
21:47:44gradhadom96_and: you need to subscribe to Varriount's newsletter
21:47:46VarriountI did the batch equivalent of "while True: removeDir("nimrod/csources"); run builder.exe windows.ini"
21:48:57BitPuffingradha: haha but btc just crashed
21:49:04dom96_andThat should work, as long as requestNewest isn't true
21:49:12BitPuffinwell
21:49:19BitPuffincrashed to 751 dollars
21:49:30BitPuffinfrom ~1200
21:49:42gradhaBitPuffin: maybe you could use btc value as random input
21:49:43dom96_andNoo. My 0.04 is dropping
21:49:50dom96_andMust sell btc now
21:49:52BitPuffingradha: probably pretty good entropy indeed
21:50:16BitPuffindom96_and: I thought I'd sell next time it is at an all time high and then buy when it crashes and keep doing that
21:50:20BitPuffinjust to see how much I can make
21:50:45BitPuffinwithout having anything put in
21:50:48dom96_andProblem is that buying them isn't exactly easy
21:51:13BitPuffinhttps://www.bitstamp.net/
21:52:12dom96_andHow does that work?
21:52:34BitPuffinwell apparently
21:53:25gradhafowl: there are still tests for gtk and such, are you planning on removing them?
21:54:54gradhathere are also other things depending on gtk, like lib/impure/dialogs.nim, maybe we should get rid of them too
21:57:37*zielmicha quit (Ping timeout: 250 seconds)
22:03:57fowlgradha, there are tests? i removed all the examples
22:04:06fowli didnt think there would be tests for them
22:04:40gradhaif you run "git grep gtk" there still are some files referencing the removed stuff
22:05:39*dom96_and quit (Ping timeout: 246 seconds)
22:06:53*dom96_and joined #nimrod
22:07:18VarriountSo.. how does one go about testing a c2nim generated wrapper?
22:09:04OrionPKMunit tests?
22:11:07*dom96_and quit (Ping timeout: 246 seconds)
22:11:38gradhaVarriount: you could also… use the wrapper
22:12:00Varriountgradha, are you sure? sounds... sketchy
22:12:03*dom96_and joined #nimrod
22:12:48dom96_andStaying connected is your only job andchat...
22:12:51gradhaI know, it's crazy idea weekend anyway
22:13:05gradhadom96_and: get better, you are talking to software
22:13:11OrionPKMdom you need to switch to familiar I guess :\
22:13:37dom96_andGuess so
22:14:53fowlgradha, ok ill take the rest of the stuff out thanks
22:17:44BitPuffinhow do I replace any character in a string that is not in a set of characters with another character?
22:18:29BitPuffinlike if str.contains({'a'..'z', 'A'..'Z', 0..9}.replaceWith("-")
22:19:42VarriountAnyone think we need a wrapperutils lib? for commons definitions used by compilers, such as size_t?
22:21:12fowlBitPuffin, look in parseutils
22:21:25fowlVarriount, no, read through system.nim sometime
22:21:30fowlVarriount, size_t is csize
22:21:41fowllong long is clonglong
22:21:45fowletc
22:22:04*xenagi|2 quit (Quit: Leaving)
22:22:47BitPuffinfowl: yeah?
22:25:34BitPuffinapparently there is no onlyContains proc
22:26:12fowleverything you need is in parseutils
22:26:34BitPuffinfowl: not from what I can see. Show me the light please
22:28:29NimBotAraq/Nimrod master 1abb83e Zahary Karadjov [+1 ±4 -0]: adding some provisions for writing lower-level unit tests targeting specific sub-systems of the compiler... 4 more lines
22:28:29NimBotAraq/Nimrod master 826b817 Zahary Karadjov [+0 ±1 -0]: fixes #708... 5 more lines
22:28:29NimBotAraq/Nimrod master 727bee4 Zahary Karadjov [+0 ±9 -0]: progress towards adding negative type classes... 4 more lines
22:28:29NimBotAraq/Nimrod master 238eff3 Zahary Karadjov [+3 ±35 -71]: Merge branch 'master' of github.com:Araq/Nimrod into upstream
22:28:44fowli'm going to make a pricesheet
22:28:58BitPuffinyay zahary__ is alive!
22:29:02BitPuffinfowl: oh come on
22:30:03BitPuffinguess parseWhile comes pretty close
22:30:47fowl^
22:31:03BitPuffinbut that doesn't allow me to replace anything
22:31:18fowlno
22:31:22fowlthink imperatively
22:31:35BitPuffinI know no such thing
22:32:39BitPuffinseriously though the description is not even all that good
22:33:24dom96_andBitPuffin: just write a function which does it, it seems pretty trivial
22:33:45gradhadom96_and: loops can be scary sometimes
22:33:55*Hannibal_Smith quit (Quit: Sto andando via)
22:34:01BitPuffinwhile s.parseWhile(blah, {...}) != 0: ?
22:34:19BitPuffinish
22:34:21dom96_andNo.
22:34:27dom96_andWhile true:
22:34:41dom96_andCase s[i]:
22:35:01dom96_andOf set: result.add ...
22:35:08dom96_andElse: nil
22:35:14BitPuffinlove the android capitalization
22:35:15dom96_andI.inc
22:35:21dom96_andLol
22:35:48BitPuffininfinite loop ftw
22:35:49gradhamaybe for c in text: if c in whitelistChars: result.add(c) else result.add(bad_char) ?
22:36:06dom96_andOh yeah:
22:36:12BitPuffinthat's a good one gradha
22:36:26dom96_andOf '\0': break
22:36:59dom96_andThat's how the almighty Araq would write it :p
22:37:23fowlu guys r newbs
22:37:35dom96_andNou
22:41:26Varriountis FILE some sort of compiler constant in the C stdlib?
22:42:15gradhanever heard of such sorcery, isn't it just a struct?
22:42:30VarriountOk, a struct then.
22:42:43VarriountWhat/where is the struct?
22:43:53gradhastdio.h
22:44:08VarriountAnd in nimrod?
22:44:15gradhait's the thing you #include in C programs
22:44:27Varriountgradha, I'm wrapping a lib that uses FILE
22:45:10gradhalet me try idetools
22:45:24Varriount?
22:45:25xlqWell you only ever use a pointer to FILE, so that helps. :)
22:45:58gradhaaccording to idetools, TFile on mac is a ptr CFile in lib/system.nim
22:46:05gradhaand CFile is on the line above that
22:46:22gradhaidetools FTW
22:46:29Varriount:D
22:47:04gradhaVarriount: here's how you do it, you create a temp.nim with 'var b: TFile', put your cursor on TFile and use vim's idetools jump thingy
22:47:13EXetoCgradha: do you invoke it manually?
22:47:35gradhaEXetoC: using vim is easier
22:48:39EXetoCok I don't know how to do that
22:48:54gradhaEXetoC: you first need to install the vim nimrod plugin
22:49:12gradhaEXetoC: see https://github.com/zah/nimrod.vim
22:49:42fowlVarriount, *FILE is TFile in nimrod
22:49:44gradhaonce you have that installed you just use whatever keybinding you have for JumpToDef and there you go
22:49:50gradhaon my system that's ,g
22:50:04gradhaI'm sure dom96's Aporia is much better and easier to use, and superior, all at the same time
22:50:13gradhabut unfortunately I can't compile that on mac
22:50:55EXetoCgradha: I thought I heard someone say that JumpToDef could only jump to stuff in the current file
22:51:01EXetoCDUDE, it's awesome
22:51:14gradhaEXetoC: well, that would really suck if it were true
22:52:23gradhaEXetoC: I use it constantly for APIs which are poorly documented in nimrod, you just jump around until you reach the usage of the param and find out directly
22:54:34EXetoCright
22:55:11EXetoChm, was it BitPuffin?
22:55:20EXetoCI can't remember, but I wanna blame him anyway
22:56:02gradhayeah BitPuffin, what are you doing man
22:57:06EXetoC:p
22:57:14gradhain the future you only need to listen to Britney Spears, she knows a lot about idetools
22:57:20EXetoCso use that shit, vim users!
22:57:59gradhaI would love to hear stuff from Jennifer Lopez, but then she uses emacs
23:03:27gradhagood night, honey badgers
23:03:37*gradha quit (Quit: bbl, need to watch http://www.youtube.com/watch?v=hcDEWiH-ciw again)
23:04:38*BitPuffin quit (Ping timeout: 240 seconds)
23:17:39*BitPuffin joined #nimrod
23:19:30BitPuffinEXetoC: well the jump to thing in nimrod.vim doesn't support babel libs
23:19:33BitPuffinwhich is pretty useless
23:25:44dom96_andThat's why you should use Aporia!
23:26:49BitPuffinnope!
23:27:54EXetoCBitPuffin: worked just now
23:29:06EXetoCI tested it with pastebin.createPaste
23:29:31OrionPKMgradha sublimetext works on OSX :P
23:29:53OrionPKMwith rudimentary support for go-to-definition
23:34:33EXetoCBitPuffin: so far it has only failed for macros
23:36:42BitPuffinEXetoC: hmm
23:49:33EXetoCI don't know if it has something to do with broken deps or something
23:50:22VarriountAraq, are you here?
23:50:41VarriountAnyone know if there any current plans to split up system.nim?
23:55:19EXetoCother modules are implicitly imported already. do you think it should be divided further?
23:55:49VarriountWhat do you mean?
23:56:57EXetoCBitPuffin: creating a pull request now. it appears to be taking ages
23:57:31OrionPKMsystem could include a bunch of sub modules
23:57:45OrionPKMrather than import
23:58:08KoodaHm… Is this a normal behaviour? https://kooda.upyum.com/bazar/tmp/tuple_odd.txt
23:58:50KoodaIf I unfold the loop, it works
23:59:38*webskipper joined #nimrod
23:59:59EXetoCBitPuffin: there. my first hg pull ever