<< 30-08-2014 >>

00:00:04filwiti honestly don't think anyone is going to miss the download button guys..
00:00:33filwitit's the focus on the docs/tutorials or rust's head that I agree is a good thing
00:01:07dom96Yes, we need a better structure for our docs page.
00:01:09filwitthey also have reddit, twitter, stack-overflow listed right there.. which I think we should add to the "more links" section on the side.
00:01:37dom96twitter yes, reddit maybe, but stackoverflow no.
00:02:01Araqfacebook!
00:02:09Trixar_zafacebook?
00:02:19Trixar_zaNimrod is on facebook? Oo
00:02:20dom96sure we've got facebook
00:02:25Araqgoogle+
00:02:30filwiti already added the github link.. maybe reddit as well? i never liked twitter, tbh, but maybe we could add a feed on the sidebar (like Dlang)
00:02:44dom96no, no feed.
00:02:45Trixar_zaOh, with 5 likes
00:02:49dom96just a link
00:03:01Trixar_za6 now that I liked it
00:03:03DemosA twitter feed of commits could be useful, although just using RSS would probably be better
00:03:30wanI also loves how rust.io has just ONE paragraph on the home page, and a very simple&readable list of features. With a 'tell me more' link to the 'sell me all the features in more details' page.
00:03:57wanMuch more eye-parsable than big paragraphs
00:04:07Demosthe biggest thing nimrod needs is time I think. We don't really have any of the things that would let us get popular in a hurry
00:04:29Araqwan: sometimes you get what you pay for :P
00:04:42Demosalso, I like our docs page. Beats D's any day
00:05:18Trixar_zaSo what you're saying Demos, is that we need women to promote Nimrod
00:05:28DemosTrixar_za, what?
00:05:28dom96Trixar_za: Aww, I was gonna stalk you but it doesn't tell me who liked it.
00:05:30Trixar_zaPreferably in skimpy clothing
00:05:30wanDemos: the only thing that makes something popular is someone popular
00:05:40Demoswan, or money
00:05:45filwitTrixar_za: LOL... i see what you did there...
00:05:52EXetoCor bacon
00:05:57Trixar_zaWell, it works for Computer Magazines, so why not a language
00:06:03DemosTrixar_za, lets not be the go-daddy of programming languages please
00:06:10dom96wan: do you realise that rust.io isn't rust's website?
00:06:28wanDemos: Not really. Is Golang popular because Google has money? No, it's because Google is popular. Same for rust, Same for everything.
00:06:41Trixar_zaHey, I already invented the Pimpism religion, so what did you expect? :P
00:06:54wanoh, rust-lang.org, yeah, my keyboard slipped
00:07:23wanIt was simpler to type
00:07:46Araqwan: well we don't even have enough money that I can quit my day job ...
00:08:15dom96good night
00:08:23Trixar_zaWe could also try the John C Dvorak route and become popular by stating the exact opposite of what happens in reality and making sensualist statements
00:08:29Trixar_zaNight dom96
00:08:44*askatasuna quit (Quit: WeeChat 1.0)
00:08:47wanAraq: We just need Notch or somebody famous to start programming in Nim
00:09:29filwitwan: or we need to make our own cool stuff
00:09:33Trixar_zaWe have a nitch - it's a scripting language that compiles to C - what more do you need? :P
00:09:57*Jehan_ quit (Quit: Leaving)
00:10:18wanfilwit: Yes, make something ultra-cool that gains popularity, and bootstrap Nim's popularity
00:10:21Araqwan: the minecraft guy?
00:10:22dom96wan: That won't help, dart still isn't popular.
00:10:23wanNot easily done
00:10:42filwitdom96: dart's performance sux
00:10:44wanMaybe not in usage, but I bet more people know about it
00:11:07dom96yeah, minecraft players.
00:11:10Trixar_zaer - what the hell is dart?
00:11:17Trixar_zaRust I've heard about, but dart?
00:11:18dom96Anyway, I need to sleep
00:11:28Araqgood night, dom96
00:11:33filwitnight
00:11:39*Trustable quit (Quit: Leaving)
00:12:02wansleep well
00:13:20filwitAraq, Jehan_: you guys know a lot about generic programming, how much of a performance concern is "code bloat" with cache limits? Are there any obvious caveats?
00:14:23Araqfilwit: usually your exe-size is a tiny fraction of your working set
00:14:34Trixar_zaDepends on what you think of as code bloat vs portability
00:14:54filwitreason i'm asking is cause i recently realized I was going about my engine dispatch system all wrong. I was copying a delegate system: one instance & one func pointer... where i realized I should be making func pointers a type-specific proc which updates all instances (through normal dispatch)
00:14:58Trixar_zasome people argue that genie is better, but it's not exactly portable to say Windows or MacOs (or Linux that uses Qt)
00:15:59Trixar_zaI've found that with minor effort I can port nimrod everywhere without changing much (if any) code
00:16:09EXetoCdom96 always needs to sleep
00:16:27Araqfilwit: multi methods are not that slow anymore
00:16:50Araqand when you don't override, it gets optimized to a static call
00:17:08filwitAraq: okay, so it's not a problem if I have each "model" (a unique game-object type) build a dispatcher proc for each event (only those the model uses, eg, update, physicsStep, etc).
00:17:55filwitAraq: say i have 50 different models, and each needs an update. Is that considered a lot of code bloat? Now that I think about it... i don't think that would be pushing any limited in the slightest..
00:18:15*jasondotstar quit (Ping timeout: 244 seconds)
00:18:24filwitAraq: i don't need methods... I agree it's mostly a bad design.
00:18:36Araqlol
00:19:04Trixar_zaEh, even with bad design (like 99% of what I code) it seems to run pretty well
00:19:40filwitTrixar_za: i don't mean Nim's methods are a bad design.. i mean the need for methods in general is not as good design as procvars
00:19:42Trixar_zaI dare say Araq invented an idiot proof language :P
00:20:01Araqwell I'm not really good at these component based designs, filwit
00:20:20Trixar_zaI have no idea what you mean with procvars, but alright :P
00:20:24AraqTrixar_za: no way
00:20:40Araqbut thanks for the compliment
00:21:26filwitAraq: yeah, well i've got the architecture down... it's the cache-limits and code-bloat of generics I'm not experiences with.
00:21:50Trixar_zaWell if an idiot (me) can use it, then it probably is
00:22:11*jasondotstar joined #nimrod
00:22:20filwitAraq: but thanks for your feedback anyways... i'll just have to benchmark to know for sure.. i'm just worried about ARM hardware.. guess I should wrap GLES and start testing there.
00:23:25Araqfilwit: I don't do many tests. I optimize the size of datastructures instead
00:23:54Araqthat always pays off
00:24:24filwityeah i love how objects in Nim don't have any (runtime) typeinfo when not needed
00:24:55AraqI love how set[] can be a single byte :-)
00:25:20filwiti never use sets... I should, they're just unfamiliar to me.
00:26:58Araqha, I consider bitsets and templates nim's best features :-)
00:27:15filwitbtw, i think nim-lang.org is almost better than nimlang.org, considering it's more like rust-lang.org & scala-lang.org than dlang.org & golang.org
00:28:25filwitnot that those are bad languages... i just prefer the subtle similarity to Rust and Scala (which Nim feels more similar too) than D an Go
00:29:31EXetoCAraq would disagree :p
00:30:11EXetoCtell him!
00:30:17filwitwell i mean in some ways, i've never actually used either Scala or Rust (and have used D, and a tiny tiny bit of Go)
00:30:51AraqEXetoC: why would I? scala is quite similar to nim syntactically
00:30:52filwiti just meant based off the docs (like the fact that Scala uses 'seq' and Rust's object-oriented model feels kinda like Nim's)
00:31:51EXetoCnm
00:34:51*Joe_knock joined #nimrod
00:48:40*Varriount|Mobile joined #nimrod
00:49:53Varriount|Mobiledom96, Araq: Sorry about the builder being down - the computer room in my house is being moved, and my computer's currently in a room without ethernet access
00:54:36AraqVarriount|Mobile: no worries
00:54:44Araqbut I should sleep now, good night
00:58:20*jasondotstar quit (*.net *.split)
00:58:21*mahoganygiraffe quit (*.net *.split)
01:00:12*jasondotstar joined #nimrod
01:03:09*mahoganygiraffe joined #nimrod
01:14:49*shodan45_ joined #nimrod
01:14:59*shodan45_ quit (Client Quit)
01:15:16*shodan45 quit (Ping timeout: 255 seconds)
01:15:16*johnsoft quit (Ping timeout: 255 seconds)
01:15:54*johnsoft joined #nimrod
01:21:17*noam_ joined #nimrod
01:22:43*Demos_ joined #nimrod
01:23:08*ARCADIVS joined #nimrod
01:28:26*Joe_knock quit (*.net *.split)
01:28:26*Demos quit (*.net *.split)
01:28:27*renesac quit (*.net *.split)
01:28:27*noam quit (*.net *.split)
01:30:47*Boscop_ joined #nimrod
01:31:25*Sht0 joined #nimrod
01:34:26*Boscop quit (Ping timeout: 260 seconds)
01:36:16*Joe_knock joined #nimrod
01:39:21*Demos_ quit (*.net *.split)
01:39:23*bjz quit (*.net *.split)
01:39:25*OrionPK quit (*.net *.split)
01:50:22*bjz joined #nimrod
01:50:22*OrionPK joined #nimrod
01:51:07*Demos joined #nimrod
01:51:22*Sht0 quit (Ping timeout: 240 seconds)
02:03:30*Joe_knock quit (Quit: Leaving)
02:08:34*q66[lap] quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
02:12:11*Demos_ joined #nimrod
02:15:18*Demos quit (Ping timeout: 246 seconds)
02:20:57*filwit quit (Ping timeout: 260 seconds)
02:23:32*filwit joined #nimrod
02:25:39*saml_ joined #nimrod
02:28:37*filwit quit (Quit: Leaving)
02:37:49*Demos_ quit (Read error: Connection reset by peer)
02:38:50*q66 quit (Quit: Leaving)
04:22:52*nande quit (Remote host closed the connection)
04:36:16*Francisco quit (Remote host closed the connection)
04:39:33*Demos joined #nimrod
04:48:12*flaviu joined #nimrod
05:26:57*saml_ quit (Ping timeout: 245 seconds)
05:48:10*Demos quit (Read error: Connection reset by peer)
06:02:41*skyfex quit (Quit: Computer has gone to sleep.)
06:16:37*flaviu quit (Ping timeout: 260 seconds)
07:22:22*kunev joined #nimrod
08:28:18*Sht0 joined #nimrod
08:42:21*BlaXpirit joined #nimrod
08:43:34*BlaXpirit quit (Client Quit)
08:44:59*BlaXpirit joined #nimrod
09:30:57dom96good morning
09:35:28*BlaXpirit quit (Quit: Quit Konversation)
09:35:38Araqhi dom96
09:37:00*BlaXpirit joined #nimrod
09:57:56*Johz joined #nimrod
10:04:19dom96hey Araq, what's up?
10:06:23AraqI'm working on the release
10:09:06dom96is the new type naming convention documented anywhere?
10:09:27Araqyes, it's in our style guide (NEP-1)
10:12:33dom96cool. So we can assume that anything that starts with a capital letter is a type?
10:12:51Araqno, constants can be Uppercased too
10:13:40dom96Not according to the style guide.
10:14:08Araqthe style guide should be updated then
10:15:10Araqthe rule is essential for wrappers
10:15:28dom96ok
10:16:57dom96updated
10:18:27Araqso ... should we go for both 0.9.6 and 0.10 ?
10:19:45dom96Let's try to release 0.10 first and then if we have time we can also create a 0.9.6 release.
10:22:07*Trustable joined #nimrod
10:24:53dom96Is bigbreak using --cs:partial or the rule that filwit suggested?
10:25:17dom96looks like the former
10:32:31dom96You broke a lot of modules...
10:33:35AraqI broke your sockets and async stuff
10:33:40dom96yep
10:33:43Araqthe other stuff already works afaict
10:34:07Araqbrb
10:46:39dom96shouldn't we follow Python and have True and False instead of true and false?
10:59:30NimBotAraq/Nimrod bigbreak 2dff5ef Dominik Picheta [+0 ±1 -0]: Fixed gcsafe in asynchttpserver module.
10:59:30NimBotAraq/Nimrod bigbreak 2525215 Dominik Picheta [+0 ±1 -0]: Ftpclient module now uses generics.
10:59:30NimBotAraq/Nimrod bigbreak 8510791 Dominik Picheta [+0 ±1 -0]: Async macro fixes. Added waitFor.
10:59:30NimBotAraq/Nimrod bigbreak 3a00692 Dominik Picheta [+1 ±2 -0]: Add asyncftpclient module.
10:59:30NimBot2 more commits.
11:17:10Araqno, we have 'nil', 'true' and 'false'
11:18:06dom96ok
11:19:27dom96Your binary rename screws up nimbuild.
11:19:35AraqC# also uses true and false
11:19:55Araqand c++ too iirc
11:23:12*elie2 joined #nimrod
11:24:55Araqhi elie2 welcome
11:27:16Araqdom96: is it foo.nimble then instead of foo.babel?
11:27:34dom96Yeah, I guess.
11:29:34dom96Araq: syslocks is broken
11:29:35*reactormonk quit (Ping timeout: 260 seconds)
11:29:36*eigenlicht_ quit (Ping timeout: 260 seconds)
11:29:40*elie1 quit (Ping timeout: 260 seconds)
11:29:50*reactormonk joined #nimrod
11:30:20dom96Araq: So you're not going to implement filwit's case sensitivity rules (for this release?)?
11:30:31Araqthat is correct
11:30:48Araqthe current rules are good enough and maybe even the best compromise
11:30:57*eigenlicht_ joined #nimrod
11:31:17Araqwe can always add the rule "_foo" is the same as "Foo"
11:31:38dom96but then if you introduce it later we will have more breakage,
11:31:54Araqwhich I really like ... the idea of eliminating upper cased letters altogether is growing on me :P
11:32:13Araqdom96: this particular rule doesn't break anything
11:32:14Araqas _foo is currently not valid
11:33:21dom96I don't get it, so you want all types to start with an underscore?
11:35:25dom96Ugh. Varriount broke os.nim I think
11:36:30*mko quit (Ping timeout: 250 seconds)
11:37:45*[CBR]Unspoken quit (Ping timeout: 250 seconds)
11:39:22*skroll quit (Ping timeout: 250 seconds)
11:39:32*skroll joined #nimrod
11:41:39*jez0990 joined #nimrod
11:42:18*jez0990_ quit (Ping timeout: 250 seconds)
11:44:16*[CBR]Unspoken joined #nimrod
11:53:09Araqhow so?
11:53:15Araqobviously os.nim works for me ...
11:53:25dom96Only on windows in non-unicode mode.
11:53:51Araqwell I broke posix.nim
11:54:10dom96well, fix it otherwise I can't rebuild the builder
11:55:27*kunev_ joined #nimrod
11:56:04NimBotnimrod-code/nimbuild master 5b29767 Dominik Picheta [+0 ±1 -0]: Builder: case sensitivity fixes.
11:56:09*phI||Ip_ joined #nimrod
11:57:05*eigenlicht_ quit (*.net *.split)
11:57:06*phI||Ip quit (*.net *.split)
11:58:08NimBotAraq/Nimrod bigbreak 8446d51 Dominik Picheta [+0 ±4 -0]: Winlean and threads case sensitivity fixes.
11:58:08NimBotAraq/Nimrod bigbreak 4a7a47f Dominik Picheta [+0 ±1 -0]: Ftpclient backwards compatibility fixes.
11:58:08NimBotAraq/Nimrod bigbreak fb4e544 Dominik Picheta [+0 ±1 -0]: Fixed issue with os module in non-unicode mode on Windows.
11:58:23*zahary1 joined #nimrod
11:58:24dom96bbl
11:59:33*kunev quit (Ping timeout: 246 seconds)
11:59:34*OrionPK quit (Read error: Connection reset by peer)
12:01:15*MightyJoe joined #nimrod
12:01:19*armin1 joined #nimrod
12:02:04*BlaXpirit quit (Quit: Quit Konversation)
12:03:02*silven joined #nimrod
12:03:16*milosn quit (Remote host closed the connection)
12:03:22*BlaXpirit joined #nimrod
12:04:22*eigenlicht_ joined #nimrod
12:07:54*Johz quit (*.net *.split)
12:07:55*cyraxjoe quit (*.net *.split)
12:07:55*zahary quit (*.net *.split)
12:07:56*silven_ quit (*.net *.split)
12:07:56*reloc0 quit (*.net *.split)
12:08:50*Johz joined #nimrod
12:10:45*milosn joined #nimrod
12:14:28*Varriount|Mobile quit (Remote host closed the connection)
12:14:46*Varriount|Mobile joined #nimrod
12:29:19*Trustable quit (Ping timeout: 240 seconds)
12:34:29*Sht0 quit (Ping timeout: 244 seconds)
12:40:07*Varriount|Mobile quit (*.net *.split)
12:40:08*eigenlicht_ quit (*.net *.split)
12:41:01*eigenlicht_ joined #nimrod
12:41:26*Trustable joined #nimrod
12:52:49*Trustable1 joined #nimrod
12:55:42*noam__ joined #nimrod
12:56:21*darkf quit (Quit: Leaving)
12:56:29*kunev_ quit (Ping timeout: 244 seconds)
12:57:36*Boscop__ joined #nimrod
12:59:07*Trustable quit (*.net *.split)
12:59:37*cyraxjoe joined #nimrod
12:59:44*phI||Ip joined #nimrod
13:00:56*noam_ quit (Ping timeout: 244 seconds)
13:00:58*phI||Ip_ quit (Ping timeout: 244 seconds)
13:03:43*q66 joined #nimrod
13:06:54*MightyJoe quit (Ping timeout: 244 seconds)
13:06:55*Boscop_ quit (Ping timeout: 244 seconds)
13:08:53*jez0990_ joined #nimrod
13:09:18*eigenlicht_ quit (Ping timeout: 255 seconds)
13:09:46*jez0990 quit (Ping timeout: 255 seconds)
13:26:20*eigenlicht_ joined #nimrod
13:29:36*Boscop__ quit (Read error: Connection reset by peer)
13:30:22*Boscop__ joined #nimrod
13:34:43*Triplefox_ joined #nimrod
13:35:03*Triplefox quit (Ping timeout: 272 seconds)
13:40:34*delian66_ quit (Ping timeout: 272 seconds)
13:41:40*delian66 joined #nimrod
13:48:41*delian66 quit (Remote host closed the connection)
14:00:12*milosn quit (Remote host closed the connection)
14:03:57*saml_ joined #nimrod
14:07:58*milosn joined #nimrod
14:12:13*flaviu joined #nimrod
14:14:39dom96Araq: Is it ok for some modules to contain both synchronous and asynchronous implementations but for some to be in separate modules?
14:15:05dom96for example httpclient contains both async and sync implementations
14:15:31dom96but ftpclient and asyncftpclient modules exist, the former implementing the sync and the latter the async.
14:15:44dom96The reason for this is that ftpclient contains the old async implementation.
14:24:00Araqdom96: that's fine
14:24:08dom96good
14:27:47dom96btw can I rename the types that you haven't renamed?
14:28:01dom96You seem to only have renamed the definitions of the types
14:28:04dom96is that intentional?
14:30:41Araqdom96: what types?
14:31:00dom96for example in smtp
14:31:06dom96proc debugSend(smtp: TSMTP, cmd: string)
14:31:14dom96Can I rename that to Smtp?
14:31:37Araqsure, I didn't bother since I'd run nim pretty over it
14:31:48Araqwhich fixes that automatically
14:32:00dom96oh, so you're going to run it on all modules later?
14:32:15AraqI already did, except for the sockets stuff
14:32:32dom96ok, I guess I should try it out.
14:33:14Araquse --pretty.overwrite:on and then git diff tells you what it did
14:33:33Araqotherwise it generates some shitty module.pretty.nim file
14:33:50dom96well, it crashed
14:34:20Araqyes, that's its other problem :P
14:34:20dom96its giving me lots of errors for other modules
14:34:31AraqI know, I'm working on it
14:34:43dom96ok
14:35:20dom96damn
14:35:26dom96I'm going to need ssl support for smtp
14:35:36dom96which means implementing it for async
14:42:43NimBotAraq/Nimrod bigbreak fb688d1 Araq [+0 ±1 -0]: fixed posix.nim
14:42:43NimBotAraq/Nimrod bigbreak c40f981 Araq [+0 ±1 -0]: babel is now nimble
14:42:43NimBotAraq/Nimrod bigbreak 1f85b3b Araq [+3 ±5 -1]: VM supports math and a few os procs
14:42:43NimBotAraq/Nimrod bigbreak 5fad73c Araq [+1 ±12 -0]: Merge branch 'bigbreak' of https://github.com/Araq/Nimrod into bigbreak
14:47:32*zling_____ joined #nimrod
14:49:01*Jehan_ joined #nimrod
14:50:17*vegai_ joined #nimrod
14:51:00*darkfusi1n joined #nimrod
14:52:17NimBotAraq/Nimrod bigbreak f6dc76c Dominik Picheta [+0 ±2 -0]: Case sensitivity fixes for Posix.
14:54:25*zling____ quit (Ping timeout: 260 seconds)
14:54:32*Skrylar quit (Ping timeout: 260 seconds)
14:54:34*vissborg quit (Ping timeout: 260 seconds)
14:54:36*EastByte quit (Ping timeout: 260 seconds)
14:54:37*dom96 quit (Ping timeout: 260 seconds)
14:54:37*darkfusion quit (Ping timeout: 260 seconds)
14:54:39*vegai quit (Ping timeout: 260 seconds)
14:54:41*EastByte joined #nimrod
14:55:11*Skrylar joined #nimrod
14:56:01*dom96 joined #nimrod
14:56:05*vissborg joined #nimrod
14:56:24dom96Araq: undefined reference to `__atomic_add_fetch'
14:58:35*Varriount|Mobile joined #nimrod
15:00:18*[CBR]Unspoken1 joined #nimrod
15:05:18*[CBR]Unspoken quit (*.net *.split)
15:06:35Jehan_dom96: Could I convince you to make babel configurable (via an environment variable or commandline option, not a global .ini file) to use a different directory for packages?
15:07:19Jehan_The rationale is that I want something like Python's virtual environments.
15:07:52dom96I can add a command line option.
15:08:08Jehan_I'd prefer an environment variable if that's possible.
15:08:17dom96I think Araq will dislike that.
15:08:21Jehan_So I don't have to provide the option each time.
15:08:28Varriount|MobileWhy not do both?
15:08:56flaviuEnvironment variable/parameter, fallback to ini file?
15:09:24Varriount|MobileDefault -> Environment Variable -> Command Line Option
15:09:31Jehan_Yup, I didn't mean that to replace the current way of doing things.
15:09:55Jehan_But I'd really like to have multiple self-contained Nim(rod) installations.
15:10:39dom96Jehan_: Create an issue for it please, I don't really have time now to implement it anyway.
15:11:34Jehan_dom96: Oh, my question was just whether you'd see a problem. I could provide an implementation + pull request myself.
15:12:27Jehan_I would probably wait until after the great rename, anyway. :)
15:12:42dom96The only issue I can see is some tool setting the env var and the user getting confused about why their packages are being installed somewhere else.
15:13:24EXetoCyou could then unset the env var I guess
15:13:38dom96But we can get Babel to echo that it's installing to someplace else because an env var is telling it to.
15:13:41EXetoCI mean, the script author could
15:14:05dom96Yes, but if the script fails the user will be left with it.
15:14:20dom96And may have no idea where it's coming from.
15:15:06EXetoCso unset regardless
15:15:42flaviudom96: That wouldn't be your problem though. I'd be the script writer's responsibility
15:16:40Jehan_Well, scripts setting environment variables aren't persistent, unless you source them.
15:16:58Jehan_In which case you presumably know what you're doing.
15:17:57EXetoCoh
15:18:03EXetoCthat's good
15:18:54Varriount|MobileJehan_: I would love a way to do virtualenv-like stuff for babel
15:19:31flaviuOr babel could be like npm and not require virtualenvs
15:20:07Varriount|Mobileflaviu: Huh?
15:20:43flaviuFrom what I understand virtual environments are there so you can have multiple versions of a package.
15:21:07flaviunpm does that: Each package gets exactly the package versions it asks for
15:22:16Jehan_flaviu: virtualenv is for more than that.
15:22:47EXetoCflaviu: I don't know if you know, but babel supports that
15:23:07flaviuEXetoC: Really? That's good then
15:23:19Jehan_flaviu: For example, different language versions.
15:23:38Jehan_The most important part, though, is that everything is contained in a single directory.
15:24:02Jehan_Which means that you can dispose of a virtualenv cleanly and easily.
15:24:34Jehan_And that different installations are completely independent of another and cannot interfere with one another, even in subtle ways.
15:25:19Jehan_For example, if you have packages with conflicting module names, then a new virtualenv will allow you to start with a clean slate and not accidentally reference a leftover module that you still have lying around.
15:26:57Jehan_It's also useful if you want to run stuff in a chroot jail.
15:44:25*saml_ quit (Quit: Leaving)
15:48:07*moosakoch joined #nimrod
15:58:07*Varriount|Mobile quit (Read error: Connection reset by peer)
15:58:13*Varriount-Mobile joined #nimrod
16:08:47*bogen joined #nimrod
16:14:52*untitaker quit (Ping timeout: 240 seconds)
16:15:13dom96hello moosakoch
16:15:49moosakochhello there
16:17:27moosakochhow are you
16:17:35Araqdom96: well I don't get what this error means
16:17:41dom96moosakoch: good, you?
16:17:53moosakochfine
16:18:00bogenhi dom96 and Araq
16:18:12Araqhi bogen
16:18:13dom96hey bogen
16:18:24moosakochhi Araq
16:18:32*OrionPK joined #nimrod
16:18:49dom96Araq: here is the full error https://gist.github.com/dom96/d27e7fa273ae3e791f3b
16:19:21dom96IIRC I hit this error some time ago too, but I can't remember how I worked around it.
16:19:59*untitaker joined #nimrod
16:20:00*untitaker quit (Excess Flood)
16:20:32*untitaker joined #nimrod
16:23:03bogenI have some C++ code I'm wrapping. I tried to "declassify" c++ library but it got it was way too tangled. So I'm using macros that use emits for the parts I need to access. (I know, that is ugly, but but for me right now better than rewriting the libary). Anyways, I know there is a pragma to disable warnings for specific declartions, but can I disable "is declared but not used [XDeclaredButNotUsed]" (a hint) for indidividual declarations? I ha
16:23:12*moosakoch quit (Quit: Page closed)
16:25:48Araqbogen: warning[XDeclaredButNotUsed]:off
16:26:06Araqdom96: which C compiler do you use?
16:26:31bogenyes, I tried thatError: invalid pragma: warning[XDeclaredButNotUsed]: off
16:27:09Araqah, try hint[...] instead
16:27:15dom96Araq: gcc 4.4.3
16:28:24bogenah yes, the obvious of course :) that worked (I just did not see that in the pragma documention). could have tried rather than asking :)
16:28:28dom96shouldn't raiseOSError be raiseOsError?
16:28:41dom96The latter looks very odd I admit.
16:28:52Araqdom96: well I like it better this way
16:29:09Araqand thanks to cs:partial it doesn't matter
16:29:46dom96ok, i'll use raiseSSLError then.
16:29:53Araqyeah
16:30:04Araqdom96: I use gcc 4.8.1
16:30:11AraqI think it's GCC related
16:35:08dom96ok, i'll install 4.8 on the VPS.
16:36:14Araqno wait
16:36:43dom96too late
16:36:45dom96but it doesn't help
16:36:56Araqhmm
16:38:52*flaviu quit (Remote host closed the connection)
16:39:24dom96should enum values use CamelCase?
16:39:33dom96or pascalCase?
16:41:36EXetoConly CamelCase for types, right? that seems consistent
16:42:35dom96EXetoC: Constants can be CamelCase too
16:42:40dom96Araq: My memory was correct: http://build.nimrod-lang.org/irclogs/22-03-2014.html
16:43:17EXetoCit makes more sense now because of the prefixes. you want to keep that?
16:43:38dom96And I have 4.9 on windows
16:46:19dom96and I can't get 4.9 on Ubuntu 10.04
16:46:28EXetoCand the 2-space indents are here to stay I guess. I can indeed use wider indents in my own projects, but I will still have to read other people's code
16:46:41Araqdom96: I'd lowercase with prefixes, Uppercase with .pure enums
16:46:47Araq*I'd say
16:46:56Araqbut I don't really care
16:47:00dom96ok
16:47:37Araqdom96: well hack atomics.nim so that it doesn't produce this for nimbuild then
16:47:50Araqit used to work without it
16:48:09Araqand nothing requires it now except for the new spawn stuff which you don't use
16:48:38dom96I can just enable deadCodeElim
16:48:45Araqtrue
16:50:14dom96interesting. Google actually tries to parse our irc logs hah
16:51:24EXetoChm, bin/nimrodrod?
16:51:34EXetoCtypo
16:51:37dom96yeah, need to fix that.
16:53:02dom96Araq: Can you fix that?
16:53:32dom96or tell me where to fix it?
16:53:55EXetoCgrep :p
16:54:36dom96I doubt it's that simple
16:54:36EXetoCbuild.sh
16:54:41EXetoCno?
16:54:55dom96build.sh is generated
16:55:00dom96we need to fix the generator
16:55:32Araqno I fixed build.sh manually ...
16:55:58Araqthe problem is that build.sh builds a 'nim' exe
16:56:03EXetoCwell that's the only match
16:56:27Araqwhich breaks bootstrapping for other people
16:56:37Araqand so I changed it manually back to "nimrod"
16:57:20dom96so should it be nimrod or nim?
16:57:37Araqyes
16:57:43dom96lol?
16:57:58Araqwell it *needs* to be "nimrod" for the people out there
16:58:16dom96for what people?
16:58:17Araqbut niminst isn't designed for this, I think
16:58:22dom96and why?
16:58:39Araqbecause older kochs only check for 'nimrod'
16:58:58Araqthe new koch tries 'nimrod' if it can't find a 'nim'
16:59:29dom96so? They should recompile koch.
16:59:45dom96NimBuild does it I think.
17:00:14NimBotAraq/Nimrod bigbreak 29ec795 Dominik Picheta [+0 ±2 -0]: Fixes SSL case sensitive issues.
17:02:18dom96It's in the build instructions.
17:05:45NimBotnimrod-code/csources master c26beee Dominik Picheta [+0 ±1 -0]: s/nimrodrod/nim/
17:07:53*Sht0 joined #nimrod
17:11:11dom96argh, acronyms are going to be so inconsistent case wise.
17:19:15dom96or is the convention FTPClient not FtpClient?
17:21:07*io2 joined #nimrod
17:23:11Araqno, it's FtpClient
17:23:52AraqI think only 2 letter acronyms look weird: GcDisable
17:24:44dom96That looks fine to me
17:24:51dom96SslContext
17:24:52dom96looks weird
17:25:55dom96Perhaps it's the lowercase s that looks weird
17:26:25dom96Because raiseOsError looks weird too.
17:30:24*io2 quit (Ping timeout: 260 seconds)
17:31:32*Sht0 quit (Ping timeout: 245 seconds)
17:42:05*Fr4n joined #nimrod
17:47:20*mko joined #nimrod
17:49:01*io2 joined #nimrod
17:55:07Varriount-MobileSo... we're renaming to "Nim"?
18:07:04*bogen quit (Quit: Leaving.)
18:13:44Jehan_Varriount-Mobile: It looks like it.
18:14:04AraqVarriount-Mobile: yep. btw there is lots of work in #nimbuild for you
18:14:15Araqlots of failing tests you can repair
18:15:51*bogen joined #nimrod
18:19:40AraqVarriount-Mobile, dom96 we need to ensure to bundle important DLLs, Nimble and Aporia with Nim this time
18:20:08dom96Araq: Is there a way to have a template which takes two bodies?
18:20:23Araqdom96: yes, with the 'do' notation
18:20:32Araqwhich is the reason for its existance btw
18:21:15dom96cool
18:22:18Araqdom96: asyncdispatch still produces lots of deprecated warnings
18:22:39dom96Araq: I'm working on ssl
18:22:49dom96Won't nimrod pretty fix those?
18:22:58Araqsure thing
18:23:10Araqwell I'm fixing show stopper bugs
18:23:28Araqis SSL really the most important thing that's left to do?
18:24:00dom96Have you fixed my problems with pretty?
18:24:09dom96I need SSL for the smtp module
18:24:22dom96and it's useful for httpclient too
18:24:48Araqfixing pretty is not easy ... it's not a single bug
18:25:00dom96then what else do you want me to do?
18:25:00Araqwell ok
18:25:13AraqI can provide a workaround
18:27:03Araqhttps://github.com/Araq/Nimrod/issues/1067
18:27:08Araqthe example fails with
18:27:17Araq"wrong number of arguments"
18:28:51Araqnever mind, found some other example that fails
18:29:34dom96updated it
18:44:35*ARCADIVS quit (Quit: WeeChat 0.4.3)
19:04:52*BlaXpirit quit (Ping timeout: 240 seconds)
19:05:07*BlaXpirit-UA joined #nimrod
19:05:52*io2 quit (Ping timeout: 240 seconds)
19:13:13*BlaXpirit_UA joined #nimrod
19:14:28*BlaXpirit-UA quit (Ping timeout: 260 seconds)
19:18:18NimBotnimrod-code/packages master 0b46881 Erwan Ameil [+0 ±1 -0]: Added ZeroMQ wrapper
19:18:18NimBotnimrod-code/packages master fb09c51 Dominik Picheta [+0 ±1 -0]: Merge pull request #85 from idlewan/zmq... 2 more lines
19:20:47*saml_ joined #nimrod
19:20:52*BlaXpirit_UA quit (Ping timeout: 250 seconds)
19:20:59*BlaXpirit joined #nimrod
19:27:22*saml_ quit (Ping timeout: 245 seconds)
19:41:17*saml_ joined #nimrod
19:47:19*Matthias247 joined #nimrod
19:53:15*io2 joined #nimrod
20:05:43*bjz quit (Read error: Connection reset by peer)
20:05:56*bjz joined #nimrod
20:11:48*bjz quit (Read error: Connection reset by peer)
20:12:07*bjz joined #nimrod
20:16:36NimBotnimrod-code/packages master e383fa2 Erwan Ameil [+0 ±1 -0]: Added UUID wrapper
20:16:36NimBotnimrod-code/packages master 8cbea5f Dominik Picheta [+0 ±1 -0]: Merge pull request #86 from idlewan/uuid... 2 more lines
20:19:50*Demos joined #nimrod
20:21:08*Triplefox_ is now known as Triplefox
20:25:44Araqhmm so we already have 86 babel packages
20:26:01Araqlol this is going to be like python 3 vs python 2
20:27:38*bjz_ joined #nimrod
20:27:39*bjz quit (Read error: Connection reset by peer)
20:28:06dom96Yep. Suddenly thousands of Nimrod users will begin writing blog posts about why they are not switching to Nim 0.10
20:28:16dom96But are sticking to Nimrod 0.9.4
20:29:38wanEvery nimrod-*** babel package would have to be renamed
20:30:45Demoswait are we going to break source compatibility with the change of name?
20:30:51EXetoCit the nim- prefix not the established one?
20:31:03DemosI use nim- in my packages
20:31:07EXetoCthough not even the official packages have those
20:31:21EXetoCthey don't use nimrod- either though
20:31:39wanAlso, in *.babel, should we change to [Deps] Requires: "nim >= 0.9.4" ?
20:31:50Demosbut I was under the impression that the best way to name things was without any prefix at all, just as the name of whatever you are wrapping
20:32:12EXetoCwhy is it?
20:32:15wanBut then it's more difficult to find it using github's search
20:32:20EXetoCit's a hassle when cloning repositories for example
20:32:55dom96There is no established convention for package names.
20:33:34wanAt first, I was leaning for mypackage.nim, but everyone was using nim-mypackage already
20:33:38EXetoCeither the prefix needs to be added anyway in case of conflicts, or a sub-directory must be introduced
20:33:50EXetoCbut maybe you're fine with the latter
20:35:06EXetoCbut it's easy to forget this
20:40:01Demosas long as the name of the wrapped package is part of the name you give the babel package it is fine
20:40:07Demosso long as you can find it in babel search
20:41:20EXetoCso you don't care about the file system aspect?
20:44:25Triplefoxi've gotten used to reversed-domain-name java style packages, at least for the file system
20:44:51EXetoCand do you add the prefix when forking if the user has the original lib in his list?
21:01:24*saml_ quit (Ping timeout: 250 seconds)
21:04:34*fowl joined #nimrod
21:05:29Araqhi fowl
21:05:41fowlhey
21:13:40dom96filwit said he would have something to show today didn't he?
21:17:15Varriount-MobileAraq: Does this page offer any performance advice Nimrod could use? https://github.com/facebook/folly/blob/master/folly/docs/FBVector.md
21:18:09AraqVarriount-Mobile: kind of, but not really
21:18:24Araqwe used the factor of 1.5 since the beginning
21:18:46Varriount-MobileWhat about relocatable objects?
21:20:45*fowl quit (Ping timeout: 240 seconds)
21:25:31Araqwhat about them?
21:25:53Araqthe compiler knows how to move an object
21:30:23*fowl joined #nimrod
21:30:23*fowl quit (Changing host)
21:30:23*fowl joined #nimrod
22:02:15Jehan_Hmm, --os:standalone does not appear to be working currently. Is this a known issue (or am I just making a stupid mistake)?
22:08:30Araqwe have a test for it
22:08:38Araqlet me check
22:08:38Jehan_Ah, os:standalone does not include any memory management, it appears.
22:09:00bogenis it possible to create a regex at compile time? (one that will only be used by macros and {.compileTime.} procs?
22:09:00Jehan_That's really barebones, though.
22:09:15bogenI keep getting: lib/impure/re.nim(75, 27) Error: VM is not allowed to 'cast'
22:09:26bogenno matter how I declare it
22:09:46Araqbogen: you cannot use the FFI at compile time
22:09:49Jehan_bogen: I think you can use the `pegs` module for regex-like functionality.
22:09:58Jehan_Since it's pure Nimrod code. I think. :)
22:10:09Varriount-Mobilebogen: I believe Araq scrapped the FFI interface for the VM
22:10:14bogenok, I'll look at pegs
22:10:50Araqwell, we can easily support re at compile time with the most recent enhancements
22:10:57Varriount-MobileSince regex uses the PCRE library, it won't work at compile time
22:11:07Jehan_http://nimrod-lang.org/pegs.html
22:11:23Araqbut then the compiler is dependent on pcre and this is asking for trouble
22:13:28bogenok, peg has a replace. I'll look at it. The parallel replace would likely come in handly.
22:15:19Jehan_What are you trying to do, bogen?
22:19:27bogenI'm using xbyak (which is c++) and uses some macros to wrap calls to it for a code generator. I'm using replace to clean up what is passed to .emit which has been working quite well. (I'm able to now do all that I was doing in C++ in nim)
22:20:53bogenI was furthing refining what I was doing in C++, and was needing some regular expression like replace for that. It is not critical. It would just make by input to xbyak look cleaner.
22:21:18bogenit is already is much cleaner in nim than it was in C++
22:21:59bogens/uses some macros/using some macros/
22:23:32fowlhow do i set up nimrod with msvc
22:23:38bogenbasically I have jit assembler now in nim, but that is just a side effect of what I'm working on
22:23:55Araqfowl: --cc:vcc
22:32:15bogenJehan_: pegs won't run in the VM either for me: lib/pure/pegs.nim(1643, 16) Error: internal error: cannot generate VM code for p()
22:32:29Jehan_bogen: Hmm.
22:34:51fowlit fails the "Test to see if nimrod and the C compiler agree on the size of a pointer."
22:34:54*Varriount-Mobile quit (Read error: Connection reset by peer)
22:37:06Araqbogen: well it's a strange bug ;-)
22:37:20Araqthere is no p() here, it's a simple variable p
22:37:57Jehan_fowl: Had the same problem with --cpu:i386 on OS X, because the compiler/linker flags didn't include -m32 or -arch i386. So I suspect it may be something similar.
22:38:29Jehan_I.e. that you need an appropriate --passc/--passl option for vcc to get the 32/64-bit part right.
22:38:49*Matthias247 quit (Read error: Connection reset by peer)
22:40:52bogenwell, I just did: nimrod i import pegs peg";.*\n" # maybe my peg string is bad
22:41:11Jehan_bogen: I'm running into the same error with a simple test case, I don't think it's you.
22:46:27Jehan_From where the error occurs, I suspect it's an issue with how the VM handles object inheritance.
22:47:07bogenI can live with it for now, I'd just prefer not to have /* comments */ in my asm code. I'd rather use ";" but being able to use pegs at compile time would make a lot of other stuff easier.
22:47:23bogen(easier and more correct)
22:51:49Jehan_How about using staticExec?
22:53:41Araqhrm ... these hygienic macros really introduce as many problems as they solve ...
22:53:44Jehan_In principle, you can feed anything to it, and you should be able to even use the result with parseExpr() or parseStmt() to generate Nimrod code.
22:54:24Araqlatest example: use the 'in' operator in a generic
22:54:29fowlJehan_ on your suggestion, i tried the shortcut "vs2013 x64 cross tools command prompt" and it works under that
22:55:26Araq"in" resolves to system.(contains|contains|contains) in the generic and then the contains for HashSet is not found at instantiation
22:55:41*Trustable1 quit (Quit: Leaving)
22:55:47Araqmarking 'in' as 'dirty' fixes it ...
22:56:23Jehan_fowl: I have no clue what that "shortcut" means. :)
22:57:58fowlshortcuts in "C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\Shortcuts" that start the cmd prompts for vs
22:59:24bogenJehan_: where is staticExec documented? I don't find it in the manual. Does that execute some external program? If so, I don't want that. Although I guess it would work in the interim. (but it would likely be slow)
23:00:00Jehan_http://nimrod-lang.org/system.html#staticExec,string,string
23:00:06Jehan_And yes, it does exactly that.
23:00:30Jehan_How slow it is would depend on how often you have to call it.
23:01:01bogenok, I'll try that
23:04:00dom96bogen: You could also do the parsing yourself using parseutils.
23:04:55bogenhttp://nimrod-lang.org/parseutils.html ok, I'll take a look
23:05:29*Johz quit (Read error: Connection reset by peer)
23:05:37*darkf joined #nimrod
23:06:26AraqJehan_, bogen actually I planned some caching for staticExec
23:07:17bogenAraq: well, my input string would different on each call
23:08:35Araqbogen: yes IF you compile it only once
23:13:25bogenlib/pure/parseutils.nim(362, 6) Error: cannot evaluate at compile time: i
23:14:30bogen import parseutils ; for k, v in interpolatedFragments (" cow bad\n dog\n rat"): echo k, " ", v
23:22:07Araqwell we have a test for that
23:22:37*BlaXpirit quit (Quit: Quit Konversation)
23:27:48bogenwell, maybe what would be useful would be in importc variant that worked dynamically. if specified dynamic library was not already loaded it would open it and look up the symbol, otherwise just look up the symbol. That way some importc declarations could be done at compile time or in the interpreter
23:30:05Jehan_bogen: Not sure what that would buy?
23:31:18bogenwell, I could load some already compiled code and run it at compile time, code that I'm unable to currently run in the VM at compile time
23:33:47Jehan_The problem here, as I understand it, isn't loading the code, but the FFI.
23:34:38bogenok. proc atoi (s: cstring): cint {.importc, dynlib: "libc.so".} yeah, let b = atoi ("123") --> VM not allowed to do FFI
23:40:25fowldevs not interested in FFI support anymore :(
23:42:53*Jehan_ quit (Quit: Leaving)
23:43:38NimBotAraq/Nimrod bigbreak 0257f38 Araq [+0 ±2 -0]: fixes #1366
23:43:38NimBotAraq/Nimrod bigbreak c9563d2 Araq [+0 ±1 -0]: fixes #1067
23:43:38NimBotAraq/Nimrod bigbreak 09ab170 Araq [+0 ±6 -0]: fixes #1444
23:43:38NimBotAraq/Nimrod bigbreak d3a7fa2 Araq [+0 ±3 -0]: Merge branch 'bigbreak' of https://github.com/Araq/Nimrod into bigbreak
23:44:04bogenfowl, if pegs and parseutils worked at compile time for me I would not complain :)
23:45:14Araqwe had FFI support at compile-time. It causes more problems than it solves and cannot be put into a spec
23:47:03bogenand I assume that a nim dynamic libary needs an FFI to call it? (because the nim functions in the libary are c, c++, whatever?)
23:47:46Araqbogen: did you try parseutils in a .compileTime proc? top level stuff is usually more buggy
23:48:15bogenAraq: I will try it in a compileTime proc
23:53:31bogenError: internal error: no destination set
23:53:45bogenI'll paste it
23:54:00fowli need to generate a build64.bat for msvc
23:54:12fowlso tedious :(