<< 30-12-2014 >>

00:00:21Varriount|Remoteflaviu: Well, depends on how much of the original code each contributor contributed
00:00:48flaviuAlso, Araq should find a lawyer to chat with before ldlework gets anything started.
00:01:07ldleworkI don't plan on getting anything started without Araq's approval on anything
00:01:09ldleworkBut good idea
00:01:13Varriount|Remote"Nim Inc."
00:01:16Araqwell finding a lawyer that actually knows about these things is harder
00:01:25ldleworkAraq: agreed
00:01:36flaviuVarriount|Remote: What do you mean?
00:01:50Varriount|Remoteflaviu: About what, "Nim Inc."?
00:01:59flaviuNo, the CLA thing
00:02:01AraqI'll ask around. lawyers know other lawyers so it's not too bad.
00:02:12Varriount|RemoteOr about the contributer's contributions?
00:02:25Araqflaviu: github does list the contributors
00:02:26flaviubut I don't think that "Nim Inc." is appropriate if Nim is to be a non-profit.
00:02:40flaviuAraq: But how many of those emails are unwatched?
00:02:43ldleworkNim LLC most likely
00:02:45EXetoCldlework: a corporation? not a business then?
00:02:46Varriount|Remoteflaviu: Well, if the person's original contribution no longer exists in the codebase, then they might not need to be contacted.
00:03:01jsudlowI'm confused if Nim is open source, what not just put a creative commons license on it?
00:03:11ldleworkEXetoC: technically organization
00:03:20ldleworkjsudlow: that's not how it works really
00:03:25EXetoCjsudlow: because it's a bad idea
00:03:33EXetoCdon't ask me for details, but I hear that time and time again
00:03:34Varriount|Remotejsudlow: We aren't talking about licensing (I think) we're talking about monetary support
00:03:40flaviujsudlow: But then what if some asshole decides to use Nim's logo for unrelated things?
00:03:43EXetoCbut there are plenty of liberal licenses specifically for software
00:03:44ldleworkYes, and mindshare
00:03:47ldlework+1 flaviu
00:04:42Araqlast time I checked this non-profit business is not worth the hassle. let's start a company instead.
00:05:07Araqso what if we do make money with it. why is that a problem?
00:05:19Varriount|RemoteLike PHP?
00:05:28EXetoClet's push for anarchy and then not have to care
00:05:34Varriount|RemoteOr Java...
00:06:01AraqVarriount|Remote: these do better than Nim right now, so I fail to see your point
00:06:21Varriount|RemoteAraq: I'm making a point? I was just listing examples.
00:06:35ldleworkAraq: We are entirely free to make money as a 501c3
00:06:50ldleworkThe point of the 501c is that we are exempt from income taxes
00:06:52ldleworkSo income is implied
00:07:03ldleworkThe point is that you cannot give yourself the income and call it a day.
00:07:12ldleworkThe money must go back into further funding the project itself
00:07:47ldleworkIts ideal for a programming language
00:07:59ldleworkPHP and Java are owned by corporations because they were created by corporations
00:08:02gour..but people can be employed and given salary, at least here..
00:08:04ldleworkIts anachronistic
00:08:12ldleworkgour: sure, that's "funding the project"
00:08:36flaviuIIRC, Nim has an annual income of ~$100
00:08:42ldleworkhiring people to develop, maintain, evaneglize, make legal and so on
00:08:52*gour nods
00:09:23Varriount|Remoteflaviu: But that could change.
00:09:25ldleworkflaviu: that's .. not really the point
00:09:27ldleworkanyway
00:09:45ldleworkWe need to establish copyright and trademark over many things
00:09:46flaviuVarriount|Remote: Yes, it could. No, I don't see it changing soon.
00:09:48ldleworkThat's the first step.
00:10:15flaviuldlework: Well, it is. You can't hire much on $100
00:10:27jsudlowthats 5 hours!
00:10:28Varriount|Remoteflaviu: But having a non-profit supporting Nim is more attractive to companies (or the people in them) that want to donate money.
00:10:30ldleworkflaviu: No its not. You're conflating things in order to be negative.
00:10:55Varriount|RemoteNot to mention grants and such...
00:11:06ldleworkEstablishing the organization has many purposes. Conflating it all to just be about our current income is a distraction and I don't know why you're doing it.
00:11:19flaviuVarriount|Remote: Yes.
00:11:19flaviuldlework: Yes, a non-profit is a good idea. But it's not useful from a money-management perspective right now.
00:11:35ldleworkflaviu: Right, and no one, even me, claimed it was.
00:11:39ldleworkThat's what I'm saying
00:11:43ldleworkYou're conflating concerns
00:11:49*Ven joined #nim
00:11:50flaviuSorry, I misunderstood
00:11:55*BitPuffin joined #nim
00:12:07jsudlowI think ldlework is just trying to get nim ready so if it does make money its got all the licenses and trade marks in place
00:12:13*yglukhov__ quit (Quit: Be back later ...)
00:12:16Varriount|RemoteAnyone want to test out the new installer I built?
00:12:20ldleworkI think we need to get Nim read *in order* to make money.
00:12:29ldleworkAnd liscencing and trademarks and all that are the first step.
00:12:51*yglukhov__ joined #nim
00:15:31*gour quit (Remote host closed the connection)
00:17:08*yglukhov__ quit (Ping timeout: 250 seconds)
00:17:35dom96flaviu: How do you figure that?
00:18:43dom96(That Nim's income is $100)?
00:21:13EXetoCso the tip has gone up. great
00:21:36flaviudom96: Within half an order of magnitude or so. I saw someone post a number for a particularly large donation.
00:21:40EXetoCAraq: you re-direct $10 to someone else?
00:21:59dom96flaviu: You forgot to take away our expenses :P
00:22:25EXetoCs/nimrod/nim on the gratipay page
00:22:31ldleworkEXetoC: lol
00:22:36dom96EXetoC: yeah, I don't know how to rename it
00:22:57*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
00:23:24AraqEXetoC: to dom96.
00:23:41EXetoCok
00:24:23*saml_ joined #nim
00:26:09AraqVarriount|Remote: I'll test them but it would be better if somebody does so too
00:26:27Araqalso somebody should produce deb packages and macosx installers
00:29:28*irrequietus quit ()
00:32:42ldleworkdefinitely
00:33:36ldleworkMaybe even a docker container if they are bored :)
00:33:47gokrSBtw, Squeak joined https://sfconservancy.org
00:35:03ldleworkgokr: Its an interesting option
00:35:25ldleworkI like to think that Nim has a future where it can play with the big boys and stand on its own and decide its own future
00:35:26gokrI don't know much about it, but know people in the Squeak community that worked with that.
00:35:37ldleworkBut if Nim doesn't ever break that critical threshold it can always be a fallback
00:36:17ldleworkgokr: that's definitely an organization I can support though...
00:42:15gokrOne big issue with Squeak was the very complicated history and licensing.
00:42:27gokrI doubt Nim can be more complicated ;)
00:44:47*Ven joined #nim
00:46:16EXetoCit'll get plenty big
00:46:19*skyfex quit (Quit: (null))
00:47:54gokrBut ... generally I suspect a German legal entity may be more fitting for Andreas. In Squeak we used for several years such an entity to gather funds - was established by a friend of mine, Marcus Denker.
00:48:14gokrI can ask if Andreas can ask him a few questions about it.
00:48:22ldleworkSure but then Andreas has no current help
00:48:35ldleworkAnd we need Andreas focused on the language
00:48:43Varriount|RemoteAraq: Here are the links for the new installers - https://drive.google.com/file/d/0B077nrrf63xtTHVaUzIxelBBbGs/view?usp=sharing https://drive.google.com/file/d/0B077nrrf63xtaENpbWNpeHZleDg/view?usp=sharing
00:48:48ldleworkBut whatever is the optimal outcome I'm fine with
00:48:57ldleworkI'm just trying to fill a percieved void
00:49:01gokryeah
00:49:46ldleworkAfterall Python started in the Netherlands
00:49:52ldleworkIt is now very much an american 501
00:53:01onionhammerdom96 around?
00:53:07*Varriount|Remote quit (Ping timeout: 246 seconds)
00:53:09gokrgnite
00:53:31ldleworkgokr: o/
00:53:38dom96onionhammer: yes
00:56:05EXetoCgratipay everyone, gratipay!!
00:56:19EXetoCmake dom96 quit school, and then we can focus on Araq
00:56:30onionhammerdom96 im getting that issue again on my mac now
00:56:34onionhammerwith jester
00:56:43dom96what issue?
00:56:50onionhammermaybe it's slightly differnet actually
00:56:55onionhammermaking a gist
00:57:31onionhammerhttps://gist.github.com/onionhammer/5323918254db70ac6ea7
00:58:08*Matthias247 quit (Read error: Connection reset by peer)
00:58:24dom96'serve'?
00:58:33dom96Try 'resp'
00:58:41onionhammer:S sorry
00:58:54onionhammeri think i have a macro called serve in my other app lol
00:59:05*stapler joined #nim
00:59:20staplerquestion. can i get more about the os than system.hostOS gives me?
00:59:23EXetoCbut, "jester.serve..."
00:59:28*stapler quit (Changing host)
00:59:28*stapler joined #nim
00:59:28*stapler quit (Changing host)
00:59:28*stapler joined #nim
00:59:41onionhammerjester.serve is another proc EXetoC
00:59:49onionhammermy bad :)
00:59:55onionhammerafk
01:01:01dom96stapler: what do you want?
01:01:10dom96To know about the OS?
01:02:12*BitPuffin quit (Ping timeout: 250 seconds)
01:02:56EXetoCdid filwit make any attempts at making the website responsive?
01:03:04ldleworkI should get in touch with Steve Holden
01:03:56staplerdom96: version, for some stats
01:07:41*gokr quit (Ping timeout: 244 seconds)
01:10:23*nimnoob_ quit (Ping timeout: 272 seconds)
01:16:27dom96stapler: There is osinfo_posix and osinfo_win. They are not documented though.
01:16:29dom96https://github.com/Araq/Nim/blob/devel/lib/impure/osinfo_posix.nim
01:16:31dom96https://github.com/Araq/Nim/blob/devel/lib/impure/osinfo_win.nim
01:20:21staplerawesome
01:20:22staplerthanks
01:28:48*lumo_e joined #nim
01:29:05lumo_eHi
01:29:38lumo_edo you think that nim could be suited to teach programming?
01:29:43*zedronar joined #nim
01:30:01lumo_eI was going to write a guide to programming for total beginners
01:30:06dom96lumo_e: I'd say so, yes.
01:30:12lumo_e(unfortunately not in english)
01:31:35lumo_eI recalled nimrod because it had a neat syntax, but also static typing(which I think must be thought first)
01:31:41lumo_ealso it teaches to indent properly
01:32:18lumo_eI admit I have been a bit lazy while skimming through the manual though
01:32:33staplerdom96: seems like that needs some updating ;). i'll work on it.
01:32:37lumo_eis there any "weird" point in the language that could be difficult to convey?
01:33:12dom96lumo_e: You should definitely learn it yourself first before trying to teach it to beginners.
01:33:21lumo_eof course
01:33:56lumo_ehow does OOP in nim compare to mainstream OOP languages?
01:34:10dom96It's more minimal.
01:34:32lumo_esingle inheritance is good
01:34:43lumo_epolymorphism and interfaces?
01:35:28lumo_eok google told me
01:35:35*z1y quit (Ping timeout: 244 seconds)
01:38:32stapleris there a contribution guide?
01:39:00stapleror a specific way i should make a pull request?
01:40:35dom96Nope. Just make it against the devel branch.
01:41:55lumo_einstalling it on windows seems like a bit of hassle for a beginner
01:42:43dom96lumo_e: We're going to have Windows installers soon.
01:42:55lumo_ethis is good
01:43:21lumo_eok I'll take a couple of days to learn nim, seems interesting
01:43:34lumo_e(out of curiosity, why was it renamed?)
01:44:11*Demon_Fox joined #nim
01:45:01reactormonklumo_e, because "nimrod" has some annotations with "idiot"
01:45:38EXetoCit's silly, but it doesn't matter now
01:45:52lumo_eoh
01:45:59lumo_eI thought nimrod was call
01:46:08lumo_ewas the biblical reference intended?
01:46:54reactormonkyup
01:47:27lumo_esuch a pity then
01:47:36lumo_eok thanks, good night
01:47:40*lumo_e quit (Quit: Leaving)
01:51:08AraqVarriount_: first page still says "nimrod"
01:52:02*Pixelgel joined #nim
01:52:46*vbtt joined #nim
01:54:41AraqVarriount_: please rebuilt, had to update the licence file
01:54:52Araqhi Pixelgel welcome
01:55:51staplerso i uh made the pull request
01:55:58stapleroh uhhh hi, araq!
01:56:34Araqhi stapler welcome
01:58:14Araq999 watchers, come on guys
01:58:28*vbtt quit (Ping timeout: 255 seconds)
01:58:32Araq:-)
01:59:00staplercool, i guess i was the 999th
01:59:15stapleryep
02:01:53*yglukhov__ joined #nim
02:06:16*yglukhov__ quit (Ping timeout: 244 seconds)
02:07:52*Trustable quit (Quit: Leaving)
02:08:30Triplefoxhmm, someone's GC question http://www.reddit.com/r/programming/comments/2qp8xb/nim_formerly_nimrod_0102_released/cn8r589
02:13:36Araqgood night
02:14:16Triplefoxnini
02:17:19dom96wooh 1k stargazers
02:17:52*z1y joined #nim
02:19:16flaviuwtf, how does `for i in 0..10` use GC?
02:20:27EXetoCfalse positive maybe
02:20:45gmpreussnerwell, first it needs to allocate memory for all the numbers between 1 and 10
02:20:49gmpreussnerobviously
02:20:53EXetoCno
02:20:55Triplefoxi imagine in the best case, it's tracing in the gc use from another place
02:20:59gmpreussner^_^
02:21:01Triplefoxbut i don't know compiler internals
02:23:55dom96flaviu: echo(i) uses GC I think
02:23:55flaviuNo, that doesn't use GC
02:23:57flaviuyep
02:24:02flaviuI just came to that conclusion
02:28:23dom96night
02:28:33flaviuTriplefox: I replied, in case you wanted to see what the answer is.
02:29:11Triplefoxokay, that all makes sense
02:30:01Triplefoxoh, should point to the gc internals page to address manual allocations etc.
02:35:42Triplefoxi remember standard library use of GC creating a big talking point against D
02:36:41*nimnoob_ joined #nim
02:38:09EXetoCthat's less true now apparently
02:38:21EXetoCthere are that many embedded programmers?
02:38:33Triplefoxit's probably not a real issue
02:38:52EXetoCbut the GC was apparently kind of slow
02:39:24Triplefoxyeah in one thread i read there was a mix of issues where the GC sat around without improvements
02:39:38Triplefoxthe kind of thing that I hear has also happened to some Go folks
02:39:46Triplefoxthey scale it up and it falls over
02:40:35Triplefoxfolks who want to do very tight performance embedded stuff seem to mainly want C without header files
02:40:44Triplefoxdifferent design goal, really
02:43:13*nimnoob_ quit (Ping timeout: 258 seconds)
02:58:04*stapler quit (Ping timeout: 246 seconds)
02:59:12*minciue quit (Quit: minciue)
03:00:05*brson quit (Quit: leaving)
03:05:16*Guest68461 joined #nim
03:12:19PixelgelDoes anyone know whether there's any interest in having uniqueness types in Nim?
03:16:53*dyu joined #nim
03:17:37flaviu"uniqueness types"? Can you elaborate?
03:18:26PixelgelLike the new C++ feature, and also similar to rust, where the compiler tracks ownership of a heap object statically.
03:19:08*darkf joined #nim
03:19:29PixelgelNim is almost exactly what I've been looking for for a while, but having runtime GC is unpleasant to me.
03:20:10flaviuah, ok. I personally don't really have an opinion there, both work for me.
03:21:23PixelgelYeah, that's valid. I just feel wasteful with runtime GC.
03:21:33*dymk quit (Ping timeout: 258 seconds)
03:22:48*dymk joined #nim
03:23:26EXetoCgarbage collection can be very fast
03:23:33EXetoCdo you have special requirements?
03:25:12*flaviu quit (Read error: Connection reset by peer)
03:25:12*Mimbus quit (Read error: Connection reset by peer)
03:26:28PixelgelNot specifically, I just find that uniqueness typing has lower mental overhead than making sure I play fair with the GC
03:27:18fowlPixelgel, i suggest you test the gc before you discount it
03:27:40PixelgelThat's valid.
03:27:46*flaviu joined #nim
03:28:04PixelgelThe rest of Nim is well worth the time to check into that, now that I think about it.
03:28:08PixelgelThanks.
03:28:53fowli come from ruby/python and trying to write games you can hit the GC wall pretty quickly
03:29:51fowlwith nim the ceiling is much higher
03:30:54PixelgelThe support for max pause times and stepping seems interesting as well.
03:50:47*yglukhov__ joined #nim
03:54:31*vbtt joined #nim
03:55:41*yglukhov__ quit (Ping timeout: 272 seconds)
03:58:24*BitPuffin joined #nim
04:02:31*BitPuffin quit (Ping timeout: 244 seconds)
04:05:44*Jaood left #nim (#nim)
04:09:15*vbtt quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
04:22:18zedronarI'm loving this language.
04:25:01EXetoCc(:)|<
04:27:12zedronarI find Rust syntax unpleasant... Nim is just great
04:27:26zedronarI wish we had a linter for Sublime though.
04:28:42fowlzedronar, nimlime has syntax highlighting if thats what you mean
04:31:01*Pixelgel quit (Quit: Page closed)
04:35:22*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
04:37:14*vbtt joined #nim
04:39:57*nimnoob_ joined #nim
04:40:30*BitPuffin joined #nim
04:41:08zedronarfowl: awesome
04:41:49zedronarhow do you call the functionality that compiles the code while you are editing?
04:44:17*nimnoob_ quit (Ping timeout: 240 seconds)
04:48:03fowlnot sure what its called
04:48:50zedronarautocompile?
04:49:08zedronarwe should make something like that for Sublime... Rust has it, and it's great
04:49:21flaviuIf you don't mind trademark issues, "intellisense"
04:49:22*vbtt quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
04:49:46flaviuzedronar: Well, nim is supposed to support it, but it's not really useable.
04:50:38zedronarI thought intellisense was just autocomplete for classes, members, etc
04:50:48zedronarflaviu: why not?
04:52:01flaviuI've heard that it's buggy, but that may just be the daemon mode.
04:53:07flaviuIntelliSense does include the squiggly underline according to my brief research.
04:53:45flaviubye, I need to sleep. It can't hurt to try to figure out Idetools if you'd like.
04:54:37zedronarflaviu: Good night.
04:54:43zedronarflaviu: I will.
05:11:58*BitPuffin quit (Ping timeout: 255 seconds)
05:14:20*nimnoob_ joined #nim
05:20:48*nimnoob_ quit (Ping timeout: 265 seconds)
05:24:07*saml_ quit (Quit: Leaving)
05:29:01*kniteli quit (Ping timeout: 265 seconds)
05:34:22*kniteli joined #nim
05:35:41*kapil__ joined #nim
05:39:41*yglukhov__ joined #nim
05:42:40*ARCADIVS joined #nim
05:44:06*yglukhov__ quit (Ping timeout: 244 seconds)
05:45:17*Demon_Fox quit (Quit: Leaving)
05:47:28*zedronar quit (Ping timeout: 246 seconds)
05:58:26*superfunc joined #nim
06:04:19*superfunc quit (Ping timeout: 265 seconds)
06:07:49*vbtt joined #nim
06:11:45*stapler joined #nim
06:17:15dv-the function source links in the documentation are broken
06:19:07dv-(on nim-lang.org)
06:22:32*vbtt quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
06:28:33staplerare there really no docs on unittest?
06:28:40stapleri don't see anything at all!
06:45:56*Boscop joined #nim
06:46:36fowlstapler, check the bottom of the module for an example? there are examples in nims tests/tunit too
06:49:33staplerfowl: i know how to use it but the fact that i don't see any mention of it ANYWHERE on the website is sort of frightening
06:54:42fowlits missing from lib.html apparently
06:54:50fowland the module itself doesnt have an example
07:04:28*stapler quit (Ping timeout: 246 seconds)
07:13:34*Demos_ quit (Ping timeout: 250 seconds)
07:28:30*yglukhov__ joined #nim
07:29:09*dts|pokeball quit (Ping timeout: 256 seconds)
07:29:26*vbtt joined #nim
07:32:44*yglukhov__ quit (Ping timeout: 245 seconds)
07:41:08*bjz joined #nim
07:52:10ldleworkI hope we can encourage all the new names showing up to make these small improvements they are noticing.
07:52:15ldleworkIts good feedback.
07:52:44ldleworkOr help. You know what Imean.
07:53:43*vbtt quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
07:57:42*vbtt joined #nim
08:05:36*z1y quit (Ping timeout: 258 seconds)
08:08:50*BitPuffin joined #nim
08:13:21*BitPuffin quit (Ping timeout: 256 seconds)
08:23:58fowlnobody ever wants to write documentation
08:28:28ldleworkI think if you take someone who is saying that feathery stuff like "I want to contribute but I'm not sure how"
08:28:51ldleworkand you hand them a specific module, or specific sections to chose from that need improvement and say "Do this" they might respond
08:29:06ldleworkSo maybe we can better enumerate discrete tasks to help with that
08:32:50*yglukhov__ joined #nim
08:33:22*Demon_Fox joined #nim
08:35:15*milosn quit (Remote host closed the connection)
08:35:39*fowlmouth joined #nim
08:36:15*notfowl joined #nim
08:37:20*BlaXpirit joined #nim
08:37:31*yglukhov__ quit (Ping timeout: 265 seconds)
08:37:38*milosn joined #nim
08:39:27*fowl quit (Ping timeout: 244 seconds)
08:40:06*fowlmouth quit (Ping timeout: 258 seconds)
09:24:37*bjz_ joined #nim
09:27:15*bjz quit (Ping timeout: 258 seconds)
09:29:03*matkuki joined #nim
09:35:04vbtti dont mind writing documentation
09:35:13vbttbut i'm fuzzy on the details
09:43:06Demon_FoxI just want to know if I'm thinking in the right direction
09:43:21Demon_FoxWas nim meant to be a like C, Pascal, and Python?
09:45:27ldleworkDemon_Fox: you seem hung up on this
09:45:37ldleworkEnumerate its features
09:45:43ldleworkSee Nim in the spectrum
09:45:55ldleworkWhich is very much multi-dimensional
09:46:17ldleworkYou can immediately see various similarities to other languages, whether they are legitimately inspiration or not
09:49:45ldleworkDemon_Fox: Do you need a language which is low friction like Python, easy on the eyes like Pascal and fast like C with well made generics like C# and meta-programming facilities like Lisp?
09:50:48Demon_FoxThanks.
09:50:52Demon_FoxThat is what I wanted to know
09:51:06Demon_FoxWhat it sorted of formed into
09:51:52ldleworkDemon_Fox: where other languages like Rust are Big Idea languages, I think that Nim really just tries to give us a very nice version of the kind of language feature's we're all ready used to
09:52:39ldleworkman my spelling and grammar is in the toilet right now
09:52:43ldleworkI'm going to sleep :)
09:52:47Demon_FoxI am to
09:52:56Demon_FoxI get a little ranty when I'm tired
09:53:07ldleworkDemon_Fox: lets write a small game
09:53:10ekarlso-.eval %{"foo": 1}
09:53:14ekarlso-hmmms
09:53:27ldleworkDemon_Fox: not right now, but over time, something trivial
09:53:35ldleworkgood night
09:57:07*Varriount|Remote joined #nim
09:58:46Demon_FoxIt is hard to think when I'm tired
09:58:52Varriount|RemoteAraq: Updated installers here - https://drive.google.com/file/d/0B077nrrf63xtclloT1NGUDBlQWs/view?usp=sharing
09:58:59*Demon_Fox quit (Quit: Leaving)
09:59:15*Varriount|Remote quit (Client Quit)
10:00:15*vbtt quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
10:12:59*z1y joined #nim
10:27:47*yglukhov__ joined #nim
10:29:40*gokr joined #nim
10:34:56AraqVarriount_: thanks. Tested and uploaded. Let's hope people find fewer problems than the last time ;-)
10:37:20gokrMorning!
10:38:38*jefus__ joined #nim
10:40:35gokrThat's nice, at least two people commented on my blog that they are taking a closer look at Nim :)
10:42:25*jefus_ quit (Ping timeout: 244 seconds)
10:49:43gokrA fascinating blog article about "bug problems" in Julia: http://danluu.com/julialang/
10:51:57*Matthias247 joined #nim
11:09:07*matkuki quit (Quit: ChatZilla 0.9.91.1 [Firefox 34.0.5/20141126041045])
11:16:07*z1y quit (Ping timeout: 258 seconds)
11:34:52*bjz_ quit (Ping timeout: 240 seconds)
11:35:17*skyfex joined #nim
11:43:10*bjz joined #nim
11:51:25*gokr quit (Quit: Leaving.)
11:56:01*VinceAddons joined #nim
12:18:17*BlaXpirit quit (Quit: Quit Konversation)
12:23:44*bjz quit (Ping timeout: 265 seconds)
12:30:11*bjz joined #nim
12:30:18*judofyr joined #nim
12:30:36judofyrhey folks
12:31:40*Sphax joined #nim
12:32:56*bjz quit (Read error: Connection reset by peer)
12:33:26judofyrI've been playing with bindings to h2o (HTTP server): https://github.com/judofyr/hox
12:33:58judofyrExample app: https://github.com/judofyr/hox/blob/master/ex.nim#L18
12:34:04judofyrI must say I like Nim very much :)
12:34:07judofyrvery pragmatic
12:36:51*Durz0 joined #nim
12:42:26judofyrbut I do have some questions though. I'm wondering how to handle query parameters and form data.
12:42:44judofyrI'm not a big fan of the "parse everything into one big hash table"
12:43:18judofyrso actually I think an API like this might make more sense: type SearchQuery = object: q, page: string
12:43:46judofyrand then providing a proc parse(data: string, form: var SearchQuery)
12:44:03judofyris there a way to implement that in a clean way?
12:44:35judofyrI can't seem to get the type info from inside a macro
12:44:43*Trustable joined #nim
12:46:38*flaviu quit (Remote host closed the connection)
12:55:51*Ven joined #nim
12:56:01*flaviu joined #nim
12:56:53*jm116 joined #nim
12:56:57jm116hi
12:57:03jm116brihat said you are friendly
12:57:17judofyrhi jm116
13:03:19*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
13:04:54*Sembei quit (Excess Flood)
13:05:54*Sembei joined #nim
13:07:26*Durz0 left #nim ("Bye")
13:10:55*flaviu quit (Remote host closed the connection)
13:11:02*flaviu joined #nim
13:14:01*z1y joined #nim
13:19:04dom96hello jm116, welcome to Nim land :)
13:19:36*untitaker joined #nim
13:19:44dom96welcome to you too judofyr
13:21:04dom96judofyr: The type API for macros hasn't been finished yet.
13:21:18dom96judofyr: I'm not sure how to help you with your other issue, you seem to know what to do already :)
13:22:56judofyrdom96: I saw a .typ proc in the macros-module, but I can't find a way to get to a PNimType from there
13:24:08*Sphax quit (Ping timeout: 244 seconds)
13:24:36*Ven joined #nim
13:26:53*Sphax joined #nim
13:26:54dom96judofyr: If you wait for Araq to show up he'll be able to help you out.
13:27:17judofyrdom96: also: do you have any thoughts on templating language for Nim? I'm not a very big fan of the macro-thingie.
13:28:10dom96You can use source code filters: http://nim-lang.org/filters.html
13:31:06flaviujudofyr: If you'd like a project, something like https://github.com/Shopify/liquid/wiki/Liquid-for-Designers would be great!
13:32:56judofyrflaviu: dynamically or statically typed? parsed at runtime or compile time?
13:34:02flaviuI personally don't feel comfortable doing complicated things at compiletime because I tend to run into crashes, so I'd suggest it be parsed at runtime.
13:34:34flaviuand IMO static typing on templates is mostly pointless since everything is a string anyway.
13:35:22judofyrit's more about what you give to the template engine. do you give it `var YourType`, or `var SomeGenericObject`
13:35:59dom96flaviu: No it's not. Concatenation is expensive at runtime.
13:36:10judofyre.g. what does {{ foo.bar }} compile to?
13:36:19judofyris it a hashmap lookup?
13:36:31judofyror is it a proc-call?
13:37:03flaviuI think that hashmap would be best if there's to be the opportunity for new templates to be created at runtime.
13:37:46flaviudom96: there's a lot more to the problem than just "concatenation is expensive"
13:38:28dom96flaviu: Like what?]
13:39:09flaviuyou can optimize your template AST, you can use heuristics to decrease copying.
13:39:15*Trustable quit (Remote host closed the connection)
13:40:05*Trustable joined #nim
13:40:13judofyrI see this as two different use cases: I want something like Liquid if I have a system where users can insert their own template.
13:40:39judofyrstdtmpl is fine if I'm fully in control of the templates
13:41:31*kapil__ quit (Quit: Connection closed for inactivity)
13:43:29judofyrand while I agree that a Liquid-like template engine is nice to have, I don't really need it at the moment
13:43:39*Sphax quit (Max SendQ exceeded)
13:43:44judofyrdom96: is there a way to define custom filters?
13:44:38*Sphax joined #nim
13:44:46dom96judofyr: Yeah, have you read the docs?
13:45:11judofyrdom96: which docs? filters.html doesn't mention anything?
13:45:58judofyrmanual.html doesn't have anything related to "filters"
13:46:04dom96judofyr: You can control the parameters defined here http://nim-lang.org/filters.html#available-filters
13:46:52judofyrwhat if I want to support "#! foobar" ?
13:46:58judofyrcan I write my own foobar filter?
13:47:09dom96I don't think so
13:47:13judofyrok
13:50:49*Sphax quit (Ping timeout: 255 seconds)
13:56:01*loz joined #nim
14:02:46*Sphax joined #nim
14:05:51*minciue joined #nim
14:10:03*BitPuffin joined #nim
14:19:57*jefus__ is now known as jefus
14:27:17*Sphax quit (Ping timeout: 240 seconds)
14:39:23dom96Cool. A Nim Forum thread is on HN.
14:39:31*dom96 hopes the forum can handle HN traffic...
14:39:47gmpreussner:)
14:42:13flaviudom96: Still haven't deployed google analytics to the forum? You're missing out on that data.
14:42:50dom96I'm honestly afraid to at this point.
14:43:29dom96We can look at the view count that the thread has though :)
14:44:19flaviuyeah, but we don't know if people actually read the thread, if they just glanced at it, if they browsed other threads
14:45:22*nimnoob joined #nim
14:47:13lozis forum written on nim?)
14:47:25dom96yes
14:47:27flaviuhttps://github.com/nim-lang/nimforum
14:54:23dom96saml: I fixed that Aporia issue. Execute `nimble install gtk2@#head` and then recompile Aporia and it should work.
14:57:31*BlaXpirit joined #nim
15:02:25*nimnoob quit (Remote host closed the connection)
15:07:23dom96flaviu: I'll create a new account for nim forum on analytics.
15:08:39flaviudom96: I think you can have more than one site per account
15:08:49dom96yeah, that's what I mean
15:09:35*kws joined #nim
15:11:21kwsHi, stupid question here... how do I remove entry(s) from StringTable?
15:13:46def-kws: Doesn't look like you can
15:15:58def-You could use regular (hash) tables, they have a del procedure
15:16:45dom96kws: I believe you can just set the value to nil.
15:18:13*alelos joined #nim
15:18:32*nimnoob joined #nim
15:21:10samldom96, what was the fix? not in Aporia but in gtk2 project?
15:21:26dom96saml: yeah. Incorrect int type.
15:21:33samlhttps://github.com/nim-lang/gtk2/commit/a8e5545b5f4d9b10c9e6cb98c8f45732e0d2866f ?
15:21:41dom96yep
15:21:47samlwhy would it work for some users?
15:21:53saml32bit vs. 64bit?
15:22:01samlwhy did it work*
15:22:28dom96perhaps
15:23:23samlnice it runs
15:23:42kwsdom96: setting value to nil still has the key in the table
15:23:44samlhow can I go about fixing/making Go to definition work?
15:24:04kwsdef-: i will check out hash table then
15:25:13kwsthanks
15:26:22dom96saml: You would have to do that in the compiler unfortunately.
15:27:03samlis compiler spaghetti ?
15:27:45dom96I wouldn't say that. But it's difficult to understand (at least for me).
15:28:15*judofyr quit (Remote host closed the connection)
15:29:02Araqhi guys. what's up?
15:29:28*zedronar joined #nim
15:36:26dom96Nim forum is on the front page of HN
15:36:33dom96https://news.ycombinator.com/item?id=8814449
15:40:01*kws quit (Ping timeout: 246 seconds)
15:42:25samlNim: easy android development
15:42:46dv-there's nothing easy about android ime
15:43:41*nimnoob quit (Ping timeout: 258 seconds)
15:43:48dom96That was a smooth restart.
15:44:03dom96Forum now has Analytics.
15:44:51dom96flaviu: Added you.
15:45:19dom96Araq: and you
15:45:50Araqis GA now my friend on facebook?
15:46:08*Varriount|Busy joined #nim
15:47:12flaviuI get hits on the real-time view, but I assume that GA takes a few hours to update the rest of the interface?
15:47:37dom96flaviu: You may need to choose today in the date range on the top right.
15:47:49AraqI'm moving idetools to its own tool
15:47:57dom96flaviu: hrm. nope.
15:48:09Araqdoes anybody have a creative better name than "nimide"?
15:49:04def-This site should probably be redirected to nimc.html: Yank http://nim-lang.org/nimrodc.html
15:49:12samlnim ide?
15:49:29samlnintellim
15:49:47alelosis there a name convention for nim packages? like in python the py prefix/suffix?
15:50:09Varriount|Busyalelos: It helps if you can fit 'nim' in the name :P
15:50:14alelos:)
15:50:25flaviuIIRC the nim- prefix should be avoided for non-language related packages.
15:50:33Varriount|BusySee: 'Nimlime' (Sublime Text Plugin), 'Nimble
15:50:36Varriount|Busy'
15:50:45Varriount|Busy(Package Editor)
15:50:46dom96The nim prefix should be avoided because it's being overused already... :P
15:50:47flaviubut that may have just been a passing statement by someone in IRC
15:50:55samlnim vs. vim
15:51:04samlnvim
15:51:11samlnvm
15:51:24def-http://nim-lang.org/lib.html#nimble doesn't seem to work
15:51:40flaviuwow, mobile is huge! 33% of users are using mobile to access the forums
15:52:00dom96Araq: 'consilium', lating for "suggestions"
15:52:02dom96*latin
15:52:08Varriount|Busyflaviu: I browse the forum through mobile.
15:52:22dom96flaviu: That's actually pretty low IMO.
15:52:30Araqdef-: bah. it worked last time I checked it
15:52:43Araqwhy is this so fragile?
15:52:44samlworks for me.
15:52:47dom96Araq: Also, fix the Source links please.
15:53:17Araqdunno how
15:53:19samlit gives grey box around Nimble heading
15:53:25dom96Araq: Because you forgot to upload http://nim-lang.org/nimblepkglist.js?
15:53:43Varriount|BusyAraq: I'm getting a javascript error - 'gotPackageList is not defined'
15:53:47dom96Araq: Just need to put /lib/pure/ in the links.
15:54:13dom96Araq: Or rather, the location of the module.
15:54:57Araqdom96: indeed. fixed.
15:55:07Araqtested it only locally :P
15:55:19Araqand there the .js file exists
15:55:45Araqdom96: 'consilium' is too obscure
15:56:06samlwaht's wrong with aporia?
15:56:08def-Araq: just "nimsuggest"?
15:56:11flaviuhttp://translate.google.com/translate?hl=en&sl=ru&u=http://www.linux.org.ru/news/opensource/11171408&prev=search
15:56:19flaviu"Another mixture bulldog with a rhinoceros translates the code in C."
15:56:33Varriount|Busyflaviu: Huh?
15:57:02lozflaviu: its standard trolling, don't pay attention
15:57:11lozstandard to this site
15:57:16flaviuah, I thought it was just screwed up translation
15:57:30dom96Araq: Sounds cool though.
15:57:34alelosaporia is greek for 'query/question'. I dont know if this was the goal
15:57:37loznope, you can read many responses to this guy comment there
15:57:40dom96Araq: Anything with IDE in the name sounds boring.
15:57:54Araq"I looked briefly and thank god I found a reason not to take a closer look and learn something."
15:58:06samlnimdex
15:58:07Varriount|BusyNimtelligent?
15:58:14samlnimtags
15:58:23dom96alelos: I have a habit of looking at greek words/god names and picking a word/name which sounds cool for my projects :)
15:58:30samlyou're building nim source code analyzer,indexer?
15:58:36dom96alelos: So the meaning didn't really matter to me.
15:58:42Varriount|BusyNimling?
15:58:50Araqsaml: no, I'm fixing things we already have
15:59:07AraqI like "nimsuggest" best so far
15:59:15dom96STDSWN? Something That Doesn't Start With Nim?
15:59:28*darkf quit (Quit: Leaving)
15:59:51Trustabledom96, how to fix "AsyncSocket() -> Error: field not initialized: proto" ?
16:00:06dom96Trustable: AsyncSocket -> asyncSocket()
16:00:17dom96Trustable: But those are deprecated.
16:00:37Trustabledom96, thx, I just want to build Aporia with Nim
16:00:55dom96Trustable: It builds for me.
16:02:53Varriount|BusyAraq: I really like the new documentation styling. I mean, the old style was ok, but it's nice to have a bit of a change.
16:03:52flaviureturn, break are not expressions
16:04:00*z1y quit (Ping timeout: 258 seconds)
16:04:18*gokr_ joined #nim
16:05:16Varriount|Busyhi gokr_
16:05:29gokr_hey!
16:06:12Araqdef-: the docs don't link to nimrodc.html though, do they?
16:08:04AraqVarriount|Busy: "nimling"? what does the 'ling' stand for?
16:08:55acidxsubstr(translate("language", "en", "pt"), 0, 4) -> "ling"
16:09:49samlnimgoogle
16:09:58Varriount|BusyAraq: Nothing. I just thought it sounded cute.
16:09:59samlnimgoogle: your code belongs to us
16:10:23AraqVarriount|Busy: I agree
16:10:29samlnoogle
16:10:34samlsomething like hoogle
16:11:30dom96Araq: Is it reminding you of Starcraft? :P
16:11:43dom96saml: Do it.
16:11:44zedronarminim
16:11:48zedronarminimal + nim
16:12:13*quasinoxen quit (Read error: Connection reset by peer)
16:12:53Varriount|Busyzedronar: Fun fact - when running a WinPE boot disk, the disk uses the computer name 'MININT' (Minimal NT)
16:13:25zedronarVarriount|Busy: Damn it Microsoft
16:14:28*Varriount|Busy throws chkdsk at zedronar
16:14:42Araqbbl
16:15:51zedronarCHKDSK is verifying files...
16:15:59zedronarFile verification completed.
16:16:04zedronarYou have a lot of porn.
16:17:35flaviudom96: Can I have no syntax highlighting on the forum?
16:18:02dom96flaviu: You mean post a reply with code in it without syntax highlighting?
16:18:08flaviuYes
16:18:15dom96``` ... ```
16:19:07flaviuhttp://forum.nimrod-lang.org/t/699/1#3824
16:19:19flaviuIf I don't get markdown, I'll use it anyway! :D
16:19:58*nimnoob joined #nim
16:20:02dom96why would you do that...
16:20:38*nimnoob quit (Remote host closed the connection)
16:21:01Varriount|Busy"As for Nim, it's working the way Araq indented it." - Gold!
16:21:41dom96I liked that too.
16:22:48Varriount|Busydom96: Are you going to fiddle with the thread to delete that post? If so, is it ok for me to post a reply, or do I need to wait?
16:22:59*trevorriles joined #nim
16:23:02dom96I'm not going to delete it.
16:23:16dom96I'm hoping flaviu will edit it.
16:23:32flaviunope
16:23:41flaviunot until I get my markdown.
16:24:57BlaXpiritgreat idea, flaviu.
16:26:37flaviuI'll even do all the work! I already have a discount wrapper that's licensed MIT.
16:30:05def-Araq: not that I know of, but google links to it as the first result often
16:30:38dom96flaviu: If you write a proper parser then I will accept it.
16:30:54flaviudom96: http://www.pell.portland.or.us/~orc/Code/discount/
16:32:13BlaXpiritflaviu, uhhh why this one?
16:32:32flaviuIt's small, it's in C, and I know it's easy to compile.
16:33:13BlaXpiritlooks pretty extensible :o
16:33:23flaviuAlso, I've already written a wrapper for it: http://nimlets.github.io/add-123s.html
16:35:53Varriount|Busyflaviu: How easy is it to compile?
16:37:15flaviu./configure.sh; make
16:37:27gokr_I should get cracking on my port of petitparser ...
16:37:37BlaXpirithttp://commonmark.org/ just sayin
16:38:12flaviuBlaXpirit: Commonmark is bare-bones, I want more fancyness!
16:38:23BlaXpirityeah, i can understand that
16:39:34flaviubuild steps could probably be simplified to 23 commands
16:42:19*Varriount|Busy quit (Ping timeout: 246 seconds)
16:48:37*gokr_ quit (Ping timeout: 240 seconds)
16:50:49*brson joined #nim
16:51:45brsonsuper happy to see all the fresh pr nim is getting!
16:53:59flaviuhttp://i.imgur.com/i31WAjN.png
16:57:23brsonsad that most of the hn comments about pr strategy is negative
16:57:27brsonhn is so cynical
16:58:47BlaXpiritguys, so why exactly do tuples need to be separate from objects?
16:59:31flaviuBecause they use duck typing
17:00:19flaviu.eval type mytup = tuple[a: int, b: string];type mytup2 = tuple[foo:int, bar:string];let x: mytup2 = mytup(1, "asd")
17:00:42BlaXpiritso what? there is no real use case for that
17:00:55BlaXpiritobjects could use duck typing, anyway :|
17:01:58*gokr_ joined #nim
17:02:01*Mimbus joined #nim
17:02:04flaviu.eval type mytup = tuple[a: int, b: string];type mytup2 = tuple[foo:int, bar:string];let x: mytup2 = mytup(1, "asd")
17:02:08Mimbusflaviu: eval.nim(5, 21) Error: expression 'mytup' cannot be called
17:02:35flaviu.eval type mytup = tuple[a: int, b: string];type mytup2 = tuple[foo:int, bar:string];var x: mytup2;var y: mytup = (1, "asd");x=y
17:02:38Mimbusflaviu: eval.nim(7, 2) Error: type mismatch: got (mytup) but expected 'mytup2'
17:02:48flaviuwait, what?
17:03:20BlaXpirittuples are quite useless
17:03:29flaviuYep, I agree now
17:03:41BlaXpiritgawd, i notice so much inelegance
17:03:41flaviubetter to them as a library
17:04:01BlaXpiritthese tuples are just such an arbitrary addition
17:04:36BlaXpiritthey're not even tuples
17:04:50def-I find tuples nicer to use often
17:05:21BlaXpiritthe only possible use case is function return value
17:05:28BlaXpiritbecause they're so extremely limited
17:05:43BlaXpiritbut then again, why not return an object just as easily
17:06:01def-then you need to define the object type somewhere
17:06:11def-with a tuple you can just write "proc foo: tuple[x, y: int]"
17:06:11flaviuBlaXpirit: Because you can't declare an anonymous object like in C.
17:06:22BlaXpiritevery single use case of tuples could just be additional functionality of objects
17:06:42flaviuI'd rather have tuples as a library, and objects left unchanged.
17:07:15*Varriount|Busy joined #nim
17:07:26BlaXpirityeah... ok, def-, so tuples aren't 100% useless
17:08:25def-I find it annoying to create a new object
17:08:34Varriount|BusyBlaXpirit: tuples are best used for 'informal' transfer of arbitrary structures of data
17:08:55flaviuVarriount|Busy: Why not hash tables?
17:09:16BlaXpiritbah, i can't expect every language feature to have more than 1 use case >_>
17:09:19def-with a "type Point = tuple[x, y: int]" you can just use (10,12) as an input where a Point is expected. With an object that would be Point(x: 10, y: 12)
17:09:59Varriount|Busyflaviu: I don't mean arbitrary in the sense that the structure is dynamic
17:10:04minciuebrson: nice of you to drop by
17:11:13*gokr joined #nim
17:11:37Varriount|Busyflaviu: More like the idea that the structure isn't going to be used often, or isn't going to appear more than once in a module
17:13:53*gokr_ quit (Ping timeout: 264 seconds)
17:14:19Varriount|BusyWe should have this - http://judy.sourceforge.net/
17:14:34*quasinoxen joined #nim
17:15:10*judofyr joined #nim
17:15:56brsonminciue: i'm always here spying on the competition ;p
17:16:19minciueheh
17:17:16minciuenot that it’s much of my business, but people here were talking about setting up a 501(c) for Nim as a means to attract some funding
17:18:02*zedronar left #nim (#nim)
17:20:34minciuehow hard do you think that would be?
17:21:43*loz quit (Quit: Leaving.)
17:22:08minciueor, to phrase it differently, is it a huge time investment to get something like that off the ground?
17:22:46*jm116 quit (Quit: Leaving)
17:26:47*dyu quit (Quit: Leaving)
17:32:13Varriount|Busyminciue: From what I read, there's a lot of yak trimming involved.
17:33:09*shodan45 quit (Quit: Konversation terminated!)
17:34:31minciueif only there were some big 501(c) out there that could take Nim under its wing? (wink, wink)
17:36:09Varriount|Busyminciue: Apache?
17:36:30Varriount|Busyminciue: Or do you have something else in mind?
17:36:40minciueI’m mostly kidding. I was referring to Mozilla since brson works there
17:37:10minciuebut now I am thinking about Apache
17:37:43*ARCADIVS quit (Quit: ARCADIVS)
17:41:23*jpoirier joined #nim
17:41:33minciuethough Apache has so many projects I don’t know if it’s worth much to be one
17:47:37BlaXpiritare the T prefixes ever going away?
17:49:10*gokr_ joined #nim
17:49:28BlaXpiritand why do i have EOS in my code but see OSError in the tutorial now?
17:50:08jpoirierQuestion, when installing nim using koch to /usr/local/bin, is /usr/local/lib/nim the only other item installed besides the binary?
17:50:50dom96jpoirier: There is also stuff in /etc IIRC
17:51:18minciueBlaXpirit: the T/P prefixes are deprecated
17:51:20*gokr quit (Ping timeout: 258 seconds)
17:51:27BlaXpiritcoool...
17:51:56minciueit’s in the new 0.10.2 release
17:52:09BlaXpiritminciue, you mean 0.10.2 will break my code?
17:52:29minciueit’s deprecated, so no (at least not because of the T/P prefixes)
17:52:46BlaXpiritthought you were talking about my 2nd message
17:52:57BlaXpiritEOS vs OSError confusion still stands
17:53:18Varriount|BusyBlaXpirit: No, but you will get deprecation warnings
17:53:37BlaXpiritVarriount|Busy, are they interchangable in the meantime?
17:53:58jpoirierdom96: thanks, will look at the /etc folder
17:54:45BlaXpiritcan't believe arch linux still doesn't have 0.10.2
17:55:03flaviuBlaXpirit: install nimrod-git
17:55:25flaviuoh, it doesn't build
17:55:29BlaXpiritlel
17:56:09Varriount|BusyBlaXpirit: Yes... but if you don't fix the deprecation warnings, you will be emailed an angry bobcat
17:56:20BlaXpiritof course
17:56:38*NimBot joined #nim
17:56:38Varriount|BusyActually, no, you'll be emailed an angry honey badger
17:56:48BlaXpiritwere there any standard library overhauls recently?
17:56:52minciueBlaXpirit: looks like EOS is out, but there’s nothing in the changelog
17:57:03BlaXpirit(exception renames is one, actually)
17:57:16minciuehttps://github.com/Araq/Nim/commit/d7d059a68695c10b7fe93f8f452d4aceb90857eb
17:57:41BlaXpiritok
17:58:01flaviuBlaXpirit: http://i.imgur.com/TwsOfT7.png
17:58:07flaviucredit goes to filwit for the image
17:58:13BlaXpiriti don't even...
17:58:52flaviuIt was too scary to but used :P
17:58:56jpoirierdom96: doh, it's all in the install.sh script...
17:58:57flaviu*be
18:02:43BlaXpiritEXetoC, get to work :|
18:02:58EXetoC:o
18:03:06BlaXpirit> nimrod-git
18:04:45EXetoCBlaXpirit: what's going on? :p
18:05:04BlaXpiritEXetoC, AUR nimrod-git doesn't work
18:05:34BlaXpiritwell, i actually haven't confirmed it myself, but flaviu just said, and the AUR page looks dire too
18:06:13flaviuEXetoC: https://aur.archlinux.org/packages/nimrod-git/
18:06:23flaviuSet up your email notifications!
18:06:33*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
18:06:48flaviuand do as demizer says in the comments
18:06:53BlaXpiritand the official package says it's 0.9.6 but actually is 0.12.1
18:06:57*Ven joined #nim
18:06:59BlaXpirit(and should be 0.12.2)
18:07:04BlaXpiritbut that's another story
18:07:16*gokr joined #nim
18:07:18EXetoCok
18:07:21BlaXpirit(talking about Arch Linux here)
18:08:33ldleworkflaviu: that logo is so awesome
18:08:51ldleworkWe should reconsider
18:09:13flaviuldlework: *mascot
18:09:17ldleworkyes
18:09:23ldleworkI love it
18:11:37*yglukhov__ quit (Ping timeout: 240 seconds)
18:14:22*tgkokk joined #nim
18:14:29Varriount|BusyWhat logo?
18:14:50Varriount|BusyOh, that one
18:15:14*Varriount|Busy misses filwit
18:16:04ldleworkWho was this person?
18:19:24flaviuHe designed the website
18:19:29*nullmove joined #nim
18:19:59flaviuPhilip Witte
18:21:24ldleworkTo busy to hang out these days?
18:21:42Varriount|BusyYeah... *sniff*
18:21:47ldleworkhehe
18:25:39Varriount|Busyldlework: Actually, we don't know why he's not on anymore. It's entirely possible he got run over by a bus
18:26:00dom96He didn't.
18:26:18dom96He emailed me. He's simply very busy with life.
18:26:30Varriount|Busy:<
18:26:58flaviuVarriount|Busy: It's ok he hasn't been around. He doesn't belong; he uses some crappy Ruby based hipster CSS alternative. :P
18:27:18ldleworklol
18:27:18Varriount|BusyHuh?
18:27:29ldleworkVarriount|Busy: he's teasing Araq
18:27:44flaviuhttp://irclogs.nim-lang.org/18-12-2014.html
18:27:45flaviuyep
18:30:44*loz joined #nim
18:32:10Varriount|BusyAraq I already have a Nim based templating language, I can use that for CSS too. ldlework oh god
18:32:18Varriount|Busy"
18:32:48ldleworkhehe
18:33:31Varriount|Busyldlework: I don't know if you were reacting to Araq's comment, but your reaction is quite funny if you at it in that way.
18:33:35flaviuusing nim's templating for css doesn't sound fun
18:34:22Varriount|BusyI guess you could hook up a template filter to a simple string output program...
18:34:26ldleworkVarriount|Busy: it very much was
18:34:41flaviuUnless Araq really enjoys figuring out the gamma-correct way of changing brightness and somehow adding mixins to filters.
18:35:21flaviuCSS grids using ids!
18:35:56*dts|pokeball joined #nim
18:36:12minciueI read that Nim outputs javascript, but does anyone actually have a project that targets javascript in particular?
18:36:31*VinceAddons quit (Ping timeout: 244 seconds)
18:36:53dts|pokeballwell the nim website is written in nim minciue, so that might be compiled to js
18:37:15Varriount|Busydts|pokeball: Half true. The website generator is written in Nim, but not javascript
18:37:17flaviuYeah, the package list in the docs is in Nim->Javascript IIRC
18:37:27minciueoic
18:37:48ldleworkdts|pokeball: I'm pretty sure the javascript on the nim website is just normal javascript
18:37:57dts|pokeballag
18:37:59dts|pokeball**ah
18:38:18minciueI’m asking because I feel that’s a feature that could appeal to a lot of web devs (using a single language on both the backend and the frontend)
18:38:47Varriount|Busyminciue: The javascript backend hasn't been nearly as tested as the C/C++ backend
18:38:49dom96minciue: flaviu: that is indeed true. The package list in lib.html is generated via some JS which was translated from Nim.
18:39:53*BillsPC joined #nim
18:40:25minciueI see. I’ll take the JS backend for a spin when I get a chance, thanks
18:44:08*Guest68461 is now known as adam12
18:44:58*adam12 is now known as Guest22806
18:48:14*lumo_e joined #nim
18:48:20Varriount|BusyHello lumo_e
18:48:25lumo_ehello
18:48:41lumo_ehttp://nim-by-example.github.io/seqs/#Immutability
18:49:01lumo_eoh ok
18:49:06lumo_evar/let
18:49:13lumo_emy brain couldn't tell the difference
18:50:32Varriount|Busylumo_e: Also keep in mind that sequences are value types. Doing 'var a = existingSequence' copies the sequence
18:52:59gokrBut "While sequences are dynamiclly allocated, they are still immutable." sounds odd to me. Immutability is not a characteristic of the seq itself (right?), but of the "let" variable.
18:53:19Varriount|Busygokr: Yeah, that threw me. That page needs to be corrected.
18:53:30gokryep
18:54:13lumo_eoh good
18:54:19gokrlumo_e: So the immutability part is enforced by the declaration of the variables (var or let) and is thus an attribute of the *variable* holding the seq - and not the seq itself.
18:54:20lumo_eI wasn't me then
18:54:35lumo_eok got it
18:55:16gokrA good advice (I think) is to simply use "let" as the default for local variables etc, and then - when the shit doesn't compile, change to var :)
18:56:25gokrWell, perhaps not "good" advice - but it probably leads to a bit tighter code and might catch some mistakes.
18:57:07ldleworkhehe
18:57:23ldleworkI like the idea that a variable declaration without let or var just defaults to let
18:57:31ldleworkthat would help me introduce more immutability
18:57:36ldleworksince I have a tendency to type var by default
18:57:41Varriount|BusyI'm modifying that page, by the way
18:57:50ldleworkVarriount|Busy: thanks
18:58:10*loz quit (Ping timeout: 255 seconds)
18:58:27ldleworkOh I guess that's not what you were tlaking about gokr
18:58:57gokrehm...
18:59:01flaviuI'm honestly not completely sure how seqs work myself
18:59:12flaviuif anyone wants to rewrite the seqs page, feel free to
18:59:25gokrI wrote a little blog article on seq.
19:00:56ldleworkgokr: I mean allowing var/let-less variable declarations
19:03:00gokrMy brain is mushy, don't you need var or let?
19:04:05Varriount|Busyldlework: Believe me when I say araq will not allow python-like variable assignment/declaration
19:05:15ldleworkVarriount|Busy: it'd be a pretty easy way to embed an encouragement of immutability into the language
19:05:29Varriount|Busy.eval var s = "hello";echo(repr(s));proc foo(l: string) = echo(repr(l));foo(s)
19:05:33MimbusVarriount|Busy: 0x7f0f3d4c3050"hello"
19:05:43Varriount|Busyhrm
19:06:01Varriount|BusyWhere's the second print?
19:06:21gokrldlework: Ok, so it was a proposal. right.
19:06:44Varriount|Busy.eval proc foo(l: string) = echo(repr(l));var s = "hello";echo(repr(s));foo(s)
19:06:47MimbusVarriount|Busy: 0x7fc4fa17a050"hello"
19:09:01Varriount|Busy.eval proc foo(l: string): string = return repr(l);var s = "hello";echo(repr(s) & " " & foo(s));
19:09:05MimbusVarriount|Busy: 0x7f60914d4050"hello" 0x7f60914d4050"hello"
19:09:16Varriount|Busy:D
19:09:35Varriount|Busyflaviu: If I could, I would give you a hug
19:09:41Varriount|BusyThat bot is really useful
19:09:43flaviu well, dts|pokeball did all the work
19:10:18Varriount|Busydts|pokeball: Thanks as well
19:11:49Varriount|Busy.eval proc foo(l: string): string = return repr(l & "test");var s = "hello";echo(repr(s) & " " & foo(s));
19:11:53MimbusVarriount|Busy: 0x7fa50b38c050"hello" 0x7fa50b38d050"hellotest"
19:11:53flaviu.give Varriount|Busy echo "A hug"
19:11:57MimbusVarriount|Busy: A hug
19:12:42flaviuVarriount|Busy: you can now give anyone a hug!
19:12:49Varriount|Busy.help
19:13:17flaviunope, the source is the only documentation
19:13:47flaviuhttps://gist.github.com/84df3d1434917862b17b
19:14:10Varriount|Busyflaviu: Wait, is that the entire source?
19:14:42flaviuyep
19:14:42Varriount|BusyThat's like, less than 200 Loc
19:14:46*loz joined #nim
19:14:56flaviuput it as a brag line on the website
19:14:56ldleworkthat's amazing
19:16:24dom96Needs more features. If there is more than 3 lines of output gist the rest :)
19:17:22flaviusure, why not.
19:18:26flaviubtw, it's signficantly less than 200 lines. I did a huge copypasta for .give because I'm lazy.
19:18:44gokrYou could make it even shorter using lapp ;)
19:19:14gokr(an option parser that uses the help synopsis as the spec)
19:20:57dom96I have a challenge: make it less than 512 characters.
19:21:08dom96Then we can make the eval bot eval itself.
19:22:13flaviuok, I'll do all that
19:22:19flaviujust need to finish this tf2 game
19:22:33lumo_ehttp://nim-by-example.github.io/procvars/
19:22:33lumo_ewhy the annotation thing?
19:23:05flaviulumo_e: otherwise you would be unable to use it as a function pointer in other modules
19:24:27Varriount|BusyI can't remember... what's the difference between {.procvar.} and {.closure.} again?
19:24:46lumo_eI still don't understand
19:24:46lumo_ebrb, dinner
19:25:06Araqone is a calling convention, the other only exists to annoy people
19:26:24flaviuIf you try to use `greaterThan32` in another module as a function as a rvalue, then it won't work unless you have {.procvar.}
19:26:33flavius/as a function//
19:27:09flaviuis rvalue the correct word here?
19:28:15flaviuno, it's lvalue
19:30:05Varriount|BusyAraq: {.closure.} implies {.procvar.}, right?
19:38:10lumo_eflaviu, ok then, in nim procedures aren't automatically first order functions?
19:38:27lumo_eis that what you're saying?
19:38:35Varriount|Busylumo_e: Not quite
19:38:45Varriount|Busylumo_e: Read the manual
19:38:56Varriount|Busyhttp://nim-lang.org/manual.html#procedural-type
19:38:56flaviuI don't understhadn the reasoning behind this, but you can use a procedure as value if it's in the same module
19:39:24flaviu.eval proc t(): int =; return 1;let x = t;echo x()
19:39:27Mimbusflaviu: 1
19:42:17Varriount|Busyflaviu: I dont' have a nim install with me. What happens when a procedure marked with just `closure` is used as a procvar in another module? Is there an error?
19:43:38lumo_eVarriount|Busy, ok from what I understand {.closure.} makes sense because you want to mantain a reference to the frame where the proc is defined
19:43:49lumo_ebut I still don't see the point in {.procvar.}
19:43:52flaviuVarriount|Busy: Looks like it's an internal error
19:44:54Varriount|Busylumo_e: Procedures need to be marked with {.procvar.} if they are to be used as procedural variables outside their own module.
19:45:12Araqthe reasoning is quite simple and iirc explained in the manual
19:45:18Varriount|Busylumo_e: This is to prevent complications with default parameters
19:45:43Varriount|BusyAraq: Behind the scenes, what does `procvar` do?
19:45:56Araqwithout .procvar we can never ever add a default parameter to an exported proc without breaking clients
19:46:43Varriount|BusyAraq: By 'clients', do you mean users of a dll, or another module?
19:46:47*Mat4 joined #nim
19:46:54Mat4hello
19:46:57Araqusers of another module
19:48:07flaviuVarriount|Busy: https://github.com/Araq/Nim/issues/1793
19:48:21ldleworkhey Mat4
19:48:30Araq'procvar' doesn't do much, Varriount|Busy. it's just another check for semantic checking. codegen is not affected.
19:48:55Mat4hi Idlework
19:48:59Araqthe bug that flaviu found is a well known LL bug (as usual)
19:49:12Varriount|BusyAraq: That might be worth mentioning.
19:49:21flaviuI searched, but the other bugs seemed unrelated
19:49:28flaviufeel free to close it though.
19:49:43Araqflaviu: it's fine, I'll go through the remaining LL bugs soon
19:50:41*yglukhov__ joined #nim
19:52:19Varriount|BusyAraq: Couldn't the need for `procvar` be eliminated?
19:52:47lumo_eI was considering nim as language for an introductory programming tutorial(i.e. to total beginners)
19:53:30AraqVarriount|Busy: of course, all it takes is to remove some code in the compiler.
19:53:42Varriount|Busylumo_e: The thing to remember about Nim is that while it *allows* you to get into nitty-gritty details, you don't necessarily need to know them all.
19:54:18lumo_eI still have to learn the whole language properly, I was just looking at "strange" stuff for the moment
19:54:18lumo_eyeah, that's right
19:54:26Araqlumo_e: I think it's well suited for that purpose but others disagree vehemently
19:54:38flaviulumo_e: If you do, would you mind jotting down the specific parts they find confusing?
19:54:41*untitaker left #nim ("WeeChat 1.0.1")
19:54:42Varriount|Busylumo_e: Very rarely do you have to bother with calling conventions for procvars. More often then not, the compiler just complains about a mismatched type.
19:55:13lumo_ein fact the portion of language that could be used to teach is actually quite small
19:55:13lumo_efor sure I wouldn't like to introduce a newbie to calling conventions :)
19:55:20lumo_eflaviu, yes, I will
19:55:34lumo_eunfortunately the guide itself won't be in english
19:55:34lumo_eif I do it
19:56:13flaviuThanks! The amount of research on this sort of thing is really small.
19:56:13flaviuI'm sure google translate would do a reasonably good job making it understandable.
19:56:36Varriount|Busylumo_e: One thing that might make more sense in Nim is type structures. For something like C++, you have to go into the whole vtables mess.
19:56:48Varriount|BusyNim doesn't have vtables
19:57:01*stapler joined #nim
19:57:02lumo_eAraq, it looked great to me
19:57:02lumo_estatic typing(but type inference), forced indentation for code blocks, neat python-like syntax (at least for basic things)
19:57:02lumo_eI think those are important for a beginner
19:57:18staplercool, my pr got accepted
19:57:36Varriount|Busylumo_e: Don't forget generics that work. *cough* java *cough*
19:57:47staplerI'm working on a redesign for nim-lang.org, sort of unsolicited I suppose
19:58:05Varriount|Busystapler: Good, we can make redesigning a tradition
19:58:16Varriount|BusyEvery year, a new website design.
19:58:39Varriount|Busystapler: Though, do go ahead with site improvement. I'm just kidding.
19:58:49AraqVarriount|Busy: he, that is debatable
19:58:51Varriount|Busy(about making redesigning a tradition)
19:58:58lumo_eVarriount|Busy, I'm learning java because the introductory CS course in my university uses it
19:59:04Araqhrm why wasn't https://github.com/Araq/Nim/commit/fda9da5f1eae5f1d6edaaf04aca0df54fa14c9ff not applied properly?
19:59:25Varriount|Busylumo_e: Same here, though I learned python first
19:59:38Varriount|BusyI mean, I learned python before taking any courses.
19:59:47lumo_egenerics are annoying
19:59:47lumo_ecoming from a C++ background :|
19:59:47lumo_eLinkedList<int> compiler error
20:00:22Varriount|Busylumo_e: Don't forget the runaround you have to do when trying to instantiate a generic type.
20:00:31lumo_eafter all Java is not that bad
20:00:58flaviuYeah, java is pretty nice besides the lack of value types and templates
20:01:15lumo_eexactly
20:01:20Varriount|Busy*hiss*
20:01:42Varriount|Busyhttp://stackoverflow.com/questions/1090458/instantiating-a-generic-class-in-java
20:01:54flaviuVarriount|Busy: That's part of "templates"
20:02:04flaviuAlso, see Scala
20:02:07flaviuit can do that
20:02:10*stapler quit (Ping timeout: 246 seconds)
20:02:23TriplefoxI don't remember much of java now, just that the type errors confused me as a student
20:02:51flaviuTriplefox: Think of how confused the people who didn't have type errors were :Z
20:03:32TriplefoxI was writing python also and had a much easier time with that
20:03:47*BlaXpirit-UA joined #nim
20:03:54lumo_eUnfortunately I don't think teaching python at uni would be ok
20:04:00lumo_estudents would write even crappier code
20:04:00lumo_eI know because I started with python as self-thought
20:04:12TriplefoxMost of what confused me with java was the overhead of its class system i think
20:04:43TriplefoxLike, "static" vs instances
20:04:47lumo_eyes, the fact that your are forced to go through classes is a big disadvantage for teaching
20:04:58lumo_ethe simple hello world gets explained like "ignore that stuff for now"
20:05:16lumo_eand then at some point in the course there was a big theoric lessons on object oriented programming
20:05:16lumo_etotally useless
20:05:46TriplefoxYeah OO got pushed way too hard
20:05:48flaviuI remember the trouble I had with static and classes. "WTF isn't java letting me call that method now?"
20:06:09lumo_ealso, OO being thought before basic procedural constructs
20:06:14Mat4??
20:06:45TriplefoxIt's such a relief when you just go discard it and try to write more plain old data and straight line code
20:06:45lumo_eI think it was like that, the prof. explained classes before loops
20:06:59EXetoC-.-
20:07:04lumo_ebut I could be wrong, I didn't really go to all those lessons early in the morning
20:07:13*BlaXpirit quit (Ping timeout: 272 seconds)
20:07:50lumo_ethe fact is that learning to program right when you're 18/19 yrs old it's too late
20:07:50lumo_eshould be done way before
20:08:10lumo_eof course you have to do it in a rush if you start that late
20:08:44flaviuBut how do you teach programming early?
20:08:54Araqiirc I simply learned how the compiler compiles my code, how the V-Tables look like conceptually etc. I never had a problem to answer questions like "which method gets called here"
20:08:56EXetoCthat's an overstatement
20:10:17Varriount|BusyI just read a lot until things fitted correctly in my head.
20:10:45TriplefoxI made a lot of progress after implementing a linked list and sort algorithm
20:11:07TriplefoxI think that was the thing that got me over the barrier
20:11:17flaviuI've never actually implemented a sort algorithm.
20:11:24lumo_eI don't know about your countries but here, well... computer science before university isn't really well thought
20:11:24lumo_eflaviu, long story, I'm opening a site soon
20:11:24lumo_ea old project of mine was an introductory course
20:11:25lumo_ebecause I've gone through many and I think I have a good grasp of what can be done well and what can be improved
20:11:49lumo_eimplementing linked list is an important milestone
20:12:02lumo_eI remember it, when I was 13
20:12:02lumo_elol
20:12:31lumo_ewasted teenage, hours spent cursing my code's segfaults
20:13:21flaviuComputer science isn't very well thought in the US either. The Collage Board is the organization that provides high-schools with the curriculum, but it's not really good.
20:13:23lumo_ethe only cons for nim as teaching language right now is the absence of an installer of windows
20:13:34lumo_e*for
20:13:48Araqyou live in the past, our installers are awesome
20:14:09lumo_ereally? I couldn't find anything on the site
20:14:24flaviulumo_e: You should have waited to be born later ;)
20:14:24Araqrefresh the download page
20:14:24flaviuI've been doing some C recently, and the tooling is excellent. I can track down a segfault very easily.
20:14:26TriplefoxThe message that was up yesterday saying "no binaries available" easy kind of scary
20:14:28Mat4I've translated my C based code to Nim. Because the interpreter depends on the label address extension, the only choice left writing portable code was transform opcode bundles to another representation before execution which encode up to 8 instruction combinations by now. That works so far with the drawback of increased memory usage. Because the resulting binary is around twice as large than the C version I'm helpless how to reduce the r
20:14:28Mat4esulting code size. What are your opinions ?
20:14:33TriplefoxWas*
20:14:45flaviuMat4: Disable stack traces
20:15:16lumo_eAraq, wow :) this is great
20:15:20TriplefoxI did try getting it to build on Windows but got stuck
20:15:52lumo_estarting a guide with "yeah, now install MinGW and compile this" would totally suck
20:15:57lumo_eman I hate mingw
20:16:03lumo_eflaviu, that's cheating
20:16:37Mat4whta's your problem with MingW (beside installation probably) ?
20:16:57lumo_ethat
20:17:16lumo_eand I feel it leaves a lot of junk on my system
20:17:19lumo_enot as cygwin though
20:17:34AraqMat4: you need to explain more
20:17:56Araqdo you mean GNU C's "computed goto" extensions?
20:18:01Mat4yes
20:18:08Araqif so why doesn't .computedGoto work for you?
20:18:32flaviulumo_e: Look at this: http://i.imgur.com/yk4JznL.png
20:18:33flaviuThere are even colors!
20:19:05lumo_eclang?
20:19:20flaviuyep, with a bunch of -fsanitize=...
20:19:39Varriount|Busylumo_e: Believe me, Mingw is the lesser of a bunch of evils
20:19:44Mat4Araq: Because the interpreter compiles op-code bundles before execution (+ instruction fusion and later tail-call elimination) to direct-threaded code
20:20:37Varriount|Busylumo_e: You can either use cygwin (which is much bigger and more involved), or VCC (which you can no longer download seperately from visual studio express... have fun with the 4 GB install)
20:20:41AraqMat4: ok, I get that but that means you store full pointers right? with Nim you store some enum value instead
20:20:57Mat4yes
20:21:06Araqso it should end up taking less space, but perhaps it is slower
20:21:30flaviuVarriount|Busy: http://llvm.org/releases/3.5.0/LLVM-3.5.0-win32.exe
20:21:34flaviuHow about that?
20:21:40Varriount|Busylumo_e: You might like the fact that the Mingw distribution Nim uses has been trimmed from the full package.
20:21:48nullmovethe cygwin installer is a mare
20:21:58Varriount|Busyflaviu: Is there a 64 bit version available?
20:22:04Mat4Araq: no, because I need more space for encoding all instruction combinations
20:22:34flaviuNo, not as far as I can tell. But everything on windows is x86 anyway
20:22:51Varriount|Busyflaviu: Uh... no it isn't?
20:23:06nullmoveflaviu, doesn't it still require VCC for stdlib?
20:23:57flaviuGood point, I can't find any mention of glib
20:24:16Mat4Araq: this resulting in more code duplication for the instruction routines
20:24:28AraqMat4: you lost me at this point. however, you should try to get labels-as-values via the .emit pragma
20:24:41Varriount|Busyflaviu: Also, using native x64 applications *is* faster than emulated x32
20:25:16flaviuMost games are x32 \_O_/. Anyway, I don't know, I don't use windows
20:25:35lumo_eI do use windows
20:25:39Araqthough I cannot see why *you* don't directly go for a "direct-threaded code JIT"
20:25:45lumo_evisual C++ is 32bit as far as I remember
20:26:07Varriount|Busylumo_e: Do you mean the compiler itself, or the executables it produces?
20:26:14lumo_ethe compiler of course
20:26:23TriplefoxMany gamedevs will still use msvc 6
20:27:16*judofyr quit (Remote host closed the connection)
20:27:34*Varriount|Busy quit (Quit: Page closed)
20:27:37Mat4Araq: the code size increases nearly exponentially with the number of combined instructions
20:28:22AraqMat4: you need to gist some example. otherwise I won't understand it.
20:30:17*stapler joined #nim
20:30:45staplermexican cell coverage leaves some things to be desired
20:31:24*zahary1 quit (Ping timeout: 265 seconds)
20:31:35Mat4Araq: Here is the C version:
20:31:37Mat4https://gist.github.com/anonymous/dc610b01856cf24347a6
20:33:00Mat4as you see the interpreter is implemented using software pipelining
20:34:54Mat4this expenses branches which I compensate though pointer modification
20:36:41Mat4for the Nim version this is not possible so I end up inline any subroutine call in between trace generation (which resulting in larger code sizes)
20:36:51flaviuI can't cross-compile nim to windows from linux. "fatal error: Winsock2.h: No such file or directory"
20:36:52*VinceAddons joined #nim
20:36:59flaviuDoes Winsock2.h have to be uppercase?
20:39:28flaviulowercasing that seems to work..
20:39:49Araqjust symlink Winsock2.h to winsock2.h
20:40:17flaviuShouldn't it be lowercased, as windows is not case-sensitive?
20:41:23*Boscop_ joined #nim
20:42:01*nullmove quit (Quit: Leaving)
20:42:16*rpag joined #nim
20:44:20*Boscop quit (Ping timeout: 250 seconds)
20:44:20*zahary1 joined #nim
20:45:02ldleworkhttp://dtrace.org/blogs/wesolows/2014/12/29/golang-is-trash/
20:45:14ldleworkSorry should have put that in offtopic
20:48:54flaviuVarriount_: What does the distribution process involve?
20:49:03flaviuCan you make step-by-step instructions?
20:49:04*stapler quit (Ping timeout: 246 seconds)
20:50:14*Boscop_ quit (Max SendQ exceeded)
20:53:26*Boscop joined #nim
20:57:00Mat4Araq: I think the solution is just avoiding software pipelining in the Nim version
20:57:46lumo_eis it easy to debug a nimrod program, considering that the executable is actually compilded from a C translation? (if I understood correctly)
20:57:59Mat4so there exist only one trace (no need to dynamical link them together)
20:58:23flaviulumo_e: Yes, but sometimes names are mangled
21:02:53flaviuhttps://github.com/Araq/Nim/pull/1794
21:03:31flaviuWorks For Me™, but someone should review it.
21:04:42*jh32 joined #nim
21:05:14*lumo_e_ joined #nim
21:05:23AraqMat4: I still don't get it but please try to accomplish exactly the same via .emit
21:08:06*lumo_e quit (Ping timeout: 244 seconds)
21:09:54*Boscop quit (Read error: Connection timed out)
21:11:28*vbtt joined #nim
21:11:39*vbtt quit (Remote host closed the connection)
21:15:00*BlaXpirit-UA quit (Quit: Quit Konversation)
21:15:15*BlaXpirit joined #nim
21:17:43*tgkokk quit (Remote host closed the connection)
21:18:01*alelos quit (Quit: WeeChat 1.0.1)
21:25:32*Varriount|Remote joined #nim
21:29:07*wan joined #nim
21:38:59*Ven quit (Ping timeout: 245 seconds)
21:40:10*Varriount|Remote quit (Ping timeout: 246 seconds)
21:44:17*loz quit (Ping timeout: 240 seconds)
21:49:51EXetoCso the PKGBUILD does "./koch install". should it still be avoided?
21:50:35AraqI don't know
21:50:46AraqVarriount_: ping pong pung
21:51:32*zahary1 quit (Ping timeout: 245 seconds)
21:52:05EXetoCI can just do it manually, but do I keep the stuff for nimrtl?
21:52:29EXetoCyeah why not
21:53:03Araqdon't ask me, ask the packagers who know everything better
22:00:40*superfunc joined #nim
22:01:15*NimBot_ quit (Remote host closed the connection)
22:03:00*loz joined #nim
22:05:30*eskatrem joined #nim
22:07:23eskatremhow does nim deals with large integers?
22:08:11Araqit raises Overflow exceptions
22:08:41eskatremAraq: ah yes! I was looking for a way to deal with those
22:09:23ldleworkflaviu: so if I'm on linux, its pretty easy to compile things for windows?
22:09:25Araqtry: a+b except OverflowError: 0
22:10:27eskatremAraq: well, I want to write some code to detect if a number has more than 1000 digits (project euler), so that will not work, but I think I just found a way to deal with large digits anyway
22:10:49Araqeskatrem: there are bignum libraries available
22:11:00def-eskatrem: http://github.com/def-/bigints should work
22:12:55eskatremthanks guys, I'll check the bigints thing if my way to bypass large numbers doesnt work - the code is elegant IMHO, though
22:14:20*zahary1 joined #nim
22:16:23*wtw joined #nim
22:18:38flaviuldlework: it seems so
22:19:00ldleworkflaviu: people in the golang community often talk of easily deployable statically linked binaries
22:19:05ldleworkflaviu: is that something we can do?
22:19:18ldleworklike could I compile a Nim binary that doesn't require my user to install SDL?
22:19:19flaviuYeah, nim does that really well
22:19:26ldleworkassuming it is the same architecture, etc
22:19:35ldleworkflaviu: I would really love to know more about that
22:19:39flaviuhttps://github.com/h3rald/hastyscribe
22:20:14ldleworkIs that an example of a project that statically links its deps?
22:20:19flaviuyep
22:20:28ldleworkflaviu: thanks man
22:20:30flaviuand its resource files
22:23:57Araq"source" links work now for me
22:24:20ldleworknice!
22:26:34*superfunc quit (Ping timeout: 258 seconds)
22:26:49*Ven joined #nim
22:28:06Mat4ciao
22:28:27*Mat4 left #nim (#nim)
22:31:03Araqnow if only Varriount_ would fix the 64bit installer ...
22:31:34Araqalso I'm still waiting for .deb and .dmg packages
22:32:54*gokr_ quit (Quit: IRC for Sailfish 0.8)
22:35:20jh32hi
22:36:20samlhi jh32
22:36:53jh32is there an example for interfacing with c++ code? I'm trying to create an object and then call a method on it
22:38:37*jefus_ joined #nim
22:38:44*minciue quit (Quit: minciue)
22:40:08Araqjh32: there is only http://nim-lang.org/nimc.html#importcpp-pragma I think
22:40:49jh32I've seen that, but I can't make it work for the constructor
22:42:08*jefus quit (Ping timeout: 244 seconds)
22:42:23eskatremhow do I declare a variable as int64? var x = 0:int64?
22:42:30def-var x: int64 = 0
22:42:37def-or var x = 0'i64
22:43:08eskatremok, got it slightly wrong... thanks
22:43:53Araqjh32: well the trick is that .importc produces prefix syntax, .importcpp infix syntax. constructors require prefix syntax
22:44:18Araqso using importc for the constructor should work
22:45:24EXetoC0i64 is less verbose :p
22:45:36jh32thanks, will try that
22:45:42flaviuyeah, every other language uses 0i64
22:51:23dts|pokeballldlework, Varriount_ thanks for the appreciation! im still trying to find time to sandbox the bot, and write a proper build script, and then ill start adding more features as dom96 suggested
22:51:56dts|pokeballa 512 character eval bot would be interesting. ill look into that. shouldnt be too hard though
22:52:10flaviudts|pokeball: It's even easier than you think!
22:52:11ldleworkit sounds really hard, lol
22:52:17flaviu.eval import nimbus
22:52:18ldleworkflaviu: because macros?
22:52:21ldleworkpffff
22:52:23ldlework:P
22:52:37dom96flaviu: that's cheating
22:52:47dts|pokeballheh
22:53:00dts|pokeballnah, im sure i could do it with short variable names
22:53:08dts|pokeballlike a, b, c
22:53:23*Mimbus quit (Read error: Connection reset by peer)
22:54:08dts|pokeballwhere can i get a copy of the nim crown?
22:54:24*Mimbus joined #nim
22:54:41flaviuhttp://reign-studios.net/philipwitte/nimrod/new-symbols.png
22:54:53flaviuthird crown from the left
22:55:01dts|pokeballty
22:55:18dts|pokeballim going to try and add aporia to my quick launch bar and wanted that for the icon
22:55:23notfowlflaviu, i wish we would have gone wih the ones that look like the person wearing the crown is a sim
22:55:59dts|pokeballnotfowl, you were writing the ircd right?
22:56:12flaviuI have literally no opinion on the logo.
22:56:23notfowldts|pokeball, yea its in fowltek/musings
22:56:25jh32Araq: cool, works - but only with default constructor (no parameters) so far
22:56:28dts|pokeballnotfowl, ty
22:56:30ldleworkI love the current logo
22:56:34ldleworkBut I wish we would bring back the mascot
22:58:17dts|pokeballnotfowl, do you mean fowlmouth?
22:59:07notfowldts|pokeball, no its something liek github.com/fowlmouth/nimlibs/fowltek/musings
22:59:19dts|pokeballah ok
22:59:41notfowlbeen meaning to rename that repository to fowltek for years >_>
22:59:49dts|pokeballfound it
23:00:14dts|pokeballso apparently ubuntu thinks ircd.nim is a movie
23:06:41*rpag quit (Ping timeout: 264 seconds)
23:11:04*BitPuffin quit (Ping timeout: 244 seconds)
23:18:36*loz quit (Ping timeout: 250 seconds)
23:32:09*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
23:36:22*Ven joined #nim
23:43:22*BlaXpirit quit (Quit: Quit Konversation)
23:52:04dts|pokeballwhat version is aporia on?
23:53:39flaviuHere is the Nim logo in SVG format: http://a.pomf.se/rtjxkg.svg
23:53:51flaviuThe tracing isn't perfect, especially at the top of the crown, but it's pretty good.
23:54:22dts|pokeballmeh. ive already stolen the one from nim-lang
23:56:56flaviudts|pokeball: I wasn't giving *you* it, I was giving it to everyone else. :P
23:57:16dts|pokeballi know :p