<< 17-12-2014 >>

00:04:25*gour_ quit (Quit: Konversation terminated!)
00:13:15*brson quit (Ping timeout: 258 seconds)
00:15:03*Matthias247 quit (Read error: Connection reset by peer)
00:16:59*fowlmouth joined #nim
00:19:25*Trustable quit (Quit: Leaving)
00:20:20dts|pokeballcan we rename the actors module to calculon? since he has the best acting module?
00:23:52Araqdts|pokeball: actors.nim is deprecated
00:24:12dts|pokeballall the better
00:25:13*Puffin joined #nim
00:26:09*fowl joined #nim
00:28:17*fowlmouth quit (Ping timeout: 240 seconds)
00:37:28*fowl quit (Ping timeout: 255 seconds)
00:44:45*saml_ joined #nim
01:16:00*drewsrem quit (Quit: Leaving)
01:21:05*willwillson quit (Ping timeout: 272 seconds)
01:37:22dom96Interesting. Dr. Dobbs is shutting down.
01:43:42flaviudom96: They'll keep the website, they're just not publishing any more articles.
01:43:53dom96Yeah. That sucks.
01:44:09dom96We should start our own programming news site.
01:44:34flaviulol
01:51:47dts|pokeballlets do it
01:51:57dts|pokeballdr. dobbs taught me alot
01:58:26*Puffin quit (Ping timeout: 244 seconds)
02:09:27*dts|pokeball quit (Quit: Leaving)
02:09:45*dts|pokeball joined #nim
02:12:52*rpag quit (Ping timeout: 255 seconds)
02:26:30*kniteli quit (Read error: Connection reset by peer)
02:43:48*kniteli joined #nim
03:15:19*darkf joined #nim
03:22:39*fowl joined #nim
03:44:51*fowl quit (Ping timeout: 258 seconds)
03:45:13ldleworkDoes anyone know what gc.nim(254) asgnRefNoCycle
03:45:15ldleworkmeans
03:54:34*dts|pokeball quit (Ping timeout: 255 seconds)
04:01:03ldleworkfigured it out
04:10:46*flaviu quit (Ping timeout: 255 seconds)
04:17:24*gour joined #nim
04:23:33darkfI get `error: size of array 'assert_numbits' is negative
04:23:33darkf typedef int assert_numbits[sizeof(NI) == sizeof(void*) && NIM_INTBITS == sizeof(NI)*8 ? 1 : -1];` while trying to build nimble on windows. what should I do? (there is no "build64.bat" for that :))
04:27:31dom96ensure your gcc is 64bit I guess
04:29:58darkfeh
04:33:06darkfand how do I call a function with the same name as the module it's in? I `import irc`, then receive for the example: `Error: expression 'irc("picheta.me", joinChans = @ ["#bots"])' cannot be called` (irc.irc does not work either)
04:38:38darkfeh looks like they changed the name without updating it
04:43:51*nimnoob joined #nim
04:44:06nimnoobhello
04:46:54*ARCADIVS joined #nim
04:54:19*saml_ quit (Quit: Leaving)
04:55:00*Sembei quit (Ping timeout: 258 seconds)
04:55:45*NimBot_ joined #nim
04:57:06*Sembei joined #nim
04:59:48*NimBot_ quit (Read error: Connection reset by peer)
04:59:55*NimBot_ joined #nim
05:00:41*kapil__ joined #nim
05:02:37ldleworkdom96: does Nim have tuple unpacking?
05:03:09dom96yes
05:03:18dom96var (x, y) = (56, 65)
05:03:34ldleworkthanks
05:03:38*dts|pokeball joined #nim
05:04:12dts|pokeballgokr, whats your website?
05:10:12ldleworkdom96: is there a way to use object construction syntax to get a reference? (oh god please)
05:10:24dom96yeah
05:10:34dom96Define your type as a ref
05:10:44ldlework:(
05:11:09ldlework@(x:1, y:2) would be nice
05:11:45dts|pokeballdom96, i finished v0.0.1 of my eval bot
05:13:42*fowl joined #nim
05:14:08dom96ldlework: (ref T)(x:1 ..) might work
05:15:28nimnoobIf I have a generic type declared as ref object
05:15:41nimnoobwhat is the best way to construct that object?
05:15:59ldleworkdom96: nome :)
05:16:02ldleworknope*
05:16:25*gour_ joined #nim
05:18:07ldleworkalso new T() would also be fine
05:19:02dom96bye
05:20:08ldleworko/
05:20:13*gour quit (Ping timeout: 264 seconds)
05:23:19dts|pokeballwhats the syntax for multiple conditions for a single case in a switch?
05:23:30dts|pokeballis it like of "foo", "bar": ...
05:25:14dts|pokeballyep
05:33:37*pwernersbach joined #nim
05:37:35*BillsPC joined #nim
05:43:17*fowl quit (Ping timeout: 240 seconds)
05:53:40*nimnoob quit (Ping timeout: 246 seconds)
06:08:28*fowl joined #nim
06:09:15fowl* Cannot join #nimrod (Channel is invite only)
06:09:29fowlthats very informative
06:10:59pwernersbachfowl: It was renamed to #nim, which is this
06:11:12fowlno kidding
06:11:28fowlimagine if i didnt know that
06:16:12*nimnoob joined #nim
06:17:28dts|pokeballthen you wouldnt have join :p
06:18:41fowlthere needs to be a message or forward
06:18:53fowlsomething other than "this channel is invite only"
06:20:15nimnoobanyone know how to predeclare a type to avoid a circular type reference?
06:20:57fowlnimnoob, declare them in the same type section
06:21:37nimnoobi was trying to keep them in separate files for readability/modularity
06:21:57nimnoobbut i guess they are tied together all the same :)
06:22:09nimnoobthanks, i will try to restructure that way
06:28:53*pwernersbach quit (Quit: Leaving.)
06:41:03ldleworkhey guys
06:41:07ldleworkif you have a reference type
06:41:09gokrdts|pokeball: Slightly late, but: http://goran.krampe.se/nim/
06:41:14dts|pokeballty
06:41:14ldleworkhow do you implement `==` ~?
06:41:24dts|pokeballi need to finish reading your oop article
06:41:35ldleworkI can't seem to implement it in a way that can be compared against nil
06:41:40ldleworklike if you have a ref type
06:41:49ldleworkand you implement == to compare self and other's members
06:41:51ldleworkand someone does
06:41:56ldleworkif someT == nil
06:42:01gokrdts|pokeball: I really should write a summary of those articles, I did find a "gotcha" regarding == etc
06:42:05ldleworkto check if the ref is nil
06:42:22ldleworkthen you get an exception in your == implementation when it tries to access the member field
06:42:39ldleworkgokr: any idea?
06:42:44gokrBecause `==` and a few others are defined as procs for "ref T" in system.nim - you can't have them implemented in "superclasses".
06:43:01gokrOh, that was not an answer to you.
06:43:12gokrBut perhaps related?
06:43:37gokrI found that I had to implement `==`in the concrete leaf classes.
06:43:46gokrIn order to "override" the one in system.nim
06:44:08gokrBecause "super type" is a "lesser match" than "ref T".
06:44:16ldleworkgokr: ah yeah
06:44:44gokrAlso, of course, you need to make sure `hash` follows `==` - for tables to work.
06:44:57gokrI don't think the comments in tables mentions that, but its like always.
06:45:05gokrGotta feed the family here, later
06:45:53fowlldlework, most of the std lib won't let you do obj == nil
06:46:17fowlhowever its pretty easy, look at the implementation for JsonNode
06:49:40*nimnoob quit (Ping timeout: 246 seconds)
06:59:24*nande quit (Remote host closed the connection)
07:03:57*fowl quit (Ping timeout: 240 seconds)
07:09:43*boydgreenfield joined #nim
07:26:22*boydgreenfield quit (Quit: boydgreenfield)
07:26:50*boydgreenfield joined #nim
07:37:59ldleworkthe trick is not using == nil
07:38:02ldleworkand using isNil instead
07:41:07gokrFurther... until a very recent commit - the `==` from system didn't use inherited fields.
07:41:45gokrBecause they weren't visible in subclasses, that also affected marshalling that "missed" inherited fields.
07:41:51gokrBut fixed in devel.
07:44:46boydgreenfieldHi – does anybody know if there are plans to update the default documentation CSS/look-and-feel pre-1.0? I’d heard rumors of such, but wanted to offer to pitch in if not. I realize it’s not *terribly* important on the one hand, but on the other, well, first impressions do matter.
07:48:01Araqboydgreenfield: hell yes
07:48:17Araqplease go ahead and do it before we release
07:48:53boydgreenfieldAraq: Not at all done, but spent a bit playing around earlier: http://htmlpreview.github.io/?https://gist.githubusercontent.com/boydgreenfield/74ea7f8a14cdf9d953bc/raw/aaa07154c0fd9cc97190dc0f5ba03b499dbaf3dc/index.html
07:49:14boydgreenfieldExtends https://bitbucket.org/cskeeters/rst2html-style
07:49:45boydgreenfieldAnd if I do (happy to), is the preferred way of doing this simply updating nimdoc.cfg?
07:50:16Araqyeah but I don't mind PRs to the docgen itself if you're up to this task
07:51:05Araqyour design looks good to me, but I'm the one responsible for the old CSS, so we should listen to others first ;-)
07:52:27boydgreenfieldAraq: Ok. I’ll start with an early PR that just has a few images/working preview for discussion, and then can modularize some of the CSS injection and the like from there. Are there any particular items you’d like to see on all the doc pages? (e.g., a “made with Nimrod” tagling, a logo, anything of that kind)
07:54:04Araqyou can also try and get the 'view source' feature back into "working" state
07:54:16Araqhad to disable it for 0.9.6
07:54:59Araqalso, no, I don't think we need a logo, but I don't mind it either
07:58:08*starless joined #nim
07:59:23boydgreenfieldGreat, will do. I noticed the “view source” functionality has the main GH repository hardcoded in – is there a practical build infrastructure / external tools reason for that? (Just for my awareness)
08:00:21Araqnah, it's just that gradha found it easier to implement it this way I think
08:03:52boydgreenfieldAraq: Perfect. I’ll check back in tomorrow or Th.
08:05:47Araqok. good
08:06:15*dyu joined #nim
08:07:36*boydgreenfield quit (Quit: boydgreenfield)
08:12:04*repax joined #nim
08:18:07dyuAraq: is it possible to map nim's int*,uint* to stdint.h's int* and uint*?
08:18:45Araqno, but you can write additional converters
08:20:04*Jesin quit (Ping timeout: 256 seconds)
08:22:49*bjz quit (Read error: Connection reset by peer)
08:22:59dyuok. I do see cint but no cint{8/16/32/64}
08:23:01*bjz joined #nim
08:30:18Araqer ... what would be the point?
08:30:32Araqdo you think cint16 is different from int16?
08:30:55Araqthere is only so many ways of having 16bit wide integers
08:31:53*Trustable joined #nim
08:36:02dyucompiling with -DHAVE_STDINT_H seems to work
08:37:32dyuwasn't look at adding cint* ... just wanted to map the types to the stdint counterpart
08:37:37dyulooking*
08:59:35dyuAraq: So let foo:cstring = "foo" emits NCSTRING foo; foo = "foo";
08:59:45dyuhow to make it emit const NCSTRING foo; foo="foo";?
09:00:18dyuconst modifier in c
09:00:55dyuI'm trying to interface with a c function that accepts const char* and get warnings
09:06:23dyuwoops, I meant const NCSTRING foo = "foo" (eager assignment)
09:08:14*gour_ is now known as gour
09:09:57*starless quit (Quit: WeeChat 0.4.2)
09:11:34*khmm joined #nim
09:14:49*fowl joined #nim
09:15:42*khmm quit (Ping timeout: 245 seconds)
09:17:09fowlbuild.nim-lang.org is down
09:17:20fowloh i see its down until further notice :(
09:17:54fowltrying to find out what "defer" is
09:17:58fowlgood night
09:20:33*khmm joined #nim
09:38:58dyuAraq: const NCSTRING somestring != const char* somestring, any ideas why that is?
09:39:18*gokr quit (Ping timeout: 244 seconds)
09:39:31dyuI simply replaced NCSTRING with "char*" in the generated c file, and the warnings go away
09:43:53dts|pokeballwhat would be the proper function to append to the end of a file?
09:44:07dts|pokeballor rather, open a file and start writing at the end of it
09:44:12*gokr joined #nim
09:55:00*BillsPC quit (Remote host closed the connection)
09:56:41*kniteli quit (Ping timeout: 258 seconds)
10:05:35*z1y joined #nim
10:11:54*dts|pokeball quit (Ping timeout: 245 seconds)
10:56:28*z1y quit (Ping timeout: 256 seconds)
11:33:15*flaviu joined #nim
11:57:40*flaviu quit (Ping timeout: 256 seconds)
12:03:55*ARCADIVS quit (Quit: ARCADIVS)
12:04:19*BlaXpirit joined #nim
12:31:24*jasondotstar quit (Quit: Leaving)
12:52:32*khmm quit (Ping timeout: 244 seconds)
12:56:33*saml_ joined #nim
12:56:56*khmm joined #nim
13:01:33*khmm quit (Ping timeout: 272 seconds)
13:04:57*BitPuffin joined #nim
13:05:57*khmm joined #nim
13:17:27*BlaXpirit quit (Remote host closed the connection)
13:17:31*gour_ joined #nim
13:18:15*BlaXpirit joined #nim
13:20:37*gour quit (Ping timeout: 240 seconds)
13:21:38*gour_ is now known as gour
13:41:37*z1y joined #nim
13:56:36*saml_ quit (Quit: Leaving)
14:02:22z1yI am trying to build Aporia on Archlinux. I get error "./Aporia/aporia.nim(11, 7) Error: cannot open 'glib2'". My system already had "glib2". So what is "glib" here?
14:05:09EXetoCyou need the gtk library for nim
14:05:44EXetoCnimble will take care of the dependencies for you if you install it that way
14:07:47EXetoCpacman -S nimble && nimble install -y aporia
14:11:18z1ythat's better now, but build still fails http://pastebin.com/XxENzDPx
14:12:47z1yCustomStatusBar.nim(41, 24) Error: undeclared identifier: 'False'
14:13:47z1yuhm. nimble install -y aporia fails, but now I can compile github clone with "nim c aporia"
14:13:48z1y:)
14:14:36EXetoCyes because of the gtk package
14:14:55z1ywoh aporia is running now. So beautiful :)
14:16:37z1yit's very simple though. I would use Geany instead. No syntax color at the moment ;)
14:43:08*z1y quit (Ping timeout: 256 seconds)
14:54:25*z1y joined #nim
15:00:49*gour quit (Disconnected by services)
15:01:13*gour joined #nim
15:01:22*gour_ joined #nim
15:01:54*gour left #nim (#nim)
15:02:34*BlaXpirit quit (Read error: Connection reset by peer)
15:06:26*gour_ is now known as gour
15:08:44*darkf quit (Quit: Leaving)
15:15:59*dts|pokeball joined #nim
15:18:52dts|pokeballhow would i return a tuple from a function?
15:37:14*gour_ joined #nim
15:38:38*gour_ quit (Client Quit)
15:56:09*dts|pokeball quit (Ping timeout: 245 seconds)
16:01:28*kapil__ quit (Quit: Connection closed for inactivity)
16:09:01*z1y quit (Ping timeout: 272 seconds)
16:11:01Araqdyu: I dunno. who cares about warnings in generated C code?
16:12:28dyuAraq: Well its just weird why const NCSTRING doesn't translate to const char*
16:17:24Araqwhy should it? C's const has zero benefits and so the codegen mostly pretends it doesn't exist
16:39:57*gour quit (Quit: WeeChat 1.0)
16:45:05Trixar_zaOh, the channel's name changed? Linked Channel with a mass kick? oO
16:52:23*gokr_ joined #nim
16:57:55*BlaXpirit joined #nim
17:09:25*willwillson joined #nim
17:10:50*dts|pokeball joined #nim
17:17:55*BlaXpirit quit (Quit: Quit Konversation)
17:22:11*gour joined #nim
17:33:37*gokr_ quit (Ping timeout: 258 seconds)
17:38:00*gokr_ joined #nim
17:43:48*enurlyx joined #nim
17:44:06*gour_ joined #nim
17:45:20*gour_ left #nim (#nim)
18:07:16*dyu quit (Quit: Leaving)
18:10:44*flaviu joined #nim
18:21:03*johnsoft quit (Read error: Connection reset by peer)
18:21:49*johnsoft joined #nim
18:26:16*kniteli joined #nim
18:53:17*Matthias247 joined #nim
18:58:29AraqTrixar_za: well I have no idea what IRC's guidelines suggest
19:10:32*Jesin joined #nim
19:14:16dts|pokeballis there a minimalistic version of nim that i can build?
19:17:34dts|pokeballalso, how many new c features does the nim compiler use?
19:17:43repax34.6
19:18:01*khmm quit (Ping timeout: 250 seconds)
19:18:37dts|pokeballill rephrase. whats the newest c feature it uses? ie could i use a c99 or earlier compiler and be fine?
19:21:09*enurlyx1 joined #nim
19:21:26*enurlyx quit (Ping timeout: 264 seconds)
19:23:33repaxdts|pokeball: I dunno, but thinking about this I wonder if "flexible arrays" (of C99) could be used to allow for open arrays in objects
19:23:59dts|pokeballhmmm
19:24:11dts|pokeballwell it actually doesnt matter anymore, because apparently i can use pcc
19:25:31repaxI compile to C++ because I believe it handles exceptions better
19:25:50dts|pokeballthis is for my eval bot
19:26:22repaxGood to see that you're still working on the bot :)
19:26:35dts|pokeballsarcasm?
19:26:51repaxNot at all
19:27:39dts|pokeballoh... yeah. ive got v0.0.1 finished, and now i just need to get a sandbox and some build scripts written, then ill move the eval stuff to a new bot that just evals
19:27:46dts|pokeballwhich will be version 1
19:28:08repaxYou have a time limit for execution?
19:28:30dts|pokeballyeah
19:28:39dts|pokeballso that while true: ... doesnt happen
19:29:08repaxI think such a bot could be a great help here in #nim
19:30:04EXetoCjust implement a similar array feature and re-use that
19:30:22EXetoCsince C isn't used directly anyway
19:30:38repaxRight.
19:30:58repaxgtg
19:31:01*repax quit (Remote host closed the connection)
19:31:51EXetoCdts|pokeball: a C99 compiler would compile C89 code too, right?
19:32:29dts|pokeballEXetoC, yeah, but i was just wondering what was the earliest version of gcc i could get
19:32:52dts|pokeballbecause apparently earlier gcc compilers are faster than newer ones
19:33:35flaviudts|pokeball: Might I advise that you use an existing sandboxing solution? I'm confident that one made by a non-expert will have holes.
19:33:54EXetoCyou could use versions that are several years old I'm sure
19:33:59dts|pokeballflaviu, i am. im using docker now
19:34:00flaviudts|pokeball: Try tcc if you don't care about performance.
19:34:13EXetoCsince only C89 is supported
19:34:27dts|pokeballflaviu, im using pcc because apparently it compiles fast
19:34:47flaviuAh, good. I heard something about parsing system calls, which sounded like you were implementing your own sandbox.
19:35:08dts|pokeballoh no
19:35:54dts|pokeballi was asking if open() would make a system call, because if it didnt i would have to parse for open and family (since i dont want people opening arbitrary files)
19:36:02*rpag joined #nim
19:36:12dts|pokeballbecause the sandbox solution i was using before blocked system calls
19:36:50EXetoCis it not a syscall on any platforms?
19:37:12flaviuEXetoC: microkernels?
19:37:30flaviuI hear they love to keep their filesystems in userspace.
19:37:36dts|pokeballi didnt want to assume it was and then have someone fuck something up
19:38:06EXetoCbut he only needs to support a single platform of course
19:38:11*pwnedbot_1_ joined #nim
19:38:27flaviu,eval echo open("/etc/passwd").readLine()
19:38:29pwnedbot_1_flaviu: root:x:0:0:root:/root:/usr/bin/zsh
19:38:41*pwnedbot_1_ left #nim (#nim)
19:38:48dts|pokeballtheres already an evalbot?
19:38:57flaviudts|pokeball: Nope, that's your code.
19:39:00dts|pokeballah
19:39:04flaviuI just took off the restrictions.
19:39:10dts|pokeballoh ok
19:39:19EXetoCand then there's memory allocation, and I found a relevant malloc replacement, but I can't remember the name
19:39:25dts|pokeballi now have a crappy implementetation of a whitelist
19:39:29dts|pokeballvery slow atm though
19:40:02flaviudts|pokeball: Have you posted a repo on github?
19:41:08dts|pokeballflaviu, not yet. when i move all of the eval code to nimbus ill put that one up
19:41:22dts|pokeballsince BillsPC is my pet bot
19:42:38EXetoCadd a timeout
19:43:11EXetoCI found this https://github.com/pshved/timeout
19:44:11dts|pokeball:D thanks
19:51:23dts|pokeballwhats the repository for nim projects? like nim-code?
19:52:02dts|pokeballnvr mnd. found it
19:52:43dts|pokeballdo i just create a public repo and nim-lang will fork it?
19:55:24EXetoCit is for official project. A couple of wrappers are there because they were initially part of the standard distribution I guess
20:00:19Araqdts|pokeball: older version of GCC should work better than TinyC.
20:00:37dts|pokeballAraq, pcc. and ok. awesome
20:00:47dts|pokeballill benchmark to see which goes faster
20:01:16AraqAnd Nim uses the only C standard there is ... C89. C99 is that non-standard where they decided fucking variable length arrays on the stack is more important than having a portable way to check for integer overflows. ;-)
20:01:19EXetoCit might qualify as an official project though
20:01:36EXetoCdoes it Araq? an eval bot for the channel
20:07:39EXetoCand does 'deprecated' work better now than before? you told me not to use it before
20:08:22dts|pokeballwell typically deprecated means not to use it
20:08:43*yeye123 joined #nim
20:09:07yeye123moin moin
20:09:53dts|pokeballmorning
20:09:54EXetoCdts|pokeball: I'm referring to the pragma used to deprecate symbols
20:10:18dts|pokeballEXetoC, oh. ignore me :} i still havent messed around with 60% of the language
20:10:18AraqEXetoC: er what?
20:10:49AraqI told you not to use deprecated? when?
20:10:54Araqin what context?
20:11:01Araqdeprecated works fine
20:11:50EXetoCwhen I was about to deprecate opengl symbols. once again I don't remember many details
20:12:20Araqwell that was context specific then
20:13:15dts|pokeballoh btw, this will most likely have some security flaws in v1, so i would appreciate some feedback/patches to fix them
20:13:55Araqdts|pokeball: your only option is to use OS/environment specific sandboxing
20:14:31Araqsandboxing Nim itself is very hard
20:14:48EXetoCbut has anyone else bothered with deprecating pointer types?
20:14:49*gour quit (Remote host closed the connection)
20:14:55Araqfor instance, you can do 'when not defined(sandbox): proc open*(...)' in system.ni
20:15:02Araq*system.nim
20:15:12EXetoCwell, TFoo types also - all of the old conventions
20:15:19Araqbut then people can simply importc the open feature
20:15:23dts|pokeballwell yeah, but it will always be sandboxed
20:16:19AraqEXetoC: I think I remember now. don't deprecate too much so that "nimfix" has a chance to update people's code
20:16:29*kniteli quit (Ping timeout: 245 seconds)
20:16:53Araqonce you have Foo vs foo in the wrapper, nimfix has essentially no chance anymore of fixing other people's code
20:17:11Araqbut I guess it's too late now for this remark ...
20:17:22EXetoCthat's after all a tool dedicated to solving such problems
20:17:56EXetoC*for solving
20:18:05EXetoC*for migrating such symbols
20:19:05Araqyeah but guess what. nimfix has to compile with --cs:none for it to work
20:19:06dts|pokeballg2g. if i can finish sandboxing it tonite then ill have v1 up tomorrow :} yay
20:20:05yeye123did anybody check out gnoga for ada? would it be possible to do something similar in nim? seems cool but there are probably some drawbacks
20:24:30EXetoCAraq: I'll just deprecate then. I think I was having problems with deprecating in favor of pointer types, but I probably forgot to have aliases for those
20:25:31*dts|pokeball quit (Ping timeout: 272 seconds)
20:25:34EXetoCI'm not sure which ones are the primary types. it's probably the basic ones
20:26:03*drewsrem joined #nim
20:28:42*kniteli joined #nim
20:28:52Araqyeye123: gnoga sounds cool. but in general, there is nothing in Ada that cannot easily be done with Nim. except of course if you're after verification of hard realtime systems
20:29:35yeye123I'm not after that :)
20:31:44*nimnoob joined #nim
20:34:45*gour joined #nim
20:51:25*Mat4 joined #nim
20:51:38Mat4hello
20:53:11yeye123hi
20:53:34Mat4hi yeye123
20:55:02*Mat4 left #nim (#nim)
20:56:04*zebra111 quit (Ping timeout: 255 seconds)
20:56:31*rektide joined #nim
20:58:15*Hexagon joined #nim
20:58:31Araqhi Hexagon welcome
21:00:06HexagonHello Araq
21:02:06*Mat4 joined #nim
21:02:44*Hexagon left #nim (#nim)
21:03:25*Hexagon joined #nim
21:04:52*Hexagon quit (Client Quit)
21:05:54*zebra111 joined #nim
21:12:28*yeye123 quit (Quit: Leaving)
21:14:10*nimnoob quit (Ping timeout: 246 seconds)
21:14:18*bjz quit (Ping timeout: 264 seconds)
21:20:59*Matthias247 quit (Quit: Matthias247)
21:34:36*StefanSalewski joined #nim
21:37:04StefanSalewskiIn glib there is a variable g_ascii_table, 256 uints with upper half all zero. Currently I have defined it in glib.nim like
21:37:26StefanSalewskivar g_ascii_table: array[256, uint16]
21:37:49StefanSalewskig_ascii_table[0..127] = [0x004'u16, 0x004'u16,
21:38:43StefanSalewskiGuess that may be ok, but may waste memory when multiple Nim GTK programs are running.
21:39:48StefanSalewskiI guess it may be possible to access glibs intern variable from Nim by importc? But I can not find an example how to use importc for variables?
21:40:16AraqStefanSalewski: why wrap that at all?
21:40:40Araqwho uses glib's stuff when there is encodings.nim etc. in Nim land?
21:41:42StefanSalewskiWell, generally I try to make available whatever is possible without too much effort, because people may port code from C and be happy when all is available.
21:42:14StefanSalewskig_ascii-Table is used to check for character classes...
21:42:14AraqI prefer to not have this bloat instead
21:42:18*rpag quit (Quit: Leaving)
21:43:20Araqpeople usually know where to find C when they want C. the Nim wrapper should be for Nim programmers.
21:43:36StefanSalewskiPersonally I too -- but there will be people wanting it, and asking wy Nim can not offer it.
21:43:49*zebra111 quit (Read error: Connection reset by peer)
21:43:52Araqnope. I'm pretty sure there won't.
21:45:29StefanSalewskiWell, I may agree. But in the manual there is a statement that importc allows access to C variables, so we need and example...
21:46:10*Hexagon joined #nim
21:46:28StefanSalewskiManual: The importc pragma provides a means to import a proc or a variable from C.
21:46:34AraqI didn't say it's impossible. I said, it's unnecessary.
21:46:37*Matthias247 joined #nim
21:47:01Araqthe manual is correct.
21:48:10Araqit's a bit like wrapping const NULL = cast[pointer](0)
21:48:41Araqutterly pointless and only *confusing* for the programmers who don't know better. it's not helpful at all.
21:49:11StefanSalewskiOK thanks, I will let is as it is, still enough work...
21:49:16*Hexagon quit (Client Quit)
21:50:30*zebra111 joined #nim
21:56:58*j3rky joined #nim
21:59:30*brson joined #nim
22:06:45*boydgreenfield joined #nim
22:07:41*saml quit (Quit: Leaving)
22:08:13Araqhi boydgreenfield
22:08:22Araqhow's progress?
22:13:11boydgreenfieldAraq: Ha, well I’m in San Francisco, so I went to sleep after chatting wtih you. But I’ll make some later tonight and can submit a preliminary PR. I was planning to just use that as a place for comment/discussion. That work?
22:14:03*nimnoob joined #nim
22:15:04Araqsure but I'll pretty much accept anything
22:17:04boydgreenfieldWell, I’ll try to have it look nice, but relatively simple/not too stylized. :)
22:19:59Araqzio*whatever also had some nice CSS improvements
22:20:13Araqhis design looked ubuntu-like though
22:20:18Araqbrownish
22:23:17*boydgreenfield quit (Quit: boydgreenfield)
22:26:17j3rkyare there any nim projects that compile to javascript for web applications? how would I go about using WebGL (I suppose I'd implement the renderer in JS for now and then provide wrapper functions)?
22:26:42ldleworkj3rky: I haven't read anything about the js support
22:27:36j3rkythere's a small paragraph in the docs. let me find it.
22:28:59j3rkyhttp://nim-lang.org/backends.html#the-javascript-target
22:29:21j3rkyfurther down there's an invocation example
22:29:29*boydgreenfield joined #nim
22:29:37j3rkyi'd love to explore nim for web application development. not sure to what extent it's usable yet :)
22:30:56boydgreenfieldAraq: Good to know. Will ping them if I see them.
22:31:16ldleworkboydgreenfield: we should organize a SF Nim meetup
22:32:07Araqj3rky: the JS backend is suprisingly stable now IMHO
22:32:13boydgreenfieldIdlework: Haha, sure. Though it will have to be in the new year. Feel free to email me: [email protected]
22:32:33Araqj3rky: if you use devel, that is
22:33:17j3rkyAraq: awesome, I will try it soon. are there any open source projects you know of?
22:34:07ldleworkboydgreenfield: who do you work for?
22:34:23Araqj3rky: $nim/web/babelpkglist.nim uses it
22:34:44*gokr2 joined #nim
22:34:48boydgreenfieldIdlework: Myself! :) onecodex.com
22:35:00j3rkyAraq: yeah, that was the only example i found. looking at the actual website, it seems to be broken atm :)
22:35:28Araqyeah it certainly is not used much
22:36:14gokr2Varriount_: Wondering why the Linux32 build says "failed" but the ... actual build looks fairly green in the waterfall at least.
22:37:03j3rkyok, i'll just tinker around with it and see how far i get, thanks!
22:37:36Araqj3rky: what do you mean? works for me
22:38:07Araqhttp://nim-lang.org/lib.html
22:38:19Araq"There are currently 112 unofficial packages in the Babel package repository. ..."
22:38:24gokr2Anyone running OSX virtually on OSX? Using say VirtualBox or Parallell?
22:39:59*gour quit (Quit: WeeChat 1.0)
22:44:06j3rkyAraq: you're right, it's all good
22:44:26nimnoobit was broken a few days ago
22:44:47nimnoobwhen it was nimble and not babel
22:45:08Araqdom96 fixed it
22:45:39nimnoobi installed nimble, should i be using babel instead?
22:47:00Araqnah, nimble is the newer version
22:48:33*gmpreussner joined #nim
22:49:02*j3rky quit (Ping timeout: 264 seconds)
22:49:03Araqhi gmpreussner
22:49:14Araqdid you wrap gmp?
22:55:48flaviuboydgreenfield: Still here? filwit started doing that, you could draw some inspiration from http://reign-studios.net/philipwitte/nimrod/docs/docs.htm# if you'd like.
22:56:28Araqflaviu: I don't like this design at all though
22:57:37Araqit's clumsy and I fear it'll end up like Javadoc. setFoo(Bar bar) ## sets Foo. Parameters: Bar bar: the bar.
22:58:23flaviuAraq: Huh? I'm not sure what that has to do with the design.
22:58:32Araqwe should heavily encourage top level documentation. Purpose, limitations, examples
22:58:41flaviuI think the layout is great, but I don't really like the styling of the docs.
22:58:49Araqwhere is the place for the top level documentation in his design?
22:59:52flaviuThe types section, I'd assume. I don't see why adding another section for the overview is a problem though, I bet he simply forgot about that.
23:01:19Araqwell apart from that it's ugly :P
23:02:29flaviuI agree, I think it uses too much fancy stuff. Contrast could be better too.
23:03:36Araqhrm I wonder if I ever will be able to fix 10 bugs a day
23:05:28flaviuAraq: Doing pretty well: http://i.imgur.com/w0k3efx.png
23:05:58boydgreenfieldflaviu: Thx. What I’ve done so far is mostly just swap out the CSS for `nim doc` (and add a few convenience wrapper classes into the generated HTML, but not mess with the internal structure): http://htmlpreview.github.io/?https://gist.githubusercontent.com/boydgreenfield/74ea7f8a14cdf9d953bc/raw/aaa07154c0fd9cc97190dc0f5ba03b499dbaf3dc/index.html
23:06:46flaviuboydgreenfield: I use http://pomf.se/, it's works very well
23:06:55boydgreenfield(note, the links do work locally, that’s this htmlpreview thing)
23:06:59flaviufor uploading html or other things
23:07:03boydgreenfieldflaviu: Oh, nice.
23:07:27flaviuhttp://a.pomf.se/znavyf.html
23:09:42nimnoobpretty
23:10:13flaviuYep, it looks good.
23:11:43*flaviu1 joined #nim
23:11:45*flaviu1 quit (Client Quit)
23:12:51*StefanSalewski quit ()
23:15:56boydgreenfieldflaviu / nimnoob: Any immediate suggestions? Going to spend an hour or two tweaking it in a little bit and then put up an initial PR/concept for discussion.
23:16:55fowlboydgreenfield, dark background and light text please
23:17:16flaviuboydgreenfield: javascript search possibly, as well as OOP style layout (see filwit's). Both of them seem beyond your scope though.
23:17:16nimnoobi'm just a noob, so no, i like it the way it is
23:17:42fowlthere are layouts that look good for printing (black on white) and there are layouts that look good on lighted screens
23:18:41boydgreenfieldflaviu: Well, let me look into #2 and I update the look. The JS question really comes down to use – it should probably optionally then include the JS *and/or* gracefully degrade for local use.
23:19:07flaviuI disagree about a dark theme, but it would be nice if the background wasn't #FFF.
23:19:21*boydgreenfield left #nim (#nim)
23:19:37*boydgreenfield joined #nim
23:19:49boydgreenfieldflaviu: Agreed, I’m going to make it a light gray.
23:20:09fowlthat works
23:20:14fowlplease no blinding white
23:21:26fowlhttps://www.youtube.com/watch?v=9IjGNJPNyzU
23:25:29*z1y joined #nim
23:26:01*kniteli quit (Remote host closed the connection)
23:29:44*gokr_ quit (Ping timeout: 258 seconds)
23:32:29*kniteli joined #nim
23:36:15*gmpreussner quit (Ping timeout: 258 seconds)
23:39:06*enurlyx1 quit (Quit: Leaving.)
23:54:54nimnoobis everyone here using aporia?
23:55:09nimnoobi am currently using sublime2
23:55:20nimnoobno complaints, but wonder if i am missing out
23:57:24AraqI use aporia :P
23:58:47fowlnimnoob, sublime 3