<< 29-04-2015 >>

00:12:04federico3anybody interested in taking a look? http://paste.debian.net/169766/
00:27:34*gsingh93 quit (Ping timeout: 255 seconds)
00:36:25*aboisvert quit (Quit: aboisvert)
00:36:54*aboisvert joined #nim
00:43:49*aboisvert quit (Quit: aboisvert)
00:43:54*brson quit (Quit: leaving)
00:56:56*gsingh93 joined #nim
01:23:00*vendethiel joined #nim
01:51:17*vendethiel quit (Ping timeout: 248 seconds)
02:10:41*elbow_jason quit (Quit: Leaving)
02:22:29*vendethiel joined #nim
02:29:36*gsingh93 quit (Ping timeout: 265 seconds)
02:34:25*aboisvert joined #nim
02:47:04*vendethiel quit (Ping timeout: 255 seconds)
03:11:15*darkf joined #nim
03:19:46*saml_ quit (Quit: Leaving)
03:20:17*johnsoft quit (Ping timeout: 256 seconds)
03:21:08*johnsoft joined #nim
03:33:25*BitPuffin|osx quit (Ping timeout: 255 seconds)
03:48:17*mnemonikk quit (Ping timeout: 276 seconds)
03:49:03*mnemonikk joined #nim
03:52:48*aboisvert quit (Quit: aboisvert)
03:54:23*gsingh93 joined #nim
04:23:00*yglukhov joined #nim
04:27:57*yglukhov quit (Ping timeout: 276 seconds)
04:33:20*elbow_jason joined #nim
04:40:24*iamd3vil joined #nim
04:41:58*yglukhov joined #nim
04:52:48*iamd3vil quit (Ping timeout: 250 seconds)
05:02:30*banister quit (Read error: Connection reset by peer)
05:05:06*ChrisMAN quit (Ping timeout: 272 seconds)
05:12:25*yglukhov quit (Quit: Be back later ...)
05:12:33*BlaXpirit joined #nim
05:16:28*askatasuna quit (Ping timeout: 255 seconds)
05:50:50*darkf_ joined #nim
05:54:16*darkf quit (Ping timeout: 256 seconds)
06:03:22*vikaton quit (Quit: Connection closed for inactivity)
06:19:18*iamd3vil joined #nim
06:21:26*yglukhov joined #nim
06:32:08*endragor joined #nim
06:42:36*gsingh93 quit (Ping timeout: 264 seconds)
06:45:13*darkf_ is now known as darkf
06:47:38*endragor_ joined #nim
06:48:33*endragor_ quit (Remote host closed the connection)
06:49:01*milosn quit (Ping timeout: 264 seconds)
06:50:29*endragor quit (Ping timeout: 248 seconds)
06:53:36*endragor joined #nim
06:55:20*milosn joined #nim
07:00:36*milosn quit (Ping timeout: 264 seconds)
07:01:26*milosn joined #nim
07:04:27*endragor_ joined #nim
07:08:05*endragor quit (Ping timeout: 256 seconds)
07:13:38*wb joined #nim
07:17:45*HakanD___ joined #nim
07:20:55*endragor_ quit (Remote host closed the connection)
07:31:09*gmpreussner|mobi joined #nim
07:38:14*HakanD____ joined #nim
07:41:56*HakanD___ quit (Ping timeout: 256 seconds)
07:42:05*iamd3vil quit (Ping timeout: 256 seconds)
07:42:09*Trustable joined #nim
07:50:33*gmpreussner|mobi quit (Read error: Connection reset by peer)
07:50:57*gmpreussner|mobi joined #nim
07:59:10*gmpreussner|mobi quit (Read error: Connection reset by peer)
07:59:42*HakanD____ quit (Quit: Lingo: www.lingoirc.com)
08:09:51*johnsoft quit (Ping timeout: 256 seconds)
08:10:43*johnsoft joined #nim
08:11:33*coffeepot joined #nim
08:22:25*endragor joined #nim
08:43:36*silven quit (Ping timeout: 272 seconds)
08:47:50*ingsoc joined #nim
08:58:40*Demon_Fox quit (Quit: Leaving)
09:02:27coffeepotare there any scenarios where deepCopy doesn't work? I really appreciate having such a function even if it isn't performant
09:03:06Araqit doesn't work at compile-time
09:03:21Araqand it doesn't deepCopy 'ptr's because it cannot know how
09:03:32coffeepotwhat about refs inside refs?
09:03:41coffeepotdoes it copy and inc the gcref?
09:03:44Araqwell that's what deepCopy is for
09:03:49coffeepot:D
09:04:40xificurC_reading through generics and nim forums discussing typeclasses I'm not sure I understand completely, so here is a question - could one create something like a haskell monad typeclass? E.g. once a type implements return and bind you could use them as overloaded operators (and possibly use other operators that are defined based on the monad interface, like haskell's >> or join)
09:05:19coffeepotit's nice to have this in the language, so often in languages I have to write my own function to do it by hand per type... or get into some hefty RTTI style stuff. Another hassle removed by nim :)
09:05:51coffeepotbtw, is it performant? I'm assuming I would want to write my own copy func if I was desperate for speed
09:05:54*iamd3vil joined #nim
09:06:52*milosn quit (Ping timeout: 255 seconds)
09:10:47*Ven joined #nim
09:10:56Araqit's performance is reasonable but not outstanding
09:11:00Araq*its
09:11:25coffeepotAraq, that's totally fair enough :)
09:11:30AraqxificurC_: yes I think so
09:11:34coffeepotbtw xificurC_ does this help? https://github.com/superfunc/monad/blob/master/src/monad/maybe.nim
09:14:13xificurC_Araq: cool, anyone done it?
09:14:36AraqI don't think so, 'concept' is very new
09:14:46xificurC_coffeepot: kind of, although this is an implementation of the Maybe monad. What I am looking for is defining the monad typeclass itself
09:14:56Araqalso I cannot see what problem it solves ;-)
09:15:15xificurC_Araq: haskell-like typeclasses?
09:15:32Araqmonads in Nim
09:15:34xificurC_code reuse
09:17:47xificurC_Araq: I agree it's a style preference. I asked about monads because it's a well known typeclass. I think it's nice and clean to have general typeclasses like Eq, Ord, Foldable etc and define procs on top of them
09:18:38*OnO joined #nim
09:18:44coffeepotsuperfunc does say "Looking to define the generic typeclass for them in the near future", so sounds like you're not the only one who's looking at it from a typeclass perspective
09:24:41xificurC_coffeepot: yeah, although Araq might be right and nim probably has different means to get the same results. Still, every language today needs a monad implementation in order to be taken seriously!
09:24:48novistanyone tried using nim with cmake?
09:25:13xificurC_maybe some journal will finally write about nim and monads and it will finally have its place on wikipedia :p
09:25:52Araqthey could also write about lock levels to eliminate deadlocks at compile time ...
09:27:27xificurC_Araq: they could but you need shiny names today like monads, RAII or lambda calculus
09:27:54Triplefoxcall them "nomads", now you have something shiny
09:37:19Araqnovist: yeah I think so but I don't know any results
09:37:42AraqI ignore cmake's existance for Urhonimo. works well.
09:44:47iamd3vilI have a question. I don't have much experience with Compiled languages. I have written a program in Nim and compiled it on a Ubuntu 14.04 amd 64 machine. Can I make the executable such that it can run on RHEL too? I have read the cross compilation in the compilation user guide but I don't get it.
09:45:41AraqI think so but Linux is not particularly strong with binary compatibility
09:46:38iamd3vilWhen I try to run that executable on CentOs 6, it tells me that it cannot find GLibC
09:46:44def-iamd3vil: i don't think that will work because of glibc version difference. You get the same problem with C/C++ programs as well
09:47:07def-iamd3vil: my solution is to use a really old debian version for compilation
09:48:18iamd3vildef-: What version of Debian would you suggest?
09:48:48def-I use Debian 6 and haven't had any complaints yet
09:49:37Araqyou can link statically against libc, I think but it's against its licence
09:49:58def-Araq: i never managed to make that work with glibc, only with musl
09:52:20Araqspeaking of which ... will my "rolling release" distro actually ever fix the X11 crashes I experience or does "rolling release" only mean "timely firefox updates"?
09:55:11def-No idea, they probably have to knwo about your crashes first
09:56:12Araqit's faster for me to install a different distro than to report bugs :P
09:56:43Araqand I don't do that either
10:00:33*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
10:08:49iamd3vilAraq: When there is a crash in Ubuntu, it gives me a prompt to Report the problem. Not sure if that makes any difference.
10:10:28OnOhi Araq - can I have a suggestion!? can we move hints to verbose=2 and reduce source code quoting on error to verbose=1?
10:10:44OnOthis would make nim somehow inline with other compilers, such as gcc/clang
10:10:48OnOruby, python
10:12:49*johnsoft quit (Ping timeout: 256 seconds)
10:13:18*johnsoft joined #nim
10:20:13*Ven joined #nim
10:27:26*vendethiel joined #nim
10:32:35*milosn_ joined #nim
10:32:50*Kingsquee quit (Quit: Konversation terminated!)
10:33:36*banister joined #nim
10:37:21*milosn_ quit (Read error: Connection reset by peer)
10:37:29xificurC_the type declaration options look extremely different to anything I've seen, will take a while to get used to
10:37:57*milosn joined #nim
10:40:26*milosn quit (Read error: Connection reset by peer)
10:40:45*yglukhov quit (Remote host closed the connection)
10:41:59*yglukhov joined #nim
10:42:59*milosn joined #nim
10:45:04*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
10:46:02iamd3vilIs there any module for SSH in Nim? I can't seem to find any.
10:47:56*milosn quit (Read error: Connection reset by peer)
10:48:30*milosn joined #nim
10:51:38*vikaton joined #nim
10:52:34federico3an ssh wrapper or an ssh implementation?
10:53:13*milosn quit (Read error: Connection reset by peer)
10:53:48*milosn joined #nim
10:55:56iamd3vilssh wrapper
10:56:32*milosn quit (Read error: Connection reset by peer)
10:58:50*milosn joined #nim
10:59:47*banister quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
11:04:23*milosn quit (Ping timeout: 256 seconds)
11:04:43*banister joined #nim
11:06:31*milosn joined #nim
11:17:45*bluenote joined #nim
11:17:59*milosn quit (Ping timeout: 256 seconds)
11:19:57*banister quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
11:20:07bluenoteanyone else unable to compile anything with --threads:on using the latest devel version?
11:20:18bluenoteI just want to make sure that my issue is not caused by some error on my side
11:20:38Araqbluenote: works for me
11:21:03bluenoteokay, than I have to look whats wrong here...
11:21:22Araqand a regression at this point would be bad ... I'm building the installers
11:22:45bluenoteWhat I did is pretty much: git pull & ./build.sh on the nim repository
11:23:29bluenoteand compile by: nim c -r --parallelBuild:1 --threads:on helloworld.nim
11:23:51Araqwhat's the error message?
11:24:07bluenoteand I get this ‘__ATOMIC_RELAXED’ undeclared error
11:24:19bluenotehttps://github.com/Araq/Nim/issues/2620
11:25:13Araqbluenote: when did you last update?
11:25:27bluenotethis morning
11:25:43Araqno, I mean when did you do it and it worked?
11:26:38bluenoteabout a week ago maybe
11:26:45*BlaXpirit quit (Quit: Quit Konversation)
11:27:15Araqwell atomics.nim is wrong unless __ATOMIC_RELAXED requires no header file
11:29:24Araqwhich however seems to be the case
11:29:30Araqwhat's your GCC version?
11:29:40Araqalso holy shit, why don't we use this:
11:29:44Araqhttps://gcc.gnu.org/onlinedocs/gcc/Integer-Overflow-Builtins.html#Integer-Overflow-Builtins
11:29:50*milosn joined #nim
11:29:58bluenote4.6.3
11:30:11Araqthat's too old I think
11:30:36bluenoteI should mention: This is the first time I try it on this PC, and a quick check with 0.10 confirms that I also have the issue with the old version
11:30:43bluenoteso it must be something with my system
11:32:19Araqyes, your GCC is too old
11:32:35bluenoteI'm still on Ubuntu 12.04 LTS at work and gcc 4.6.3 is the default
11:33:12bluenotehm, okay
11:33:26Araqwell unfortunately 'old' mostly means 'old' and not 'stable'.
11:35:56Araqwe used to use GCC extensions for the atomic stuff, now we use C11 or something
11:36:17*milosn quit (Read error: Connection reset by peer)
11:36:19Araqwhich is remarkable since we try to support C89 ...
11:36:31bluenotegcc 4.7 would be enough?
11:37:14*milosn joined #nim
11:37:52Araqjust fix atomics.nim to use the old stuff
11:38:04Araq'git log -p ' might tell you how
11:38:13Araqand then submit a patch please
11:40:36*TEttinger quit (Ping timeout: 240 seconds)
11:43:49*milosn quit (Ping timeout: 248 seconds)
11:58:10iamd3vilHow can we check if an item is in a sequence without looping over the sequence and checking each manually?
12:01:54Araqfind?
12:02:02Araqcontains?
12:03:27iamd3vilAraq: Yeah Thanks! Didn't know what to look for.
12:04:28def-Araq: Any idea how long until the release? I'm not sure if I want to wait, but would be nice if people could use a released Nim version
12:04:51AraqI'm building and uploading stuff as we speak
12:04:58def-Great! Then I'll wait
12:06:49bluenoteAraq: I have looked into the old vs new approaches in atomics.nim but since I really have no knowledge of these gcc builtins I will most likely just introduce other bugs...
12:07:12Araqbluenote: we'll review your code ;-)
12:07:50bluenoteis it possible to check for the gcc version in a `when` statement btw?
12:08:00bluenotefor gcc 4.7
12:08:22Araqwhen staticExec("gcc --version").contains("4.7"): ...
12:08:25bluenoteit is probably desired to use the new stuff and fall back to the old enum for older versions, right?
12:09:47Araqright
12:13:59def-Araq: that's problematic when you have gcc.exe set
12:14:37repaxif browserVersion != 6 echo "you need to upgrade to Internet Explorer 6"
12:15:05repaxbluenote..
12:15:22*OnO quit (Quit: My iMac has gone to sleep. ZZZzzz…)
12:17:16federico3a little syslog module: http://paste.debian.net/169885/
12:17:41federico3feedback on coding style (or lack thereof) is welcome :)
12:18:01Araqfederico3: I skimmed it and like it
12:19:13*OnO joined #nim
12:20:14repaxfederico3: Very nice. array256(), and calculate_priority() could be "no-side-effects"
12:20:18federico3should I replace the procs at the end with a macro?
12:21:35repaxfederico3: You output errors to stdout?
12:22:46federico3right, I'll switch to stderr
12:22:58repaxI think it would be nice to return the error condition to the caller
12:23:40Araqrepax: why?
12:23:55Araqthe caller calls the logger, it should already know what it did
12:24:12repaxAraq: would the caller know that it failed?
12:24:32Araqand then do what?
12:24:46federico3being a logging module, it should never raise exceptions or expect error handling from the caller
12:24:49Araqif logging fails you're in serious trouble already
12:25:10repaxThe return value could be discardable
12:25:17federico3yep, and you don't want to make things worse by failing to log that you failed to log...
12:25:21repaxI cannot forsee all situations
12:26:10repaxYou do as you please, of course
12:26:14Araqrepax: KISS and YAGNI
12:26:19federico3repax: I've never seen any logging function being checked for errors, it really makes the application code more complex
12:26:44federico3otoh, maybe I should check if the socket is there when the module is being loaded
12:26:48repaxFine. It's just a general principle I follow when designing APIs
12:27:04federico3in order to print an error immediately rather on the first log
12:27:11repaxbeing discardable doesn't hurt
12:27:23federico3repax: heh, logging/debugging functions are a bit different
12:27:47dom96federico3: Please implement Unix file socket support in net if it is not available. Using the posix module directly is bad.
12:28:48federico3why is it bad? (just curious)
12:30:11dom96It's less safe and the API is too C-like.
12:31:56federico3sure - I had to fight with its C types, and i'd like to have a nim-esque unix socket domain interface
12:32:11federico3but shouldn't it belong to the posix module anyways rather than net?
12:33:23dom96no, the posix module is only a wrapper.
12:35:12federico3I can see that :), but developers could expect to find unix-related stuff in a module named posix and net-related stuff in "net"
12:35:52Araqdevelopers could also be expected to read the documentation
12:36:21repaxfederico3: What's your opinion on logging the intended msg to stderr if sock.connect fails?
12:37:08dom96federico3: Everything that's socket related belongs in net. The module used to be called 'sockets'.
12:37:19dom96Perhaps the new name is not great.
12:37:35*MyMind joined #nim
12:37:51federico3hm, yep, nd maybe the posix module should be renamed?
12:38:16Araqto what? the posix module is a wrapper for posix. the name is perfect.
12:38:49repaxIndeed. Not every system is posix
12:40:33*Sembei quit (Ping timeout: 250 seconds)
12:41:13federico3Araq: a posix module that provides convenient Nim-esque interfaces and a "_posix" one that contains low-lever wrappers
12:41:59federico3or "raw_posix"
12:42:31dom96We don't have time to write and maintain those in the stdlib
12:42:32Araqfederico3: I'd prefer poonix.nim and somewhat_better_poonix.nim
12:42:51Araq;-)
12:42:58dom96I prefer we focus on abstractions which are multi-platform.
12:47:16xificurC_I have nim in my path yet when I run nimble install nimsuggest it can't find the compiler. Where does it look?
12:51:26AraqxificurC_: we don't know
12:51:54*mpthrapp joined #nim
12:52:19federico3dom96: then the unix socket support inside the net module would not be multi-platform (well, it's probably acceptable)
12:52:44dom96yeah, it's fine.
12:52:45Araqfederico3: it's already in the enum anyway I think
12:53:32federico3huh, 'calculate_priority' can have side effects
12:55:07Araqfederico3: facility_names is a global
12:55:38federico3yep, but it is static
12:55:43Araqnope
12:55:48Araqlet vs const
12:55:49federico3does reading a global count as a side effect?
12:55:53Araqyes
12:56:30federico3hm, I see - should I do .toTable overey call to calculate_priority then?
12:57:01Araqreplace the 'let severity_names' etc by 'const'
12:57:06Araqbut this only works with devel
13:01:41*ir2ivps10 quit (Ping timeout: 248 seconds)
13:02:00*reactormonk quit (Ping timeout: 272 seconds)
13:02:18*BitPuffin joined #nim
13:05:40xificurC_how come you don't know? :o Looking at nimble's source code it would seem it searches for dependent packages in its .nimble dir. It's looking for the compiler there but I installed it from source at a separate place. Then it tries to download and build it and fails :(
13:06:47*BitPuffin quit (Ping timeout: 256 seconds)
13:06:59*BitPuffin joined #nim
13:09:41*iamd3vil quit (Remote host closed the connection)
13:10:50AraqxificurC_: I don't install nimsuggest. I hatched it.
13:12:07xificurC_Araq: well I don't install it either, since it doesn't work :)
13:12:22Araqcd compiler/nimsuggest
13:12:29Araqnim c -d:release nimsuggest.nim
13:12:35dom96hrm
13:12:38Araqcp nimsuggest ../../bin
13:12:48dom96any chance we could get nimsuggest installable via nimble before the release?
13:13:01dom96doing what you describe Araq is really irritating.
13:13:25*HakanD joined #nim
13:13:29Araqit used to be less confusing but I merged a PR that made it worse
13:14:03dom96Could you fix https://github.com/nim-lang/nimsuggest please?
13:14:17bluenoteAraq: I managed to get rid of the __ATOMIC_RELAXED undeclared but now the problem is that all the procs (like atomic_add_fetch etc) reference an undeclared identifiers
13:15:09bluenoteI currently don't see how this should compile on gcc 4.6 at all
13:16:02xificurC_ah, so it doesn't work through nimble, so it's not just me
13:16:10bluenoteI tried several older version but I could not get them to work
13:16:13Araqbluenote: just add these things to your bug report, I'll fix them in time
13:16:47bluenoteokay, I'll do my best...
13:18:30Araqdom96: I dunno how to fix nimsuggest for nimble
13:18:52Araqas I don't know how '$nim/compiler' can work on unix
13:19:30dom96nimsuggest for Nimble should use the compiler nimble package
13:19:51Araqtrue
13:21:09*repax quit (Read error: Connection reset by peer)
13:25:40dom96please fix it
13:26:05Araqplease you do it
13:26:26AraqI'm not sitting around on my ass doin' nothing to get this release out
13:27:07Araqit's a nimble package anyway
13:27:17Araqcan update it independently from everything else
13:27:24*askatasuna joined #nim
13:31:04Araqbtw do we have 64bit versions of the DLLs Nimble needs?
13:31:56*ir2ivps10 joined #nim
13:32:22Araq"nim_debug" has its own icon?
13:54:43federico3PR #2621 sent
13:58:26Araqfederico3: thanks but we prefer Nimble packages :-)
13:58:34*vendethiel quit (Ping timeout: 245 seconds)
13:59:08Araqputting it into the stdlib means you like to pass maintainance over to us
14:01:43*coffeepot left #nim (#nim)
14:02:05*coffeepot joined #nim
14:05:35federico3I'll be happy to maintain it while it's in the stdlib (and I don't expect significant amounts of work required) as syslog seems to be a quite basic requirement
14:06:21federico3but if you really don't want it in the stdlib I'll set up a GH repo
14:06:24Araqok, but then it should also work on windows :P
14:06:43xificurC_ok I read source code, tried on my own but didn't get anywhere - how does nimsuggest work? I have a file helloworld.nim where line 3 says 'typ' and I wanted to get a suggestion like 'type'. So I fired up 'nimsuggest --stdin helloworld.nim' and then wrote 'sug helloworld.nim:3:3'. All I get is 'undeclared identifier: typ'
14:07:09federico3erhm, syslog on windows?
14:08:01AraqxificurC_: suggest doesn't autocomplete words for you. it tells you what after a '.' can follow
14:09:08*Ven joined #nim
14:09:36AraqOnO: nimsuggest still uses 0-based columns I think ... yay
14:09:38xificurC_Araq: that solves that mystery. A little documentation would help :(
14:12:36*darkf quit (Quit: Leaving)
14:13:35*vendethiel joined #nim
14:15:31*milosn joined #nim
14:23:49*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
14:35:32*Strikecarl joined #nim
14:36:05StrikecarlHow do i use an array while building a proc?
14:36:17Strikecarleg this doesn't work: proc stuff*(x: array) =
14:36:19Strikecarlnor does (array)
14:36:33Strikecarlhow do i tell it, that it is going to get fed arrays?
14:37:29*vendethiel quit (Ping timeout: 265 seconds)
14:37:38Araqproc stuff*(x: openArray[int]) ?
14:38:32StrikecarlThanks!
14:38:37*BlaXpirit joined #nim
14:38:50Strikecarlthen i just replace int with string i were to use strings?
14:39:02Araqyes
14:39:36StrikecarlWorking on the calculator, and i was wondering if there was a way to like, let's say theres an array with 1, 2, 2
14:39:51Strikecarland i want it to say what number is in the array the most?
14:40:04StrikecarlNot the best at english but in Danish it's called "Hyppighed"
14:40:23Strikecarlnvm, it's called frequency in english :d
14:41:32Araqcan you drink heavy water?
14:41:49Strikecarl:c
14:41:55StrikecarlWell, if i wanted to, yes.
14:42:10AraqI wonder how it tastes
14:43:34bluenote@Strikecarl: I think you want a "count table" http://nim-lang.org/tables.html
14:44:05*vendethiel joined #nim
14:46:05Strikecarlty
14:50:09coffeepotyou can drink heavy water and apparently it doesn't taste of anything - just in case anyone else was wondering :3
14:50:22coffeepot... just sayin'
14:51:37*askatasuna quit (Quit: WeeChat 1.1.1)
14:54:05bluenoteI came about something strange and don't really know what kind of bug I'm facing here. In case anyone might want to take a look: https://gist.github.com/bluenote10/fc7907f2538606912799
14:54:35bluenoteThe strange thing is that depending on whether I use the tuple[] notation or the tuple notation with indentation the result changes
14:57:07bluenotein one case the TChannel simply never receives anything, in the other I get SIGSEGV: Illegal storage access
14:58:32Araqbluenote: Nim is not Go. this doesn't work for lots of reasons. use 'spawn' instead.
14:59:43bluenoteI teached us in the forum: TChannel + spawn is bad, and I need a TChannel (and I don't want to rely on the availabilty of the thread pool in this case)
15:00:50bluenotenot I, you :)
15:01:19Araquse TThread and TChannel then, but don't make them local vars
15:01:49Araqin other words, these need to be global, you don't want their memory to be released when the stack frame disappears
15:02:10bluenotebut this will not allow to have multiple instances then?
15:02:45Araqdepends on how you setup this thing
15:03:03Araqusually the thread lives forever and listens to the channel
15:03:22Araqso you can pass as many tasks as you like to it
15:07:14bluenotehm, I don't see it. I want this spawnBackgroundJob to be fully generic and allow to run arbitrary iterators each in its own thread
15:07:50bluenoteif I use globals for the thread/channel I have to introduce some kind of maximum number?
15:09:01*repax joined #nim
15:09:22Araqthat's the nature of a thread pool, yes
15:10:25Araqwhat you want is not reasonable. you want a generic thread per stuff. well that's what a TThread already is
15:10:31*Strikecarl quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
15:12:25bluenoteis it actually possible to eliminate such bugs at compile time? if this is not supposed to work like that it would be best if it fails in the first place? to me the code looks 100% reasonable
15:13:57bluenoteimho it is one of the most frustrating things to have code which compiles and looks reasonable but is still "wrong"
15:20:52Araqyeah but it's effort and I don't put effort into this "I like to re-invent threadpool but cannot be bothered to know about the low level"
15:22:55bluenotebut I do not want to re-invent thread pool, because my goal is precisely to _avoid_ any fixed maximum of the number of threads
15:23:12bluenoteam I missing something, and there is a much easier solution to this?
15:23:36bluenoteI really struggle in Nim when it comes to inter-thread communication...
15:23:44Araqbut _nobody_ does this. threads are kinda expensive
15:24:43bluenote?
15:25:46bluenoteI think there are a lots of use cases for having more low-priority than CPUs simply if it facilitates the logical partioning of a problem
15:26:13bluenoteI have seen many applications running 50
15:26:24bluenote+ threads, mainly idling, for whatever reasons
15:28:20*ChrisMAN joined #nim
15:28:34*pafmaf joined #nim
15:45:31*bluenote quit (Ping timeout: 246 seconds)
15:51:34dom96Araq: I don't know how to fix it.
15:57:49*yglukhov quit (Quit: Be back later ...)
16:12:17Araqhow is 50 threads impossible with a thread pool?
16:18:12*gsingh93 joined #nim
16:30:27*HakanD quit (Quit: Be back later ...)
16:31:26*coffeepot quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
16:38:09*endragor quit (Ping timeout: 256 seconds)
16:42:25*bluenote joined #nim
16:45:03elbowWith just two commits today Araq's "Contributions in the last year" will be 1337. Lets make that happen please.
16:46:26*elbow is now known as elbow_jason2
16:46:32bluenote@Araq: Well, my point is: A thread pool typically has a fixed thread limit N and it is possible that a thread does not start because there are already N running threads.
16:47:15bluenoteAlso, I would not mind to use the thread pool in my case, but I guess I simply can't if I want to use a TChannel?
16:47:32Araqbluenote: fix the threadpool ;-)
16:47:55bluenote:)
16:48:44*jholland joined #nim
16:49:00Araqelbow_jason2 release today means I'll make 1 commit at least
16:49:10AraqI can split it up int 2 commits for you
16:49:16elbow_jason2Yussssss!!!
16:49:35Araqbut how does it affect the number of commits last year?
16:50:40Araqand the Fine-structure constant is 1/137; not 1/1337
16:50:48elbow_jason2lol
16:51:14elbow_jason2http://www.urbandictionary.com/define.php?term=1337
16:51:45AraqI see
16:53:07elbow_jason2TIL about the Fine-structure constant...
16:54:08Araqit's one of those numbers you send to aliens so they recognize we're an intelligent species
16:56:33Araq"bang, bang, baby, these guys know about quantum mechanics"
16:57:26elbow_jason2lol
16:57:44*endragor joined #nim
16:59:09*endragor quit (Remote host closed the connection)
17:01:14*gsingh93 quit (Ping timeout: 256 seconds)
17:02:31*BitPuffin quit (Ping timeout: 256 seconds)
17:02:36*itPuffinB joined #nim
17:03:50*tPuffinBi joined #nim
17:07:19*itPuffinB quit (Ping timeout: 265 seconds)
17:09:15*tPuffinBi quit (Ping timeout: 265 seconds)
17:21:49*MightyJoe joined #nim
17:23:29*cyraxjoe quit (Ping timeout: 256 seconds)
17:31:48*filcuc joined #nim
17:33:43*yglukhov joined #nim
17:40:33*silven joined #nim
17:45:37*wb quit (Ping timeout: 250 seconds)
17:49:09*banister joined #nim
17:49:14*banister quit (Max SendQ exceeded)
17:53:14*filcuc quit (Ping timeout: 250 seconds)
17:55:32*pregressive joined #nim
17:56:04Araqhttp://nim-lang.org/download/nim-0.11.0.tar.gz
17:56:19Araqtest it please
17:56:47*Jesin quit (Quit: Leaving)
18:00:56def-Araq: intentional that all files are executable?
18:01:19Araqno
18:01:25Araq-.-
18:01:27*Jesin joined #nim
18:01:37Araqso how do generate a tar.gz that doesn't do that?
18:01:46Araqmaybe I should stick to .zip
18:01:54def-a tar never did that for me. what OS do you create it on?
18:02:01Araqwindows
18:02:10Araqgenerating it via 7z
18:05:55def-No idea how to create it properly on Windows. Is there even an executable bit on Windows?. I think it's a good idea to provide a tar.gz
18:06:10*wb joined #nim
18:06:12Araqno, there isn't.
18:07:35*Jesin quit (Quit: Leaving)
18:09:14*Jesin joined #nim
18:10:05*Jesin quit (Read error: Connection reset by peer)
18:10:30def-Araq: Maybe we could add make as a parallel alternative to the install instructions in install.txt and web/download.txt (but I see you changed something in there already)
18:11:15Araqno. the last thing we need is *more* options of how to install this piece of software
18:11:47Araqhttp://nim-lang.org/download/nim-0.11.0.zip does that have the same problem?
18:13:53def-links are still with nim-0.10.2 name in web/download.txt
18:14:08BlaXpiritdef-, i think there was no actual release yet
18:15:47Araqno he means the .txt in the zip
18:16:01def-Araq: are the tests supposed to run? nim-0.11.0/tests/testament/htmlgen.nim(26, 22) Error: cannot open 'css/boilerplate.css'
18:16:02*Jesin joined #nim
18:16:07BlaXpiritoh
18:16:28Araqouch
18:16:54def-Araq: it has the opposite problem: no executable bits anywhere
18:17:15Araqthat's good, there are no executables there
18:18:00*HakanD joined #nim
18:18:03def-It's custom to run shell scripts with ./build.sh. I know people run into that not working as the first thing when trying Nim
18:18:29AraqI know chmod +x is *very* common in unix land
18:18:54Araqso please stop pretending it isn't
18:19:31def-only when you write your own script. I don't think I ever downloaded some source and had to set +x
18:24:58def-Also, many of my tests fail to compile now, for example: https://github.com/def-/nim-unsorted/blob/master/avglooplength.nim
18:25:52*brson joined #nim
18:25:59Araqer ... what's the error message?
18:26:17def-nimcache/avglooplength.c:34:1: error: expected specifier-qualifier-list before numeric constant
18:26:19*keypusher joined #nim
18:26:21def- 0 Field3;
18:26:30Araqhuh?
18:26:49def-caused by 26eae7d00e73c65670775091bad8bfd796b3e1f1
18:28:53*Jesin quit (Quit: Leaving)
18:29:32Araqworks for me
18:30:14*key_ quit (Ping timeout: 245 seconds)
18:31:22def-It should be "NimStringDesc* Field3"
18:32:36*pafmaf quit (Quit: Verlassend)
18:33:25def-Oh, that's probably some bug because of my strfmt version
18:35:21*Jesin joined #nim
18:36:21def-Not exactly minimal, but this should reproduce the crash: https://gist.github.com/def-/2a35639d21c988775776
18:44:46*Arrrrrrrrr joined #nim
18:47:25ArrrrrrrrrHello there. Does it exist any openal wrapping for Nim ?
18:47:28Araqok can reproduce. yay.
18:47:38Arrrrrrrrr*wrapper
18:50:21def-Arrrrrrrrr: Haven't seen OpenAL. SDL2 works fine for graphics and audio for me
18:52:59ArrrrrrrrrHmm, im not used to sdl, but i have no alternative ... Thank you def-
18:53:44def-Arrrrrrrrr: there's also https://bitbucket.org/BitPuffin/nim-portaudio and https://github.com/EXetoC/nim-ao
18:53:52*banister joined #nim
18:56:25*gsingh93 joined #nim
18:57:20ArrrrrrrrrNice, i'll check them.
19:05:46Araqdef-: that's 'nil' in a tuple. any other regressions you can see?
19:06:39*OnO quit (Quit: My iMac has gone to sleep. ZZZzzz…)
19:14:08*Rastor joined #nim
19:22:50def-Araq: haven't found any others yet. koch web fails with "Error: internal error: (filename: compiler/semfold.nim, line: 253)"
19:23:34def-Hm, or that's my fault because I built it with the wrong nim binary
19:23:44Araqworks for me ...
19:24:08def-Building the nim-0.11.0 web with the devel Nim binary doesn't work
19:24:42def-nim doc2 --hint[Conf]:off --hint[Path]:off --hint[Processing]:off --putenv:nimversion=0.10.3 --docSeeSrcUrl:https://github.com/Araq/Nim/tree/master/lib -o:web/upload/system.html --index:on lib/system.nim
19:26:22*Matthias247 joined #nim
19:29:13def-Araq: nim c --parallelBuild:1 --debugger:on tools/nimgrep.nim has been failing for a few days
19:29:47Araqyeah but that's just nim's stupid debugger
19:29:55Araqdidn't care much about it
19:30:48*TEttinger joined #nim
19:36:10*bluenote quit (Ping timeout: 246 seconds)
19:36:53*filcuc joined #nim
19:37:47*Arrrrrrrrr quit (Quit: Page closed)
19:38:34*Jesin quit (Ping timeout: 252 seconds)
19:40:19*Kingsquee joined #nim
19:45:15*Jesin joined #nim
19:50:57*BitPuffin|osx joined #nim
20:03:00*filcuc quit (Ping timeout: 264 seconds)
20:17:39*ingsoc quit (Quit: Leaving.)
20:17:56*ingsoc joined #nim
20:20:11*ingsoc quit (Client Quit)
20:28:58*filcuc joined #nim
20:42:34Araqdef-: uploaded a new .zip. please test
20:50:49def-Araq: tests still don't run
20:50:58Araqwhy not?
20:51:16def-same error as before: nim-0.11.0/tests/testament/htmlgen.nim(26, 22) Error: cannot open 'css/boilerplate.css'
20:51:27Araqhrm
20:52:13Araqtrue these are still missing
20:53:15*HakanD quit (Quit: Be back later ...)
20:54:00def-and the gist from before still doesn't compile
20:54:02def-(same error too)
20:57:50dom96ooh, how's the release going?
20:58:44Araqthe gist works for me, I even added it as a testcase!
20:59:10Araqoh wait, never mind
21:03:15*mpthrapp quit (Remote host closed the connection)
21:10:47Araqwell try again please
21:19:37def-I'm also wondering why the zip is 20 MB, tar.xz is 4 MB
21:20:55renesacdef- tweak the dictionary size for the xz file
21:21:11def-renesac: no idea how. why?
21:21:11renesaczip uses a 32kb window
21:21:26renesacthat is probably from where most of the difference come from
21:21:47Araqthe zip is 28MB, the tar is 25MB
21:21:58filwitnew release today?
21:22:05renesacoh, and xz might be using some filter for executable content
21:22:09filwitsounds exciting :)
21:22:11renesacthat makes it compress better
21:22:27renesacdecompressed they are the same size, right?
21:23:55Araqfilwit: yeah but it's not going too well
21:24:18filwitbugs?
21:24:24def-Araq: unidecode/unidecode.dat is missing
21:24:29filwitjust got here, i'll take a look at logs
21:24:58Araqdef-: I don't care. the tests only need to run
21:25:30def-Araq: then how do you use the unidecode module?
21:25:34dom96how are the tests not running? Isn't the build farm testing this?
21:25:37Araqunidecode shouldn't be in the stdlib anyway
21:25:48Araqdom96: the installers now ship with the tests
21:26:07Araqfor reasons I don't agree with.
21:27:43dom96Araq: Should have used your BDFL veto power
21:27:57dom96Araq: want me to test it?
21:28:27*BlaXpirit quit (Quit: Quit Konversation)
21:28:35Araqtest this please: http://nim-lang.org/download/nim-0.11.0_x64.exe
21:28:46*pidg joined #nim
21:29:00dom96404
21:29:16Araqtest this please: http://nim-lang.org/download/nim_0.11.0_x64.exe
21:29:39def-Araq: tests/template/sunset.tmpl also missing
21:31:25dom96why is the default installation dir C:/Nim?
21:31:50Araqdunno but it was this for the last release too
21:32:02dom96can you change it please?
21:32:33Araqno.
21:33:08def-Araq: and all the .cfg files in tests/ are missing, which causes many tests to fail
21:33:49dom96where does it install Aporia to?
21:34:04Araqdom96: try it out
21:34:10dom96I did
21:34:16dom96I don't know where it installed it
21:34:24Araqdist/aporia
21:36:08Araqit should create a shortcut to that
21:36:41dom96ok cool
21:39:20dom96well it works
21:39:38dom96Why is Nimble not an option?
21:39:47Araqit's always shipped
21:40:02Araqit's 500KB
21:40:12Araqor something
21:40:16dom96I don't see it
21:41:52dom96I like the links to the docs in the start menu
21:42:56*vikaton quit ()
21:43:12Araqoh ffs
21:43:20Araqwhy is it missing?
21:43:51dom96now you may as well change the default file path ;)
21:44:21Araqno, the default is stupid with spaces in the path
21:44:39dom96no, it's not.
21:44:45dom96The default is where all applications go.
21:44:55dom96I don't want stupid crap on my C partition.
21:45:22Araqfine but you test it
21:45:27dom96I will
21:45:57filwitwell this kinda sucks.. looks like my internet will be down tonight and most of tomorrow probably... bad timing
21:46:55dom96Maybe i'll even test it on Windows 10
21:47:49*yglukhov quit (Quit: Be back later ...)
21:48:46dom96We also need to write a quick release summary.
21:49:18*Jesin quit (Quit: Leaving)
21:50:54*filcuc quit (Quit: Konversation terminated!)
21:51:25*Jesin joined #nim
21:53:43*Rastor quit (Ping timeout: 246 seconds)
21:56:31dom96Araq: What would you say are the most important changes since 0.10.2?
21:57:04Araq'generic' has been renamed to 'concept' and works better, though not perfectly yet
21:57:18Araqnegative slicing is gone
21:59:13Araqmarshal is usable at compile-time
21:59:36Araqoverloading of the assignment operator has been implemented
21:59:50*Trustable quit (Quit: Leaving)
22:06:33*silven quit (Read error: Connection reset by peer)
22:06:40*silven joined #nim
22:07:17*pregressive quit ()
22:07:26renesacmany compilers install on C;/ because MinGW is usually really retarded regarding spaces in the path
22:08:11dom96I install everything to C:/Programs anyway
22:26:19*Jehan_ joined #nim
22:31:31*pidg quit (Quit: Page closed)
22:33:48AraqJehan_: can you please download http://nim-lang.org/download/nim-0.11.0.zip and confirm it works on mac?
22:34:10Jehan_Araq: Sure, second.
22:34:33*silven quit (Ping timeout: 265 seconds)
22:36:47Jehan_Seems to compile and run.
22:37:01Jehan_There are some errors for some tests, not sure if they are expected.
22:37:33Araqyeah, pretty much they are
22:37:54Jehan_But most tests run.
22:38:24Araqgood
22:39:05Jehan_Oh, I've run into an issue with a stack overflow for the cycle checker for the refc GC.
22:39:29Jehan_Basically, when you have a very long list, it recurses along that and eventually crashes.
22:39:38Araqyeah it's been reported
22:39:40Jehan_Very long means >= 500 items.
22:39:44Jehan_Okies.
22:40:00Araqour recursion limit is a bit overly strict ;-)
22:40:33Araqbut it's not critical, turn of line tracing and it disappears
22:41:17Jehan_Yeah. Or just raise it. :)
22:41:36Jehan_In the long term, it'd be nice to have a non-recursive implementation.
22:41:43Araqthe real fix is to make the GC non-recursive again
22:41:55Araqit used to be iirc
22:43:13Jehan_Speaking of that, it'd be nice to be able to turn off checks and such for the GC only.
22:43:27Araq.push and .pop?
22:44:02Jehan_Yeah, like that.
22:44:34Jehan_when defined(fastGC): {.push … .} or something like that.
22:45:51Araqaye
22:50:30*vendethiel quit (Ping timeout: 265 seconds)
22:53:03*vendethiel joined #nim
22:54:52*elbow_jason quit (Ping timeout: 255 seconds)
22:58:23*Matthias247 quit (Read error: Connection reset by peer)
23:08:41def-Araq: another problem with the tester: you need to have the compiler package installed with nimble. Otherwise you get: tests/testament/tester.nim(15, 22) Error: cannot open 'compiler/nodejs'
23:09:29Araq*shrug*
23:09:56Araqit's not like we're advertising that the tests now come with the installation
23:10:19*Jesin quit (Quit: Leaving)
23:10:29Araqthe tester also uses an sqlite database
23:10:52*zama quit (Ping timeout: 250 seconds)
23:12:48*zama joined #nim
23:13:24*Jesin joined #nim
23:13:59*vendethiel quit (Ping timeout: 245 seconds)
23:15:05def-ah, that's fixed by another config we're missing
23:19:38*Jesin quit (Quit: Leaving)
23:22:04*Jesin joined #nim
23:25:11*Jesin quit (Client Quit)
23:27:51*gsingh93 quit (Ping timeout: 256 seconds)
23:27:58*Jesin joined #nim
23:29:54*Jesin quit (Remote host closed the connection)
23:30:14*Jesin joined #nim
23:35:02*Jesin quit (Client Quit)
23:35:26*Jesin joined #nim
23:37:09Araqanyway the release is here: http://nim-lang.org/0.11.0/
23:37:15*vendethiel joined #nim
23:37:38AraqI will redirect the main site when you guys think everything is good enough.
23:37:50Araqso feedback appreciated. Good night.
23:39:19*Jesin quit (Client Quit)
23:39:35*Jesin joined #nim
23:40:08*Jesin quit (Remote host closed the connection)
23:40:27*Jesin joined #nim
23:41:11filwitinteresting, so now with typed/untyped we can determine symbol resolution on a per-param basis eh? very cool.
23:41:59filwitlooks like I need to add those typenames to Aporia's syntax highlighting
23:42:10filwit(given they are not PascalCase)
23:43:16*boydgreenfield joined #nim
23:44:39boydgreenfieldDoes anybody know why `nimble update` is failing recently? Error message is Downloading package list from https://github.com/nim-lang/packages/raw/master/packages.json
23:44:40boydgreenfieldError: unhandled exception: 404 Not Found [HttpRequestError]
23:44:56boydgreenfield(that file exists, and redirects, but `nimble update <file>` also fails)
23:45:10boydgreenfield(This is nimble v0.6.0 - latest tag)
23:51:45def-boydgreenfield: i saw that sometimes as well and just assumed it's github acting up
23:52:41boydgreenfielddef-: Ah, shoot. Breaking all of my tests that aren’t cached (`nimble update` being called)
23:53:25boydgreenfielddef-: Though that doens’t make sense since it loads file in the browser. Let me see if it’s SSL related...
23:59:55boydgreenfielddom96: Looking into this a bit, but looks like SSL related (just saw similar commentary on an issue). Have you noticed anything? Obviously this is related to some kind of update on Github’s end as well (new certs or similar maybe)