<< 05-06-2015 >>

00:04:01*shodan45 joined #nim
00:11:31vikatonwhere Araq at th0
00:18:42*boop is now known as boopisaway
00:19:56*bakeymemnet joined #nim
00:24:51vikatonNimBot
00:24:56vikatonwhat does it do?
00:26:21*shodan45 quit (Quit: Konversation terminated!)
00:26:38*shodan45 joined #nim
00:30:56*shodan45 quit (Client Quit)
00:33:55*vendethiel joined #nim
00:44:04*bakeymemnet quit (Quit: Leaving.)
00:58:00*vendethiel quit (Ping timeout: 252 seconds)
01:00:31*ozra quit (Ping timeout: 246 seconds)
01:01:45*gsingh93 joined #nim
01:18:42*vikaton quit ()
01:19:34reactormonkdom96, drag sexp.nim along too
01:19:51dtscodesex.nim?
01:27:57*yglukhov____ joined #nim
01:29:03*Siecje1 quit (Read error: Connection reset by peer)
01:31:16*fioco joined #nim
01:31:31fioco:D !! I just made nim run in a web interface!
01:31:46fiocoServer side nim sent to client, client runs in sandbox
01:32:24fiocoWell, it runs in an environment.... not a sandbox, YET
01:32:52*yglukhov____ quit (Ping timeout: 272 seconds)
01:34:54jackvfioco, that sounds pretty sweet
01:35:34fiocoYeah
01:35:52fiocoI say interface because it recieves html, yet only parses <nim> </nim>
01:36:04fioco(custom html tags)
01:38:23fiocoIssue is, only stdlib is used.... no multi file support yet
01:38:37*jaco60 quit (Ping timeout: 265 seconds)
01:39:26*datanoise quit (Ping timeout: 276 seconds)
01:41:58*vikaton joined #nim
01:44:58*vendethiel joined #nim
01:46:08*gokr quit (Quit: Leaving.)
01:55:19dtscodeTime to look at the IRC module again
01:58:46fiocodtscode:Can you do me a favor?
02:06:16*fioco is now known as testiuskjf
02:06:39*vendethiel quit (Ping timeout: 265 seconds)
02:07:17*testiuskjf is now known as fioco
02:10:51*datanoise joined #nim
02:17:57*fioco left #nim (#nim)
02:25:12*fioco joined #nim
02:29:47*vendethiel joined #nim
02:30:08*pregressive joined #nim
02:32:30*fioco left #nim (#nim)
02:34:48*pregressive quit (Ping timeout: 272 seconds)
02:37:03*Quikli joined #nim
02:39:04*Quikli quit (Client Quit)
02:40:09*elbow quit (Ping timeout: 240 seconds)
02:49:39*pregressive joined #nim
02:50:39*vendethiel quit (Ping timeout: 245 seconds)
02:50:57*brson quit (Quit: leaving)
02:54:33*dtscode is now known as charmander
02:54:55*dddddd quit (Ping timeout: 244 seconds)
03:28:19*BitPuffin|osx quit (Ping timeout: 265 seconds)
03:40:52*strcmp1 quit (Quit: Leaving)
03:46:18jackvso is there actually an unsafe shared heap?
03:47:52*darkf joined #nim
04:13:18reactormonkjackv, only if you want it
04:13:42charmanderAraq: ping
04:13:53jackvis there another way to easily share variables among threads?
04:14:18jackvI mean, the different threads would only be reading it
04:27:41*xtagon joined #nim
04:28:58flaviujackv: If you're not allocating memory, just put it in a global var.
04:29:09flaviuor you can copy it into each thread
04:29:28jackvok thanks!
04:30:20*Jesin quit (Quit: Leaving)
04:35:46*pregressive quit (Remote host closed the connection)
04:37:51*usandfriends joined #nim
04:38:53*usandfriends left #nim ("Client Quit")
05:06:43*fioco_ joined #nim
05:16:36*nande quit (Read error: Connection reset by peer)
05:19:10*xtagon quit (Read error: Connection reset by peer)
05:34:02*gsingh93 quit (Ping timeout: 272 seconds)
05:35:16*fioco_ quit (Ping timeout: 256 seconds)
05:43:40*vikaton quit (Quit: Connection closed for inactivity)
06:00:11*elbow joined #nim
06:34:55*vendethiel joined #nim
06:35:03*gokr_ joined #nim
06:40:37*onionhammer quit (Ping timeout: 264 seconds)
06:44:36*gokr_ quit (Remote host closed the connection)
06:44:47*gokr_ joined #nim
06:47:03*charmander is now known as dtscode
06:53:44*Ven joined #nim
06:54:21*dtscode is now known as squirtle
06:56:56*gokr joined #nim
06:57:01*Ven quit (Client Quit)
06:59:03*vendethiel quit (Ping timeout: 265 seconds)
07:06:02*banister quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
07:07:13*datanoise quit (Ping timeout: 256 seconds)
07:07:48*Ven joined #nim
07:14:35*wb quit (Ping timeout: 258 seconds)
07:19:08*davidhq joined #nim
07:22:54*squirtle is now known as bulbasaur
07:30:29*BlaXpirit joined #nim
07:38:23*davidhq quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
07:46:49*gokr quit (Quit: Leaving.)
07:49:25*yglukhov____ joined #nim
07:50:37Araqping zahary
07:51:46*wb joined #nim
08:05:27*datanoise joined #nim
08:07:14*coffeepot joined #nim
08:08:22*gokr joined #nim
08:09:16*gokr quit (Read error: Connection reset by peer)
08:13:57*Trustable joined #nim
08:14:10*Arrrr joined #nim
08:14:32Araqhey Trustable. how's your widget toolkit going?
08:20:27*ingsoc joined #nim
08:21:36TrustableHi Araq, I have not yet started to code, but have a concept in my mind.
08:22:54TrustableWhat would be the best name for a Nim GUI toolkit? claro, claroui, nui, nimui, clarone, ...?
08:23:29Araqhey, we did decide on some name for it.
08:23:34Araqbut I don't remember.
08:24:47bulbasaurAraq: I know you find linux distasteful, but would you have any issue with me making + maintaining an ubuntu apt-get repo for nim/nimble
08:26:49*Trustable quit (Quit: Leaving)
08:27:33Araqbulbasaur: no, why would I?
08:27:41*bulbasaur shrugs
08:27:46XeI have been wondering what the best idea is for packaging nim's compiler toolkit in RPM distros.
08:27:59bulbasaurI just didn't want to get in trouble for it later down the line
08:28:26*Trustable joined #nim
08:28:55*Trustable quit (Remote host closed the connection)
08:29:10AraqI accept lots of stuff for improving the Linux experience, including compiler patches that produce terminal escape sequences and stuff.
08:29:38*Trustable joined #nim
08:29:43Araqit's just that the price for accepting these PRs is that you have to read my rants. ;-)
08:29:44bulbasaurAwesome
08:29:49*datanoise quit (Ping timeout: 264 seconds)
08:29:56bulbasaur;-; not more rants
08:30:05Araqok, will try
08:30:17bulbasaurdom96 already rants enough
08:30:30Araqreally? that's news to me
08:30:44*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
08:33:36bulbasaurMaybe I'm thinking of someone else
08:35:48bulbasaurshit. I accidentally logged out of my ssh shell
08:42:06*jaco60 joined #nim
08:44:52*banister joined #nim
08:48:45*Ven joined #nim
08:57:33*themagician_a quit (Ping timeout: 265 seconds)
08:59:45*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
09:00:27ingsocIs it just that core devs have more experience with Windows or is there some technical reason why *nix isn't the preferred platform
09:00:39ingsocjust interested as a guy who moved from windows after years to linux
09:01:37*jh32 quit (Ping timeout: 264 seconds)
09:01:45Araqingsoc: I pretty much moved from Linux back to Windows. After years of using Linux.
09:02:37Araqfor plenty of technical reasons.
09:02:44Araqbut nobody wants to hear about them.
09:03:55*themagician joined #nim
09:04:09ingsocAraq: I am more from operations and enterprise background (not so much programming) and windows has a dominance in that arena (no choice but to use it), but I have found that *nix has more back doors or ways to figure out what the hell is happening with the system than windows.
09:04:24ingsocyou have more control
09:04:39ingsocbut then, i am not sure what linux v windows is like from a systems programming POV
09:05:07ingsocI am interested in a short vent if you like
09:05:18ingsoci have no allegiance to either platforms really
09:05:22ingsoc:D
09:06:01*Trustable quit (Remote host closed the connection)
09:06:18Araqwell they are both quite horrible. it's just that Windows is slightly better these days in getting out of my way.
09:06:19ingsocI have also found that most open source tooling is usually more supportive of *nix than windows which is partly why i switched
09:06:42ingsocoh ok, you mean more from a user POV, like less hassle in a daily workflow
09:06:54ingsoclinux is deffo more hassle to get things working
09:06:58ingsocand incompatibilities
09:07:00ingsocdeffo
09:07:11ingsoc*nix is better as a server platform though imho
09:07:26Araqwindows: all the old shit, but at least my programs continue to run.
09:07:37ingsocfair enough
09:08:01*Ven joined #nim
09:10:00AraqLinux: all the old shit and now sound doesn't work anymore. ;-)
09:10:53Araqingsoc: windows as a server is still a joke, agreed.
09:11:03*OnO joined #nim
09:12:31ingsocAraq: yeah, lets load a complex GUI and make sure we have as much shit as possible loaded to eat clock cycles and trigger a bug so we can then run our mission critical apps on it. Actually I think there is a way, or there were rumours at one time that there was a release of windows server coming out with no gui enabled
09:12:57ingsocbut yeah, even then it is still shit
09:13:03ingsocscripting was a joke for years
09:13:15ingsocnot used powershell much but i guess that has improved things
09:13:27Araqdunno I consider scripting a joke everywhere.
09:14:16Araq"here is this language of the 70ies with weird quoting rules that does not type checking whatsoever and every command effects your hard-disk"
09:15:27ingsocyeah. tbh I now tend to write sys admin scripts with python for a whole load of reasons
09:18:53Araqyeah and on windows, you can actually install the python version of your choice and are in full control which python version is used for what ;-)
09:24:08*themagician quit (Ping timeout: 265 seconds)
09:28:06ingsocAraq: btw, I was talking about concurrency a while back, and well, I did a talk about concurrency and erlang a while back and created this image to show how it works with regard to multi-core. You might not care at all but just thought I would give you a heads up.
09:28:06ingsochttps://drive.google.com/file/d/0BwQ_KGjTrn-1RC1xNGtSalFGSWs/view?usp=sharing
09:29:25*themagician joined #nim
09:30:20ingsocakka is a library for Java VM that has copied a lot of the erlang way of doing things for its concurrency model so it seems it is possible to add this as a library without core VM support like in erlang http://akka.io/
09:30:53ingsocdream would be a library like that for a easier systems programming language like nim, fast effecient low memory usage etc.
09:30:54ingsoc:)
09:31:17ingsocprob a LOT of work though and i don;t have the skills
09:32:27*davidhq joined #nim
09:32:32*davidhq quit (Client Quit)
09:33:34*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
09:38:19Araqingsoc: thanks, but I know that much already.
09:39:29*jh32 joined #nim
09:41:17ingsocok
09:43:25Araqthese libraries often do bytecode rewritting to implement some continuation passing style
09:43:44Araqwhich is what our async does too
09:50:28*vendethiel joined #nim
09:50:39coffeepotsome quick questions regarding style of accessing SQL params. Say you have a query "qry" and want to access the params. You need access by string or by int index. Possible options: a) qry.params[0] = value, qry.paramByName['myparam'] = value b) qry.param[0] = value, qry.params['myparam'] = value or c) not sure this is a good idea or even possible,
09:50:39coffeepotqry.params[0] = data, qry.params['myparam'] = data. Ultimately I want to have it do something similar to % in strutils for setting them up too, but that's kinda separate.
09:51:00coffeepotjust wondering what people think would by nicer to use really
09:51:20Araqqry.fieldname via overloaded '.' access is also possible
09:52:10coffeepotAraq: hmm yes but that would interfere with other members of the qry object I think?
09:52:23coffeepotwell, if your param name shadowed a propery
09:52:28coffeepotproperty
09:53:52coffeepotoh wait i think i see what you mean, like qry.params.myparamname ?
09:55:14coffeepotis it possible in nim to overload it so that you could do qry.params[int] and qry.params[string] ? Still not sure if it's sensible though
09:55:59eldamara bit late to the game, but if you like to have multiple python enviroments on *nix there is always https://github.com/yyuu/pyenv, have worked out really good for me
09:57:59*themagician quit (Ping timeout: 276 seconds)
09:58:38*xet7 quit (Ping timeout: 276 seconds)
09:58:46*johnsoft quit (Ping timeout: 256 seconds)
09:58:54*boopisaway is now known as boop
10:00:57Araqeldamar: yeah but I really enjoy the fact that the base system doesn't depend on Python at all ;-)
10:01:25Araqin fact, I enjoy the proper distinction between OS and applications.
10:13:01*vendethiel quit (Ping timeout: 255 seconds)
10:16:31*dddddd joined #nim
10:36:27*gokr_ quit (Remote host closed the connection)
10:36:41*gokr_ joined #nim
10:37:25OnOAraq: so can we bring back +x to bootstrap.sh ?
10:39:54AraqOnO: yep. PRs welcome
10:40:40*JinShil joined #nim
10:41:12OnObtw. latest devel does no install anymore: lib/impure/zipfiles.nim(117, 9) Error: undeclared identifier: 'ZipFileStream'
10:41:44Araqthere has been yet another renamefest
10:41:51Araqshould be easy to fix.
10:42:28OnOb0469c11e334e96cebe53cbe804b6a877831c85a: Reverted TZipFileStream name change forgot revert in one place
10:46:11*JinShil quit (Quit: Konversation terminated!)
10:46:22OnOAraq: here's a quick fixup for that: https://github.com/Araq/Nim/pull/2873
10:51:09Araqso OnO, haven't looked at how you implemented it, but ({.pragmas.}: foo) is fine
10:52:34OnOactually it is very trivial extension to parsePar https://github.com/nanoant/Nim/commit/b0db8126a52fd48352b0b2ce8c7d99e0c98083ef
10:53:22OnOFYI I am working on {.noRewrite: ident.}, I am adding noRewrite*: PIdent to TNode that has sons
10:53:40Araqnah, please don't
10:53:51OnOokay, so?
10:53:54OnObetter way?
10:54:11OnOcoz previous you didn't like nfNoRewrite flag
10:54:18*johnsoft joined #nim
10:54:36Araqwell the AST has a really fixed structure
10:54:46Araqdon't patch it, it's not required anyway
10:55:26AraqnkPragmaStmt( nkIdent("noRewrite"), nkIdent("ident")) is good enough, just add some accessors for it
10:55:42Araqwell I guess it's nkPragmaStmt(nkPar( ... )) but whatever
10:55:55Araqer, nkExprColonExpr
10:56:20Araqalso you should lookup the ident and produce a sym.
10:56:41Araqso that foo.rule1 does not affect bar.rule1
10:57:09Araqand ... it might be all wrong ;-)
10:57:15Araqmaybe instead we should have:
10:57:44Araqtemplate rule{x= a}() {.nonrecursive.}
10:58:28OnOmaybe, but then we would get back to square 1 requiring attaching used opts to the part of AST
10:59:01OnOmoreover actually I need to block my other optimizations eg. block optRead from optWrite that used read expr too
10:59:30Araq.nonrecursive and implicitly produce {.noRewrite: currentRule.}
10:59:35Araq*can implicitly
11:00:25Araqit's just more convenient for TR macro writers, but a rarely used feature doesn't need all this sugar either so whatever
11:00:41Araqyour last comment is interesting
11:00:41OnOyeah :) anywhere where currentRule is actually used in the template... anyways I don't think we need that
11:01:29OnOas for attaching symbol not ident to the noRewrite... what would be the syntax?
11:02:14OnOjust bindsym followed by check if it is macro or proc?
11:02:41AraqI don't understand
11:02:56Araqyou lookup the symbol when you process the pragma in pragmas.nim.
11:04:10*milosn_ joined #nim
11:05:04*milosn quit (Ping timeout: 256 seconds)
11:05:37AraqOnO: also from your description it looks like you want {.noRewrite: [foo, bar].}
11:06:04OnOAraq: yess.... probably
11:06:20OnOthis is how it looks now: at the very bottom: https://github.com/nanoant/nim-orm/blob/master/orm.nim
11:06:26*milosn_ is now known as milosn
11:07:11OnObut since there are no two TR macros of mine that affect the same part actually I'd need: {.noRewrite: optWrite.}: ({.noRewrite: optRead.}: user.field) = value
11:08:06Araqalso it will be fun to support that without template forwarding
11:08:27AraqI guess you need to defer the pragma checking somewhat until the symbols are known :P
11:08:44OnOstill my problem is that as you suggest to keep these symbols in the pragma, but the stmt pragma are processed by sema into plain stmts is I understand correctly before TR pass
11:09:14OnOin semPragmaBlock in fact
11:09:34Araqthere are pragmas which remain in the AST, like .emit
11:09:55Araqdon't remember how it's done but it shouldn't be hard to keep them
11:09:55*gokr_ quit (Read error: Connection reset by peer)
11:11:00OnOoookay... but then since matches (patterns.nim) have a handle to the expr not the wrapping pragma this will bring severe complication
11:12:18OnOcoz if I understand correctly nodes do not have pointers to their parents (surroundings)
11:12:18*banister quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
11:12:59AraqI don't see why
11:13:44Araqinstead of checking nfNoRewrite you have an nkPragmaExpr node that you need to look at
11:15:28OnOyeah, but I don't want noRewrite to be recursive, but such implementation would probably cause this
11:15:42*noobie joined #nim
11:16:25OnOI need to think on it, but my original idea would be to block rewrite of the AST part, but not its subparts
11:17:12OnOeg. norewrite: somecall(1, 2, 3, somecall(1, 2)), blocks only top rewrite
11:17:18OnOnot the inner one
11:17:50Araqhrm. why? pattern matching is from outer to inner
11:18:13Araqif you prevent the outer from transforming, the inner is safe
11:18:28*banister joined #nim
11:19:10Araqthat's why we have them, they need to work quite differently from ordinary macros
11:19:27OnO"safe" means it will rewrite or not? coz I want it to rewrite
11:19:50Araq"safe" means no rewrite
11:20:04OnOeg. TR: macro that rewrites call(x, y) -> call(1, y)
11:20:17OnOso it emits noRewrite: call(1, y)
11:20:29*xet7 joined #nim
11:20:42OnOnow, let's say our code is call(0, call(0, 2))
11:20:56OnOthen inner call will be not rewritten
11:21:05Araqaye
11:21:51OnObut this is not expected, since we want our TR to match all possible opportunities, but just once
11:22:11*themagician joined #nim
11:22:26Araqthen you need a better .noRewrite annotation :P
11:24:01Araqin fact, I'm not sure you need an annotation at all but simply more logic in the matching&rewriting process
11:24:28Araqso that the produced 'call' is marked red since it already comes from a TR macro
11:24:45Araqin fact, your nfNoRewrite node flag might come in handy for that
11:25:41OnOwe probably do, given example I rewrite: (load) a.x (store) a.x = v
11:25:58OnOin store result I need to prevent a.x rewrite
11:26:20OnOI doubt this can be figured out automatically
11:30:17*Kingsquee quit (Quit: Konversation terminated!)
11:38:25*vikaton joined #nim
11:38:49*Nax joined #nim
11:39:44*gokr joined #nim
11:43:40*datanoise joined #nim
11:49:03*noobie quit (Quit: Page closed)
11:49:45*strcmp1 joined #nim
11:50:50*banister quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
11:52:16OnOAraq: different Q: currently macros return false for: bindSym"SomeType" == bindSym"SomeType"
11:52:24OnOapperently comparing Sym nodes does not work
11:52:30OnOis it expected behavior?
11:52:40Araqhrm, no
11:53:11OnOopcEqNimrodNode just compared regA.node with regB.node
11:53:27OnObut I don't see any place that defines `==` for PNode
11:53:58vikatonAraq, does this look good to be added to the FAQ ?
11:54:23vikatonhttps://gist.github.com/Vikaton/126c07c00527cbcab545
11:55:21*def- quit (Ping timeout: 265 seconds)
11:55:53*Nax quit (Quit: Page closed)
11:56:01*JinShil joined #nim
11:59:07*def- joined #nim
12:01:38*johnsoft quit (Ping timeout: 265 seconds)
12:06:51*gokr_ joined #nim
12:12:44*datanoise quit (Ping timeout: 245 seconds)
12:18:19*def- quit (Ping timeout: 256 seconds)
12:21:30*onionhammer joined #nim
12:22:08*def- joined #nim
12:22:39coffeepotI'm not araq vikaton but surely not nil should be the first item on your list?
12:22:55coffeepotas it's a language feature
12:23:08vikatonOk sure
12:23:12*synthmeat left #nim ("WeeChat 1.3-dev")
12:25:26vikatondone
12:27:19yglukhov____vikaton, imho it should be stated that pointers are hardly needed on day-to-day basis. They are mostly needed for interfacing with C*, and for hardcore optimizations. Otherwise nim's references should suffice.
12:27:23*TEttinger quit (Ping timeout: 246 seconds)
12:28:27vikatonyou guys could fork it and stuff you think is best fit in it
12:28:41*def- quit (Ping timeout: 265 seconds)
12:30:14*Ven joined #nim
12:32:53*yglukhov_____ joined #nim
12:33:38*def- joined #nim
12:37:14*yglukhov____ quit (Ping timeout: 276 seconds)
12:37:51*Siecje joined #nim
12:39:59AraqOnO: it's likely the same opcode. it should do a deep comparison (there is a bug report about it)
12:41:28vikatonyglukhov_____: Well I dont think they need to be concerned about that then since they wouldnt use pointers
12:41:32coffeepotyeah I think a lot of the 'unsafe' stuff comes from two areas: one, that it compiles to C and people somehow think this means writing nim is anything like writing C, and two that post on HN where pcwalton mentions a code snippet that ends up dereferincing nil - however he declares a ref then uses [] which is IIUC a pointer deref anyway. Normal use
12:41:32coffeepotof refs I don't think cause UB
12:42:23coffeepotI think it's good that you're writing this, vikaton
12:42:57vikatonthanks
12:43:19*Pisuke quit (Read error: No route to host)
12:44:06Araqer ... ref vs ptr has nothing to do with the "unsafety" of Nim's "nil" value.
12:44:38vikatonwell when we get NilError exception from a null pointer dereference being caught with --nilChecks, then its DB
12:44:41*Siecje left #nim (#nim)
12:44:48vikatonAraq, is that good enough to update the FAQ ?
12:46:08coffeepotAraq sure, but in the comment I'm referring to dereferencing a nil ref gives funky behaviour
12:46:16coffeepotin release mode
12:46:48coffeepotvar k: ref int = nil; var l = k[]; echo($l)
12:47:12coffeepotof course, writing var l = k and echo ($l) gives a type error
12:48:00Araqevery line of code that has never been run in debug mode is broken anyway, this holds for every systems programming language that I know of.
12:48:15coffeepotanyway, I don't know enough to really say much other than I haven't needed to [] on a reference yet, so not sure if that's something people do aside from sharing between threads
12:48:41Araqin fact, it's .NET and the JVM which tend to do much better by not stressing the debug vs release modes that much.
12:50:34Araqcoffeepot: keep in mind that x.field is often short for x[].field, so it's much more common than you think it is.
12:50:56Araqalso threading and safety is a completely different topic
12:51:15vikatonso I should take off the thread point?
12:53:45coffeepotAraq hmm, that's a good point regarding x[].field. So, would I be crazy to suggest that a not nil might be a better as a default for refs, so that you have to explicitly allow nils? Or is that gonna impact performance?
12:53:56vikatonI'm just gonna go and add the QA to the FAQ now
12:54:01vikatonunless someone objects
12:54:21vikatoncoffeepot: not nil doesnt add overhead AFAIK
12:54:36vikatonoh wait nvm read that wrong
12:54:37coffeepotvikaton people can always expand on the page as they think of points to put in :)
12:54:45vikatonmhm
12:55:12coffeepotit is a question that gets asked often enough
12:55:17vikatonI just dont want to input false information I may have put in by mistake
12:55:55coffeepotunderstandable. I'm not exactly a nim pro tho so can't really comment :)
12:56:24AraqI'd answer this question completely differently:
12:56:56notfowlMake the article be called why isn't nim rust and just leave it empty
12:57:05*def- quit (Ping timeout: 250 seconds)
12:57:05*pregressive joined #nim
12:57:15Araq1. It's not a problem in practice in the real world, where people have access to a very good debug mode that catches all sorts of things at compile-time and at run-time.
12:57:33Araq2. It's not a problem with the right C compiler configurations.
12:58:42Araq3. It's not hard to "fix" this issue anyway. Where "fixing" means "pretending Nim created Ansi C code in the first place" (which it doesn't).
13:00:22Araq4. It's furthermore entirely deterministic in debug mode. It's nothing like a data race which you can never effectively test against.
13:00:55vikatonI can add all this stuff
13:02:07Araqthese things are called "paper tigers". Looks bad on paper, has no connection to reality.
13:02:11coffeepotI agree of course, to be quite honest I think it's just something rustaceans mention because it's rust's USP, which is understandable. I think it's worth having a page to send people who feel it is a deal breaker though, explaining why it's actually not a big deal. Personally, I'm quite used to the create/free paradigm so ensuring not-nils is somet
13:02:11coffeepothing I think is just part of normal programming.
13:02:53ArrrrThis has happened before with higher order functions
13:03:07coffeepotArrr it did?
13:03:25ArrrrYes, "your pl is not functional enough"
13:03:44coffeepotlol
13:04:06notfowlWe don't have to win over rust users, we don't have to win over anybody
13:04:24notfowlThe cool kids don't try to be cool, they just are.
13:04:28coffeepotnotfowl you are entirely right
13:04:57Arrrri'd rather make sure nim has the right features before it grows in popularity
13:05:12coffeepotstill though, 'paper tigers' can mean bad PR for no reason. As you say though it's not about convincing people. I think the proof is in projects that actually use nim
13:05:25notfowlAnswering every troll who asks "y so unsafe???" Would keep you from getting any work done
13:05:45*yglukhov_____ quit (Read error: Connection reset by peer)
13:05:46*yglukhov______ joined #nim
13:07:09*def- joined #nim
13:07:22Araqnow ... would 'not nil' be the better default. I don't think so. If it's a "not optional ref" it often isn't a 'ref' at all
13:07:36AraqNim is not Java.
13:08:05Arrrri'd like it to be optional, and always return optional when in doubt
13:08:16Arrrr*to be the default
13:08:42coffeepottbh when i use a ref it's because a) I want to use reference semantics and b) that includes the possibility of not being defined
13:09:21coffeepotso I'm kinda against not-nil default anyway
13:09:21ArrrrAt least, procs defined in the stdlib (or at least, most of them) should return optional before nil
13:09:30Araqand c) Nim already encourages you to give the type a name and then 'not nil' can be part of the type definition easily
13:09:31*datanoise joined #nim
13:10:39dom96Arrrr: You mean Option[T]?
13:10:52Arrrrmaybe true
13:11:10Arrrr(well, in nim, some true)
13:11:35dom96I think we need to take a long look at the stdlib and see which parts make sense and which don't before 1.0.
13:11:37*yglukhov______ quit (Read error: Connection reset by peer)
13:12:08*yglukhov______ joined #nim
13:12:19Arrrri'd move some stuff from strutils and sequtilts to system
13:12:30*bjz joined #nim
13:12:54*yglukhov______ quit (Remote host closed the connection)
13:13:14dom96I think system is big enough.
13:13:29*yglukhov______ joined #nim
13:13:49dom96perhaps it needs to be split into multiple modules.
13:14:59vikatonAraq, added to the bottom, https://gist.github.com/Vikaton/126c07c00527cbcab545
13:16:35AraqArrrr: why? cause you dunno about 'include prelude'?
13:16:50*dalarmmst quit (Ping timeout: 252 seconds)
13:16:57Araqnot to mention the x command line switches for implicit imports
13:18:45coffeepothuh, well I didn't know about include prelude :) Things like this are nice when you have dead code elim
13:21:14coffeepotI keep forgetting how nice parseutils is :)
13:21:39Araqmore important would be something like "if system is imported explicitly, don't import it implicitly"
13:22:02Araqso then "import system except `..<` " starts to work
13:22:13*def- quit (Ping timeout: 250 seconds)
13:22:16Varriount_dom96: If nothing else, system should be split into multiple modules for documentation purposes.
13:22:20*Varriount_ is now known as Varriount
13:22:34coffeepot"import system except" why is that necessary with dead code elim?
13:22:59dom96Varriount: precisely
13:23:02Varriountcoffeepot: So that people can disable behavior found in system.nim
13:23:17coffeepotVarriount oh yes, of course! :)
13:23:37Varriountcoffeepot: Say, if you wanted to re-implement the string types subscript operator.
13:23:44Varriount*type's
13:24:42AraqVarriount: that's more work than just having a version of 'system' that's only used for the docgen
13:25:00*fioco joined #nim
13:27:16VarriountAraq: But wouldn't a version of system.nim just for docgen require copying all of system.nim's contents? And then the copy would have to be continually updated to match system.nim
13:29:38buttplugwhy does it let shit be nil anyway
13:29:56Varriountbuttplug: Huh?
13:30:39*def- joined #nim
13:32:20*fioco left #nim ("See")
13:32:27*yglukhov_______ joined #nim
13:32:54VarriountAraq: Just a status update on the MSDN crawler - It's working, and has (at last count) about 3000 pages left to crawl.
13:33:08AraqVarriount: multiple systems can include the same files
13:33:32VarriountAraq: Oh. I hadn't thought of that.
13:35:21*yglukhov______ quit (Ping timeout: 240 seconds)
13:35:57*datanoise quit (Ping timeout: 265 seconds)
13:37:02*BlaXpirit quit (Read error: Connection reset by peer)
13:37:05*BlaXpirit_ joined #nim
13:37:05*BlaXpirit_ is now known as BlaXpirit
13:40:15coffeepotbuttplug are you asking why a ref *can* be nil?
13:40:40buttplugya isn't that just like using c pointers
13:41:01buttplugwhy not jump to at least c++ references
13:41:25coffeepotI think a ref is pretty similar to C++ references
13:41:30Araqor like using C# objects. which weren't able to get rid of 'null' for pretty much the same reasons Nim weren't.
13:42:16Araqc++ references are 'var T' and cannot be 'nil' (except in corner cases, like in C++)
13:45:04coffeepotI think the simple answer to why a ref can be nil is that sometimes you want to represent data that is... well, empty, or not set up - for example with lazy initialisers
13:45:50coffeepoteg; trees. If a tree node has it's children as nil you know it's got no children
13:46:15*Siecje1 joined #nim
13:46:17coffeepotyou couldn't have a recursive structure that doesn't allow a nil reference to it's type AFAIK
13:46:41coffeepotunless you defined it as using a separate object that represents 'empty'
13:46:55notfowlYes nil (0) is a state pointers can be in
13:47:27Araqrecursive structures are fine with 'not nil'. *cycles* however pretty much require 'nil' and imperative creation code.
13:48:40coffeepotI stand corrected :) I wouldn't want to give up the possibility of nil, personally
13:49:00dom96Couldn't the compiler have a mode in which it scans your code and warns you about places where you are dereferencing a possibly nil ref?
13:49:21dom96but then you may as well use 'not nil' I gues
13:49:22dom96s
13:49:23coffeepotdom96 I thought that was what not-nil is?
13:50:09coffeepot... or is it? :)
13:51:16coffeepotactually it'd be nice to be able to have a compiler flag that forces a not-nil check and emits a warning
13:51:27coffeepotbut doesn't actually force not-nil
13:51:38coffeepotif that makes sense
13:51:43dom96yeah, that's what I meant.
13:51:56coffeepot:)
13:52:12Araqthat's what "not nil" does
13:54:15coffeepotdom96 I just realised I literally just repeated what you said haha
13:54:29dom96lol
13:57:06*Gonzih quit (Remote host closed the connection)
13:59:38*sepisoad joined #nim
14:00:19*Siecje1 quit (Ping timeout: 256 seconds)
14:04:21*Gonzih joined #nim
14:06:01OnOstupid Q, why rst files are having .txt prefix not .rst?
14:06:11OnOI mean in doc/
14:06:29*yglukhov_______ quit (Remote host closed the connection)
14:06:30Araqcause they are readable as .txt too
14:06:32OnOand .rst extension (not prefix - cmon my English is fun today)
14:07:03*yglukhov_______ joined #nim
14:07:05OnOAraq: yeah I know, but if you use some syntax highlight editor to edit these then you don't get RST features :(
14:07:54Araqyeah I guess we can change that. the idea was that people don't get strange ideas like "convert the .rst to txt please"
14:09:35OnOah, okay, this isn't big deal, it can remain as it is now, I was just wondering what was the reason
14:10:11*johnsoft joined #nim
14:11:29*Siecje joined #nim
14:13:19Araqbtw what "RST editing featues" are available?
14:13:46*gokr_ quit (Remote host closed the connection)
14:15:18*fioco joined #nim
14:17:15*yglukhov_______ quit (Ping timeout: 250 seconds)
14:18:53dom96syntax highlighting probably
14:19:11dom96live rendering too maybe
14:22:32Araqdom96: well I asked about real features, not about features what you can think of :P
14:22:43Araq*that
14:25:29*xet7 quit (Quit: Leaving)
14:30:44r-kui see in-place conversion string(s).len does not create new object but uses original one (where s is type foo = distinct string). however let ns = string(s) makes a copy. any way to avoid making a copy? i basically want variable-like alias for calling parent type procs easily without making a copy of variable.
14:31:22notfowlUse shallowcopy()
14:31:41Araqlet ns = string(s) doesn't create a copy if 'ns' is local.
14:31:59Araq(I think.)
14:32:16r-kui tried it only in "root scope" in my test script, let me try it in proc
14:33:15r-kuyou are right, thanks
14:33:26r-kuthough this is weird. why would it make a copy if not in a proc?
14:34:03*fioco left #nim ("See")
14:34:46OnOcough... cough... shouldn't we also fix Nim project files line endings at some stage heading towards 1.0?
14:35:35AraqOnO: for me this is backwards. Git should be fixed instead to not be a dick about everything. ;-)
14:36:19Araqr-ku: for reasons that hrm ... are too complex to explain here :P
14:36:59notfowlr-ku: because global variables? String have value semantics
14:37:18OnOAraq: haven't you heard that Git is a "stupid content tracker" :P ?
14:37:18*datanoise joined #nim
14:37:41OnOit just does what you tell... you put CRLF you get CRLF
14:38:11Araqno, it has all sorts of "put cr in, get lf out" behaviour
14:38:11*BitPuffin joined #nim
14:38:11OnOobviously you can enable line endings canonization, but somebody who did the commits didn't
14:38:32*sepisoad quit (Read error: Connection reset by peer)
14:38:38Araqyeah cause git shouldn't mess with my data
14:38:58*sepisoad joined #nim
14:39:08Araqwhat if I have a test file that tests that CR-LF works on Linux too?
14:40:34OnOyes
14:40:35notfowlHaven't you heard? Every problem with git exists between your chair and keyboard
14:40:43OnOactually mostly tests/ are affected
14:40:51*banister joined #nim
14:41:02notfowlHundreds of people are using it without any problems
14:41:07OnObut depending on editor it can show just some crap like ^M
14:41:11OnOon each line
14:41:39*sepisoad_ joined #nim
14:41:52Araqthe only real problem is that "git diff" lacks a "user has a real life" switch that's enabled by default. so that trailing whitespace isn't shown. I mean I can enable that easily enough, but then "git log -p" doesn't know about it.
14:42:11AraqOnO: so fix your editor.
14:42:11OnOtrue
14:43:22Araqthis "user has a real life" switch would be very useful for Linux too.
14:43:53Araqperhaps even for open source in general.
14:44:07OnOlong story short I wouldn't blame Git but M$ for making their own shitty standards, just to "be incompatible"
14:45:57def-Araq: it would be much easier to fix the trailing whitespace and cr-lf issues in the nim repo instead of arguing to fix every other software out there
14:48:29OnOmain code problems is compiler/canonicalizer.nim lib/system/channels.nim lib/windows/windows.nim lib/wrappers/claro.nim, rest are docs, tests and examples, which are more less irrelevant
14:48:40r-kuoh lol there should be entry about this switch on wikipedia. its worth quoting. although they would take it down for lack of credible references..
14:53:36*banister quit (Ping timeout: 244 seconds)
14:53:42*joebo joined #nim
14:55:41vikatonadded and edited the FAQ
14:55:42vikatonfeel free to correct me
14:57:23Arrrrwhere can i see your additions
14:58:18vikatonArrrr: https://github.com/Araq/Nim/wiki/Unofficial-FAQ/_history
15:15:00*JinShil quit (Quit: Konversation terminated!)
15:18:10*sepisoad_ quit (Quit: Leaving)
15:18:39*darkf quit (Quit: Leaving)
15:21:37*gsingh93 joined #nim
15:36:22*Siecje quit (Read error: Connection reset by peer)
15:47:54*gsingh93 quit (Ping timeout: 252 seconds)
15:49:20reactormonkdom96, can I just drag sexp.nim over into nimsuggest?
15:49:46dom96reactormonk: do you want to keep in the stdlib?
15:50:28reactormonkdom96, I don't see why. sexp aren't used that often and I don't see why keep it in there.
15:51:04dom96alright, remove it then
15:51:28dom96might want to check using 'when defined(sexp)' anyway so that it works for people who happen to have sexp in their stdlib
15:51:36dom96(or is it declared, can't remember).
15:52:44*kdsakd joined #nim
15:58:09*BitPuffin quit (Ping timeout: 245 seconds)
15:58:15reactormonkhm.
15:58:18reactormonk.nimble/pkgs/compiler-0.10.3/compiler/idents.nim(15, 21) Error: cannot open 'etcpriv'
15:58:20reactormonkFAILURE: Build failed for package: nimsuggest
15:58:24reactormonkdom96, can't build it anyway
15:58:38*kdsakd quit (Quit: Page closed)
15:59:25dom96likely a linux issue
15:59:29dom96try fixing it please
15:59:46reactormonknah, compiler update did it
16:00:55*HOLYCOWBATMAN joined #nim
16:00:58HOLYCOWBATMANAraq: its simple, set core.autocrlf to false
16:01:18HOLYCOWBATMANthat way you checkout and commit real lines endings
16:01:21HOLYCOWBATMANnothing is changed
16:01:28reactormonkdom96, access to https://github.com/nim-lang/nimsuggest plz
16:02:29dom96reactormonk: hrm, strange that you're not in that org yet.
16:02:33dom96Well, I invited you.
16:02:46dom96Don't disappoint me :P
16:02:58reactormonkgit push --force
16:03:13Xecan the compiler sources package be updated for nim 0.11.2?
16:03:52HOLYCOWBATMANAraq: you can use core.eol=lf too
16:05:23reactormonkhttp://pastie.org/private/vely8a6dkrg0lpmwcsyng ... wtf?
16:05:51HOLYCOWBATMANgit fetch first
16:05:56reactormonkohh, wait
16:06:07reactormonkI have a different remote for pushing so I don't push to the main repo by mistake :D
16:06:43HOLYCOWBATMANthats why you should always use explicit commands
16:06:50HOLYCOWBATMANaka git push origin master
16:06:52HOLYCOWBATMANor whatever
16:07:24HOLYCOWBATMANaka git push origin somefeature:devel
16:07:31*sepisoad_ joined #nim
16:08:49dom96Xe: you mean in the C sources repo?
16:09:04*Tennis quit (Quit: Leaving)
16:09:23Xehttps://github.com/nim-lang/packages/blob/master/packages.json#L1113-L1121
16:09:31Xefor some reason it reports as 0.10.x
16:09:45dom96oh!
16:10:21dom96done
16:10:48ArrrrHow is the nim way to unit testing?
16:11:03dom96Arrrr: Either the unittest module or doAssert()
16:11:10*sepisoad quit (Ping timeout: 272 seconds)
16:11:19r-kuhmm what is a correct way to have a var argument which does not get modified in parent scope and what is correct way to have "out" variable that gets modified in parent scope? atm var seems to cover second case but Araq insists var != out. and docs do not seem to cover this.
16:11:22ArrrrDo i have to compile with a special switch?
16:11:55dom96Arrrr: nope
16:12:01flaviuArrrr: The compiler doesn't know or care if you're doing unit testing
16:12:17ArrrrSo, doAssert always works
16:12:19flaviueither your unit testing framework requires a switch, or you've explicltly specified a switch
16:14:01ArrrrI see. Thank you dom96 and flaviu
16:18:48AraqOnO: it was Unix which departed from the rest of the world. The world used CR+LF, Unix made it LF only. Get your facts right.
16:19:46AraqHOLYCOWBATMAN: but I don't have a problem with CRs to begin with.
16:19:55HOLYCOWBATMANAraq: "core.autocrlf=false" and all your problems will be fixed
16:20:00HOLYCOWBATMANgit wont touch anything
16:20:12HOLYCOWBATMANwhat you commit is what you will get out, and everyone else will too
16:20:20Araqmy problems are purely social, not technical nature.
16:20:25HOLYCOWBATMANo
16:21:50HOLYCOWBATMANas long as everyone commits only LF or CR+LF consistantly theres no problem, mixing the 2 is a problem
16:25:13OnOAraq: http://en.wikipedia.org/wiki/Newline UNIX exists since 1969, where MSDOS 1981 and CP/M 1974
16:25:15HOLYCOWBATMANtbh its a good idea to enforce space only, i would do the same for LF or CR+LF
16:25:33OnOso what is "rest of the world" I don't get it?
16:26:00Araqdef-: but your argument amounts to "fixing trailing whitespace and cr-lf issues everywhere" instead of fixing some Unix based software...
16:27:26flaviuAraq: Feel free to send a PR to all these software projects
16:27:33flaviuI mean, they're open source!
16:27:43Araqthat we're even arguing about this bullshit is surreal
16:28:25OnOthis is not really important, the only problem is that the damn line endings are non-uniform, and mixed bag
16:28:53OnOI don't care if you want LF CRLF or CR as long as you use single line end terminator across whole file
16:29:00*gsingh93 joined #nim
16:29:07reactormonkAraq, yeah, unix saved one byte per line. Your move :-P
16:29:36HOLYCOWBATMANbut http standard is CF+LF
16:29:40Araq"hey darling, today I made lots of progress. I made my projects clean. I removed trailing whitespace." - "Are you drunk?"
16:29:42HOLYCOWBATMANCR+LF*
16:30:47reactormonkAraq, we could do that with some next release and break ALL the PRs
16:31:42Araqflaviu: why would I? it's OnO who has problems with his software.
16:31:55OnOheh... okay I feel sorry for raising that, nevermind, I just hate trailing sh... that make changes show when there were none
16:32:06*pregressive quit (Remote host closed the connection)
16:32:39*pregressive joined #nim
16:32:49HOLYCOWBATMANthere was a change
16:32:56HOLYCOWBATMANchanging line ending
16:33:12HOLYCOWBATMANsame as tab->space
16:34:08HOLYCOWBATMANi dont have a problem with either, since i show line endings + space /tabs in my editor
16:34:25*coffeepot quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
16:36:21OnOAraq: if you feel this kind of diff is OK, then there is no sense to continue this discussion: https://www.dropbox.com/s/4yonkiwxstdujfi/Zrzut%20ekranu%202015-06-05%20o%2018.32.59.png?dl=1
16:36:43OnOhttps://photos-3.dropbox.com/t/2/AACjdJ95zVoV8sVLIX-o5bp6kbZSC535YLsPxiutr1lKGA/12/64748870/png/32x32/1/_/1/2/Zrzut%20ekranu%202015-06-05%20o%2018.32.59.png/CMb67x4gASACIAMgBCAFIAYgBygBKAI/eDlLluoHe_6xQlESxXNc34LpzXOqW0y_bN7IlJl8Fn4?size=1280x960&size_mode=2
16:37:01*OnO cannot paste images on IRC
16:37:19*pregressive quit (Ping timeout: 255 seconds)
16:38:16AraqOnO: I feel like you're the only guy left who sees diffs like that.
16:38:42AraqI never see a diff like that. Not on Linux, not on Windows.
16:41:30AraqOnO: but ok. let's make a deal.
16:41:33*sepisoad__ joined #nim
16:41:48Araqyou create a PR that fixes all these things, I will apply it asap.
16:41:59Araqand you promise me to never bring up this topic again.
16:42:11OnOgit show 263cabd1c27977aa32c849ffb334984e8d476b97
16:42:42AraqOnO: deal?
16:43:57HOLYCOWBATMANono, whats the problem? its a new file
16:44:35*sepisoad_ quit (Ping timeout: 250 seconds)
16:45:33OnOI have no problem with that, really, I am just saying Git marks all inconsistent line endings and trailing whitespace, it does not bother me, I was just asking if we are going to address that
16:45:41OnOdidn't want to make flame war, etc. etc.
16:47:02HOLYCOWBATMANOnO, just keep them the same as before and you wont see any changes
16:47:36HOLYCOWBATMANthe commit you just pasted is a new file... so theres nothing to diff?
16:48:19AraqHOLYCOWBATMAN: let it be please. it's not important, we can discuss interesting things instead.
16:48:34OnOokay... so look at c40249cd43972079d92b513c8d1f0eb24220da6d
16:49:01OnOhttps://github.com/Araq/Nim/commit/c40249cd43972079d92b513c8d1f0eb24220da6d
16:49:04HOLYCOWBATMANi dont see any change
16:49:17HOLYCOWBATMANo wait
16:49:20HOLYCOWBATMANi was only on first file
16:49:33OnOlook at the commit above file compiler/canonicalizer.nim
16:49:53OnOonly 2 lines actually changes, rest is change in trailing whitespace
16:50:28HOLYCOWBATMANyes, thats not a good commit
16:50:34HOLYCOWBATMANbut thats the commiter fault
16:50:47OnOof course
16:51:13OnOfor some reason he touched whitespace :)
16:51:39dom96All I see is trailing whitespace changes
16:51:48dom96are there line ending changes too?
16:51:58OnOnot in this commit
16:52:28OnObut in the first one I show that there are line with inconsistent line endings
16:52:42dom96link?
16:52:48OnO263cabd1c27977aa32c849ffb334984e8d476b97
16:54:11OnOthere are many devs and some editors trim trailing whitespace or autocorrent inconsistent endings
16:54:33HOLYCOWBATMANjust diff before commiting, and revert those changes, or fix your editor :D
16:54:36dom96git corrects it on Windows.
16:55:35dom96afaik
16:55:47HOLYCOWBATMANgit has a autocrlf config
16:56:13HOLYCOWBATMANif its enabled it auto change from lf to crlf on checkout
16:56:16HOLYCOWBATMANand same on commit
16:56:20HOLYCOWBATMANinvert*
16:56:20OnOyes it does, but for some reason it was disabled for some commits
16:57:30OnOokay whatever, my wish is now to see commits with real changes stashed in numerous whitespace changes
16:58:19HOLYCOWBATMANdont accept the pr if they have useless whitespace change
16:58:29HOLYCOWBATMANmake them fix it thats simple
16:58:41OnOyeah
16:58:52dom96this doesn't show up on github though, does it?
16:58:57HOLYCOWBATMANyes it does
16:59:02OnOunfortunatelly
16:59:08HOLYCOWBATMANfortunatelly imo
16:59:10HOLYCOWBATMANits a change
16:59:52HOLYCOWBATMANcan you imagine if tab -> space changes were shown? it would be completly crazy
17:00:01HOLYCOWBATMANwerent*
17:00:34OnOI can imagine it would be cool if Nim throw error on trailing whitespace :>
17:00:45OnOsame as if it does on leading whitespace error
17:02:03dom96I don't see anything out of the ordinary in the commit OnO linked
17:03:13OnOhttp://programmers.stackexchange.com/questions/121555/why-is-trailing-whitespace-a-big-deal
17:03:53OnOhttps://github.com/Araq/Nim/commit/c40249cd43972079d92b513c8d1f0eb24220da6d#diff-1b210aac2ef5782dc1a06a1dde44977f
17:04:14OnO^-- take a look again, there are whitespace changes that don't change code at all there
17:04:32OnOnow if I run git blame I got blame for commit that changed whitespace
17:04:33dom96that looks like trailing whitespace to me
17:06:39HOLYCOWBATMANyou could probably write a git hook to auto reject those kind of changes
17:06:48OnObut then you are least see some indication of change, if you change line ending you will see none
17:07:01OnOlike line changed into exactly the same line
17:07:11OnOthis is really confusing
17:09:59dom96yeah, that's what I mean. How are we meant to detect PRs which do that?
17:11:21OnOusually needs one or more iterations of git blame
17:14:32OnOdom96: another one 2d9a24f3f6af0f978a95bc833ccc76ca47054b3c
17:15:00OnOunfortunately it is yours, but I don't think it is your fault, your editor just cut all whitespace on files you modified
17:16:14HOLYCOWBATMANnot enough diffing before commiting :P
17:21:32reactormonkhttps://stackoverflow.com/questions/30671669/define-generic-function-type sounds like a bug?
17:22:03dom96OnO: I'm confused. Are you saying that I removed trailing whitespace or changed the line endings?
17:22:43dom96Removing trailing whitespace is fine.
17:22:56dom96The repo is full of it and we need to remove it slowly.
17:23:20pigmejdom96: it would be damn easy to remove them automaticaly, isn't it?
17:23:33dom96pigmej: It would be, but we don't want to do that.
17:23:36dom96It will break all PRs
17:23:43pigmejreactormonk: hey, I will start hack around company today
17:23:52reactormonkpigmej, perfect.
17:24:04reactormonkpigmej, currently making some money :-)
17:24:09pigmejreactormonk: though I have no idea what I will be able to do :) let's check :)
17:24:17pigmejreactormonk: yeah, so did I :P
17:24:41OnOdom96: anything that alters the code just on whitespace basis in not fine
17:24:45pigmejbut it's freaking hot today in PL
17:24:52OnOCRs are whitespace too in LF file
17:25:18HOLYCOWBATMANtbh we could do it automatically, with automatic filtering on PRs
17:25:24OnOso the only sensible solution is stricly avoid commiting trailing whitespace to the repo
17:25:36HOLYCOWBATMANit would be doable, might not be worth the effort
17:25:46OnOthat was my point from the beginning
17:26:05OnOasking if Nim is going to address that
17:26:21OnOand NO is accepted answer too :)
17:26:33Araqso let me get this straight ... git and thus github made a strange decision ... to show whitespace ... and because of that "trailing whitespace is evil" and we MUST teach every upcoming programmer to be concerned about this nonsense for good?
17:26:36dom96OnO: How do you know I am removing CRs and not just 0x20 ' ' ?
17:26:41OnObut then we need to live with all noise in diffs
17:26:51*kumul joined #nim
17:27:22OnOdom96: frankly I don't :)
17:27:35Araqso instead of fixing git, we blame everybody else instead. For good.
17:27:39notfowlYou can add a param to hide whitespace changes
17:27:52dom96OnO: ahh. Ok. It sounded like you did.
17:27:58Araqyeah, that sounds like a reasonable approach to software development in general.
17:28:25OnOnot blaming anyone... just saying that whitespace causes noise in diffs
17:28:38dom96OT: Sometimes I really wish we could see Linus and Araq argue, wouldn't that be entertaining?
17:28:51OnOand the reasonable solution is to make sure only commits that don't bring any trailing whitespace gets commited
17:28:55OnOthat's it
17:29:09profandom96: the shitstorm could power nations for decades
17:29:21profan(i mean that in the nicest possible way) :D
17:29:27dom96profan: hah
17:29:45OnOand then we could use git blame, to blame ppl for real problems :)
17:29:53dom96OnO: If noise is what concerns you then append ?w=1 to the github url.
17:30:32*cyraxjoe_ joined #nim
17:30:57*cyraxjoe quit (Ping timeout: 250 seconds)
17:31:11OnOdom96: this doesn't fix "git blame"
17:31:59dom96OnO: In that case I agree with Araq
17:32:05dom96It's git that needs to be fixed not the world.
17:32:53OnOhaha... yeah, I do agree too
17:33:04*xtagon joined #nim
17:33:43*yglukhov________ joined #nim
17:36:11OnOGit is however "stupid" so it doesn't now much about your file and does not really make assumptions
17:36:42OnOeg. Markdown is trailing space sensitive, 3 and more trailing spaces mean hard line break
17:37:41Araqomg. tell me you are making this up.
17:37:51Araqtrailing space sensitive?!
17:38:45OnOnope, this is not a joke http://daringfireball.net/projects/markdown/syntax "When you do want to insert a <br /> break tag using Markdown, you end a line with two or more spaces, then type return."
17:40:35Araqmarkdown needs to be fixed. asap.
17:40:39dom96Fuck it. Let's just rewrite Nim using Whitespace.
17:40:42notfowlIt's still not tex
17:40:54dom96Then people will care about it!
17:41:03pigmejdom96: too late, https://en.wikipedia.org/wiki/Whitespace_%28programming_language%29
17:41:20OnOhahaha
17:41:27notfowlThat's Wikipedia-notable
17:41:49OnOlet's make hidden pragma that triggers on 2 or more trailing whitespaces :)
17:41:53pigmejnotfowl: that's sad that such 'joke' is on wiki, while Nim has still troubles ;/
17:41:56dom96pigmej: That's precisely what I want us to rewrite the compiler in ;)
17:42:06OnOthat will turn all additions into subtractions
17:42:20pigmejah, I thought you wanted to write new lang ;D
17:43:40*vikaton quit (Quit: Connection closed for inactivity)
17:45:31notfowlTheir references are Usenet postings and a blog
17:45:32OnOokay, changing subject, is nimble going to be part of Nim itself anytime soon?
17:46:15notfowlNvm that's not even Usenet its the languages homepage
17:46:25BlaXpiritabout 1000 times more people know about Whitespace programming language than Nim
17:46:58notfowlBlaXpirit: then why aren't they writing academic papers about it?
17:47:31dom96OnO: Define "be part of Nim"
17:47:31BlaXpiritnotfowl, maybe they are
17:48:11OnOdom96: I download nim sources, I run ./bootstrap.sh then ./install.sh I get /usr/local/nim/bin/nimble
17:48:41OnOdom96: I got to Nim docs I got nimble manual
17:48:56dom96OnO: There should be a separate script which does everything for you.
17:49:00dom96get-nim.sh
17:49:08dom96I think Varriount wrote something close.
17:49:24ArrrrMost have listened to pop music but never to classical.
17:49:33BlaXpiritthis is actually a bad thing -_-
17:52:22*brson joined #nim
17:52:35*onionhammer quit (Read error: Connection reset by peer)
17:53:06*onionhammer joined #nim
17:55:00*BitPuffin joined #nim
18:01:48*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
18:15:51*sepisoad__ quit (Ping timeout: 264 seconds)
18:27:15*Trustable joined #nim
18:27:56*banister joined #nim
18:29:49*onionhammer quit (Ping timeout: 264 seconds)
18:32:56*onionhammer joined #nim
18:34:46*fioco joined #nim
18:43:35fiocoHow can I set a proc to return a set [string]
18:43:40fioco?
18:46:11BlaXpiritfioco, there is no such thing
18:46:13Araqfioco: import tables; proc foo(): HashSet[string]
18:46:23BlaXpirityeah, use that instead..
18:46:36BlaXpiritthe "normal" set is only for ordinals
18:46:37*wan quit (Ping timeout: 264 seconds)
18:47:26fiocoThanks Araq
18:49:40*zero_coder quit (Quit: EliteBNC - http://www.elitebnc.net/)
18:54:06*pmbauer quit (Remote host closed the connection)
18:54:07*NhanH quit (Remote host closed the connection)
18:54:07*n1ftyn8 quit (Remote host closed the connection)
18:54:07*CARAM__ quit (Remote host closed the connection)
18:54:08*endou_________ quit (Remote host closed the connection)
18:57:50*zero_coder joined #nim
18:59:15*wan joined #nim
18:59:54*pregressive joined #nim
19:00:55*TEttinger joined #nim
19:07:58*sepisoad__ joined #nim
19:13:54*fioco left #nim ("See")
19:14:53*vikaton joined #nim
19:16:43*bulbasaur is now known as dtscode
19:25:47*xtagon quit (Read error: Connection reset by peer)
19:28:15dtscode<Arrrr> Most have listened to pop music but never to classical.
19:28:19dtscodeOpposite here
19:29:03Arrrrthat's cool, puccini
19:30:05flaviualso a little off-topic
19:31:04dtscodeYeah but we are discussing nim in the offtopic channel so idk what to do
19:31:12dtscodeerr nim adjacent things
19:31:57Arrrrwe actually were discussing that whitespace lang was known among more people than nim
19:32:15*xet7 joined #nim
19:41:16*pregressive quit (Remote host closed the connection)
19:47:02*Mat4 joined #nim
19:47:13*kumul quit (Ping timeout: 255 seconds)
19:55:58vikatonNim is whitespace ?!
20:01:35pigmejreactormonk: hmm, I think we have a problem
20:01:41reactormonkpigmej, go on
20:02:05pigmejnimsuggest is too slow for company
20:02:52*biscarch quit (Remote host closed the connection)
20:02:54*vikaton quit (Remote host closed the connection)
20:02:54*clone1018 quit (Write error: Broken pipe)
20:02:54*AckZ quit (Remote host closed the connection)
20:03:03reactormonkpigmej, really? It was rather quick
20:03:08Mat4sorry, what does this mean: Nim is ' ' ?
20:03:27pigmejreactormonk: yeah but probably still too slow, at least that's what company says
20:03:41reactormonkpigmej, huh?
20:03:43pigmejCompany: Back-end company-nim async timeout with args (candidates )
20:03:58reactormonktry sync, maybe it's an async problem
20:04:06pigmejwith sync whole emacs freezes;D
20:04:46pigmejmaybe it's false message or something.
20:05:05reactormonkentirely possible.
20:06:48reactormonkYou could add an echo to nimsuggest
20:06:56pigmejthe good thing is
20:07:02pigmejthat it responds with correct data ;-)
20:07:18pigmejand I see completions in messages :)
20:07:37pigmejbut the major problem is I really *hate* elisp;P
20:11:32reactormonkYou'll come to understand it after a while... like a retarded cousin.
20:12:09pigmejfor now my brain refuses it ;-)
20:12:24Araqreactormonk: now now now ... shhhhtttt. Cousins could be offended
20:12:30*Senketsu joined #nim
20:12:51pigmejrotfl;D
20:13:55reactormonkAraq, pretty sure one's gonna come after me in 23 years after he read the IRC log
20:15:25pigmejreactormonk: irc log in next 23 years ?
20:15:35pigmejI don't think so ..
20:20:42pigmejAraq: where is the doc of nimsuggest ?
20:20:46pigmej(the return values)
20:22:35Araqhrm? it returns 1 on failure and 0 on success.
20:25:43pigmejAraq: I meant response then :)
20:26:49pigmej("sug" "skTemplate" ("testability" "tests") "Nim/compiler/testability.nim" "proc (body: stmt): stmt" 1 9 "")
20:27:11*BitPuffin quit (Ping timeout: 276 seconds)
20:27:23OnOAraq: would it be feasible to map all messages generated by compiler to err, warns & hints, and then make single map which of these are enabled on which verbose level?
20:27:54OnOthen we could first take into consideration verbose level then let the dev fiddle with :on :off for individual messages
20:28:10pigmejsug => ok, skTemplate => ok, (? ?), file, locations
20:29:26OnOeg. I could turn on printing surrounding code, but turn off printing GC stats
20:29:43OnOcurrently impossible
20:31:28OnOon other hand doing verbosity:0 with hintPath:on has no effect, reason that verbosity check if hardcoded
20:32:15Araqdunno, just make a --unix:on switch which uses stderr for everything, :line:col syntax, tries to use colors when it's a tty (but beware that this check seems to fail on macosx) and whatever else you think is a good idea.
20:34:38*kumul joined #nim
20:36:09pigmejreactormonk: any ideas what is definition of callback in company ?
20:36:30reactormonkpigmej, not really. Currently tinkering with org-mode
20:37:01*NhanH joined #nim
20:37:37*fioco joined #nim
20:37:53*fioco left #nim (#nim)
20:38:22*pmbauer joined #nim
20:38:27Araqyeah and make it less verbose too. In fact, please copy every single bit from clang's / gcc's behaviour. Cause changing and adapting things via scripts seems to be impossible in the land of Unix.
20:41:14*sepisoad__ quit (Ping timeout: 246 seconds)
20:42:04*n1ftyn8 joined #nim
20:43:26*AckZ joined #nim
20:43:30*endou_________ joined #nim
20:49:12*CARAM__ joined #nim
20:52:24flaviuAraq: I realize you're being sarcastic, but a --unix switch would be great!
20:53:00Araqno, I mean it. make a --unix switch, I don't care.
20:54:35*biscarch joined #nim
20:55:52*clone1018 joined #nim
20:58:01Arrrrwe actually were discussing that whitespace lang was known among more people than nim
20:58:04Arrrrups
21:01:51Araqmaybe we can avoid to default to the 'a.out' name, but even that ... I just don't care anymore. "Unix system resources"/bin has an executable named "[", "true" and "false" and 6 different scripting languages, but windows sux because it comes with a UI out of the box. Whatever guys.
21:04:14notfowlI'd be down to have a gobolinux style package manager. We can create nimux :p
21:05:06*vikaton joined #nim
21:12:35*Kingsquee joined #nim
21:18:06pigmejAraq: false/ true are even useful
21:18:51Araqpigmej: iirc they are built into bash and kept around for compatibility with shells that don't have them builtin.
21:19:04*BlaXpirit quit (Quit: Quit Konversation)
21:19:47pigmejthats possible
21:21:02*doxavore joined #nim
21:21:06ArrrrHello, is this a bug? http://pastebin.com/4RQL2GV9
21:21:47AraqArrrr: looks like a bug, yeah
21:26:24ArrrrOk, then i suppose my question on so is a bug too. Anyway, good night.
21:26:26*Arrrr quit (Quit: WeeChat 1.2)
21:32:42*Siecje joined #nim
21:32:46*Jesin joined #nim
21:33:27*banister quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
21:34:27*Jesin quit (Remote host closed the connection)
21:34:28*Mat4 left #nim (#nim)
21:37:15*saml quit (Quit: Leaving)
21:38:25*JinShil joined #nim
21:46:04*ozra joined #nim
21:46:37*ingsoc quit (Ping timeout: 264 seconds)
21:46:53*vikaton quit ()
21:47:58*zz_gsingh93 joined #nim
21:49:41*fioco_ joined #nim
21:51:41*zz_gsingh93 quit (Client Quit)
21:59:53*vikaton joined #nim
22:02:32*ingsoc joined #nim
22:07:00VarriountHey guys!
22:07:47ozraHey Varriount!
22:11:23*bockmabe joined #nim
22:15:33*vikaton quit ()
22:15:55Araqhey Varriount
22:17:41*zz_gsingh93 joined #nim
22:21:45*vikaton joined #nim
22:22:44*zz_gsingh93 quit (Quit: ZNC - http://znc.in)
22:23:41*kumul quit (Ping timeout: 265 seconds)
22:27:46*brson quit (Quit: leaving)
22:29:45*milosn quit (Ping timeout: 240 seconds)
22:30:47VarriountAraq: Any ideas on how the new Windows API wrapper should be structured?
22:32:07*gsingh93 quit (Quit: WeeChat 1.1.1)
22:33:08dom96https://news.ycombinator.com/item?id=9667230
22:33:11dom96that was quick
22:33:25AraqVarriount: each header file makes a module perhaps?
22:33:54Araqgood night
22:34:00VarriountAraq: Night.
22:34:42Varriountdom96: Do I want to read the actual link?
22:35:16dom96Varriount: Sure.
22:35:25*Trustable quit (Remote host closed the connection)
22:35:30dom96I don't get why you wouldn't want to read what everybody says about Nim.
22:36:15Varriountdom96: I take critisism rather personally. I also get irritated at uninformed criticism, and it tend to spoil my mood.
22:36:53dom96Varriount: same.
22:37:18dom96I still read it though.
22:37:41dom96Because I want to improve Nim for the better.
22:39:33Varriountdom96: Funny thing though - we had someone come in here the other day who had one question (whether Nim had bounds checking) then left.
22:40:00HOLYCOWBATMANwhy nim doesnt start with R and end with ust?
22:40:12HOLYCOWBATMANit would be safer
22:40:20Varriount;3
22:40:38buttplugHOW DAARE U
22:41:20dom96Someday someone will implement Rust's ownership model using Nim's macros and then everybody will shut up... oh wait, no they won't.
22:41:36buttplugI can say something positive about nim; its more intersting than D
22:44:52*Sembei joined #nim
22:47:04*vendethiel joined #nim
22:47:25*fioco_ left #nim ("See")
22:47:28ozraRust has one thing I find perticularly interesting (one of those things probably thousands have imagined, or well, used shared/safeptr in C++ for), it's that of 'tying' a certain obj/vars lifespan to another. That's something that could be leveraged in the future, as a helpful thing for optimizing to let the gc clean out things with less checks. The mistake R*st makes, is to make bureaucracy mandatory. You need pi*the regular work force
22:48:11*doxavore quit (Quit: I said good day, sir.)
22:48:12Varriountozra: pi*?
22:48:24*OnO quit (Ping timeout: 265 seconds)
22:48:52buttplugpi*the?
22:49:01buttplugda shit does that mean
22:49:06ozrapi * the-regular-work-force. three times as many employees to code the same thing, because it's so tedious to shoot yourself in the foot..
22:49:20ozraWas a bit hard to read yes, haha
22:49:29strcmp1rust seems like another and equally as complicated c++ to me.
22:49:39flaviuWhy pi? I like ρ better :/
22:50:23buttplugrust doesn't let u shoot urself, it just won't compile, and currently has slow compilation;0
22:50:56dom96strcmp1: I would say it's more complicated.
22:51:20dom96I gave Rust a fair shot, and it just felt like I was fighting it every step of the way.
22:51:29dom96Perhaps that feeling subsides after a while.
22:51:30*gsingh93 joined #nim
22:51:30ozraYeah or ∞. But π is kind of standard for business calculations.. Tiem budget = 6 weeks? Then it's π * 6 weeks. (it always takes about three times as long as expected ;-)
22:51:34dom96But meh.
22:52:05ozrabuttplug: Well, that's the thing, you'll shot your self in the head before you've gotten a compiling program ;-)
22:52:12strcmp1lol
22:53:47strcmp1dom96, rust does have great docs though just because they can hire people to work on them full time
22:53:55ozraI admire the intentions behind it, and some concepts are useful, would the be optional, but all in all it's a language for organizations that don't have to think about the cost of development time.
22:54:09strcmp1it kinda balances the complexity a little bit but yeah.. i dont think i will bother with rust.
22:54:16dom96strcmp1: Not really. The book doesn't teach you much about ownership.
22:54:41dom96For a language with this much money behind it I was expecting a bit more.
22:55:19strcmp1hm yeah
22:56:24ozradom96: That kind of money can also be a leash of perceived responsibility, they become fear struck of not producing the safest-almightiest-fuckin-thing-ever and 'fail', so that they just make all the wrong decisions out of some fear of not being PPC (programmatically politically correct) [patent pending]
22:56:41*NimBot joined #nim
22:58:06buttplugi think rust does most things right, that it can prevent data races is pretty important. I wouldn't use it right now since tooling is pretty shit, and compilation speed makes C++ look fast, but in a year or two, it might be a good C++ replacement/complement
22:58:56ozrabuttplug: God damn. That slow? C++ compile times *kills* me. Glad I've only dabbled around with Rust then.
22:59:23HOLYCOWBATMANlol oreilly, that 70s radio show
22:59:32HOLYCOWBATMANin flash
22:59:39HOLYCOWBATMANwith 20 registrations
22:59:42buttplugozra: they don't have incremental compilation yet, without that-- well shit is bad
23:00:17*letian joined #nim
23:00:52letianhi guys
23:01:01letianI have a question
23:01:14ozrabuttplug: Nim is so fucking fast - I love it. Even while re-compiling everything from scratch. Huge bonus imo. If no-one else makes a complete incremental nim daemon I'll consider taking that on sometime in the not to distant future. Zaaap!!
23:01:33letianIs there an analogue to python map() function? Is it also named map?
23:01:42HOLYCOWBATMANyes nim is fast, recompiling the whole compiler is like not even 30s
23:01:42ozraYou got it.
23:01:50HOLYCOWBATMANletian, sequtil
23:01:57HOLYCOWBATMANsequtils*
23:02:10letianSo, I want to apply a proc to every value in array, is is possible to do like map(myfun, array)?
23:02:57ozraletian: you might be interested in the 'future' module also, for shorthand lambdanotation: `(a: int) => a * a`...
23:03:53ozraletian: Oh and, http://nim-lang.org/docs/theindex.html and ctrl+f is a great help :-)
23:04:07letianaha, thanks. But can I use arrays as int container or should I use seq?
23:05:02ozraletian: seq, array, openarray etc. whichever you prefer, *I think*, let's see if one of the vetarans have an answer :)
23:06:28gokrArrays are fixed length
23:06:32HOLYCOWBATMANarray = fixed compile time known size, seq = dynamic
23:06:38gokrExact
23:06:52gokrAnd openarray is only a type you use for parameters of a proc/method.
23:07:10gokrIt can't be used anywhere else - and it makes the proc/method accept either an array or a seq.
23:07:24HOLYCOWBATMANopenarray[T] will accept string too i think
23:07:39*bakeymemnet joined #nim
23:07:45gokrehh
23:07:46HOLYCOWBATMANim not sure if its been done, but there was talk about it
23:08:06ozraHOLYCOWBATMAN: If that PR is accepted already. It's in the queue anyway...
23:08:15ozra(str for openarray)
23:09:14letianso if I am to use an array in proc, I should use openarray, is that correct? Why can't I just use straight array?
23:09:44gokrIf you use array for the param type - then you can't send in a seq.
23:09:50gokrIf that's what you want, fine.
23:09:57gokrgnite
23:10:10*gokr quit (Quit: Leaving.)
23:10:23letianno, I understand that seq is dynamic, my array should be fixed.
23:10:45HOLYCOWBATMANthen you can use array in param if you dont want to accept seq
23:10:54HOLYCOWBATMANopenarray is just more general
23:11:17letianI see, thanks
23:11:54ozraletian: as said above, if you implement a more general function for functional coding, using openarray lets the user use it on arrays, sequences and strings - more generic. If you have a specific use case, stick with array or whatever..
23:12:21ozrasorry. kind of repeated HOLYCOWBATMAN haha
23:12:28*gsingh93 quit (Quit: ZNC - http://znc.in)
23:12:29HOLYCOWBATMAN=)
23:13:08*gsingh93 joined #nim
23:13:20HOLYCOWBATMANshame on you tab users!
23:13:36HOLYCOWBATMANsinners!
23:18:14*yglukhov________ quit (Quit: Be back later ...)
23:19:45*jefus quit (Ping timeout: 240 seconds)
23:19:47*gsingh93 quit (Quit: ZNC - http://znc.in)
23:20:21*gsingh93 joined #nim
23:21:39*fioco_ joined #nim
23:21:39*fioco joined #nim
23:21:53*fioco_ quit (Client Quit)
23:22:09VarriountToo bad we don't have an openarray equivalent to maps.
23:22:18*fioco left #nim (#nim)
23:22:42*fioco_ joined #nim
23:22:49*fioco_ left #nim (#nim)
23:27:29*jefus joined #nim
23:29:45pigmejreactormonk: ping
23:29:47VarriountAraq: Is the `size` pragma for enums meant to be undocumented?
23:29:55reactormonkpigmej, pong
23:29:55*gsingh93 quit (Quit: ZNC - http://znc.in)
23:30:07pigmejreactormonk: something strange is going on with nimsuggest I suppose
23:30:15reactormonkpigmej, hm.
23:30:38pigmejhttp://wklej.to/0Rd4r/text
23:31:02*jbomo joined #nim
23:31:06pigmejposition your cursor like discard getL<cursor_there>
23:31:28pigmejand nimsuggest somehow manages to return blah and blah2...
23:31:34pigmejbut not getLocalTime etc
23:31:36*gsingh93 joined #nim
23:32:08*kumul joined #nim
23:32:48reactormonkpigmej, same result with stdin?
23:33:39reactormonkyup, same
23:33:52pigmejyeah same
23:33:54pigmejsame in aporia
23:35:22*fioco joined #nim
23:35:28reactormonksounds like a suggest.nim problem
23:36:03fiocoHow do I compare/convert a Future [string] with/to a strong
23:36:07fioco*string
23:36:12pigmejreactormonk: no idea at all tbh
23:36:32reactormonkpigmej, hm. does company work?
23:36:35pigmejyup
23:36:39reactormonkneat
23:36:55reactormonkfor the suggest.nim part, what exactly do you expect as answer? nothing?
23:37:08pigmejthat's a good question
23:37:21pigmejI would expect though getLocalTime
23:37:48pigmejwhich is from times module
23:38:23*fioco is now known as toad1359
23:38:56pigmejbut I would for sure not expect there 'blah'
23:39:02*toad1359 is now known as fioco
23:39:15pigmejbut this one is easy fixable on emacs side if so
23:39:51reactormonkI assume it's an edge case because getL doesn't have a type yet
23:39:55letianemm, is it possible to declare and fill a seq? for example, var myseq = @[1..100]?
23:40:43pigmejI can reproduce it with pretty anything
23:41:07letianI can fill it with a loop, but is there a more terse way
23:41:27pigmejreactormonk: http://wklej.to/ueXHq/text same situation `echo a.vo<cursor_there>`
23:41:46reactormonkpigmej, a doesn't have a type
23:42:19pigmejyeah I know
23:42:56pigmejrotfl
23:43:12pigmejhttp://wklej.to/RUCEA/text
23:43:23pigmejone line before last
23:43:39pigmejnimsuggest returns age + name
23:43:58pigmejso that would still match your suggestion
23:44:10pigmejbut, why vocalize is not present
23:49:52*bakeymemnet left #nim (#nim)
23:50:33Varriountletian: import sequtils; echo toSeq(1..100)
23:54:02Varriountpigmej: Bug?
23:55:00pigmejdepends what are you asking about
23:55:10pigmej;D
23:55:16*askatasuna joined #nim
23:55:50letianthanks!
23:56:50*NimBot joined #nim
23:58:12*gokr joined #nim
23:58:24*gokr quit (Remote host closed the connection)
23:58:54letianI am experiencing strange behavior of my script. I wrote a simple script that calculates the smallest common divisible. for example 2520 can be divided by 1-10 numbers without remainder
23:59:08fiocoI'll ask again...
23:59:09letianIf I increase the number from 1-20 my code runs much longer
23:59:25fiocoHow do I compare/convert a Future [string] with/to a string? Not spam, just curious.
23:59:32fiocoBeen a while since I first asked
23:59:39letianuncharacteristically longer