<< 08-05-2015 >>

00:00:21*thotypous quit (Quit: WeeChat 1.1.1)
00:02:28*NimBot joined #nim
00:12:26*aboisvert joined #nim
00:14:47*xificurC_ joined #nim
00:19:11*xificurC quit (Ping timeout: 256 seconds)
00:44:01*vikaton joined #nim
00:44:39*xificurC joined #nim
00:46:57*xificurC_ quit (Ping timeout: 256 seconds)
00:50:17*aboisvert quit (Quit: aboisvert)
00:50:53QWERTYPASSWORDwhy does everyone wants a new constructor syntax i dont get it T_T, other than restricting instanciation outside of the source module i dont see whats wrong with the current system.
00:50:54*brson quit (Quit: leaving)
00:54:08*mahlon joined #nim
01:16:39*aboisvert joined #nim
01:17:42filwitdom96: you around? I curious to know how you came up with the Aporia gtksourceview.nim file. c2nim? I want to know how complete it is, but I'm having trouble finding both documentation online (for 2.0) for comparison.
01:22:58filwitdom96: err.. nevermind, i'll just look at the C header to compare
01:35:59*Sembei quit (Read error: Connection reset by peer)
01:37:12*Sembei joined #nim
01:39:12*darkf joined #nim
01:44:10reactormonkargh, too many dependencies inside the compiler
01:44:22reactormonkor rather, circular dependencies
01:46:40reactormonkehh wait.
01:52:24*vikaton quit ()
01:52:35*vikaton joined #nim
01:58:21*aboisvert quit (Quit: aboisvert)
01:58:35*darkf_ joined #nim
02:00:28*darkf quit (Ping timeout: 256 seconds)
02:00:32*darkf_ is now known as darkf
02:08:06*JinShil joined #nim
02:11:52*vendethiel joined #nim
02:14:05*Siecje left #nim (#nim)
02:16:05*rgv151 joined #nim
02:19:25*HakanD joined #nim
02:24:08*HakanD quit (Ping timeout: 272 seconds)
02:31:16*aboisvert joined #nim
02:38:05*dhasenan joined #nim
02:40:15dhasenanIs there a viewer for the ESTP profiling output?
02:51:39*ddl_smurf joined #nim
03:02:34*TEttinger joined #nim
03:03:25*ddl_smurf quit (Quit: ddl_smurf)
03:07:56XeIs there a dockerfile for nim programs?
03:19:32ldleworkXe: no but its trivial to make one
03:19:58ldleworkXe: I'll help you with Docker if you help me with Alpine Linux ;)
03:20:08*aboisvert quit (Quit: aboisvert)
03:21:17Xeldlework: seems like a fair trade
03:21:29XeI'm really good with docker and alpine
03:21:41Xewas mainly wondering if I could be lazy :D
03:21:46*saml_ quit (Ping timeout: 272 seconds)
03:22:48ldleworkXe: I'm currently making an image for alpine-package development
03:22:55ldleworkBecause I need to upgrade the version of twisted there
03:23:10ldleworkI made a curses based docker client using urwid and twisted
03:23:18ldleworkand I want the docker image to be as small as possible
03:23:34ldleworkXe: are you a maintainer, etc?
03:23:37Xenope
03:23:43ldleworkHave you ever submitted anything against the packages?
03:23:43Xebut I did use it on hardware for over a year
03:23:46Xeyep
03:23:50reactormonkdocker seems to hype... is it that good? I've heard you can get root on the host system from within a bottle
03:23:50Xemainly tor and ii
03:23:57ldleworkOK, I just want some help submitting my patch, etc
03:24:03Xereactormonk: chroot + pid space tl;dr
03:24:08Xeldlework: ah
03:24:09ldleworkreactormonk: its not a security product anyway
03:24:15reactormonkldlework, ok
03:24:20ldleworkits not suppose to be any more secure than just running software on the host
03:24:30ldleworkthe value comes from 'incidental isolation'
03:24:48ldleworkwhen you deploy various components of your service, you no longer have to deploy mysql, and apache or this and that
03:24:50reactormonkldlework, even a bit less, because of the root part.
03:24:51ldleworkyou just deploy containers
03:25:06ldleworkreactormonk: containers don't make it easier
03:25:14Xeldlework: http://wiki.alpinelinux.org/wiki/Creating_patches#Only_the_last_commit_with_.27git_send-email.27
03:25:14ldleworkthe linux kernel is insecure
03:25:33reactormonkldlework, http://reventlov.com/advisories/using-the-docker-command-to-root-the-host
03:25:43Xereactormonk: for me it is much easier to deploy a container for an app because with a container I can define the environment of the app and isolate the crazy
03:25:51reactormonkXe, neat
03:25:58Xealso
03:26:08XeI have stuff rigged so that i `git push` a repo to a server
03:26:10ldleworkreactormonk: you have to read this and try to understand it
03:26:19Xeand it builds into a live app
03:26:23Xeusually within minutes ^_^
03:26:26ldleworkreactormonk: if you have access to the docker command line tool, of course you have 'root'
03:26:40reactormonkldlework, ok, point taken
03:27:14ldleworkthat's different than how hard it is for unprivledged code inside of a container to own the machine
03:27:28Xereactormonk: if you have permission to create virtual machines than you have 'root'
03:27:29ldleworkdocker doesn't make that any easier, than if you were locked down as a non-root user on the host
03:27:30Xesame idea
03:27:34ldleworkXe: yeah
03:27:42ldleworkwow this article is poison
03:28:00Xeldlework: ikr
03:28:02ldleworkoh haha, I remember this
03:28:08ldleworkwhen they contacted us
03:28:20Xeoh!
03:28:23Xeyou're a docker contributor
03:28:28Xethat's why I recognized you lol
03:28:32ldleworkXe: I built the automated build system \o/
03:28:37ldleworkfor better or worse
03:28:57Xeglad to see another gopher trying nim
03:29:07ldleworkOh I hate go.
03:29:15ldleworkI'm a pythonista.
03:29:18Xeah
03:29:18ldleworkhsss
03:29:21ldlework:)
03:29:28reactormonkI can't phantom building software without generics
03:29:39reactormonk... that's why I hate javascript so much ^^
03:29:49Xereactormonk: techincally in javascript
03:29:57Xeeverything is a generic union that could be anything
03:30:12ldleworkYeah
03:30:20reactormonkkinda.
03:30:29Xeno it really is
03:30:31Xelol
03:30:33*vendethiel quit (Ping timeout: 240 seconds)
03:30:36Xeit's not as bad as PHP tho
03:30:37reactormonkIt's just the lack of an stdlib that makes it hard :-/
03:30:53ldleworkreactormonk: have you tried js.js
03:30:53Xewhere everything is a generic union that could be turned into anything without warning
03:31:02reactormonkno dict/hash/tables
03:31:10ldleworkreactormonk: you're trolling us right?
03:31:21Xeldlework: anyways
03:31:32Xein tar, how do I extract to a specified folder?
03:31:38Xesay the http://nim-lang.org/download/nim-0.11.2.tar.xz tarball
03:31:53XeI'd like to extract it to..say.. /usr/local/nim
03:31:59ldleworkXe: you're asking how to use the tar command?
03:32:24XeI remember there's a flag to arbitrarily forward the output of a folder even if you can't predict it
03:33:04reactormonkldlework, well, no. You have the standard objects which you can use as hashes, but you can't put arbitrary objects in there. Gotta supply your custom hashing function every time.
03:33:19ldleworkXe: its not "tar -zxf nim-0.11.2.tar.xz /usr/local/nim" ?
03:33:40reactormonkldlework, js.js sounds entertaing ^^
03:33:52ldleworkreactormonk: do you mean for keys?
03:33:55reactormonkin a twisted way.
03:34:00reactormonkldlework, yup
03:34:24ldleworkreactormonk: I understand you now
03:36:03Xeldlework: trying that, let's see what happens at build
03:36:52reactormonkXe, the CD drive will open up and lots of tiny shrapnel will kill a kitten.
03:37:06Xereactormonk: I'm compiling nim, not C++
03:37:15ldleworkheh
03:38:58Xeldlework: guess who was smart and deleted my devel base image?
03:39:02Xe\o/
03:39:22reactormonkgotta free up that costly space
03:40:02Xeldlework: alpine + nim + static compilation + single file containers seems like a killer app
03:40:45*kokozedman joined #nim
03:41:44kokozedmanhey guys, I seems to have seen a tool for nim to convert a file to a nim string/buffer... does anyone recall where is it and its docs?
03:42:44reactormonkkokozedman, what do you want to do exactly?
03:44:33kokozedmanreactormonk, instead of reading a file, I need to have it as a nim string... I don't want it to be available as file sticking around and having to maintain it
03:45:12*jholland quit (Quit: Connection closed for inactivity)
03:47:54fowlStaticRead?
03:48:25fowlReads a file at compile time
03:49:44kokozedmanfowl, yes, that is it! thanks man
04:03:05QWERTYPASSWORDits a PITA getting no error on undeclared identifiers in concepts :(
04:03:34QWERTYPASSWORDtook me a crazy amount of time to find my bug
04:04:19fowlQWERTYPASSWORD, we could have a macro emit the code inside the concept for a type, forcing it to instantiate, you could see the error then
04:04:26QWERTYPASSWORDyou can even segfault if you do something like "x is dsajkldsajkl + 22" inside a concept
04:05:55QWERTYPASSWORDat least im aware of it now, and will be more careful
04:06:47*BlaXpirit joined #nim
04:08:34*kokozedman quit (Quit: Leaving)
04:10:48*kokozedman joined #nim
04:18:09*endragor joined #nim
04:18:43*endragor quit (Remote host closed the connection)
04:19:12*endragor joined #nim
04:38:32kokozedmanweird thing... using the staticRead() I'm getting a Error: cannot open
04:38:38kokozedmananyone knows why?
04:44:47reactormonkkokozedman, path doesn't work?
04:50:13kokozedmanreactormonk, I'm specifying the full path to the file
04:51:00reactormonkkokozedman, try slurp
04:51:24kokozedmanreactormonk, same exact thing
04:52:03kokozedmanpath is obviously correct
04:53:55BlaXpiritkokozedman, i don't think it can work with full paths
04:54:09BlaXpiritit has similar semantics to `import`
04:54:14kokozedmanBlaXpirit, why not?
04:54:16kokozedmanoh, I see
04:54:20BlaXpiritexcept you can do it for any type of file
04:54:52BlaXpiriti mean... i don't see any reason for it not to work with full paths
04:54:54kokozedmanOk, good to know
04:54:58BlaXpiriti just guessed that it was the case
04:54:59Xethis code doesn't seem to be compiling: https://gist.github.com/Xe/434cd76f71949b04406d
04:55:14XeI'm probably missing something really obvious, what did I mess up?
04:56:31Xevim is giving me "type mismatch: got (Args) but expected 'Args'"
04:58:12*gsingh93 joined #nim
04:58:28fowlXe, Args* = array[int, string]
04:58:33*Jesin quit (Quit: Leaving)
04:59:06Xewhat about it?
04:59:12Xeis the actual type "Args*"?
04:59:21fowlno that array is invalid
04:59:30fowli think, let me run it
04:59:50fowli think, let me run it
04:59:51Xeor do I want a set[string]
04:59:52fowler
05:00:03fowlyea
05:00:13fowlmaking it array[10,string] works
05:00:20Xeoh
05:00:57XeI see
05:01:03Xethanks fowl
05:05:06*milosn quit (Quit: leaving)
05:05:40Xefowl: does nim support array splicing like python?
05:06:52BlaXpiritkinda
05:07:34Xehow would I implement it?
05:07:50XeI'm looking for something like "everything but the first character of a string"
05:09:58fowl>> var s = [1,2,3]; echo s[1 .. ^1]
05:10:08fowl.eval var s = [1,2,3]; echo s[1 .. ^1]
05:10:15fowlwell its like that
05:10:46ldleworkXe: !
05:11:00ldleworkare you there?
05:11:07Xeldlework: I am
05:11:34Xefowl: seq[x .. ^x] ?
05:11:43ldleworkXe: when I do "abuild -r" I get a .tar.bz2 in /var/cache/distfiles. How do I build a thing that would let me take it to another alpine machine and install it?
05:11:50ldleworkIE, an apk
05:11:58fowlXe, arr[s.low .. s.high] will work when arr has a non-zero index
05:12:04Xeldlework: apkbuild!
05:12:09Xeah
05:12:40Xefowl: is nim 0 or 1 based for sequence indexes?
05:12:51fowler "Slicing for arrays with negative indices is unsupported."
05:12:56fowlsorry for the bad advice
05:13:03fowlseqs start at 0
05:13:05fowlstrings too
05:13:16ldleworkXe: what is that? google has no idea.
05:13:42Xeer
05:13:43Xeabuild*
05:13:45Xehttp://wiki.alpinelinux.org/wiki/Creating_an_Alpine_package
05:14:10ldleworkXe: That's what I'm saying. When I run "abuild -r" I just get a tarfile in /var/cache/distfiles
05:14:21ldleworkIts just a tar of the twisted package
05:14:31ldleworkHow do I build an apk I can take to another machine and install it?
05:14:52ldleworknothing ever appears in /var/cache/apk
05:15:55Xeldlework: I've followed that page and it's worked for me every time
05:15:59Xeas in completely
05:16:46ldleworkXe: and you had an apk?
05:16:49Xeyep
05:16:50ldleworkas a result of the build?
05:17:01ldleworkmaybe its because I'm building a python package?
05:17:24Xejust start with a new container and follow that page completely, trust me
05:17:38ldleworkI have :/
05:19:44dalarmmstDoes nim not care about case sensitivity?
05:20:03dalarmmstproc x(hello: int): int = result = hellO * hellO
05:20:09dalarmmstthis compiles and runs
05:20:25fowldalarmmst, only the first letter is case sensitive :)
05:20:36fowlh_e_l_l_o == hELLO too
05:20:52ldleworkhttp://nim-lang.org/docs/manual.html#lexical-analysis-identifier-equality
05:21:14dalarmmstAh ok, thanks!
05:21:54*repax_ joined #nim
05:23:48Xefowl: if `var splitline = input.split(' ')` `and args = splitline[2 .. ^2]`, assuming `input = ":foo bar baz"`, shouldn't `args == @["baz"]` ?
05:25:11*repax quit (Ping timeout: 256 seconds)
05:25:49kokozedmanhow do I get a varargs expanded into a C function call taking a '...'?
05:26:02fowlXe, this is saying to get the last item .. the item before the last item, ie its an empty slice
05:27:06Xederp
05:27:07fowl^2 is transformed to s.len-2
05:27:30fowlno derp, it made me think lol
05:28:33*adu joined #nim
05:28:33fowlslicing used to have a different behavior where 0 .. -1 would return the whole string, but that was inconsistent with ranges and the .. iterator
05:31:59Xehow do I append one sequence to another?
05:32:09Xejust +?
05:32:38fowl& or add
05:33:26*vikaton quit (Quit: Connection closed for inactivity)
05:33:30*dalarmmst quit (Ping timeout: 272 seconds)
05:35:19Xeah
05:37:24*adu quit (Quit: Leaving)
05:40:09*gsingh93 quit (Ping timeout: 240 seconds)
05:55:46Xefowl: is there unit testing for nim yet?
05:56:01XeSo far I have https://github.com/Xe/code/blob/master/irc/ircmess-nim/message.nim that pukes out tap, but it looks kinda terrifying
06:04:00fowlUnit testing module sucks, you could do better with simple templates
06:04:05fowlLet me look
06:04:19Xeat the least I'd like to be able to puke out TAP
06:06:20fowlNot sure what tap is, you need to write your own assert() type that outputs failures how you need
06:06:33fowlAssert type of template
06:07:48Xehmm
06:07:54Xetap is Test Anything Protocol
06:08:00Xehttps://en.wikipedia.org/wiki/Test_Anything_Protocol
06:08:16kokozedmanguys, anyone knows how to expand that varargs? like a function receiving a varargs, and then it in turns calls another function with item0, item1, item2, itemn, ... from the varargs? I can only see examples of iterating on the varargs, not expanding it inplace
06:10:56*gokr_ quit (Ping timeout: 240 seconds)
06:13:05*skyfex__ joined #nim
06:15:30*dtscode joined #nim
06:15:39*yglukhov___ joined #nim
06:15:51kokozedmanAraq, could you help me on this one?
06:17:19dtscodeWhat's the issue?
06:17:51filwitkokozedman: have you tried just passing the args? eg: proc foo(args:varargs[int]) = bar(args)
06:18:02filwitnot sure that will work, can't remember
06:18:45filwitbut basically varargs are special like that, for instance you should be able to do `let s = @[args]` to turn them into a seq
06:19:42*bjz joined #nim
06:19:49*yglukhov___ quit (Ping timeout: 245 seconds)
06:20:07filwitthe args are somewhat magic IIRC, but they basically represent hand-written AST. So as long as the parameters of the proc you're trying to call with them match, it should work.
06:21:22*bjz quit (Client Quit)
06:21:38*gokr_ joined #nim
06:21:42*BlaXpirit is now known as Guest27885
06:21:42*BlaXpirit_ joined #nim
06:21:42*Guest27885 quit (Killed (cameron.freenode.net (Nickname regained by services)))
06:21:42*BlaXpirit_ is now known as BlaXpirit
06:21:56*dalarmmst joined #nim
06:22:32filwiterr.. the @[args] thing doesn't work actually, one sec
06:23:02ldleworkXe: hey
06:23:19ldleworkI got it to work :)
06:23:51Xeyay
06:24:49filwitkokozedman: https://gist.github.com/PhilipWitte/3bb61b3b9fdb0a7cd9c9
06:24:52ldleworkXe: docker pull -it -v /var/run/docker.sock:/var/run/docker.sock dlacewell/console
06:25:07ldleworkoops
06:25:09ldleworkdocker run*
06:26:51*bjz joined #nim
06:26:52Xeldlework: swanky
06:28:42*bjz quit (Client Quit)
06:28:51*BlaXpirit quit (Quit: Quit Konversation)
06:29:00*bjz joined #nim
06:29:01filwitkokozedman: you can also use 'strutils.toSeq()' to convert varargs to a seq, like this: let s = toSeq(args.items)
06:29:16*bjz quit (Client Quit)
06:29:32kokozedmanfilwit, I have already tried something like that, but when I looked at the generated C code that calls the C method, it does not expand
06:30:02filwitkokozedman: not sure what you mean, i just compiled an ran that gist code
06:31:17kokozedmanfilwit, I'm trying to use it on a C library with the signature pbc_pattern_new(struct pbc_env * , const char * message, const char *format, ...); ... the last '...' is a series of int that specifies offsets
06:31:28kokozedmanit doesn't get expanded correctly in the generated C code
06:31:44filwitah, i see.. you need to use the {.varargs.} pragma
06:31:46kokozedmanI'm getting something like this: result = pbc_pattern_new(e_93037, msg->data, format->data, offsets);
06:32:27filwitkokozedman: http://nim-lang.org/docs/manual.html#foreign-function-interface-varargs-pragma
06:32:31kokozedmanI think I'm already using varargs pragma
06:32:33kokozedmanproc pbc_pattern_new*(a2: ptr pbc_env; message: cstring; format: cstring): ptr pbc_pattern {.
06:32:33kokozedman varargs, cdecl, importc: "pbc_pattern_new", header: "pbc.h".}
06:32:40kokozedmanthat was generated by c2nim
06:33:12filwitone sec
06:33:13*dalarmmst quit (Ping timeout: 264 seconds)
06:33:19ldleworkXe: I'll take that as a compliment :)
06:33:38Xeldlework: it's basic at the moment, but it is a nice overview!
06:34:57kokozedmanfilwit, it's a C library for ProtocolBuffer from https://github.com/cloudwu/pbc
06:34:59ldleworkXe: what would you like it to do
06:35:27Xeldlework: memory usage against its cap would be nice, as would CPU perc usage
06:35:42ldleworkXe: yeah metrics will be nice
06:35:53fowl@[args]? @args works
06:35:54ldleworkXe: the curses lib has timeseries graphs and shit
06:36:01fowlif args is varargs
06:36:32fowlfilwit, ^
06:36:50fowl@ is actually an operator on openarray
06:36:52fowliirc
06:37:00filwitfowl: interesting, good to know.
06:37:07*nande quit (Remote host closed the connection)
06:38:34*gokr_ quit (Ping timeout: 245 seconds)
06:38:55fowlkokozedman, nims varargs wont work there
06:39:02fowlit would require assembly
06:39:07ldleworkXe: you should come to either #nim-offtopic or #python-offtopic
06:41:36*gokr_ joined #nim
06:42:17kokozedmanfowl, I'm not following you...
06:42:26Xein the except block of a try, how do I get stacktrace info?
06:42:41Xeoh derp
06:44:46*dalarmmst joined #nim
06:45:12fowlkokozedman, ok http://stackoverflow.com/questions/280940/calling-a-c-function-with-a-varargs-argument-dynamically says its possible if you can call the va_list version (its different than ...)
06:45:48fowlbut on pbc.h i dont see any va_list functions, just one that accepts ...
06:48:11*endragor quit (Read error: Connection reset by peer)
06:48:17*endragor_ joined #nim
06:49:28fowlplus in nim, varargs[T] is one type, you can pass different types to it but you have to provide a function that they filter through, varargs[string, `$`] so if you have that, it wouldn't work in a c-style format string where the arguments would be packed together
06:50:29dalarmmsthttp://pastebin.com/BhFEn7uy , how do I create a stack allocated instance here of RegOperand?
06:50:45dalarmmstI get: Error: conversion from int to RegOperand is invalid
06:51:27fowldalarmmst, object constructor syntax names the fields, RegOperand(regType: reg) would work here
06:52:08filwitkokozedman: well this is starting to work: https://gist.github.com/PhilipWitte/3bb61b3b9fdb0a7cd9c9
06:52:44filwitgithub's Nim highlighting doesn't seem to like the 'emit' pragma
06:54:28filwitkokozedman: it prints the correct number of varargs, but the actual numbers are incorrect
06:56:55dalarmmstfowl: Thanks
07:00:53kokozedmanfilwit, I'm not accustomed to Nim's macro features, but shouldn't it be possible using the correct ast calls?
07:01:40kokozedmancalling the C function manually with the right set of arguments should be fine... but the problem is the arguments are from varargs not statically typed-in
07:02:58filwitkokozedman: I don't think you need macros in this situation. The code example I posted is almost working correctly, but slightly off.. I've never done this before, so someone more informed might be able to help figure this out.
07:04:27*kokozedman_ joined #nim
07:05:23fowlfilwit, maybe this will help you see whats going on
07:05:36fowlhttps://gist.github.com/fowlmouth/000cb78b33b1fe2a95fd
07:06:24filwitfowl: yeah i was just about to do that
07:06:32*endragor joined #nim
07:07:52*kokozedman quit (Ping timeout: 272 seconds)
07:07:57kokozedman_filwit, your example exhibits the same problem that I face... the generated C code does not expand the nums into 3 distinct arguments: foobar(((int) 3), nums);
07:08:30filwitkokozedman_: I see, so you where already a step ahead.
07:08:44fowlkokozedman_, it cant.. varargs can come from a seq
07:08:57fowlshould different functions be generated on the fly when a seq of a new size gets passed in?
07:08:58filwitkokozedman_: I still think this could probably be done without a macro, but that is always an option
07:09:05kokozedman_fowl, filwit, so, I guess macro is the way to go for this
07:09:20kokozedman_:)
07:09:41kokozedman_would be great if there is a way... at this time, I have no single idea what it might be
07:09:46filwitkokozedman_: i would continue asking around. See what Araq has to say when he's wakes up.
07:09:54Xefowl: do you have a better explanation about how array splicing in nim works?
07:09:57fowli am trying to work on a nice unpacking mechanism for vararg[expr] from templates
07:10:03kokozedman_filwit, fowl, you guys know how to craft a macro for this situation?
07:10:19filwitkokozedman_: yes, give me a sec
07:10:24*endragor_ quit (Ping timeout: 272 seconds)
07:10:39fowlkokozedman_, yes make it accept vararg[expr] and the vararg opts come in an array
07:12:04fowlXe, RTFC ;) https://github.com/Araq/Nim/blob/devel/lib/system.nim#L2899
07:13:05*bjz joined #nim
07:13:21fowlyou'll have to check the docs for `^`
07:13:39fowlits some new magic
07:16:34*HakanD joined #nim
07:17:27filwitkokozedman_: works with the macro: https://gist.github.com/PhilipWitte/3bb61b3b9fdb0a7cd9c9
07:19:44*endragor quit (Remote host closed the connection)
07:20:29kokozedman_filwit, yes, that works great! What's this "quote do:" syntax?
07:21:10kokozedman_I don't see that in the manual... kind of new to me
07:21:30filwitkokozedman_: it's basically 'parseStmt' but without passing a string. You can inject vars into it with ``, so it's a bit cleaner
07:21:45filwitkokozedman_: it's in the macros lib
07:22:20kokozedman_ah, I see it... thanks filwit
07:22:20filwitkokozedman_: which i forgot to include the 'import macros' in that gist
07:22:24filwitnp
07:23:30*phira left #nim ("aarrgh")
07:30:55*ingsoc joined #nim
07:35:43*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
07:42:13*yglukhov___ joined #nim
07:55:26*OnO joined #nim
08:04:56kokozedman_filwit, do you know how to handle situations like: Error: value of type 'ptr pbc_pattern' has to be discarded. I replaced the foobar call to the C function, and I'm getting this now
08:06:11filwitkokozedman_: you need to use a 'discard' statement
08:06:30kokozedman_filwit, but I need that returned pointer
08:06:57*gokr_ quit (Remote host closed the connection)
08:07:26filwiti'm not sure exactly what your code looks like, so I'm a bit confused
08:08:18filwityou only get a that error when you try to call a proc which returns something and you don't catch it
08:08:58pigmejreactormonk: I wish...
08:09:04*Trustable joined #nim
08:09:22pigmejreactormonk: generally the problem... I'm quite overloaded last time ;/ I even had no time to read nim news ;/
08:09:52kokozedman_filwit, https://gist.github.com/eliezedeck/926127cd46f89abd2f79
08:10:39filwitwhich line is throwing the error?
08:11:11filwiterr, wait, i think i see
08:12:02filwitthe problem is you're trying to assign a 'stmt' to a 'PBCPattern'. A 'stmt' is raw Nim AST
08:12:45filwittry making it an 'expr' actually.. that might fix it if you need the return value from the C proc
08:14:04filwitdepending on what 'PBCPattern', you may need to do some converting/casting as well.. though I'm still not exactly sure what is giving you the "needs to be discarded" message
08:15:31kokozedman_filwit, well, the expr worked... but there is a strange thing here: the resulting C code is incomplete, not like your example: result = pbc_pattern_new(e_98095, msg->data, format->data);
08:15:57kokozedman_after the format->data, there should be other parameters... it seems like the result[0].add(n) didn't have any effect
08:17:17filwityeah, that's because the AST for a stmt and expr are different
08:17:37filwityou can inspect the AST with 'echo result.treeRepr'
08:18:04filwitbasically, you want to add each 'n' as a child to the 'Call' node
08:18:27*MyMind joined #nim
08:18:38kokozedman_filwit, isn't that what the code already does?
08:18:38filwitso you're probably looking at just doing "result.add n" instead of "result[0].add n" now
08:18:51kokozedman_hmm... I see
08:19:45filwitbasically, a 'stmt' will return a Statement node as the top level, while 'expr' will give you the Call node directly (ps, for future reference these are being changed to 'typed' and 'untyped' soon)
08:20:18filwitso when you return a statement, you need to add to one child down, thus the [0]
08:20:35filwitlet me know if that works
08:20:55kokozedman_filwit, well, the result.add(n) still doesn't work...
08:20:56*endragor joined #nim
08:22:30filwitput 'echo result.treerepr' at the end of the macro and look at the node structure.
08:22:57kokozedman_filwit, I did, and it obviously is incomplete:
08:22:59kokozedman_StmtList
08:22:59kokozedman_ Call
08:22:59kokozedman_ Sym "pbc_pattern_new"
08:22:59kokozedman_ Sym "e"
08:22:59kokozedman_ DotExpr
08:23:00kokozedman_ Sym "msg"
08:23:02kokozedman_ Sym "cstring"
08:23:04kokozedman_ DotExpr
08:23:07kokozedman_ Sym "format"
08:23:07pigmejkokozedman_: don't paste code on irc...
08:23:09kokozedman_ Sym "cstring"
08:23:21kokozedman_sorry about that
08:23:25filwitno worries
08:23:48pigmejkokozedman_: it was not against you ;-) but generally good practice is to use some paste service ;)
08:23:49*rgv151_ joined #nim
08:24:16filwitas long as it's not super long and there's not a ton of conversations going on it's no big deal
08:24:34kokozedman_pigmej, yes, I'm aware, but I thought it was short enough...
08:24:36filwitanyways, it looks like you're still returning a 'StmtList' as the top element...
08:24:48kokozedman_yes, that's what I thought
08:25:49filwitare you sure your C function can take a 'PBCEnv' ? I'm not sure what this type is
08:25:59kokozedman_filwit, I tried result[0], result[1] and even result[2] (???) and I'm getting the same thing
08:26:25kokozedman_PBCEnv is a C `struct pbc_env *`
08:26:36filwityou sure this is the AST after when the macro is returning a 'expr' ?
08:26:44kokozedman_the code actually compiles, just incomplete
08:26:58filwitoh.. duh, it's cause of the 'quote do' which always make a StmtList
08:27:06filwityou need to make the call node directly
08:27:55kokozedman_but isn't result[0] accessing the `Call`? like you did before
08:28:07filwitkokozedman_: I can help, but you here's the functions you need to call: http://nim-lang.org/docs/macros.html#newCall,NimNode,varargs[NimNode]
08:28:44kokozedman_filwit, first where should I have the treeRepr, at the end of the macro? (that's where I'm having it now)
08:29:12filwityes at the end is good (cause it'll show the accumulated result)
08:29:33kokozedman_ok, so, it really didn't add the extra arguments
08:29:50filwityou want to not have the StmtList there so you can get the return value from it (you want the macro call to appear like you hand-wrote a call to the C proc)
08:30:06filwitbut yeah, I don't know why it's not adding the arguments...
08:31:06filwitlook at the 'newCall()' proc though.. one takes a string name and a varargs list of params.. you may be able to just pass the varargs directly into that
08:31:14filwitlet me to do a test real quick
08:31:26kokozedman_filwit, may be I might need to manually add newLit()
08:31:38filwithmm.. possibly
08:32:01filwitoh yeah, you're probably right
08:33:25filwitone sec.
08:36:05*rgv151_ quit (Remote host closed the connection)
08:37:59filwitkokozedman_: do this: https://gist.github.com/PhilipWitte/3f77d0876ca82d13c6bb
08:38:07filwitroughly speaking
08:38:50*Demon_Fox quit (Quit: Leaving)
08:39:03filwithmm... let me just adapt the gist you wrote real quick
08:40:52filwitkokozedman_: this should work for you: https://gist.github.com/PhilipWitte/3f77d0876ca82d13c6bb
08:41:03*JinShil quit (Quit: Konversation terminated!)
08:42:14filwitalthough, it might be a good idea to pass 'msg' and 'format' as 'cstring' and do the conversion in the proc instead of the macro
08:42:19kokozedman_filwit, man... I don't know why is the extra parameters not being added
08:42:32filwiteh?
08:42:34kokozedman_yes, I've already changed to that
08:42:49filwitis something still wrong?
08:43:29kokozedman_filwit, this time, it's still a bit like before... (warning... going to paste)
08:43:35kokozedman_Call
08:43:36kokozedman_ Ident !"pbc_pattern_new"
08:43:36kokozedman_ Sym "e"
08:43:36kokozedman_ Conv
08:43:36kokozedman_ Sym "cstring"
08:43:37kokozedman_ Sym "msg"
08:43:39kokozedman_ Conv
08:43:41kokozedman_ Sym "cstring"
08:43:43kokozedman_ Sym "format"
08:43:50kokozedman_there other 2 remaining are still not there
08:44:06kokozedman_not the 2, but the other trailing parameters are still not there
08:44:24filwityeah i see, that's why i said do the conversion in the proc instead.
08:44:41filwitwell.. maybe that doesn't matter, nevermind
08:45:23kokozedman_already: macro wrapped_pbc_pattern_new(e: PBCEnv, msg, format: cstring, offsets: varargs[int]): expr
08:45:38*endragor quit (Ping timeout: 256 seconds)
08:45:45filwitcan you update your gist?
08:46:17filwiti want to see exactly what your code looks like
08:46:35filwiti just did a test and the params are adding for me
08:46:43filwitnot sure why they wouldn't be adding for you
08:46:46kokozedman_filwit, ok: https://gist.github.com/eliezedeck/926127cd46f89abd2f79
08:47:04kokozedman_I'm wondering what's wrong as well
08:47:34filwitps, i don't think you need to explicitly convert a string -> cstring
08:48:15filwityou're using the latest compiler?
08:48:47kokozedman_yes, 0.11.2
08:49:16kokozedman_you're right
08:49:38kokozedman_now, the tree is:
08:49:39kokozedman_Call
08:49:39kokozedman_ Ident !"pbc_pattern_new"
08:49:39kokozedman_ Sym "e"
08:49:39kokozedman_ Sym "msg"
08:49:40kokozedman_ Sym "format"
08:50:23kokozedman_resulting C code is still: result = pbc_pattern_new(e_98091, msg->data, format->data);
08:51:17filwityeah one sec, i'm testing your exact code, but need to fill in the gaps, one minute
08:53:35kokozedman_for your ref: proc pbc_pattern_new*(a2: ptr pbc_env; message: cstring; format: cstring): ptr pbc_pattern {.varargs, cdecl, importc: "pbc_pattern_new", header: "pbc.h".}
08:53:45filwitkokozedman_: doesn't look like anything's being passed to the macro's varargs param for some reason (len == 0)
08:55:18filwitthat's very odd.. i wonder if this is a bug.. let me pull on a few things
08:56:29kokozedman_filwit, seems to begin to appear as a bug
08:57:34filwitit certainly looks like a bug, but I'm trying to isolate it.. i just removed all params exect the varargs and it still doesn't pass them.. which doesn't make sense since I just wrote basically that exact code and had it work
08:58:16kokozedman_filwit, yeah, weird, I'm also having offsets.len == 0
08:59:15kokozedman_FWIW, I'm passing the offsets as: @[1, 2, 3, 4]
08:59:32filwitah, i think i see what's going on.. it's cause the macro call is being executed at compile-time (at the call made to it)
08:59:42filwitso you need to make the proc a generic, one sec
09:02:50filwitkokozedman_: works: https://gist.github.com/PhilipWitte/3f77d0876ca82d13c6bb
09:02:54filwitalso, not a bug
09:02:58filwitwhich is good
09:05:49filwitkokozedman_: the reason it needs to be a template is because macros will be invoked when they're first seen (cause they're compile-time entities).. so the macro was triggering when the proc was defined. By using a template instead, we're just delaying that compile-time execution until the call-site of the template.
09:05:54filwitif that makes any sense
09:07:52kokozedman_filwit, yes, that makes some sense... like I said, I'm really still trying to grasp the macro thing (actually just got my hands dirty in this thing just today)
09:07:56kokozedman_let me try it...
09:09:00filwityeah they can be tricky.. I've been doing macro/template stuff for a good year now and obviously I still had problems seeing the issues here as well. Kinda tired though, so I'll run with that excuse :P
09:12:15kokozedman_filwit, huge thanks man! it worked!
09:12:32filwitgreat!
09:38:37*BlaXpirit joined #nim
09:53:05*gokr_ joined #nim
10:01:29*gokr_ quit (Ping timeout: 245 seconds)
10:02:37*gokr_ joined #nim
10:04:15*rgv151_ joined #nim
10:06:43*EulersBackup joined #nim
10:08:30*cryzed quit (Quit: ZNC - http://znc.in)
10:12:14*buup joined #nim
10:24:54*rgv151_ quit (Remote host closed the connection)
10:29:11*cryzed joined #nim
10:35:20*OnO quit (Quit: My iMac has gone to sleep. ZZZzzz…)
10:39:57*rgv151_ joined #nim
10:44:59*rgv151_ quit (Quit: Leaving...)
10:45:38*repax_ is now known as repax
10:49:26*vendethiel joined #nim
10:54:28*kashyap_ joined #nim
10:56:32kashyap_Hi ... this link is broken - http://nim-lang.org/docs/c2nim.html
10:57:13BlaXpiritkashyap_, i'd rather call it discontinued
10:57:21BlaXpiritbecause c2nim is now a separate thing
10:57:29BlaXpiriti think
10:57:33BlaXpiritnot part of core nim
10:57:44kashyap_I see
10:58:14kashyap_https://github.com/nim-lang/c2nim looks like the right project though
10:58:52BlaXpiritkashyap_, or maybe it is a problem
10:58:56BlaXpiritbecause http://nim-lang.org/0.11.0/c2nim.html exists
10:59:02BlaXpiritonly 0.11.2 is missing
10:59:21kashyap_ok
10:59:50VarriountAnyone have an idea of what the python code on this page is supposed to do? http://forum.nim-lang.org/t/1203
11:05:24*elbow_json joined #nim
11:05:49*elbow_jason quit (Read error: No route to host)
11:14:11*Kingsquee quit (Quit: Konversation terminated!)
11:16:04*ingsoc quit (Quit: Leaving.)
11:20:57*thotypous joined #nim
11:22:28*kashyap_ quit (Ping timeout: 246 seconds)
11:24:25*rgv151 quit (Quit: Leaving...)
11:24:34*vendethiel quit (Ping timeout: 255 seconds)
11:36:35*banister quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
11:37:37*johnsoft quit (Ping timeout: 255 seconds)
11:38:12*johnsoft joined #nim
11:42:38*vendethiel joined #nim
11:43:10*dddddd joined #nim
11:45:06buupmighn't be the best channel for this but! what's the most idiomatic way to asynchronously run something say, every hour?
11:45:27buupusing a while true: loop and sleepAsync right now but it feels a bit dirty.
11:45:47def-I'd just use a cronjob
11:46:50buupthis is in the code, to update a var
11:46:52buup:o
11:50:24def-I guess then sleepAsync or just sleep work
11:50:43buuphm, alright!
11:58:19*banister joined #nim
12:05:42*HakanD quit (Quit: Be back later ...)
12:06:44kokozedman_def-, talking about async... do you know how stable is these guys now? in the libs, asyncdispatch and company are still mentioned as highly experimental
12:07:40Varriountkokozedman_: It's still under development. I don't foresee any drastic changes though.
12:08:21kokozedman_I see
12:08:32def-kokozedman_: I guess the best way would be to try them out and report back how well they work
12:08:47buupthere's a weird GC crash in asyncdispatch somewhere
12:09:53def-I'm only running 1 thing with async*: http://hookrace.net/blog/what-is-special-about-nim/#compile-to-javascript Hasn't made any problems in the last 5 months
12:10:11def-4 months*
12:11:11buupmaybe it's something recent
12:18:44*endragor joined #nim
12:19:21*HakanD joined #nim
12:23:40AraqVarriount: can you update devel to 0.11.3 please?
12:26:48buupwas nim inspired at all by DM?
12:27:02buupi don't see why it would be but the keywords and some bits of syntax are so similar..
12:27:19Araqwhat's DM?
12:27:27buupnevermind then!
12:27:41buupreally obscure old language that calls procs procs and vars vars
12:27:59TEttingerdoesn't pascal do that?
12:28:02AraqI took 'proc' from TCL :P
12:28:09TEttingerah
12:28:13Araqnot really though
12:28:27buupand spawn and "result", it just felt a bit similar >~>
12:28:37buupprobably for the best it's not inspired by DM though
12:30:22*EulersNoodle joined #nim
12:31:26AraqTEttinger: pascal uses "function" and "procedure" where "function" means "procedure with return value"
12:32:19Araqthis doesn't make too much sense and so wasn't copied for most later languages
12:32:24*EulersBackup quit (Ping timeout: 244 seconds)
12:34:10Araqlater on Wirth only used PROCEDURE in all caps cause he couldn't imagine syntax highlighting
12:36:00*endragor quit (Remote host closed the connection)
12:38:41*endragor joined #nim
12:43:15*EulersNoodle quit (Ping timeout: 244 seconds)
12:48:24*saml_ joined #nim
12:49:03*ddl_smurf joined #nim
13:04:40*Jehan_ joined #nim
13:06:01*endragor quit (Remote host closed the connection)
13:10:10*endragor joined #nim
13:10:58*endragor quit (Remote host closed the connection)
13:12:19Jehan_Why do we now have a submodule in the Nim repo and a git dependency in build.sh??
13:13:31*banister quit (Read error: Connection reset by peer)
13:20:09Jehan_Not to mention with a relative url that will break whenever the remote is not on github?
13:22:46*saml_ quit (Remote host closed the connection)
13:30:17*banister joined #nim
13:31:46*ingsoc joined #nim
13:37:07*d3m1gd joined #nim
13:37:50AraqJehan_: OnO thought it was a good idea and I don't care. what's wrong with it?
13:38:06Jehan_Araq: See my issue. It's broken.
13:38:52AraqI don't understand your issue
13:39:27Jehan_Example: You run build.sh with an empty csources, it pulls csources and everything works.
13:39:48Araqthat's the desired feature
13:40:06Jehan_A few weeks later, you do it again. csources is outdated, but because build.sh sees csources/.git, it doesn't pull the new csources revision.
13:40:15Jehan_ANd tries to build with the outdated version.
13:40:52Jehan_If the check were correct, it still wouldn't work, because there's already a shallow checkout in there.
13:40:54reactormonkso it should just pull?
13:41:10Jehan_reactormonk: --depth 1 and submodules don't really mix.
13:41:23Jehan_The other issue is that the URL is relative.
13:41:32Jehan_This means that it only works if the remote is the github one.
13:41:37fowl--depth 1 is a must have. The repos are huge
13:41:48Jehan_fowl: Yeah. That's the problem.
13:42:40Araqwell I guess we could stop misung github as a download provider
13:42:43Jehan_If I have a local clone of the repo, the build script will simply break.
13:42:47Jehan_+ '[' '!' -e csources/.git ']'
13:42:47Jehan_+ git submodule update --init --depth 1
13:42:47Jehan_Submodule 'csources' (/tmp/nim-lang/csources.git) registered for path 'csources'
13:42:47Jehan_fatal: repository '/tmp/nim-lang/csources.git' does not exist
13:42:47Jehan_Clone of '/tmp/nim-lang/csources.git' into submodule path 'csources' failed
13:43:45fowlSince you have to clone csources that probably breaks PKGBUILDs and everything else that relies on the bootstrapping process?
13:46:04AraqI don't know why we have the toplevel build.sh script to begin with
13:46:20Araqit does all sorts of bullshit
13:47:29Jehan_Well, even manually, the git submodule commands don't work with the --depth 1 part properly.
13:50:36Araquh oh our install.txt instructions say to run this thing ... wtf
13:51:03AraqThen run the following command::
13:51:04Araq sh build.sh
13:51:06AraqUnlike other software, Nim does not distribute its files over the whole file
13:51:07Araqhierarchy.
13:51:11Araqer ... but it does
13:51:24Araqno wonder people have all sorts of problems
13:51:52AraqI'll revert all of this, I'm tired of people knowing better than me when they don't
13:54:24*HakanD_ joined #nim
13:55:19*HakanD quit (Ping timeout: 255 seconds)
13:57:46Araqhrm build.sh in the .zip is the real build script
13:58:03Araqand build.sh in the github repo is something else. yay
13:59:16*johnsoft quit (Ping timeout: 240 seconds)
14:00:05*johnsoft joined #nim
14:04:52*JinShil joined #nim
14:06:08reactormonkAraq, need a Makefile? ^^
14:07:00Araqas much as I need the 8.3 filenames
14:07:11Araqor floppy disks
14:11:12*Matthias247 joined #nim
14:12:22*vikaton joined #nim
14:12:44*TEttinger quit (Ping timeout: 245 seconds)
14:16:38*buup is now known as buupisaway
14:18:56*gokr_ quit (Ping timeout: 240 seconds)
14:19:29*gokr_ joined #nim
14:21:21*jholland joined #nim
14:24:39*saml quit (Remote host closed the connection)
14:29:19reactormonkAraq, how difficult would it be to simply ask the compiler via nimsuggest which indentation it expects next?
14:29:46reactormonknim-mode identation is bugged and I'm considering my options.
14:31:21*endragor joined #nim
14:36:59*Strikecarl joined #nim
14:37:37*kokozedman_ quit (Quit: Leaving)
14:38:26*gsingh93 joined #nim
14:39:58*darkf quit (Quit: Leaving)
14:40:08Araqreactormonk: I don't know.
14:42:33reactormonkkk
14:43:40*saml joined #nim
14:45:39*Strikecarl quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
14:50:21*endragor quit (Remote host closed the connection)
14:51:45*arnetheduck quit (Ping timeout: 240 seconds)
14:52:01*JinShil quit (Quit: Konversation terminated!)
14:56:21reactormonkwhat's con in nimsuggest for exactly?
14:56:58*aboisvert joined #nim
14:57:30Araqhttp://nim-lang.org/docs/nimsuggest.html#nimsuggest-invocation-invocation-context
14:58:11*Strikecarl joined #nim
14:59:09reactormonkthanks
14:59:34StrikecarlGuys, i made a program that decodes Base64 stuff, pretty basic, but meh, but if i try to decode a non Base64 hash lets say i try to decode "Penis" it crashes, how can i prevent that? Like make an exception that just says "nope" instead of it crashing?
14:59:55reactormonkStrikecarl, you raise a ValueError?
15:00:16Strikecarlbase64.nim(106) decode
15:00:16Strikecarlsystem.nim(2960) failedAssertImpl
15:00:16Strikecarlsystem.nim(2164) raiseAssert
15:00:16StrikecarlError: unhandled exception: i == s.len [AssertionError]
15:00:19StrikecarlThis error ^
15:00:47Strikecarlwhat do i use for the Except thing?
15:00:51StrikecarlraiseAssert?
15:00:57Strikecarlor failedAssertImpl?
15:05:00reactormonkhttp://nim-lang.org/docs/manual.html#exception-handling-raise-statement
15:05:42Strikecarlwhat to raise?
15:05:46StrikecarlAssert?
15:05:59fowlStrikecarl, you ask for an exception but thers already an exception being raised
15:06:09StrikecarlOh
15:06:35fowlhttp://nim-lang.org/docs/manual.html#exception-handling-except-clauses
15:06:54Jehan_Well, careful, since assert will be disabled in -d:release mode.
15:07:17Jehan_decode has a precondition that the string is in base64 format.
15:07:55StrikecarlI was thinking of just doing an if statement but i realized that base64 didn't have a type, or atleast not one i could find.
15:07:56Jehan_This is arguably a problem, since it's not easy to verify this condition without ... well, decoding the string.
15:08:45Araqyup, you need to patch the module
15:09:12StrikecarlWell, it isn't a big problem, for me atleast.
15:11:10*elbow_json quit (Read error: Connection reset by peer)
15:17:37*bjz joined #nim
15:18:59*Strikecarl quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
15:20:43Araqwhat format to generate for code coverage stuff?
15:23:38*xificurC quit (Read error: Connection reset by peer)
15:24:14*xificurC joined #nim
15:26:12*brson joined #nim
15:32:33dom96Araq: XML? JSON?
15:33:11Araqdom96: yeah but I like some standard so that I get a nice htmlgen for free
15:34:00dom96dunno
15:34:06dom96search and see what format other tools use
15:34:22Araqyeah ... cannot find much
15:34:32Araqseems like everybody has their own format
15:35:33BlaXpiritwhat is code coverage stuff?
15:38:59reactormonkBlaXpirit, how much code is actually run by tests
15:39:50BlaXpiritit finally dawned on me what that means
15:40:01BlaXpiritlike, how it is actually checked
15:41:02*Strikecarl joined #nim
15:41:16StrikecarlHow come Nim can't touch ÆØÅ? :'(
15:41:19StrikecarlDiscrimination...
15:42:00Strikecarlhttp://i.imgur.com/knMYJUm.png
15:42:18BlaXpirityou mean windoze
15:42:30BlaXpiritor did u turn that string around
15:42:42Strikecarli just did echo "æøå ÆØÅ"
15:42:46Strikecarland that happened.
15:42:57dom96cmd.exe doesn't support unicode
15:42:59dom96try powershell
15:43:28StrikecarlYes it does? http://i.imgur.com/Nc8aTP6.png
15:43:50yglukhov___Strikecarl: make sure your shell works in utf8 encoding
15:44:04dom96Strikecarl: Run this: cmd /K chcp 65001
15:44:08yglukhov___not in your native one;)
15:44:09*drewsrem joined #nim
15:44:13dom96er
15:44:17dom96just chcp 65001
15:44:19dom96bad paste
15:44:50Strikecarland that does?
15:45:56dom96http://stackoverflow.com/questions/14109024/how-to-make-unicode-charset-in-cmd-exe-by-default
15:46:07StrikecarlI already had that.
15:46:14StrikecarlBut the nim .exe still just types out
15:46:26Strikecarlhttp://i.imgur.com/q5R8Yqi.png
15:47:30BlaXpirityou may have also saved the file in your local codepage
15:47:45Strikecarlhuh?
15:48:33*HakanD_ quit (Quit: Be back later ...)
15:49:51AraqStrikecarl: maybe you need to reopen your terminal
15:50:45StrikecarlAraq Nope Still
15:50:49ddl_smurfStrikecarl: you also need to make sure you have the lucida console font
15:51:46*csick joined #nim
15:51:53BlaXpiritman, windows is a lot of fun :s
15:51:59ddl_smurf(its in the properties when click the icon in the top left of the window of the terminal)
15:52:01Strikecarl:s
15:52:10BlaXpiritI think Python can detect codepage and try to output stuff in it
15:52:31BlaXpiritso that's why I didn't feel the whole extent of the problem
15:52:36Strikecarlddl_smurf just tried
15:52:42StrikecarlI have that on
15:52:45Strikecarlstill fucked up
15:56:25ddl_smurftry piping the output to a file and inspecting that to see if its correct unicode
15:58:06StrikecarlWelp, even windows doesn't like Denmark, that's a good sign :c
15:59:02AraqSomething is rotten in the state of Denmark.
15:59:46*HakanD_ joined #nim
16:00:18StrikecarlAraq confirmed racist
16:01:13ddl_smurfto be fair http://en.wikipedia.org/wiki/Surstr%C3%B6mming
16:01:36StrikecarlNot danish, thankfully.
16:01:37*def- quit (Ping timeout: 264 seconds)
16:02:33*jfchevrette joined #nim
16:03:29*d3m1gd quit (Ping timeout: 250 seconds)
16:03:46Araqhttp://www.shakespeare-online.com/quickquotes/quickquotehamletdenmark.html
16:04:17gokr_Classic quote
16:05:52*Matthias247 quit (Read error: Connection reset by peer)
16:10:10*vikaton quit ()
16:10:19*yglukhov___ quit (Ping timeout: 255 seconds)
16:10:22*Strikecarl quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
16:12:13reactormonkhow "done" is the concept implementation? Gotta do a lot of concepts in stdlib
16:23:02ldleworkAnyone want to write a package manager with me? :)
16:25:57*OnO joined #nim
16:26:56*HakanD__ joined #nim
16:29:57*brson quit (Quit: leaving)
16:30:14*brson joined #nim
16:30:24*HakanD_ quit (Ping timeout: 272 seconds)
16:35:55*def- joined #nim
16:38:46*xet7 quit (Quit: Leaving)
16:40:38*d3m1gd joined #nim
16:41:48*jfchevrette quit (Ping timeout: 272 seconds)
16:49:14*aboisvert_ joined #nim
16:51:03dom96ldlework: package manager? what for?
16:51:37ldleworkdom96: A docker based package manager. IE, software never touches your host but you get executable stubs in your bin directory to start containers.
16:51:48ldleworkI think I want to use Nim
16:51:53*aboisvert quit (Ping timeout: 276 seconds)
16:51:54*aboisvert_ is now known as aboisvert
16:54:17*ingsoc1 joined #nim
16:55:28dom96ldlework: cool
16:56:52*ingsoc quit (Ping timeout: 272 seconds)
17:02:35*aboisvert_ joined #nim
17:02:45*aboisvert quit (Ping timeout: 256 seconds)
17:02:59*aboisvert_ is now known as aboisvert
17:10:20*buupisaway is now known as buup
17:31:53*dddddd quit (Ping timeout: 250 seconds)
17:47:42*HakanD__ quit (Quit: Be back later ...)
18:00:28*buup is now known as buupisaway
18:02:40*yglukhov___ joined #nim
18:31:46someplaceis there a hmac lib in the stdlib or on nimble somewhere?
18:31:52*MyMind quit (Ping timeout: 272 seconds)
18:31:56*loz1 joined #nim
18:45:00*OnO quit (Quit: Textual IRC Client: www.textualapp.com)
18:50:51*fizzbooze joined #nim
19:00:38*Strikecarl joined #nim
19:00:44StrikecarlWhat is LPVOID?
19:00:47Strikecarlin ReadProcessMemory
19:04:02*banister quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
19:05:25BlaXpirithttp://google.com/#q=LPVOID
19:14:19*Jesin joined #nim
19:15:37*banister joined #nim
19:16:56*Strikecarl quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
19:26:21*banister quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
19:29:52dalarmmsthttp://nim-lang.org/docs/typeinfo.html#getEnumField,TAny , do I need to include something to use this?
19:30:24dalarmmstimport*
19:31:21*aboisvert quit (Ping timeout: 240 seconds)
19:32:05*aboisvert joined #nim
19:38:39*dddddd joined #nim
19:42:28renesacdalarmmst: only importing that typeinfo module don't works?
19:42:29*banister joined #nim
19:42:32*filcuc joined #nim
19:46:14gokr_surströmming is swedish btw
19:52:15*fizzbooze quit (Ping timeout: 265 seconds)
20:01:06*Matthias247 joined #nim
20:04:23*dtscode left #nim ("Leaving")
20:11:11dalarmmstrenesac: Sorry, I missed that is was part of typeinfo. Thanks!
20:18:37*gyeates joined #nim
20:19:17*Jehan_ quit (Quit: Leaving)
20:22:55*banister quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:46:54*gokr_ quit (Ping timeout: 245 seconds)
20:51:30*buupisaway is now known as buup
20:56:17*d3m1gd quit (Ping timeout: 246 seconds)
20:57:15*Demon_Fox joined #nim
21:06:16*loz1 quit (Ping timeout: 256 seconds)
21:06:41*banister joined #nim
21:08:14*loz1 joined #nim
21:45:43*Matthias247 quit (Read error: Connection reset by peer)
21:47:14*Matthias247 joined #nim
21:49:36*gyeates quit (Ping timeout: 272 seconds)
21:53:25*gyeates joined #nim
21:58:27*grncdr joined #nim
22:08:27*aboisvert_ joined #nim
22:10:27*aboisvert quit (Ping timeout: 256 seconds)
22:10:27*aboisvert_ is now known as aboisvert
22:10:58*grncdr1 joined #nim
22:11:41*grncdr quit (Ping timeout: 276 seconds)
22:12:24*saml quit (Quit: Leaving)
22:20:13*ingsoc1 quit (Quit: Leaving.)
22:24:10*BlaXpirit quit (Quit: Quit Konversation)
22:31:50*Kingsquee joined #nim
22:35:23*banister quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
22:35:31*csick quit (Ping timeout: 246 seconds)
22:36:28*buup is now known as buupisaway
22:42:13*filcuc quit (Ping timeout: 264 seconds)
22:45:35*Mat4 joined #nim
22:48:29*QWERTYPASSWORD quit (Quit: Page closed)
22:54:21*brson quit (Quit: leaving)
22:58:15*flaviu joined #nim
22:59:02flaviusomeplace: https://github.com/ekarlso/nim-jwt/blob/master/src/private/hmac.nim
22:59:15flaviuIt uses openssl.
22:59:42filwitisn't cdecl implied by importc?
23:00:34*jjjjjggggg joined #nim
23:02:40*banister joined #nim
23:04:07*gyeates quit (Ping timeout: 265 seconds)
23:06:54flaviuWhat was the story with github and changing the language name?
23:06:55flaviuhttps://github.com/trending?l=nimrod
23:09:29flaviuhttps://github.com/github/linguist/issues/2381
23:13:59*Trustable quit (Remote host closed the connection)
23:15:48*grncdr1 quit (Quit: Leaving.)
23:16:36*dtscode joined #nim
23:17:19*aboisvert quit (Ping timeout: 245 seconds)
23:17:33*aboisvert joined #nim
23:24:57*yglukhov___ quit (Quit: Be back later ...)
23:44:52*Sembei quit (Read error: Connection reset by peer)
23:46:50*Sembei joined #nim
23:48:38*Matthias247 quit (Read error: Connection reset by peer)
23:49:30*Mat4 quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
23:49:50*Matthias247 joined #nim