<< 01-03-2015 >>

00:00:06a5iits runs
00:00:34*reem quit (Remote host closed the connection)
00:00:49flaviua5i: Check your path again then.
00:00:49a5iw/e chcp is
00:01:09*sillesta joined #nim
00:01:19a5inimble is at C:\Users\202378\.nimble
00:01:29a5iNim is at C:\Nim
00:01:42BlaXpirit_ok so?
00:02:01a5inimble isnt a command :(
00:02:40*reem joined #nim
00:03:55BlaXpirit_a5i, there needs to be "SERPROFILE%\.nimble\bin" in PATH https://www.java.com/en/download/help/path.xml
00:04:05*epichero joined #nim
00:04:17BlaXpirit_"%USERPROFILE%\.nimble\bin" IRC substitution happened?
00:11:11*reem quit (Remote host closed the connection)
00:11:18a5ithanks got it to work
00:15:13a5idoes Unsatisfied dependency: nim (>= 0.10.3) mean it didnt work?
00:15:32BlaXpirit_no
00:15:44BlaXpirit_you're probably talking about nim-random
00:15:53BlaXpirit_it doesn't work with 0.10.2, which is the latest release
00:15:55a5iYeah I am
00:15:59a5iO
00:16:04BlaXpirit_only works with the fixes made *after* the release
00:20:57a5iI see
00:21:13a5iany other way to get a random integer?
00:21:44flaviu.eval var data: array[32, char]; discard open("/dev/urandom").readChars(data, 0, 32); echo data;
00:21:48Mimbusflaviu: 倒/C ﳀ
00:21:50flaviubut that doesn't work on windows.
00:22:33a5i:(
00:24:24dom96a5i: use the math module
00:24:29dom96a5i: it has a random proc
00:24:34a5idocs?
00:24:55flaviua5i: http://nim-lang.org/lib.html#math-libraries
00:25:00dom96http://nim-lang.org/math.html
00:25:01a5ithanks
00:25:29flaviuPlease note that "return 4" is a valid implementation of that function. It provides no guarantees.
00:26:06a5iso is it a simple import math?
00:26:31flaviuyep.
00:26:43flaviu.eval import math; echo(random(5))
00:26:46Mimbusflaviu: 3
00:27:12a5iw0w
00:27:28BlaXpirit_.eval import math; echo(random(5))
00:27:31MimbusBlaXpirit_: 3
00:29:39BlaXpirit_I should've done this a long time ago
00:29:48BlaXpirit_provide an alternative version for old compiler
00:30:19flaviuBlaXpirit_: Another possibility is to bug Araq to do weekly releases.
00:30:30BlaXpirit_at least quarterly!!!!
00:30:48BlaXpirit_but yeah, frequent windows builds are important
00:30:58BlaXpirit_even if you don't want to call it a release
00:32:37VarriountBlaXpirit_: Actually, that's something to bug me about, since the buildbots are able to do that.
00:32:47BlaXpirit_Varriount, bugbugbug
00:32:50BlaXpirit_...
00:33:13flaviuVarriount: But I think that Araq should sign off on the idea before actually releasing anything.
00:33:59*reem joined #nim
00:34:58BlaXpirit_can someone tell me how to install from a branch with nimble?
00:35:14BlaXpirit_what's the syntax? is it @#branchname ?
00:35:43BlaXpirit_yeah, yeah, it is
00:36:23*reem quit (Remote host closed the connection)
00:38:39a5i.eval var a = ""; var t = "hello"; a &= t[1]; echo a
00:38:42Mimbusa5i: eval.nim(5, 2) Error: type mismatch: got (string, char)
00:39:54*reem joined #nim
00:41:17BlaXpirit_a5i, https://github.com/BlaXpirit/nim-random/tree/old-compiler :|
00:44:10*Trustable quit (Remote host closed the connection)
00:47:04OderWatWould somebody please test this on windows and linux? https://github.com/Araq/Nim/pull/2238 (my fix for readAll(stdin) on osx #2228)
00:48:28*reem quit (Remote host closed the connection)
00:50:31*TEttinger quit (Ping timeout: 255 seconds)
00:53:25a5ihow can I concat a char into a string?
00:54:59BlaXpirit_.eval var a = "abc"; var t = "def"; a &= $t[1]; echo a
00:55:02MimbusBlaXpirit_: abce
00:55:23BlaXpirit_$ turned char to string
00:55:29a5iOh!
00:56:03*akiradeveloper joined #nim
00:56:03akiradeveloperHello, is this code possible?
00:56:03akiradeveloperhttps://gist.github.com/akiradeveloper/28d26f31b2bb4072df23
00:56:43akiradeveloperit cannot be compiled. no workaround?
00:56:49a5iIllegal storage access ?
00:57:37BlaXpirit_akiradeveloper, why do you think you need this
00:57:44akiradeveloperI don't like library user to directly touch the type internal
00:57:45BlaXpirit_just use 1 proc with case inside
00:57:59BlaXpirit_oh i'm a dummy nevermind
00:58:04BlaXpirit_no, this is not possible
00:58:11a5ihttps://www.irccloud.com/pastebin/NfAIcz4t
00:58:43BlaXpirit_definitely not possible, because you can't have different function return type depending on the current value!
00:59:54BlaXpirit_akiradeveloper, stop dreaming and https://github.com/Araq/Nim/blob/master/lib/pure/json.nim#L517 :|
01:00:22a5ican anyone help me with this weird error ? :S
01:00:36akiradeveloperok. if I use the same name for the internal variables (e.g. a->v b->v) that would be great
01:00:53BlaXpirit_no, it wouldn't..
01:01:33akiradeveloperthis is mine https://github.com/akiradeveloper/msgpack-nim/blob/master/msgpack.nim
01:02:13a5i:(
01:02:35akiradevelopermsgpack library is very similar to json
01:03:25BlaXpirit_and if there is nothing clever for this in json...
01:03:32a5ihere
01:03:34BlaXpirit_and i asked people for this too
01:03:37a5ihttps://www.irccloud.com/pastebin/30pVt8u3
01:03:45a5ierror makes n0 senseee
01:04:19BlaXpirit_a5i, text is nil
01:05:34BlaXpirit_need to have var text = ""
01:06:33BlaXpirit_and maybe you didn't notice, but i fixed up that random library so you can try it nimble install random@#old-compiler
01:08:07BlaXpirit_a5i, then your code would be https://bpaste.net/show/9d5851b5e7e6
01:09:36*BlaXpirit_ quit (Quit: Quit Konversation)
01:09:56a5iI see
01:10:48a5iyeah Math.random is a one random thing...
01:10:58a5iI mean random()
01:11:13*reem joined #nim
01:15:53*reem quit (Remote host closed the connection)
01:24:16*epichero quit ()
01:31:37*pregressive quit (Remote host closed the connection)
01:39:40*pregressive joined #nim
01:56:45*mpthrapp joined #nim
01:59:47mpthrappI'm having some issues getting Nim installed on Ubuntu 14.10. I'm following the instructions on the main github page, but when I go to install with .koch install /usr/local/bin it tells me that tools/niminst/nimcache/libzip_all.o doesn't exist.
02:00:32mpthrappI went into the directory, and it does not in fact exist. There's a stdlib_libzip_all.crc, but that's the closest one.
02:02:15*chemist69_ joined #nim
02:03:11flaviuThis isn't really helpful, but it's bad hygiene to install non-packages into /
02:04:14mpthrappOh? I just switched to Linux from Windows yeserday, so I don't know the best procedures yet. :P Should I install it into Eg. /bin/nim?
02:04:15*elbow_jason joined #nim
02:05:21*chemist69 quit (Ping timeout: 250 seconds)
02:05:29mpthrappAnd if so, will it still alias correctly such that I can do nim c in term without specifying path?
02:08:09*TEttinger joined #nim
02:11:51*reem joined #nim
02:12:09*darkf joined #nim
02:14:00*reem quit (Remote host closed the connection)
02:14:45flaviuSorry, stepped away.
02:15:06flaviuby "/", I mean anything but /tmp, /home, /media.
02:16:12*reem joined #nim
02:16:20flaviuI personally keep nim in a directory in my ~, and have a bit in my bashrc (my setup really is a bit more complicated, but w/e) to add nim's bin dir to to my path.
02:16:54flaviuthat way I can just cd in every so often, clone from Araq/Nim, ./koch boot, and get the latest nim.
02:26:09*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
02:28:54*bjz joined #nim
02:31:52*Maxdamantus wonders if this is desirable: https://github.com/Maxdamantus/Nim/commit/3be296e3f998f11fd21e72df16af8ee4ab0ef2fe
02:38:49*akiradeveloper quit (Remote host closed the connection)
02:42:21*pregressive quit (Remote host closed the connection)
02:42:29flaviuMaxdamantus: Sure, that sounds great.
02:43:13flaviuYou may have missed a few other places you need to update (macros come to mind), but send it as a PR and Araq can decide if he wants to merge it.
02:43:48*pregressive joined #nim
02:53:53*TEttinger quit (Ping timeout: 250 seconds)
02:55:25*reem quit (Remote host closed the connection)
02:56:07*BitPuffin quit (Ping timeout: 245 seconds)
02:58:10*reem joined #nim
02:59:30*chemist69 joined #nim
03:03:06*chemist69_ quit (Ping timeout: 272 seconds)
03:04:03*fizzbooze joined #nim
03:07:21*sillesta quit (Read error: Connection reset by peer)
03:08:49MaxdamantusHm. What's the current significance of macros.nim? Most of the types seem to never be used.
03:08:59MaxdamantusIs there an assumption that they will eventually?
03:25:00*akiradeveloper joined #nim
03:26:21def-Maxdamantus: you can use macros.nim to write macros
03:26:39def-sounds pretty significant to me
03:26:58Maxdamantusbut not macros using the tuple type syntax?
03:27:34Maxdamantussince nnkTupleTy is never used.
03:31:35fowlMaxdamantus, those are accessory functions and there are many more node kinds than those functions
03:33:22fowlwhen you're writing a macro the workflow is 1.) dumptree: the code you want to reproduce 2.) write a macro to reproduce that ast
03:34:14fowlonly newNimNode() and add() are truly necessary
03:35:51*Menche quit (Quit: Leaving)
03:36:38*Menche joined #nim
03:46:38*berer joined #nim
03:47:29*berer quit (Client Quit)
03:48:29MaxdamantusMy thing seems to have made three more tests pass. Weird.
03:52:56*TEttinger joined #nim
03:57:24*reem quit (Remote host closed the connection)
04:10:36*reem joined #nim
04:17:06*akiradeveloper quit (Read error: Connection reset by peer)
04:21:59*epichero joined #nim
04:24:31*Jesin quit (Quit: Leaving)
04:27:11*akiradeveloper joined #nim
04:29:25MaxdamantusAre generics in nim always meant to be like templates in C++, or is that a temporary thing?
04:29:25*reem quit (Remote host closed the connection)
04:30:25Maxdamantuseg, where generic things aren't properly typechecked until you instantiate them, and where the declaration doesn't really indicate all the requirements of the type parameters, etc
04:33:54*reem joined #nim
04:37:46*reem quit (Remote host closed the connection)
04:44:49*reem joined #nim
04:48:37*reem quit (Remote host closed the connection)
04:51:18*reem joined #nim
04:54:10*reem quit (Remote host closed the connection)
04:56:13*reem joined #nim
05:02:30*reem quit (Remote host closed the connection)
05:03:10*reem joined #nim
05:05:47*reem quit (Remote host closed the connection)
05:16:12*aidanh quit (Ping timeout: 252 seconds)
05:18:39*aidanh joined #nim
05:21:36*reem joined #nim
05:22:24VarriountMaxdamantus: Well, there are typeclasses and constraints if you want to limit the acceptable types.
05:22:41VarriountI don't see how there could be any other way.
05:23:14MaxdamantusOther than what?
05:23:49MaxdamantusParametric definitions are typechecked in Java, Haskell, C#, Scala, ..
05:25:36*xeizlif quit (Ping timeout: 272 seconds)
05:26:07*reem quit (Remote host closed the connection)
05:26:24Maxdamantus.eval proc foo[T](): int = 5 + 4.5
05:26:27MimbusMaxdamantus: <no output>
05:26:34Maxdamantus.eval proc foo(): int = 5 + 4.5
05:26:36MimbusMaxdamantus: eval.nim(3, 20) Error: type mismatch: got (float) but expected 'int'
05:32:31*xeizlif joined #nim
05:33:51*reem joined #nim
05:34:49*TEttinger quit (Ping timeout: 250 seconds)
05:36:26*TEttinger joined #nim
05:36:38*reem quit (Remote host closed the connection)
05:37:45*reem joined #nim
05:38:42*Jesin joined #nim
05:38:55*a5i quit (Quit: Connection closed for inactivity)
05:40:03*reem quit (Remote host closed the connection)
05:40:39*Menche quit (Quit: Leaving)
05:41:15*reem joined #nim
05:43:42*reem quit (Remote host closed the connection)
05:44:14MaxdamantusHm. A possible use case for an actual void type: indicating that the procedure only throws, doesn't return.
05:44:18*reem joined #nim
05:55:10fowlThe noreturn pragma is used to mark a proc that never returns.
05:55:38fowlfrom the manual
06:00:55*reem quit (Remote host closed the connection)
06:02:41MaxdamantusInteresting.
06:03:43*Menche joined #nim
06:13:32onionhammeraraq the default GC still giving me issues for the websocket library; gc boehm seems to work a lot better
06:14:20*reem joined #nim
06:42:15*reem quit (Remote host closed the connection)
06:44:19MaxdamantusIs it also intended that tuple[int, int] not be a parsable type?
06:46:01*gsingh93 quit (Ping timeout: 255 seconds)
06:46:40*reem joined #nim
06:55:23*reem quit (Remote host closed the connection)
06:59:35*reem joined #nim
07:13:11*pregressive quit (Remote host closed the connection)
07:27:44*fizzbooze quit (Ping timeout: 245 seconds)
07:59:29*reem quit (Remote host closed the connection)
08:13:22*reem joined #nim
08:35:15*reem quit (Remote host closed the connection)
08:43:00*akiradeveloper quit (Remote host closed the connection)
08:51:15*Matthias247 joined #nim
09:01:44*gmpreussner|work quit (Read error: Connection reset by peer)
09:16:19*BlaXpirit joined #nim
09:25:28*dumdum joined #nim
09:30:32*davidterry joined #nim
09:33:53*pafmaf__ joined #nim
09:37:31*davidter_ joined #nim
09:39:55*davidterry quit (Ping timeout: 250 seconds)
09:43:32*akiradeveloper joined #nim
09:47:49*akiradeveloper quit (Ping timeout: 255 seconds)
09:49:28*akiradeveloper joined #nim
10:04:52*pafmaf__ quit (Quit: This computer has gone to sleep)
10:07:07*pikeghost joined #nim
10:07:40AraqMaxdamantus: I'm not a fan of type checking generics properly but I'm also not a fan of how it's currently done
10:08:07Araqwhen you check properly all too often you simply encode the algorithm twice
10:08:23Araqone time in the code and the other time in the type
10:09:47*akiradeveloper quit ()
10:11:43Araqbut making them macrolike in a language that embraces macros was not the worst idea, so I think it'll stay this way
10:12:29*dumdum quit (Ping timeout: 256 seconds)
10:13:52*pregressive joined #nim
10:18:50*pregressive quit (Ping timeout: 272 seconds)
10:18:52*pikeghost quit (Quit: Page closed)
10:23:21MaxdamantusThat's kind of the point.
10:23:44MaxdamantusYou check that the definition matches the (generic) type, then you check that each use of it matches the type.
10:24:03MaxdamantusIt's kind of a form of encapsulation.
10:24:29MaxdamantusChanging the definition doesn't change the legality of the uses as long as the type remains the same.
10:25:52MaxdamantusIt's also basically the point of having types.
10:26:30*davidter_ quit (Remote host closed the connection)
10:28:26MaxdamantusI'm fairly critical of macros in general though, so maybe as you say it's not that bad to people who like them.
10:29:26Maxdamantus(mainly because it's pretty much the opposite of static typing)
10:33:41*sillesta joined #nim
10:43:11*Trixar_za quit (Ping timeout: 250 seconds)
10:44:01*jsudlow quit (Remote host closed the connection)
10:45:58*dumdum joined #nim
10:50:55*untitaker joined #nim
10:51:23*davidterry joined #nim
10:54:47federico3anyone here playing with nim-fuse ?
11:12:44*pafmaf joined #nim
11:18:37*banister joined #nim
11:22:24*pafmaf quit (Quit: This computer has gone to sleep)
11:33:46MaxdamantusMm, wrapper around libfuse :(
11:36:08*Maxdamantus suspects the fuse protocol uses platform-dependent endianness etc anyway
11:37:18federico3Maxdamantus: did you expect it to run without libfuse?
11:37:45MaxdamantusI'd've wanted it to.
11:38:04federico3that requires reimplementing the whole thing in Nim :)
11:38:44Maxdamantusindeed, then you get a more nim-like interface.
11:39:26*epichero quit (Remote host closed the connection)
11:39:33federico3I suppose it's quite a bit of work
11:39:48MaxdamantusI don't think it'd be particularly difficult. I think the main bit other than design would be inode number allocation, if you want that.
11:41:04MaxdamantusThe libfuse interface seems really ugly to me, and it doesn't seem to reflect the underlying protocol.
11:43:49*Maxdamantus has implemented things that make it look like there's an actual tree traversal when there isn't in the libfuse interface---because libfuse hides it.
11:44:01Maxdamantus(the few times I've used it)
11:50:35*vendethiel quit (Ping timeout: 252 seconds)
11:51:03*epichero joined #nim
11:52:10MaxdamantusCould also just use 9p.
11:53:01*Maxdamantus wonders if anyone's thought of making a `fusermount` analogue for it.
11:55:12*vendethiel joined #nim
11:55:33*reem joined #nim
11:59:52*reem quit (Ping timeout: 245 seconds)
12:12:58AraqMaxdamantus: well as you are well aware, the thing is still type checked, but only on instantation. Scala went so far they have to lie about the types for documentation purposes and generics in C# and Java are crippled. The world is not black and white.
12:15:59*vendethiel quit (Ping timeout: 244 seconds)
12:16:26*Trustable joined #nim
12:17:29*vendethiel joined #nim
12:18:17*Trustable quit (Remote host closed the connection)
12:19:46*Trustable joined #nim
12:21:10MaxdamantusHow does Scala lie? Because of type erasure?
12:22:30*Maxdamantus thinks a bunch of problems with generics come from subtyping, which he also dislikes.
12:26:58*epichero quit ()
12:28:48AraqMaxdamantus: "The docs would not lie in that case, because from a user perspective indeed map has the type (Int => Int) => BitSet. But map also has a more general type which can be inspected by clicking on another link.
12:28:50AraqWe have not yet implemented functionality like this in our tools. But I believe we need to do this, to avoid scaring people off and to give more useful info. With tools like that, hopefully smart frameworks and libraries will not become suicide notes."
12:28:52Araqhttp://stackoverflow.com/questions/1722726/is-the-scala-2-8-collections-library-a-case-of-the-longest-suicide-note-in-hist
12:29:11Araqmaybe they haven't done this yet though, I'm not following Scala that closely
12:29:46*Maxdamantus isn't either.
12:33:34Araqbut in general we like our programs to be *longer* than our type descriptions of them and this implies we like types to be somewhat imprecise ;-)
12:34:16MaxdamantusIt sounds like it's an issue with the _ notation.
12:34:37*Maxdamantus thinks he's criticised that before when someone described it.
12:35:56flaviuWell, the CanBuildFrom isn't really part of the type signature. Its used to implicitly figure out the best data structure to build for a given set of arguments.
12:37:29flaviuScala took the idea of implicit parameters and did lots of stuff with them.
12:38:34*vendethiel quit (Ping timeout: 245 seconds)
12:38:34Araqflaviu: note that my quote is from Martin Odersky himself
12:39:54flaviuI'm not really paying attention to the quote, I'm just pointing out that implicit CanBuildFrom does make sense once you understand the collections library.
12:41:53Maxdamantushttps://gist.github.com/Maxdamantus/a619f78df2744fb30745
12:42:12flaviuLast time I used scala, the IDEA plugin didn't have that sort of simplifying feature.
12:43:13BlaXpiritguys
12:43:29BlaXpiriti think it's about time to implement a library for generic operations on iterables
12:46:27AraqBlaXpirit: go ahead if you think our implementation of 'generic' is good enough
12:46:54BlaXpiritis typeclass iterable a possible thing?
12:48:30flaviuhttps://gist.github.com/5d9a62d2f90f4bb6024a
12:48:49flaviu:q
12:48:59flaviuoops, wrong window.
12:49:15flaviufunctional.nim(40, 18) Error: type mismatch: got (seq[int]) but expected one of: functional.filter(input: Iterable[filter.T], condition: FilterClause[filter.T])
12:49:26BlaXpiritwhy is there {.closure.}
12:50:40flaviuIt's old code, I was probably in the middle of something.
12:51:05flaviuOh, I see
12:51:47flaviuNope, still doesn't work.
12:53:36Araqwell 'seq' doesn't match your description of 'iterable'
12:55:05flaviuIt doesn't?
12:55:21def-BlaXpirit: https://github.com/def-/nim-iterutils
12:56:32*vendethiel joined #nim
12:57:43MaxdamantusShouldn't `x` be used somewhere?
12:58:13Maxdamantus`iterator items(x): T` maybe.
12:59:03flaviuMaxdamantus: Good point, but getting rid of that line completely also doesn't work.
12:59:24BlaXpiritMy guess is items(x) is iterator; for value in x: type(value) is T
12:59:33BlaXpiritbut it changes nothing
13:01:46BlaXpirityeah, def-, that is interesting
13:02:07BlaXpiritbut i would like to see a possibility to make 1 function work with any iterators and containers
13:02:57AraqMaxdamantus: for unnamed tuples I planned a tupe(int, int) syntax
13:03:06Araq*er tuple(int, int)
13:03:28Araqbut we can also use int*int
13:03:33MaxdamantusDo the square brackets conflict with something?
13:03:44MaxdamantusI don't think int*int is a good idea.
13:03:51TEttingerit's how ML does it
13:04:02TEttingerit is a little unintuitive
13:04:08Maxdamantusand ML has extra bracket sensitivity.
13:04:14flaviuIt looks out of place in Nim
13:04:19Araqyeah, well tuple[x,y: int] is a named tuple
13:04:25Maxdamantusa*b*c vs. (a*b)*c vs. a*(b*c)
13:04:34MaxdamantusAh, right.
13:04:36Araqso tuple[int, int] is more confusing
13:04:52Araqgotta go, bbl
13:05:16TEttingertuple[-int, int-]
13:05:50TEttingertuple[|int, int|]
13:06:11TEttingertuple[☃int, int☃]
13:06:36Maxdamantus‹int, int›
13:07:51flaviuFrench quotes aren't really a good idea, most people don't have them on their keyboards.
13:08:03flaviuLooks pretty though :)
13:08:16*Maxdamantus uses a compose key.
13:08:58TEttingerint & int
13:09:05TEttingerinstead of int * int
13:09:16TEttingersince a tuple is a type and another type
13:09:52Maxdamantus"and" in logic is similar to multiplication.
13:09:57flaviutup[int, int]
13:10:06TEttingeralso leaves open | for union types
13:10:06flaviuand rec[foo: int, bar: string]
13:10:17TEttingerint | char
13:10:28MaxdamantusI think * and + makes more sense than & and |.
13:10:50Maxdamantusthough other languages seem to use |
13:10:53TEttinger+ for or?
13:11:01Maxdamantusfor a union.
13:11:01flaviuHow will the user be able to write their own infix types?
13:11:01TEttingerint or char can go here
13:11:04TEttingerah
13:11:20Maxdamantusin type theory, they're called product and sum types respectively.
13:11:32TEttingerget a bigger keyboard, flaviu, that's how
13:11:42Maxdamantushence the use of * and +, \Pi and \Sigma
13:13:04flaviuTEttinger: Huh? I mean stuff like "Foo V Bar", and have a macro or something executed to verify the correctness.
13:14:22TEttingerI was just joking about the french quotes and my unicode snowmen
13:14:50MaxdamantusJust provide macros for the people that can't type snowmen.
13:15:04*BlaXpirit quit (Quit: Quit Konversation)
13:16:41*BlaXpirit joined #nim
13:20:32*beier joined #nim
13:20:34*TEttinger quit (Ping timeout: 244 seconds)
13:23:00*flaviu quit (Remote host closed the connection)
13:23:15*flaviu joined #nim
13:23:16*Shoozza joined #nim
13:24:34beierhi, everyone. are there some open source projects developed using
13:24:35beier elixir
13:24:53*beier quit (Client Quit)
13:25:26*beier joined #nim
13:25:56*beier quit (Client Quit)
13:26:28*beier joined #nim
13:31:36*banister quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
13:45:50*akiradeveloper joined #nim
13:54:33*akiradeveloper quit ()
14:03:26*akiradeveloper joined #nim
14:04:26def-beier: elixir or Nim?
14:05:02flaviudef-: Looks like he entered the wrong channel.
14:05:17*BitPuffin joined #nim
14:05:35def-flaviu: lucky mistake I'd say
14:09:51federico3def- / dom96: d'you want a little script to help maintain packages.json ?
14:11:12def-I'm not in charge of that, but yeah, would be nice to avoid packages.json mistakes
14:19:51flaviufederico3: I've found CircleCI is pretty flexible if you want to do PR hooks.
14:22:11*elbow_jason quit (Ping timeout: 265 seconds)
14:24:01*beier quit (Remote host closed the connection)
14:24:17*beier joined #nim
14:27:19*akiradeveloper quit ()
14:28:03*dumdum quit (Ping timeout: 256 seconds)
14:29:33*beier quit (Ping timeout: 250 seconds)
14:38:10*elbow_jason joined #nim
14:46:39*BlaXpirit-UA joined #nim
14:49:39*BlaXpirit quit (Ping timeout: 246 seconds)
14:54:39*UberLambda joined #nim
14:56:27federico3flaviu: is this related to packages.json?
14:56:41*darkf quit (Quit: Leaving)
14:57:21flaviufederico3: Yep, you can hook your linter so that it creates a red x or green check depending on the correctness of a PR.
14:57:40federico3hm, it's a bit more than a linter
15:13:39*dumdum joined #nim
15:23:56*jsudlow joined #nim
15:25:39*beier joined #nim
15:28:22AraqVarriount: how do you deal with the fact that some async tests trigger firewall notifications on windows?
15:30:43*beier quit (Ping timeout: 255 seconds)
15:49:33*davidterry quit (Remote host closed the connection)
15:52:19*dhasenan quit (Remote host closed the connection)
15:57:34Araqer ... mingw's float to string operation produces "1.INF" ?
15:58:34Araqand Visual studio does the same?
15:59:04Araqdoes that mean it's a good idea to copy that behaviour?
16:03:25onionhammeraraq u see my message?
16:04:29Araqonionhammer: yeah but create a real bug report or it won't be fixed
16:05:10onionhammerI could, but i wanted to talk with you first to see if you thought it was a bug in my code or the gc
16:05:17onionhammeror both :)
16:06:08*dhasenan joined #nim
16:08:04*a5i joined #nim
16:08:08*BlaXpirit-UA quit (Quit: Quit Konversation)
16:09:11*BlaXpirit joined #nim
16:16:38onionhammerhttps://github.com/Araq/Nim/issues/2242
16:27:42*ChrisMAN quit (Remote host closed the connection)
16:27:54*Demos joined #nim
16:29:38def-onionhammer: can't reproduce on linux x86_64
16:31:55*ChrisMAN joined #nim
16:35:44elbow_jasonSIGSEGV: Illegal storage access. (Try to compile with -d:useSysAssert -d:useGcAssert for details.)
16:35:44elbow_jasonError: execution of an external program failed
16:36:04elbow_jasonlinux mint 17 Rebecca linux x86_64
16:36:24elbow_jasonafter refresh of the browser
16:36:35elbow_jasonand nimble install sha1
16:38:30elbow_jasonhowever, araqs suggested --gc:markAndSweep is working
16:52:04dumdumiterator concat segfaults in https://github.com/def-/nim-iterutils unless I change header to: iterator concat*[T](its: varargs[(iterator: T) | Slice[T], toIter]): T = ...
16:53:03OderWat<def-> onionhammer: i can reproduce it on macosx and updated the issue
16:53:29elbow_jasonmade a comment on the issue as well
16:54:03def-dumdum: i know: https://github.com/Araq/Nim/issues/1834
16:54:21def-(in case that's the same bug)
16:55:05dumdumYes, same
16:56:28elbow_jasonis SIGSEGV a segfault?
16:56:33def-yes
16:56:37elbow_jasonah
17:02:49dumdumDeclaration: type Iterable*[T] = (iterator: T) | Slice[T] <-- appears to be useless in some cases
17:03:36dumdumuseless for the compiler
17:03:49*banister joined #nim
17:05:28*UberLambda quit (Quit: Leaving the Matrix)
17:14:47*beier joined #nim
17:17:37a5iHave a good day Nimmers
17:19:41*beier quit (Ping timeout: 250 seconds)
17:24:40*a5i quit ()
17:28:10*gokr quit (Read error: Connection reset by peer)
17:30:50*Jehan_ joined #nim
17:43:33*BitPuffin quit (Ping timeout: 244 seconds)
17:50:15dumdumWhat do I need to get sdl2/examples/sdl_opengl_example.nim to run?
17:50:29dumdumIt builds but fails to run: Error: execution of an external program failed
17:50:59dumdumOther examples: sdl_skeleton and sdl_audio_callback run fine
17:56:22*Varriount|Mobile joined #nim
18:06:03*gsingh93 joined #nim
18:15:45def-dumdum: works here. did you try with current devel branch of Nim?
18:17:32flaviuhttp://eev.ee/blog/2015/02/28/sylph-the-programming-language-i-want/
18:17:49flaviuThere's references to nim scattered throughout that post.
18:19:31Varriount|MobileYeah... I can't say that his gripes are unfounded either.
18:21:49Varriount|MobileAlthough, she/he hasn't heard of the 'from x import y' syntax
18:24:22dumdumdef-: no, I will try that soon
18:24:38*banister quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
18:25:50Varriount|Mobileflaviu: Are you going to send a comment on that post?
18:26:14*mwub joined #nim
18:26:26Varriount|MobileHi mwub
18:26:38*BitPuffin joined #nim
18:27:00Demosis there a way to have a generic parameter that matches object in the same module as the deceleration of the generic proc?
18:27:28DemosI mean other than the obvious type InModule = generic x modulename.x
18:27:48Varriount|MobileDemos: Not sure what you mean
18:27:56flaviuVarriount|Mobile: Nope, the only thing that he doesn't understand is why imports work the way they do, and clearing that up won't change any of the conclusions.
18:28:05*mwub left #nim (#nim)
18:29:05Varriount|Mobileflaviu: Sigh.. you can lead a horse to water, but you can't make him drink it (without half-drowning both him and you)
18:29:24DemosAll those conclusions are kinda wonky. I mean for operator overloads I guess maybe go to definition would be good, or docs
18:29:31Demosseqs can be just var seq = @[]
18:30:15flaviuHuh? IMO every other criticism of Nim was reasonable.
18:30:25Varriount|MobileHrm. I've always felt that operator overloading should be used only when needed.
18:30:42DemosWell I like the lack of constructors soooooooo
18:31:39Varriount|MobileI'd rather users of libraries define convenience operators, instead of libraries themselves (which is why I agree with the sentiment regarding the % operator and the JSON module)
18:31:49federico3it would be nice to have a little interactive interpeter just for learning and experimenting *hides*
18:32:04Demosfederico3, nim i
18:32:13Demosa little janky, but it works
18:32:14flaviuDemos: No FFI, somewhat buggy.
18:32:17Demostrue
18:32:27federico3Demos: ooh <3 Nim
18:32:54Varriount|Mobilefederico3: Or go to #nim-offtopic and type '.eval <code>'
18:33:35Varriount|Mobilefederico3: YMMV with regards to the REPL, it isn't perfect.
18:33:55Varriount|Mobile(REPL being 'nim i')
18:41:30Araqhe, I recently removed "nim i" from the output listing
18:41:44*Varriount|Mobile quit (Read error: Connection reset by peer)
18:41:50*Var|Mobile joined #nim
18:41:58AraqVar|Mobile: got my message?
18:42:21*melvanis joined #nim
18:47:37OderWatLol I hacked with tcc on osx to get a JIT hello_world.nim running (had to modify system.nim though). I think I try how far I get this.
18:50:33AraqOderWat: why 'file != stdin'? why not istty?
18:51:16OderWatI tried isatty() and it always returned 0
18:51:37Araqon macosx?
18:51:40OderWatyep
18:52:48*Var|Mobile quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com ))
18:52:52OderWatso i looked up what other people did and it looks like they check for == 1 to detect stdin. I am no expert though but now it seems to work well. even with urandom
18:52:53VarriountAraq: Nope, no message
18:53:09AraqVarriount: how do you deal with the fact that some async tests trigger firewall notifications on windows?
18:53:41VarriountAraq: Hm, I used to just manually let them through.
18:53:58VarriountAlthough, come to think of it, I haven't seen any pop-up dialogues lately...
18:54:32AraqVarriount: I'll move them to tests/manual but unfortunately I didn't take notes which tests trigger it
18:55:26VarriountAraq: I can look at my firewall settings
18:57:12VarriountAraq: tasyncawait, tasynciossl, and tsasyncudp
18:57:42VarriountEr, tasyncudp
18:58:21Araqexcellent thanks
18:59:18VarriountAraq: Oh, apparently Windows Firewall remembers them, even if the executable changes (as long as it's located in the same path, I think)
19:01:10Araqthat looks like a bad idea for security ;-)
19:01:27VarriountAraq: It might also use a hash of the exe, I don't know.
19:01:41VarriountI'd have to look in the registry to see what's stored.
19:01:58Araqno worries, it's not important
19:02:37VarriountToo late. I've already done a ctrl+f in regedit. :p
19:06:54*pregressive joined #nim
19:08:39Jehan_The guy on HN has sort of overlooked that Go with multiple threads (GOMAXPROCS > 1) and pointers shared between threads is not memory-safe to begin with. That said, he does have a point in that Nim is currently more restrictive than necessary when it comes to shared GCed memory (of course, Go is too permissive).
19:11:35AraqJehan_: well patches are welcome for your shared but restricted heaps idea
19:12:02onionhammerdef- thanks for testing
19:12:07onionhammeron linux L:)
19:12:17Jehan_Araq: Heh, I know. If I had the time, I'd have done it already.
19:12:18*fizzbooze joined #nim
19:12:36Jehan_I think it could mostly be done with macros, too.
19:13:01Jehan_And maybe an additional GC hook to switch the current heap around.
19:14:07Jehan_What you basically need is to instrument procedures with code that deep copy arguments/results and temporarily switches to a different heap.
19:14:13Jehan_The devil is in the details, of course.
19:16:55AraqI think the obvious next step is that the collections support a 'join' operation
19:17:28Araqso you can join N tables after each thread produced its own
19:17:55Araqor maybe we should call it "merge"
19:20:38Jehan_Doesn't really help with some of the common problems.
19:20:49Jehan_Such as a shared hash table to implement a cache.
19:21:36Jehan_Hmm, is there a way to lie to the compiler about a procedure being gcsafe? I.e. to override the compiler's inference mechanism?
19:24:30*Trixar_za joined #nim
19:26:53Araqcast the proc type
19:27:28Jehan_Gotcha.
19:28:04AraqJehan_: any idea if -1.#INF for "inf" is some standard notation?
19:28:12dumdumdef-: So I updated local devel code with 'git pull' , then build and koch and sym linked to devel nim and rebuilt sdl_open_example.nim : Still Error
19:28:14Araq(er for "-inf")
19:28:34Jehan_Araq: Doesn't look familiar to me at all, but I don't do much work with numerics.
19:28:52Araqit's what the C lib produces on Windows
19:29:03Araqboth mingw and visual c++ do this
19:29:25dumdumnim -v : Nim Compiler Version 0.10.3 (2015-03-01) [Linux: amd64]
19:29:26Araqbut I guess mingw does it for compat
19:33:04dumdumAh, I found a err msg: could not load: libX11.so
19:33:13dumdumstrange!
19:37:07*filwit joined #nim
19:38:26dumdumSorry for stupid questions, but how do I ask nim to link against libX11.so.6 which I have in my system..
19:40:15dumdumok, i created a soft link to the filename it wants and it works
19:40:15filwitdumdum: you can use {.passL:"-lX11".} probably: http://web.mit.edu/nimrod-lang/arch/i386_linux26/doc/nimrodc.html#passl-pragma
19:41:04*petrus joined #nim
19:41:10filwitdumdum: or you can use linke (i think this is preferable): http://web.mit.edu/nimrod-lang/arch/i386_linux26/doc/nimrodc.html#link-pragma
19:41:19filwitlink*
19:42:55filwitdom96, Araq: have any time this weekend to review my Aporia PR? no worries if you're busy, it's working great for me here (tried with compiler source and my own).
19:44:05Araqdumdum: use --dynlibOverride:X11 and then some other linking options
19:44:42*gsingh93 quit (Ping timeout: 246 seconds)
19:48:12dumdumhmm, Thanks filwit, Araq
19:48:56Araqfilwit: I guess I can review it now
19:50:30filwitAraq: cool, thanks. Let me know if you don't like something (i only barely touched the existing color themes, so your darknim theme should be mostly the same.. but where it did change, i can revert if you really want). Also, please read the comment I left on the PR.
19:51:53Araqwell Trustable's patch hasn't been merged yet, I'll ping dom96
19:53:40filwitAraq: just took a look at his PR, none of his changes overlap mine (mine is all style-changes + one minor change to the mime type Nimrod -> Nim)
19:56:03Araqfilwit: did you happen to update the list of keywords too?
19:56:14filwitAraq: yes
19:56:33Araqnice :D
19:56:39filwitadded all the cint, cstring types, made array/seq types again, etc
19:56:55filwitlet me know if you find anything that's missing, but I think I mostly got everything
19:57:16AraqI want to make 'concept' a keyword before it's too late ...
19:57:35filwitokay... what is the plan for that one, btw?
19:57:47filwitwe're supporting concept programming in the future?
19:58:22filwit(ps. I already made 'func' a keyword.. and 'static' acts as both a keyword or type if it's followed by '[')
20:00:01BlaXpiritfilwit, the plans for func are going to be reality?
20:00:25filwitBlaXpirit: last I heard, yes
20:00:30BlaXpiritcool
20:00:34filwityep :)
20:01:19Araqfilwit: we'll rename 'generic' to 'concept'
20:01:28Araqtype Foo = concept x
20:01:29Araq ...
20:01:59filwitAraq: okay, that sounds interesting, when is this happening in the code? 0.10.4?
20:02:16Araqno idea
20:02:30Araqprobably
20:05:43*Mat4 joined #nim
20:05:46Mat4hello
20:06:03*banister joined #nim
20:06:07*banister quit (Max SendQ exceeded)
20:09:48filwitAraq: If you read my PR notes, you'll notice I made any "command" (ie, 'foo' in 'foo x' not 'foo(x)' or 'y.foo x') highlight like a keyword.. I can make this more theme, controlled, but really I'm loving the way it effects the code as is. Basically my 'impl'/'class' macros feel right out-of-the-box, and 'parallel'/'spawn' just work like seen on the website banner.. plus, things like 'assert x = 0' and 'echo x' feel more "built in" this
20:09:49filwitway, IMO. Let me know what you think.
20:10:31filwittheme-controlled**
20:11:17Araqwill test it soon
20:19:17*reem joined #nim
20:21:19*gokr joined #nim
20:22:56filwitAraq: one more note, and I'll stop bugging you: All the new color themes highlight declarations (type/proc names) very distinctly. IMO this really helps glancing you 'take in' the important module structure at a glance... I know you don't like much color, and I don't want to mess with the existing colors, but if you want me to change your favorite theme(s) to include that feature, just let me know and I'll work with you to get it how you
20:22:56filwitwant.
20:24:26filwitAraq: crap you merged that too soon... i didn't push the 'concept' keyword change yet...
20:26:05filwitAraq: https://github.com/nim-lang/Aporia/pull/73
20:26:09Araqfilwit: you can always create a new PR
20:26:17filwit(see above)
20:27:01filwitthanks for the merge :)
20:27:50*gsingh93 joined #nim
20:30:35filwitAraq: great! now I need to put in work towards the forums again.. then I plan on adding a document tree-view to Aporia, and de-indent
20:33:59*aidanh quit (Ping timeout: 252 seconds)
20:34:40*aidanh joined #nim
20:39:13*dumdum quit (Ping timeout: 256 seconds)
20:39:14*gsingh93 quit (Ping timeout: 246 seconds)
20:40:43*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
20:46:35*zahary quit (Ping timeout: 256 seconds)
20:56:17*reem quit (Remote host closed the connection)
21:01:21*reem joined #nim
21:01:47*fizzbooze quit (Ping timeout: 264 seconds)
21:03:10Shoozzahi, how difficult is it to use nim with out gc? Isi it even possible?
21:05:32AraqShoozza: short answer: I can avoid the gc. apparently nobody else.
21:05:42filwitShoozza: it's not difficult to use "Nim" without GC, just pass --gc:none... however, much of the standard-libs will leak to my understanding, so you'll be needing to roll much of your own solutions there. I've never actually tried doing this seriously, and don't know much more than that.
21:06:22Mat4it's possible, however you are somewhat restricted because libraries depend on it
21:06:54AraqI just wish people would take their time to understand the GC instead of avoiding it and then use reference counting instead
21:07:11Araqhint: The GC uses reference counting.
21:08:34filwitShoozza: note that when you use --gc:none, Nim will warn you of memory leaks. Also, what Araq said.. Nim's GC is awesome, and really shouldn't be a problem for you if you're concern is realtime performance. The only place a GCless would really be needed would maybe be embeded.
21:09:09Araqfilwit: it also kind of sucks for throughput ... ;-)
21:09:14Mat4that's for sure
21:10:34dom96filwit: de-indent is shift+tab
21:11:38*BlaXpirit quit (Remote host closed the connection)
21:11:59filwitdom96: i meant auto de-indent when you press backspace above whitespace > indentLevel
21:12:48filwitdom96: it's very annoying to me (coming from Kate which does this) to have to hit backspace a bunch of times, and then have to make sure i'm on the correct division of whitespace to match my previous level
21:13:23*BlaXpirit joined #nim
21:14:09filwitdom96: ps, Araq merged the Aporia PR.. if you have any feedback or change request about the new highlighting, please let me know
21:15:21dom96Araq: dude
21:15:28dom96I was going to review that...
21:16:14filwityeah i was surprised he merged it as well.. but you can always revert, and I can remake the PR
21:16:24Araqdom96: but I wanted to see the "style like the website" :P
21:16:47dom96Araq: what?
21:16:57dom96Araq: You shouldn't merge PRs to test them.
21:17:06dom96You should clone filwit's repo and test it.
21:18:36filwiti completely agree with dom96... either way, i'm happy to remake the PR if you want to revert. At this point I would say just test things out and let me know if you want anything changed... though it's annoying you can't seem my PR comments anymore..
21:19:57filwitis there a way to view previous PR comments?
21:20:04dom96well
21:20:09dom96From what I can see it's fine.
21:20:24dom96I am however annoyed by Araq.
21:21:01filwitdom96: it's not too hard to revert either, though I agree you shouldn't pull PRs to test them.. either way, lets talk about the actual changes
21:21:07Araqwell it's not like I haven't reviewed it
21:22:35flaviuAraq: git remote add filwit [email protected]:PhilipWitte/Aporia.git; git checkout filwit/master
21:23:07MaxdamantusProbably want a fetch there.
21:23:09filwitdom96, Araq: now that you're both here, I want to point out that my new colors highlight type/proc declarations (test some of them out).. I could make any of the previous colors also do that (to whatever degree) if you want.. just let me know.
21:23:47filwitdom96: also, noticed I already did this to your peikno theme (type/proc declarations are bold)
21:24:01def-Araq: Hm, found another similar bug: https://github.com/Araq/Nim/issues/2243
21:24:59dom96Araq: Good. Next time don't say you merged it just because you wanted to "see [the changes]" though.
21:25:30*lnr joined #nim
21:26:17*reem quit (Remote host closed the connection)
21:26:58*reem joined #nim
21:27:05Araqdom96: if you don't want me to merge PRs, don't give me write access to the repo
21:27:29flaviuAraq: That's impossible without github enterprise.
21:27:48flaviuwait, no
21:29:03dom96Araq: I want you to merge PRs, as long as you don't then give me silly reasons for merging them.
21:31:29dom96But it doesn't matter. I know you meant well, i'm just having a bad day.
21:32:49Araqno worries, I'm way too busy to care about anything
21:33:32Araqdef-: can you fix it on your own this time?
21:33:52def-Araq: I'm still trying to understand how you fixed the last one
21:34:13Araqyou have to distinguish between strong and weak dependencies
21:34:29Araqweak means we can get a away with a struct forward declaration
21:34:39Araqsince we only use a pointer to it
21:35:01Araqa strong dependency means we need to emit the struct *before* the current type
21:35:29Araqin principle this doesn't work for any type graph that Nim allows
21:35:51Araqso there will always be bugs
21:36:25Araqdo avoid these we would need to introduce dummy structs since that's the only thing that can be forwarded in C
21:36:56Araqbut dummy structs imply different alignments etc. so ... not worth the trouble until version 1.0 is out
21:37:31Araq*to avoid
21:39:19*filwit quit (Quit: Leaving)
21:39:41*filwit joined #nim
21:42:52def-no idea how to find out where to fix this
21:43:28dom96Araq: tested suggest in Aporia yet?
21:45:58Araqdom96: I'm about to do that, but got distracted and I'm cleaning up the test suite now
21:46:02*fizzbooze joined #nim
21:46:03*superfunc joined #nim
21:48:07filwitdom96: just tested. still fails on a very basic test (website Person code)
21:48:31*Menche quit (Quit: Leaving)
21:49:54Araqdef-: for the handling of tyOpenArray, tyVarargs replace getTypeDescAux with getTypeDescWeak
21:50:05filwitbut i'm using new-suggest aporia branch with devel... is there nimsuggest nim branch i should be using?
21:50:20Araqnope devel is it
21:50:42filwitoh wait... i'm stupid.. forgot to rebuild nimsuggest...
21:51:02filwitnow i cannot reopen aporia.. god that's annoying :P
21:51:30Araqdeveloping aporia in aporia is indeed annoying :-)
21:51:51dom96never had that problem
21:51:54Araqdom96: but I made the compiler shut up in serving mode
21:52:06dom96filwit: how are you closing Aporia?
21:52:27dom96Araq: did you make it send errors through the socket?
21:52:32Araqyes
21:52:37filwitdom96: i type '.', aporia crashes, cannot reopen ("an instance of aporia is already running")
21:53:02dom96good, but Aporia won't be able to handle that...
21:53:11dom96filwit: what's the crash?
21:53:32filwitdom96: SocketThread -> connect
21:53:46filwitdom96: you said before the port needs to timeout before i can reopen or something
21:54:20dom96filwit: That's like the reason, yes.
21:54:26dom96*likely
21:54:39dom96but then I don't get why Aporia can still connect to it
21:54:52dom96I guess I need to make it reply.
21:57:26filwitdom96: is there any other process i can kill to make it work? the problem is i'm not sure how long to wait.. and the only alternative i've found is to restart... i waited a good 5mins before and it still didn't work.. i'm not sure if that was because i kept trying to reopen though
21:57:50ekarlsonim c 31c4026f_3724_4b1b_93fa_cc45d78d48cf.nim < so that's not valid ?
21:57:58ekarlsofails with invalid module name :P
21:58:10Araqekarlso: starts with a digit
21:58:21Araqa module name has to be a valid nim identifier
22:03:24flaviuekarlso: Try mktemp
22:06:10dom96filwit: best way is to fix Aporia
22:06:17dom96make it use file sockets
22:06:50filwiti'll just avoid nimsuggest for the moment and work on adding a document treeview instead
22:07:35filwiteither way, the forums have been put off for too long, so I need to make a PR against those next anyways
22:08:00filwitlunch. bbl
22:09:19AraqJehan_: can you please look into https://github.com/Araq/Nim/issues/2242 if you find the time?
22:09:35*epichero joined #nim
22:11:17Jehan_Araq: Hmm, doesn't start for me, I may have to update my installation.
22:11:46*pregressive quit (Remote host closed the connection)
22:12:04Jehan_No, looks like I may be missing some packages.
22:12:27Araqyeah I don't like these bug reports either
22:12:35Araq"that stuff over there doesn't work, fix it"
22:12:56Araqonionhammer: can you hear me? make a test program without external dependencies
22:13:06Araqit doesn't have to be minimal
22:13:12Araqbut it surely helps
22:14:08dom96Araq: Can you get nimsuggest working outside of the compiler dir? i.e. as a nimble package?
22:14:36def-Araq: I don't think I can figure it out
22:14:39ekarlsodoes aceeditor work with nim ?
22:14:55Araqdef-: tried my idea?
22:15:40Araqdom96: no, I don't know how to make these things nimble packages
22:16:57def-Araq: yes, in multiple locations. didn't change anything
22:17:03dom96Araq: IIRC there was a compilation problem
22:17:39Jehan_Hmm, I can get a crash with mark and sweep, too. Sometimes.
22:17:50Araqdom96: yeah I know but I don't know what to do about these things.
22:18:56Jehan_Crash disappears when I turn off -d:release, sigh.
22:19:24*Mat4 quit (Quit: Verlassend)
22:20:24AraqJehan_, onionhammer ws.buffer = cstring(newString(4000)) # unsafe
22:21:10Jehan_Araq: Yeah, that would do it.
22:22:34Jehan_And the boehm GC survives because it traces memory conservatively.
22:22:43Araqexactly
22:36:31OderWat@Araq I need help with what the pragmas mean for the change in repeatStr(). What is: rtl, extern: "nsuRepeatStr" ? will the new be: rtl, extern: "nsuRepeat" ?
22:37:03Araqsure why not
22:38:34AraqOderWat: that's just for DLL support
22:39:50OderWat@Araq ok. you guys will correct me anyway if I mess that up :)
22:53:45*brson joined #nim
22:56:39*superfunc quit (Ping timeout: 244 seconds)
22:58:43Araqdef-: one problem is that closures are not forwarded at all currently. getTypeDescWeak needs to learn how to do that
22:59:15*brson_ joined #nim
22:59:15*brson_ quit (Client Quit)
23:00:08*brson_ joined #nim
23:02:23*brson quit (Ping timeout: 240 seconds)
23:03:04*pregressive joined #nim
23:05:25onionhammeraraq thats only done at the start of the program
23:06:22onionhammerAraq I can work on that a bit tomorrow/tonight
23:06:26onionhammermaking a smaller program
23:06:46*awesomo4000 joined #nim
23:06:48Araqit doesn't matter if it's only done at the start of the program
23:07:04Araqyou lie about the type, it's a 'cstring' aka not traced
23:07:13Araqthe GC can free it immediately
23:07:27onionhammeri'll experiment
23:08:00Araquse GC_ref and GC_unref if you really need the cstring here
23:08:07onionhammeri dont see how it would account for the prog size growing though
23:08:41onionhammerafk
23:08:50awesomo4000why was the sockets module deprecated ?
23:09:18def-awesomo4000: "Warning: Since version 0.10.2 this module is deprecated. Use the net or the rawsockets module instead."
23:09:21Araqonionhammer: true, but note that I left the bug open ;-)
23:10:09dom96awesomo4000: Because it is superseded by the `net` module. The sockets module mixed low-level and high-level procs too much.
23:11:13*brson_ quit (Quit: leaving)
23:11:28*brson joined #nim
23:11:40awesomo4000will the module name “sockets” be returned to use or retired permanently ?
23:13:04Araqawesomo4000: hard to say, deprecated stuff stays in Nim for quite some time
23:14:15awesomo4000Is there a firm time or version-based process for removing support completely?
23:15:01Araqit's version based. at least 1 version keeps the deprecated stuff. usually 2 versions or more when we forget about it ;-)
23:15:46Araqspeaking of which, I will de-deprecate the parseopt module. everything still uses it and I forgot what parseopt2 fixes
23:16:09Araqbut I do remember parseopt2 doesn't work with the compiler anyway
23:17:32BlaXpirito.o
23:18:20awesomo4000when i saw the module name rawsockets i thought it meant sock_raw which have traditionally been known as raw sockets.
23:18:45BlaXpirit"has issues with spaces in arguments."
23:19:16BlaXpiritdiff of the 2 modules doesn't help
23:22:36dom96we need to remove deprecated things in this release
23:22:47dom96it's about time to do so
23:23:33reactormonkdom96, you can have sockets as files.
23:24:30*sillesta quit (Ping timeout: 246 seconds)
23:24:35dom96reactormonk: Nim's Socket type cannot be converted to a File type.
23:25:28onionhammerAraq i can just keep another reference to the string object
23:25:31onionhammeron the same object
23:25:44reactormonkdom96, no, but a File can be a socket.
23:25:54Araqonionhammer: hrm yeah should work
23:25:57reactormonkon the filsystem level
23:26:07dom96reactormonk: then you probably shouldn't use readAll on it.
23:26:15reactormonkpoint taken.
23:27:20onionhammeraraq ok updated the code
23:29:44Araqonionhammer: ok, dunno when I will find the time to look into it
23:30:04onionhammeraraq ok, i can still come up w/ a simpler case perhaps
23:30:31Araqkeep in mind that I need to add it to the testsuite anyway ;-)
23:30:46onionhammerok
23:30:48Araqso yeah, everything you do here helps
23:33:02*untitaker quit (Ping timeout: 272 seconds)
23:38:25*untitaker joined #nim
23:39:25*fizzbooze quit (Ping timeout: 255 seconds)
23:40:50awesomo4000is anyone working on a pcap interface
23:42:39*fizzbooze joined #nim
23:45:41filwitdom96: just came back from lunch. aporia still doesn't open...
23:46:47filwitdom96: oh well, i guess we know it's not going to reset after a certain amount of time. I need to restart I guess, unless you know of a way to kill the process responsible for the open socket?
23:47:48*petrus quit (Quit: WeeChat 1.1.1)
23:47:54filwitnevermind, found the process (nimsuggest, duh)
23:48:20Araqyeah if aporia crashes, it doesn't shut down nimsuggest
23:48:27Araqreally annoying
23:49:47awesomo4000is it a socket bind problem ?
23:50:03filwitAraq: just kill the nimsuggest process, that fixes it for now
23:50:24filwitdom96: new nimsuggest still fails on basic test though (Person website example)
23:50:54melvanissorry for asking a library rather than a language question, I'm new to the channel and not sure if this is the place... but I've searched through the forums and nimble package list extensively and haven't found a usable matrix library, the existing ones (linagl, etc.) don't work on current Nim versions. is there anything usable at the moment or under development?
23:51:19*Matthias247 quit (Read error: Connection reset by peer)
23:51:51Araqmelvanis: afaict everybody develops his own ... and doesn't share it
23:52:16filwitdom96: not sure if it's because I wired up nimsuggest differently thought (i have a ~/.local/bin/ added to my PATH with local aliases there, including nimsuggest). Can you or Araq test out the banner Person example and let me know if that actually works for you (whenever you have time, I'm just going to disable suggest atm and do other things)
23:53:41*Trustable quit (Remote host closed the connection)
23:54:02melvanisAraq: that's really unfortunate, Nim seems like an excellent language for numerical work. thank you for answering. if I manage to put together something useful, I'll make sure to share it on the forums.
23:56:38Araqmelvanis: gmpreussner is working on one too, but he's currently not in #nim
23:57:07Araqmaybe you two can work together
23:58:03melvanisI'll try to track him down and see if I can help
23:59:54filwitg'damnit.. i just fond a (very small) issue with my aporia regex.. one sec