<< 09-01-2015 >>

00:00:13Araq(ref Foo)(field: 4) also works
00:00:22onionhammerit's less efficient
00:00:54Araqit's not. and if it were, we could optimize it in the compiler more
00:01:09onionhammerah nevermind, its the same
00:01:12onionhammerjust more writing
00:01:35onionhammerand looks weird
00:01:35Araqaccording to ldlework nobody ever requested getting rid of () though
00:01:48*Sphax quit (Quit: CYA!!)
00:01:48onionhammerref Foo(field: 4) ?
00:01:55onionhammerthen you're treating ref like new in other languages
00:02:01Araq(which must be the reason why everybody loves Lisp)
00:03:26onionhammerthe fact that people have found so many ways to do this indicates they're looking for an easier way :P
00:03:50Araqto me it indicates they are using too many different types
00:04:21onionhammerin what way
00:06:17ldleworkAraq: for expressions, no I haven't heard the majority of this field complaining about ()
00:06:26ldleworktalk about a feature no one's asked for (strong spaces) ;)
00:06:50*ajhager joined #nim
00:07:06Araqyeah, everybody stumbles upon 'echo $foo' but "nobody asked for the feature". sure.
00:08:00onionhammerthe echo $foo thing does suck
00:08:53ldleworkAraq: yeah, in the most simple cases people do it
00:09:29ldleworkThe only time I use that is for new, so it stands out as a memory allocation
00:12:31*z1y joined #nim
00:12:32dtscodeaporia is still actively developed right?
00:13:12onionhammertheoretically
00:13:52dtscodei wonder how much trouble i would get in for suggesting gedit like features
00:16:06*Sergio965 joined #nim
00:16:25Araqdtscode: just go ahead
00:16:47ldleworkdtscode: like what
00:27:32dtscodeldlework, like being able to close all of the tabs
00:29:31Var|MobileGah. Anyone seen the latest post in the constructors thread on the forum?
00:29:48AraqVar|Mobile: just read it
00:30:36Araqdtscode: I never have more than 10 tabs open, it's unmanagable with more. so I don't need "close all tabs", but ymmv
00:30:48Var|MobileIt made me feel... annoyed
00:31:53AraqI can answer
00:32:32*irrequietus quit ()
00:32:44dtscodeAraq, i mean like ill be working on nimbus, then switch to bill bot, but i have to open billbot before i can close out nimbus
00:33:28Araqyou can disable the "already running" check and start 2 instances of the process
00:33:43*Trustable quit (Remote host closed the connection)
00:33:43dtscodebut i only need the one open
00:34:11Araqyou just described you need 2. :P
00:34:33dtscodeno i didnt
00:34:36*gmpreussner_ joined #nim
00:34:45dtscodethat would mean i need two projects open at once
00:34:46*gmpreussner quit (Ping timeout: 255 seconds)
00:34:55dtscodei want to completely close out a project and start a new one
00:35:48*casci joined #nim
00:36:06*arekzb_ joined #nim
00:36:43*arekzb_ quit (Client Quit)
00:37:12*areckizb joined #nim
00:37:16*enquora quit (Quit: enquora)
00:49:09*Sergio965 quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
00:52:25*no_name quit (Remote host closed the connection)
00:55:22*casci left #nim (#nim)
00:55:47*EXetoC joined #nim
01:07:32*no_name joined #nim
01:08:19VarriountAraq: Here are the installers: https://drive.google.com/file/d/0B077nrrf63xtNTc1UkhubExIUGs/view?usp=sharing
01:10:12VarriountAraq: Now what should I work on? Buildbot? IDETools?
01:10:48dtscodewhat are the ide tools?
01:11:04Araqbuildbot
01:11:09Varriountdtscode: Features of the compiler meant to help augment support for text editors.
01:11:12jpoirierAre untyped proc parameters a part of the language? e.g. this compiles proc tst(a, b, c) = echo(a); echo(b); echo(c) and runs tst("Hello", "World", 42.0)
01:11:18dtscodeah
01:11:21Varriountjpoirier: Yes.
01:11:26jpoirierroger
01:11:49dtscodethat would be under varargs wouldnt it be?
01:12:09Araqjpoirier: I might reconsider this though
01:12:39AraqI don't like it too much tbh
01:13:21AraqI think I'll put this to .experimental
01:13:31flaviu> undeclared identifier: 'NEVER_UTF'
01:13:54flaviuBut right next to it is declared another identifier that does work
01:14:59VarriountAraq: Could you clarify what you said about generic parameter lists in the nim for scientific application thread?
01:15:39jpoirierAraq: I don't really care for it in Nim either; it doesn't seem orthogonal with the rest of the language
01:16:07Araqjpoirier: it is. it has been introduced for reasons of orthogonality
01:16:28Araqtemplate t(a, b, c) = ... # works and should work
01:16:33Araqit's a shortcut for:
01:16:41Araqtemplate t(a, b, c: expr)
01:16:57flaviuOh, it's my fault after all.
01:17:39AraqVarriount: generics can always be in [. .] but also in [] for convenience and backwards compatibility
01:18:14Araqbut for [. .] we can allow obj.m[.int, float.](a, b)
01:18:32Araqwhich is m[.int, float.](obj, a, b)
01:19:17Araqin contrast to that obj.m[int, float](a, b) is (obj.m[int, float])(a, b) which fails
01:19:21VarriountAraq: Hm, but isn't the ambiguity resolvable? The compiler just has to peek and see if 'm' is a generic, rather than a field with `[]` access
01:19:29flaviuI'm not sure I like that. There are already a thousand ways to do everything, two thousand it too many.
01:19:34flaviu*is
01:19:52flaviuVarriount: No, that's a bad idea
01:20:05Varriountflaviu: Why?
01:20:22flaviuThe parser should be totally decoupled from the rest of the language
01:20:28AraqVarriount: what about generic [] accessors though?
01:20:54Varriountflaviu: This wouldn't be coupled with the parser? It would be done in the semantic checking phase.
01:21:01Araqflaviu: the parser doesn't do the precedence rewriting. but I don't like it either.
01:22:28VarriountAraq: What generic procedure also has a generic accessor?
01:22:52renesacAraq: I was trying to apply c2nim in the first code sample from here: http://www-unix.mcs.anl.gov/~kazutomo/rdtsc.html
01:24:38Varriountif `m` is not a field in `obj`, and `m` is a generic procedure or macro, rewrite the ast
01:27:42*Var|Mobile quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com ))
01:27:52jpoirierAraq: orthogonal from the point of view of "does what you expect" and not from the AST point of view
01:28:45Araqjpoirier: do you mean the proc p(a, b, c) feature or the obj.m[T](x) stuff?
01:29:52*willwillson quit (Ping timeout: 240 seconds)
01:32:14Araqgood night
01:32:28*yglukhov______ joined #nim
01:34:03*gmpreussner_ quit (Remote host closed the connection)
01:34:35*gmpreussner_ joined #nim
01:35:40*saml_ joined #nim
01:36:07*leavengood quit (Ping timeout: 244 seconds)
01:36:50*yglukhov______ quit (Ping timeout: 244 seconds)
01:47:40gmpreussner_hmm... stdin.readChar still requires Return to be pressed. is there a simple way to read just key presses?
01:48:03*jpoirier quit (Quit: Leaving)
01:50:45*jpoirier joined #nim
01:56:38*jpoirier quit (Quit: Leaving)
01:57:16renesacgmpreussner_: unix specific, but maybe fits: http://nim-lang.org/readline.html
01:58:24gmpreussner_that looks good, but some crossplatform solution would be better
01:58:56gmpreussner_oh well, maybe i'll just leave that out for now
02:00:54*gsingh93 quit (Quit: Connection closed for inactivity)
02:03:38*jpoirier joined #nim
02:03:56*jpoirier quit (Client Quit)
02:05:30*jpoirier joined #nim
02:06:06*superfunc joined #nim
02:10:16*gokr why do I let myself get sucked into discussions .... oh well.
02:10:49EXetoC /me? :p
02:11:45*JinShil quit (Quit: Konversation terminated!)
02:15:18gokrSomeone called Nikki on forum?
02:16:52*jpoirier quit (Quit: Leaving)
02:17:01gokrgnite
02:17:11*jpoirier joined #nim
02:19:06*jpoirier quit (Client Quit)
02:19:27*jpoirier joined #nim
02:20:13*EXetoC quit (Ping timeout: 264 seconds)
02:23:13*ajhager quit (Ping timeout: 264 seconds)
02:27:16*shevy joined #nim
02:31:41*gokr quit (Quit: Leaving.)
02:31:45flaviuI copied the code from <https://github.com/Araq/Nim/blob/devel/lib/wrappers/pcre.nim#L38-L49> into one of my own files
02:31:55*ajhager joined #nim
02:32:00flaviubut "Error: invalid pragma: dynlib: pcreDll"
02:32:40flaviuWhich I don't understand, if it works for Nim, why doesn't it work for me?
02:35:15flaviudom96: ping, I'm getting missing css on http://irclogs.nim-lang.org/16-06-2012.html
02:37:42Varriountflaviu, dom96: As am I.
02:38:09*kapil__ joined #nim
02:38:10VarriountAlthough, whether missing CSS impacts usability greatly is debatable.
02:38:16VarriountHello kapil__
02:38:27VarriountHello ajhager
02:39:06def-flaviu: you defined const pcreDll?
02:39:20Varriountdef-: Yeah, it's defined
02:39:24def-strange
02:39:33Varriountdef-: He's using Nim's PCRE wrapper
02:39:39flaviuVarriount: No
02:39:52flaviuI'm using my own PCRE wrapper with Nim's dynlib code.
02:40:16flaviuhttps://gist.github.com/e4a30004d0bb8e90fb8c
02:41:01renesacVarriount:: importing windows module is scary
02:41:11renesaconly the docs already make my browser pause
02:41:20def-flaviu: this is funny indeed
02:41:30Varriountrenesac: Yeah. Windows has a *huge* api
02:41:49renesacI ended up copying just what I wanted...
02:42:00renesacabout 6 lines
02:42:03Varriountrenesac: Are you sure what you need isn't in winlean?
02:42:12renesacmaybe
02:42:24renesacwhere is it?
02:42:35Varriountrenesac: Same directory as the windows module
02:42:53Varriountrenesac: It's the module most of the Nimrod stdlib uses when interfacing with Windows.
02:43:03renesachttp://nim-lang.org/lib.html <-- I'm not seeing it here
02:43:30Varriountrenesac: *shrug*, it exists.
02:43:35VarriountI mean, as a file.
02:43:47flaviuhttp://nim-lang.org/winlean.html
02:43:56flaviurenesac: The good stuff is hidden from that page :P
02:44:52renesacwhy?
02:45:21flaviurenesac: I was just joking, it was probably overlooked.
02:45:42renesacwell, it got the types I need, just the GetCurrentProcess() I need to copy from windows.nim
02:46:07def-flaviu: remove the pcreImport inside the type definitions, then it works
02:46:10renesacBOOL WINAPI == WINBOOL?
02:46:23def-the error message should say something about being triggered there =/
02:49:44renesacVarriount:: the pascal case in the windows API is annoying now that Nimrod is first case sensitive
03:01:49*SplinterOfChaos joined #nim
03:04:13*gmpreussner__ joined #nim
03:04:57*gmpreussner_ quit (Ping timeout: 265 seconds)
03:06:01*BitPuffin quit (Ping timeout: 244 seconds)
03:07:11jpoirierwhat's the func keyword for/do? I assumed s/proc/func but that gives an error.
03:08:00def-jpoirier: it's reserved for potential use as procs without side effects (I think)
03:08:38jpoirierroger
03:09:47*Sergio965 joined #nim
03:11:00def-there it is: http://nim-lang.org/manual.html#nosideeffect-pragma
03:12:59jpoirierdef-: thanks. was just reading that...
03:15:48*VinceAddons quit (Read error: Connection reset by peer)
03:16:12Varriountrenesac: Feel free to change it, using the deprecated pragma
03:18:06def-anyone who can remove forum threads online?
03:20:12*pwernersbach joined #nim
03:20:13superfunchey man
03:20:18superfuncfifa coins are important :3
03:20:36pwernersbachhey, just dropping in to alert everyone that we've been spammed on the forums
03:21:00*darkf joined #nim
03:21:06superfuncpwernersbach: yeah def- is looking for someone to pull it
03:21:20pwernersbachCool, thanks for being on it
03:21:21def-Probably no one with forum moderation access awake
03:21:23*yglukhov______ joined #nim
03:21:34pwernersbachI g2g though goodbye
03:21:39*pwernersbach left #nim (#nim)
03:23:04*brson quit (Ping timeout: 264 seconds)
03:25:53*yglukhov______ quit (Ping timeout: 240 seconds)
03:27:55*superfunc quit (Quit: Page closed)
03:33:35*yglukhov______ joined #nim
03:37:53renesacVarriount: : I though there would be discussion
03:38:11renesacso all that is lacking is someone making a script to do it?
03:38:18*yglukhov______ quit (Ping timeout: 265 seconds)
03:47:01Varriountrenesac: Or something. What happens when you run it through nimfix?
03:55:19*BitPuffin joined #nim
03:57:56renesacit probably don't create the "deprecated" pragmas
03:58:02renesacbut i don't know
03:58:06renesacI will try tomorro
03:58:07renesacw
03:58:49renesacVarriount: :BOOL WINAPI == WINBOOL ?
04:00:24*gsingh93 joined #nim
04:01:45*renesac is now known as renesac|away
04:04:22*gmpreussner__ quit (Remote host closed the connection)
04:04:49*gmpreussner__ joined #nim
04:14:48Varriountrenesac|away: Huh?
04:14:49*BitPuffin quit (Ping timeout: 264 seconds)
04:16:46*BitPuffin joined #nim
04:21:39*BitPuffin quit (Ping timeout: 264 seconds)
04:34:45*Sergio965 quit (Read error: Connection reset by peer)
04:38:53*jefus_ joined #nim
04:42:35*jefus quit (Ping timeout: 265 seconds)
04:47:44*Sergio965 joined #nim
04:47:52onionhammerspammers on the forum.....
04:48:21*Sergio965 quit (Client Quit)
04:48:55*Sergio965 joined #nim
04:51:40*z1y quit (Ping timeout: 264 seconds)
04:56:19*hjjyuuu joined #nim
04:56:56*hjjyuuu quit (Client Quit)
05:01:45*saml_ quit (Quit: Leaving)
05:02:12Varriount?
05:02:16Varriountonionhammer: Hm?
05:02:49Varriountonionhammer: Do you mean Nikki?
05:10:57*brson joined #nim
05:14:20*z1y joined #nim
05:17:35*BitPuffin joined #nim
05:17:54*vbtt joined #nim
05:19:52*z1y quit (Ping timeout: 240 seconds)
05:22:44*BitPuffin quit (Ping timeout: 245 seconds)
05:34:28*Epic|gmpreussner joined #nim
05:35:16*gmpreussner__ quit (Ping timeout: 265 seconds)
05:54:33*nRike joined #nim
05:55:11nRikehey guys, I'm having trouble when trying to make a httpclient request from a URL
05:55:33nRikeevery time I want to look up for a website, it throws 400 error
06:01:17*bjz joined #nim
06:27:49*z1y joined #nim
06:34:21*gmpreussner joined #nim
06:34:49*Epic|gmpreussner quit (Ping timeout: 245 seconds)
06:45:58*nRike quit (Ping timeout: 246 seconds)
06:52:37*ajhager quit (Ping timeout: 264 seconds)
07:00:09*kniteli quit (Ping timeout: 252 seconds)
07:01:35*Demon_Fox quit (Quit: Leaving)
07:06:38*BitPuffin joined #nim
07:11:29*BitPuffin quit (Ping timeout: 245 seconds)
07:18:04*jefus joined #nim
07:20:56*jefus_ quit (Ping timeout: 244 seconds)
07:23:51*nande quit (Remote host closed the connection)
07:26:06*bjz quit (Ping timeout: 244 seconds)
07:29:42dtscodedoes jester work reasonably well with apache?
07:30:36*gokr_ joined #nim
07:32:06*vbtt quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
07:35:10*bjz joined #nim
07:39:34*bjz quit (Ping timeout: 255 seconds)
07:46:50vegaidtscode: don't see why it wouldn't
07:47:02vegaiapache might be a bottleneck in such a setup, though :P
07:47:12dtscodewhat do you mean?
07:47:38vegaihalf-joking there. I meant that jester will be churning out stuff faster than apache can serve it
07:47:45vegaibut I'm not certain if that's true
07:47:55dtscodeoh well that i dont care about so much
07:48:03dtscodeits just for my personal site
07:48:05vegaiyeah, it should be fast enough anyway
07:48:13dtscodeawesome
07:48:22vegaiyou'll know when you try it :)
07:51:09dtscodeis dom96's fork of jester the current one?
07:52:59vegaihe started it and I believe it's the most current one
07:53:10dtscodeawesoem
07:53:11dtscodethanks
07:53:32*gokr joined #nim
07:53:39gokrGood morning!
07:54:06gokrdom96: A spammer account has appeared on the forum, chou66
07:54:09dtscodegood morning gokr
07:54:30gokrMorning to ya!
07:54:46gokrWhere are you btw?
07:55:05dtscodecali
07:55:07*gour joined #nim
07:55:11dtscodei just keep weird hours
07:56:42gokrCali?
07:56:52dtscodecalifornia
07:57:00gokrAh :)
07:57:05dtscodeyou?
07:57:19gokrSweden, north of Stockholm
07:57:29gokrSo its... 9 in the morning here
07:57:49dtscodeare the bank accounts as good as they say?
07:57:54VarriountHey gokr
07:58:02gokrBank accounts?
07:58:07gokrVarriount: hey :)
07:58:09Varriountgokr: I admire your civil responses on the forum.
07:58:09dtscodeswedish bank accounts
07:58:20dtscodei should start being on the forum more
07:58:20gokrVarriount: hehe... yeah.
07:58:42dtscodei can get input on my impending tutorial there :}
07:58:45gokrI am spoiled by the extremely polite Smalltalk community I guess.
07:58:48Varriountgokr: I also liked that article link you posted.
07:58:58gokrYou mean by Gilad?
07:59:20gokrdtscode: You saw my Nim articles, right?
07:59:23Varriountgokr: Well, I'd like to think that the Nim community, overall, is polite. Though, a few... sour apples are bound to pop up.
07:59:35dtscodegokr, i did, but havent had time to read them
07:59:59gokrVarriount: I agree, the community has been very friendly to an "outsider" like me for sure.
08:00:24gokrdtscode: Feel free to pillage for a tutorial
08:00:33Varriountgokr: Did you see my earlier response? The last one on page 2?
08:00:37dtscodei probably will. you write great stuff
08:01:36gokrVarriount: Yes, i read it
08:02:15dtscode> Constructors are supposed to guarantee that the object is initialized fully and properly.
08:02:16dtscodeheh
08:02:18dtscoden00b
08:02:41VarriountWell, *supposed* is the key term.
08:03:08gokrNow... there are two things Smalltalk has that Nim doesn't - that may be a factor here.
08:03:19gokrSmalltalk has "method categories".
08:03:25gokrWhich is IMHO a brilliant thing. :)
08:03:59gokrIts basically "named groups" of methods, but have no impact - so they are like annotations.
08:04:17Varriount"All methods are public.1 Methods are grouped into protocols that indicate their intent. Some common protocol names have been established by convention, for example, accessing for all accessor methods, and initialization for establishing a consistent initial state for the object."
08:04:22gokrAnd very convention driven - so you have say "accessing" which always contains pure getters/setters etc.
08:04:32gokrYes, right.
08:04:45gokrAnd same goes for the class side.
08:04:51*gmpreussner quit (Ping timeout: 264 seconds)
08:04:54*gmpreussner_ joined #nim
08:05:02gokrNow... this is where most non Smalltalkers get confused - classes are objects.
08:05:08Varriountgokr: Which makes me wonder if smalltalk wouldn't have been a better choice for Android. :P
08:05:20gokrSure it would.
08:05:40gokrBut the reasons Smalltalk is not more popular - its a whole book.
08:05:58gokrBut it's a brilliant language - similar to how Lisp is brilliant.
08:06:13dtscodeVarriount, im sure lots of things woul dhave been better
08:06:15gokrAnyway... so classes have methods, and they also are categorized of course.
08:06:35gokrSo... my point: there is a class side method category called "instance creation"
08:06:54gokrBy convention it always has all the "constructor methods".
08:07:12gokrSo you can easily find them - and you know they can be used to create instances.
08:07:33gokrExample code: Date today
08:07:53gokrThat's Smalltalk for ... `Date.today()"
08:08:07gokrSo "Date" is a class.
08:08:18gokrAnd today is a method on the class side.
08:08:41VarriountNeat.
08:08:50gokrIt doesn't follow any naming convention - but since there are method categories - you find them anyway.
08:09:25gokrAnd since classes are objects - and thus are instances of meta classes - they all inherit one such method. Its called "new".
08:10:28gokrThe second thing different in Smalltalk - is that since we send a message to the class - its very easy to find examples of "instance creations."
08:10:28VarriountSo you can create new classes on-the-fly
08:10:42gokrYes, in Smalltalk you are always in runtime.
08:10:59gokrAs I have said a few times - but I understand its "foreign".
08:11:15Varriountgokr: Not for someone whose first language was python.
08:11:50gokrWell, Python is close - agree.
08:11:59gokrRuby is even closer.
08:12:37gokrMatz has even said he basically took the Smalltalk object model and put a more "traditional" syntax on it, and made it script friendly.
08:13:04*dts|pokeball joined #nim
08:13:10Varriountgokr: Matz?
08:13:24gokrSo the second thing there - since 95% of all messages sent to classes - are in fact these instance creation messages - then its very easy to find all places where "Date" is instantiated.
08:13:55gokrhttp://en.wikipedia.org/wiki/Yukihiro_Matsumoto
08:14:11gokrMet him once at OOPSLA
08:15:20gokrTo summarize - these two things (method categories and the fact that we easily can find all places where Date is the receiver) - make "constructor methods" a non problem in Smalltalk.
08:16:00gokrNim doesn't have those two things though, but it could easily be improved if we annotated them using pragmas.
08:16:09gokrFollow?
08:16:34Varriountgokr: I think.
08:16:59Varriountgokr: Certainly makes me want to read up on smalltalk. It sounds like a fascinating language.
08:17:12gokrIt is very fascinating.
08:17:23gokr6 keywords :)
08:17:30VarriountO_o
08:17:40gokrOr wait, 5.
08:17:45Varriounto_o
08:18:05gokrAnd they are probably not what you think.
08:18:17gokrMost people would guess "if", "while" etc
08:18:31gokrBut nah, those are all methods in Smalltalk.
08:18:58gokrThey are: nil, true, false, self, super, thisContext
08:19:03gokrOh, 6 it is.
08:19:13gokrthisContext is often forgotten :)
08:19:30Varriountgokr: Unfortunately, I don't think Nim can be quite so dynamic as Smalltalk.
08:19:52gokrNo, it can't. The languages are quite far from each other.
08:21:04gokrI have programmed in about 25-30 languages since I was 12 yo. I am 45 now. I discovered Smalltalk in 1993 I think - addict ever since.
08:22:23gokrNim is actually the first language since 1993 that I am giving more time than just "playing a while and then going back home to Smalltalk".
08:22:42Varriount:D
08:22:51gokrSo that's quite telling for Nim.
08:24:20gokrMy influence on Nim is from that extensive Smalltalk experience. I know when things in Smalltalk "don't fit" - but I also know when its worth raising a hand and saying that... "hey, guys, this language from the 1980s does it like this...".
08:25:11gokrBtw, I used to teach Smalltalk too - the language fits comfortably on 5 slides.
08:26:22Varriountgokr: Well, annoying users on the forum aside, know that I value your feedback. I think Araq does too (or maybe he just enjoys discussing/arguing with you. Maybe it's the same thing? :P )
08:27:30gokrI haven't used the pragmas much yet - are they also used for purely annotation purposes?
08:27:53Varriountgokr: Well, they have a couple of uses (like everything else)
08:27:56gokrI am cool with Araq.
08:28:25*dtscode quit (Quit: ZNC - http://znc.in)
08:29:23VarriountYou can use macros as pragmas to pass various AST's to the macro. You can use them to control how the compiler treats the target (calling convention, load from dll, etc)
08:30:09gokrDamn Nim is extensive :)
08:30:19Varriountgokr: There also macros which describe the procedure, such as what kinds of side-effects it has, if it requires locks, etc
08:30:38gokrYeah, I know several of them etc, just curious if there are any that "just" do annotations.
08:30:54Varriountgokr: Well, I think you can have an empty user pragma.
08:30:57gokrSo anyway - we could mark "constructor methods" using a pragma.
08:31:09Varriount*user-defined
08:31:43gokrOr in fact... we could even create a "proc category pragma".
08:31:58gokrSo we could categorize behaviors - like in Smalltalk.
08:32:22Varriounthttp://nim-lang.org/manual.html#pragma-pragma
08:32:34gokrAh, right :)
08:32:51*gmpreussner__ joined #nim
08:33:10gokrIt may be overkill in your eyes - but the method categories are very, very nice in Smalltalk.
08:33:29gokrNow, if you look at say http://nim-lang.org/queues.html - you do get the iterators separately, which is nice.
08:33:37*gmpreussner_ quit (Ping timeout: 265 seconds)
08:33:47gokrBut the "construction procs" are not easily found.
08:34:30Varriountgokr: Yep, you can create an empty user-defined macro, and place it on a procedure.
08:35:04*BlaXpirit joined #nim
08:35:11Varriountgokr: https://gist.github.com/Varriount/8442ead784268640ab41
08:35:36gokryeah
08:36:14gokrSo I think it would be a worthwhile thing - especially for even better auto completion I guess.
08:37:12VarriountAnyway, I need to get back to bed. It was nice talking with you gokr.
08:37:16VarriountGoodnight.
08:37:19*Sergio965 quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
08:37:19gokrGnite!
08:37:55BlaXpiriti kinda like it without constructors
08:38:25gokrBlaXpirit: We do too. We are just talking about annotating the "construction procs".
08:38:39BlaXpiritkinda pointless
08:38:44gokrEh, no?
08:38:55BlaXpirityes
08:39:09BlaXpiritif a function returns something of that type, you could call it construction proc
08:39:20BlaXpiritexpecially if it doesn't take an argument that is the type itself
08:39:29BlaXpirits*
08:40:00gokrSo you think we could skip the newXXX, initXXX convention too?
08:40:16BlaXpirituh now that i think about it, yes
08:40:28BlaXpiriti've been skipping "init" myself
08:40:36BlaXpiritnew may be good though
08:41:44gokrI don't agree, although I agree the heuristic would catch many of them. But it would also catch "false" ones.
08:42:10BlaXpiriti don't know what would even be "false"
08:42:40BlaXpirityou can't have a strict definition of a constructor in context of nim anyway
08:42:46gokrSo, say you have an object holding lots of Bananas, and you call "find" to get one of them. Construction? No.
08:43:01BlaXpiritwhat if the heuristic is actually the sanes definition of them
08:43:19BlaXpiritgokr, that is true and renders a lot of my points invalid :p
08:44:49gokrOne could however possibly argue - that if the proc returns a single T, and it also actually allocated it... but you know, I do think an annotation may be more intention revealing :)
08:45:08*brson quit (Quit: leaving)
08:45:33BlaXpiritnah... using proc body is not an option
08:45:39BlaXpiritespecially in the context of FFI
08:46:08gokrEither way, if you read what I wrote above - my experience from Smalltalk indicates this "annotation" is very useful.
08:46:27BlaXpiritwas gonna say i can't... but chat log
08:46:49gokrAh, you just entered - sorry, didn't see.
08:48:48BlaXpiritanother problem is, nobody's gonna use those
08:49:03gokrWhy not?
08:49:19BlaXpiriti dunno. it's too late?
08:49:33gokrTo add annotations like that?
08:49:50gokrIt would be trivial to scan the stdlib and add them I think.
08:50:10BlaXpiritif someone is writing code, they don't wanna bother with something that has no effect
08:51:00gokrI disagree - that's invalidating all of documentation too.
08:51:01BlaXpiritnow, if special convenient syntax for constructors is introduced, that may be a different story
08:51:33gokrComments don't have effects either, yet we write them, don't we?
08:51:43BlaXpiritsometimes :p
08:52:36gokrIts of course a library maturity thing, you are not forced to use it in your little script etc, but nice to have it in stdlibs.
08:53:44*infrashortfoo joined #nim
08:55:25*BitPuffin joined #nim
08:55:29BlaXpiritok, all things considered, it's not bad
08:55:52gokrHa! :) I will treasure this moment
08:56:06*gokr taking a snapshot picture of my screen...
08:56:16gokrJust kidding.
08:56:49BlaXpiritno change in nim required. might as well start a movement right now
08:58:32gokrA sidenote: In Smalltalk when I want to see how a class is used, I tend to hit ctrt-N (or whatever) to have a browser on all methods referencing the class.
08:59:02*z1y quit (Remote host closed the connection)
08:59:18gokr95% of those methods would be methods calling an instance creation method - so I get lots of examples of usage that way.
08:59:23BlaXpirit"all methods referencing the class" is indeed a must
08:59:48BlaXpiritgenerated documentation is barely usable right now because if its absence
08:59:53*BitPuffin quit (Ping timeout: 240 seconds)
09:00:09BlaXpiritsomeone has been working on documentation full of sorting, filtering and other goodies
09:00:09gokrHaving this annotation would make it easy to find all places where a type is "created" - and thus easy to find sample code.
09:00:12BlaXpiritno time now
09:00:51BlaXpiritgokr, but what do you mean "in smalltalk"
09:01:06gokrIn the Smalltalk IDE
09:01:11BlaXpiritok
09:01:30BlaXpiritvim users laugh at that
09:01:35gokrSmalltalk is 50% language, 50% IDE.
09:01:39BlaXpiriteven though i'm not a vim user, i don't use no IDEs
09:02:28gokrWell... the Smalltalk "IDE" is not like other IDEs.
09:02:37gokrBut "IDE" is the only name fitting.
09:03:09gokrWell, I guess Emacs is similar.
09:03:43gokrSimilar in a theoretical POV. As in being immersed inside a Lisp "world".
09:04:43gokrHard to explain, but its very cool stuff and you should try it sometime :)
09:04:46*Epic|gmpreussner joined #nim
09:05:02BlaXpiriteasy to dismiss as unpopular
09:05:03*gmpreussner__ quit (Ping timeout: 256 seconds)
09:05:10gokrYou mean like Nim?
09:05:12BlaXpiritbut then again, we are in #nim
09:05:26gokrThe really cool things are never mainstream.
09:05:55gokrSmalltalk is in this regard just like Nim. A gem going under the radar for most people.
09:06:11BlaXpiritfor how many years has it been evading radars now?
09:06:26gokrSmalltalk was quite big you know
09:07:21gokrIn say 1990-95 C++ had about 60% and Smalltalk had 33% of the "OOP" market.
09:10:10gokrIn fact, lots of the big companies using Smalltalk didn't want to tell - because it was considered a competitive advantage. This was true especially in the stock market domain.
09:11:12gokrSorry for the offtopic - but most seem to be asleep anyway ;)
09:15:37*minciue joined #nim
09:19:17*dts|pokeball quit (Remote host closed the connection)
09:25:57*dts|pokeball joined #nim
09:29:24*zahary1 quit (Ping timeout: 245 seconds)
09:45:26*dts|pokeball quit (Quit: Leaving)
09:47:44*dts|pokeball joined #nim
09:51:02*johnsoft quit (Read error: Connection reset by peer)
09:54:28*dts|pokeball quit (Quit: Leaving)
09:56:27*dts|pokeball joined #nim
09:57:29*dts|pokeball quit (Remote host closed the connection)
10:04:44*yglukhov______ joined #nim
10:05:12*gmpreussner joined #nim
10:05:14*Epic|gmpreussner quit (Ping timeout: 245 seconds)
10:24:02*MajorTennis joined #nim
10:24:33*MajorTennis quit (Changing host)
10:24:33*MajorTennis joined #nim
10:28:37*JinShil joined #nim
10:34:38*Sphax joined #nim
10:48:03*yglukhov_______ joined #nim
10:48:03*yglukhov______ quit (Ping timeout: 264 seconds)
10:55:14*BitPuffin joined #nim
10:57:53*JinShil quit (Ping timeout: 240 seconds)
11:00:44*bjz joined #nim
11:00:54*gsingh93 quit (Quit: Connection closed for inactivity)
11:11:31*yglukhov_______ quit (Quit: Lingo: www.lingoirc.com)
11:12:51*VinceAddons joined #nim
11:16:49*gour_ joined #nim
11:19:34*gour quit (Disconnected by services)
11:19:38*gour_ is now known as gour
11:22:39*Sphax quit (Quit: ZZZZZzzzzz)
11:23:05*BitPuffin quit (Ping timeout: 264 seconds)
11:28:02*JinShil joined #nim
11:29:14*BitPuffin joined #nim
11:32:42*bjz quit (Read error: Connection reset by peer)
11:34:41*gmpreussner_ joined #nim
11:36:04*gmpreussner quit (Ping timeout: 264 seconds)
11:39:40JinShilWhat does the .magic prama do? Does it just forward to a C function?
11:40:24JinShilLet me rephrase that. What does the magic pragma do?
11:42:10VarriountJinShil: It's used by the compiler to detect special procedures.
11:42:16*zielmicha joined #nim
11:42:31VarriountUsually procedures implemented by the compiler.
11:43:03JinShilVarriount, ok that makes sense. Thanks.
11:44:24*keyle joined #nim
11:44:34JinShilMay I ask, why aren't those special procedures implemented in the runtime?
11:45:31keylehi
11:46:24AraqJinShil: depends.
11:46:49Araqoften the magic is transformed into a .compilerProc which is implemented in the runtime
11:49:48*bjz joined #nim
11:50:23Araqlol @ "forward to a C function". We don't use C. We generate it. I know it's hard to imagine but Nim doesn't require a core written in C.
11:53:59*johnsoft joined #nim
11:56:46*EXetoC joined #nim
12:00:14JinShilI guess I keep expecting the man behind the curtain written in C.
12:03:35*repax joined #nim
12:04:37*bjz quit (Ping timeout: 264 seconds)
12:06:15*leavengood joined #nim
12:06:38*leavengood is now known as Guest7667
12:12:55*bjz joined #nim
12:21:17*willwillson joined #nim
12:21:26*darkf quit (Ping timeout: 244 seconds)
12:22:40*areckizb quit (Ping timeout: 246 seconds)
12:25:44*bjz quit (Read error: Connection reset by peer)
12:28:56*Trustable joined #nim
12:34:55*gmpreussner__ joined #nim
12:35:39*gmpreussner_ quit (Ping timeout: 245 seconds)
12:37:29*bjz joined #nim
12:37:38AraqVarriount: I was quicker :P
12:38:34VarriountAraq: Hm?
12:38:56AraqI replied too in the IUP thread
12:40:22keyleis there a tutorial with a real world spawn example? ... I'm trying to hookup ircclient with readLine and I'm not having much luck :>
12:40:47Varriountkeyle: Could you show us your code?
12:40:49Araqkeyle: there are a couple of tests in tests/parallel
12:41:59keyleVarriount: note that I'm a nim noob - https://gist.github.com/keyle/46337a707c23492c7e11
12:43:25*Epic|gmpreussner joined #nim
12:43:37*gmpreussner__ quit (Ping timeout: 245 seconds)
12:44:02keyleI guess I have to use spawn here
12:44:17Araqkeyle: no, don't use it here
12:44:32Araqoh wait
12:44:56*Sphax joined #nim
12:45:12keylethe goal here is to make a very basic irssi inspired client
12:45:35Araqwell it doesn't work that way
12:46:00AraqlaunchClient shouldn't be .async
12:46:39Araqand should call runForever I guess which is not .gcsafe
12:47:06Varriountkeyle: Async is not quite the same as spawn
12:47:29Araqbut I need to talk with dom96 about this, currently async + spawn is simply not supported
12:48:04keyleyeah I admit I'm poking in the dark with this code
12:48:21Varriountkeyle: For now, stick to async only
12:48:46VarriountAraq: There's also the problem that 'await' is used by both async and thread procedures. Is that intended?
12:48:51keyleok, how do I make my readLine work with irc events?
12:49:48Araqhrm nope, asyncdispatch is already threadsafe
12:50:03Araqso it should work. do this:
12:50:27Araqdon't make launchClient .async and call runForever in it
12:51:06Araqspawn launchClient() # note that this doesn't return anything
12:51:54keyleto be clear, I do runForever in launchClient or not?
12:52:07Araqin launchClient
12:53:10Araqbut if it doesn't work we have to ask dom96 ;-)
12:53:43AraqVarriount: that's a problem I guess
12:53:51Araqthe awaits are completely different
12:54:02keyleyep, it compiles fine, but I get this at start - http://pastebin.com/7e71xw4k
12:55:29Araqwell it looks like it fails to 'connect'
12:56:31VarriountAraq: Did the irc module get removed from the stdlib?
12:57:00Araqdunno
12:58:05VarriountAraq: Yep, it got removed...
12:58:20VarriountDespite the fact that several tests and modules use it.
12:58:24Varriount>_>
12:59:01renesac|awayVarriount: : I meant this type of BOOL WINAPI: http://msdn.microsoft.com/en-us/library/windows/desktop/dd627165%28v=vs.85%29.aspx
12:59:13renesac|awayhow do I translate as a nimrod type?
12:59:17*renesac|away is now known as renesac
13:00:26Varriountrenesac: WinBool will work
13:00:38Varriountrenesac: This page will help you: http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751%28v=vs.85%29.aspx
13:01:18keylethanks guys
13:01:37Varriountkeyle: Sorry for the trouble.
13:01:48renesacright, thanks
13:02:01Varriountkeyle: We'd be happy for any help with documentation or tutorials
13:03:13VarriountAraq: I'm working on the patch for PR 1896, and I have a design question
13:04:32VarriountThe incrSeq procedure in sysstr.nim needs to somehow have the part where it modifies the actual length of the sequence disabled or deferred for a single call.
13:04:50keyleVarriount: thanks, I guess I'm learning as well and trying to do something non-trivial here... constantly readLine while another process outputs
13:05:30keyleI am having difficulty with the runtime errors though... they can be really good or really puzzling. And google is no help.
13:07:06keyleI think those connect fails are due to the await going on in the irc lib, that I spawned
13:07:07VarriountAraq: What would you prefer, that I add an argument to the incrSeq procedure to enable/disable the incrementing of the sequences length field, or remove the length increment entirely, and patch each usage of incrSeq to modify the length field right after the call?
13:08:15Varriountkeyle: If you must use another thread, put the readLine in it's own thread, rather than the irc client
13:08:59keyleI'm used to GUI development, I would have thought that readline needs to be in the UI thread? ie. the terminal in this case?
13:09:15keylecan I readline from another thread?
13:09:27*BitPuffin quit (Ping timeout: 245 seconds)
13:09:41Varriountkeyle: I don't see why not.
13:09:56renesacand going on the windows folder I discovered one more wrapper not listed on the libs page...
13:10:02renesacthe psapi.nim....
13:10:10keyleVarriount: also, is it possible to do this without another thread? how would a readline work within an evented environment?
13:10:18Varriountrenesac: Perhaps you could add those to the documentation index?
13:10:23renesacyeah
13:10:32Varriountkeyle: Optimally, readLine would not be a blocking operation.
13:10:32renesaca bit frustrating because that is what I was wrapping
13:10:34renesac^^'
13:11:02keylebut it _is_, right?
13:11:05renesacand nimfix psapinimfix.nim --styleCheck:auto
13:11:16renesacdoes nothing to those PascalCase windows names
13:11:43Varriountkeyle: You could poll stdin to see if a read() on it would be non-blocking
13:12:01Varriountkeyle: However keep in mind that this is not cross-platform. It won't work on Windows.
13:12:22keyleah.
13:12:48keylewill try spawn readline, thanks for your time
13:13:09*bjz quit (Ping timeout: 245 seconds)
13:14:08VarriountAraq: Also, do compilerProcs accept default arguments?
13:14:21*darkf joined #nim
13:14:33*darkf quit (Changing host)
13:14:34*darkf joined #nim
13:16:23*infrashortfoo quit (Read error: Connection reset by peer)
13:16:33*infrashortfoo joined #nim
13:20:42*bjz joined #nim
13:28:52*Demos joined #nim
13:34:52*Epic|gmpreussner quit (Ping timeout: 245 seconds)
13:34:59*Epic|gmpreussner joined #nim
13:37:16DemosHas anyone looked at the c++ variadic folding feature, seems crazy to me
13:37:36VarriountDemos: Huh?
13:37:46EXetoCthat's a surprise
13:38:26Demosn4295
13:38:43Demosallows stuff like
13:39:11Demostemplate<typename... Args> bool f(Args... args) { return (true + ... + args); }
13:45:08keyleVarriount: what's poll() ?
13:48:54AraqVarriount: patch every usage of incrSeq
13:49:43Araqbut yes, these can have default arguments but you need to pass every argument when it's used by the codegen
13:58:34*bjz quit (Ping timeout: 244 seconds)
14:05:35*BitPuffin joined #nim
14:08:54*bjz joined #nim
14:09:03*Demos quit (Ping timeout: 264 seconds)
14:10:08*BitPuffin quit (Ping timeout: 244 seconds)
14:11:34*kapil__ quit (Quit: Connection closed for inactivity)
14:14:52*z1y joined #nim
14:17:46keyleIs there a way to get a onkeydown instead of a readline ?
14:20:14BlaXpiritprobably not
14:20:17BlaXpiritunless... curses?
14:20:28ekarlso-anyone that wanna help up with packages crud ?
14:20:45keyleI figured as much
14:22:32keyleafaik just importing and compiling threadpool within an app causes anything async to crash
14:22:43ekarlso-hmmms, noone seems to have a clue for that ;P
14:22:56keyleat runtime that is. No need to even use spawn.
14:24:03keylenight
14:24:07*keyle quit (Quit: Page closed)
14:34:15*ajhager joined #nim
14:36:24*gokr quit (Quit: Leaving.)
14:43:53*bjz quit (Ping timeout: 240 seconds)
15:01:57*bjz joined #nim
15:02:49*z1y quit (Remote host closed the connection)
15:03:47*z1y joined #nim
15:09:57*willwillson quit (Ping timeout: 265 seconds)
15:11:37*Sergio965 joined #nim
15:13:17*bjz quit (Read error: Connection reset by peer)
15:15:05*JinShil quit (Quit: Konversation terminated!)
15:38:00*bjz joined #nim
15:42:48*Demos joined #nim
15:52:15*gokr joined #nim
15:52:20AraqDemos: I'm about to try your VS plugin
15:52:29Demosuh oh
15:52:51Araqdoes it use the "server mode" of idetools?
15:53:18*Epic|gmpreussner is now known as gmpreussner
15:53:51Demosnope
15:53:55Demosserver mode does not work
15:54:09Demosor it did not when I wrote it. There is code to do it if I remember though
15:55:21Araqwell it's a nice chicken and egg
15:55:39AraqI can't fix the server mode since no editor supports since it doesn't work
15:57:22*repax quit (Ping timeout: 245 seconds)
16:02:28*renesac quit (Ping timeout: 246 seconds)
16:03:05jpoirierThe compiler is okay with using using a data type as a proc parameter name, e.g. proc tst(int, uint) = echo(int); echo(uint), and, proc tst(int: char) = echo(int)
16:05:40*gmpreussner quit (Ping timeout: 244 seconds)
16:05:49*gmpreussner joined #nim
16:05:52*z1y quit (Ping timeout: 244 seconds)
16:11:59onionhammerAraq NimLime has servermode implemented but disabled iirc
16:12:22onionhammer(since it doesnt work:))
16:12:58onionhammerI would love to use a VS plugin though Demos
16:12:59onionhammer:)
16:13:48DemosThe biggest thing with the VS plugin is testing and fixing the crash when you exit the IDE
16:14:26*bjz quit (Read error: Connection reset by peer)
16:14:35onionhammerand just tidying things up imo
16:14:47onionhammergetting real projects working, if thye dont
16:14:58Demosmy wishlist features include a better project tree view that does not rely on a XML project file, either using some kind of IDEtools output or mirroring the filesystem, and a way to build the project that does not involve a bash script embedded in an XML file
16:16:06Demosreal projects should work, and I am willing to help people get them to work, but the amount of time I have to devote to doing these wishlist features is very small
16:16:06onionhammeryou should also rename it ;)
16:16:18onionhammeryeah
16:16:21onionhammerunderstandable
16:16:24Demosyeah, and make sure it works in VS 2015
16:16:25onionhammeralso inline debugging
16:16:29onionhammerlol
16:16:31Demoshm? debugging works
16:16:37onionhammeri wasnt able to get it to work
16:17:58Demosit might have been a bug in the project templates. I really want to figure out how to deal with those deployment wise. I think I will put the project generator in nimble, that should make things easier. When I use the VS plugin to write code I add the solutions and project files to .gitignore and generate them with that tool when needed
16:18:49onionhammeryeah
16:18:51*z1y joined #nim
16:18:51onionhammergood idea
16:20:24Demosthe tools is really basic at the moment (and I think it should remain so). you invoke it like vsgen mainfile.nim and it traverses the filesystem and adds all sibling and child .nim files to the project, it then sets mainfile.nim as the "startup object" and writes all the bash build script stuff
16:21:06Demosthis is all stuff that I should be able to do in code that overrides the VS build and project systems, but the API to actually do that is a total and complete fustercluck
16:21:11onionhammermm, and you cant do that without the command line tool?
16:21:19onionhammeroh ok
16:23:21*z1y quit (Ping timeout: 252 seconds)
16:27:32*darkf quit (Quit: Leaving)
16:29:44*bjz joined #nim
16:31:01*infrashortfoo quit (Ping timeout: 264 seconds)
16:31:34Demosthe problem is not only that the API is really bad but also that there is little documentation
16:38:01*johnsoft quit (Ping timeout: 252 seconds)
16:38:17*johnsoft joined #nim
16:38:56*jefus_ joined #nim
16:39:51onionhammerDemos you should also test it w/ the free version of vs
16:40:07DemosThe community edition?
16:42:46*bjz quit (Read error: Connection reset by peer)
16:43:01*jefus quit (Ping timeout: 264 seconds)
16:43:06onionhammeryea
16:43:12onionhammerits supposed to support plugins, right?
16:46:11BlaXpiritdoes anyone else find the code examples on home page cryptic?
16:46:29BlaXpiriti can imagine them scaring me off if i just came to that page
16:46:32onionhammerthe parallel one yah
16:47:13*gokr_ quit (Ping timeout: 264 seconds)
16:48:08*BitPuffin joined #nim
16:50:06Demosonionhammer, yeah I think it is actually just a license for VS 2013 pro
16:57:35*gsingh93 joined #nim
16:57:39*Varriount|Busy joined #nim
16:58:19*MajorTennis quit (Quit: Leaving)
16:58:20*bjz joined #nim
16:59:39Varriount|BusyGah. I think I'm just going to disable the timeout for testament for the buildbots
17:04:31AraqBlaXpirit: well the parallel one needs to outline the basic idea
17:04:39Araqit's not code you can run
17:04:49BlaXpiriti'd just like to see more simple examples of typical things
17:05:12Araqwe have the other snippets for that
17:05:30*gmpreussner quit (Remote host closed the connection)
17:05:46Araqthe parallel example is there to say "shut up, Nim can do things that Rust cannot"
17:06:03*gmpreussner joined #nim
17:14:14Varriount|Busyonionhammer: NimLime also needs to be cleaned up. (Why is there assignment aligning code? How is that related to Nim?)
17:14:35*Demos quit (Ping timeout: 244 seconds)
17:15:17*bjz quit (Ping timeout: 264 seconds)
17:17:53*gokr testing QtCreator...
17:18:54*Matthias247 joined #nim
17:19:10BlaXpiritgokr, how exactly......????
17:19:20Varriount|Busygokr: QtCreator is nice...
17:19:43BlaXpiritit sure is, but how does it relate to Nim?
17:19:54*Demos joined #nim
17:19:58gokrI got syntax highlighting working using NimKate definitions
17:20:03onionhammerassignment aligning is awesome, thats why
17:20:13BlaXpiritgokr, whatever...
17:20:18gokrI have also read that QtCreator is good at debugging.
17:20:24gokrSo wanted to try that.
17:20:32gokrAnd filcuc's QML stuff would be nice to test.
17:20:34BlaXpiritit's OK but how can you make it work with nim?
17:20:37BlaXpirithow?
17:20:41gokrDebugging?
17:20:51BlaXpiritlet's start with that for example
17:20:52gokrIt uses gdb AFAIK
17:20:58onionhammerbut agree, it can be taken out of the plugin..........
17:21:07gokrKDevelop works fine, so I think QtCreator also will work
17:21:17BlaXpiritgokr, :o where is info on that?
17:22:14*dtscode joined #nim
17:22:14gokrInfo on... debugging?
17:22:31BlaXpiritinfo on debugging Nim in a C++ IDE
17:22:33BlaXpirit,yes
17:22:55gokrI intended to write an article - but its nothing magical. Just compile with -debuginfo and -lineDir:on and then debug away. Works great in KDevelop.
17:23:11gokrI have said so here several times ;)
17:23:22BlaXpiritI have no idea
17:23:36BlaXpiritI barely was able to get KDevelop to work with C++
17:24:01BlaXpiritand while I'm quite confident with Qt Creator, I still have no idea how to do anything else but C++ in it
17:24:16BlaXpiritplease do make an article...
17:24:36onionhammerVarriount|Busy okay, im removing it
17:24:40*Sphax quit (Quit: CYA!!)
17:25:18*dtscode quit (Quit: ZNC - http://znc.in)
17:25:49*dtscode joined #nim
17:25:55gokrBlaXpirit: I will.
17:25:57Varriount|Busyonionhammer: And the favorite file thing?
17:26:05onionhammeridk what that is
17:27:16onionhammeroh i think that's the license for the 'favorite file' code, which we used to set the 'main' nim file
17:27:21onionhammer(I think)
17:27:49onionhammerhttps://github.com/facelessuser/FavoriteFiles/
17:28:46onionhammerVarriount|Busy are you working on the idetools stuff?
17:29:17*gokr quit (Quit: Leaving.)
17:30:25*vendethiel quit (Quit: q+)
17:31:20Varriount|Busyonionhammer: No, I'm busy at work.
17:31:36*brson joined #nim
17:32:03Varriount|BusyAfter that, I've been tasked with getting more of the buildbot done.
17:32:21onionhammerthe thing I think nimlime needs is probably to refactor the naming a bit in our tmLanguage file
17:32:31onionhammermake sure stuff goes into the correct scope
17:32:54onionhammeri.e. misc vs store vs entity vs keyword etc
17:33:25onionhammerI just cleaned up the proc highlighting stuff
17:33:27onionhammeryesterday
17:33:31*bjz joined #nim
17:33:40onionhammerand added highlighting for call syntax
17:35:41onionhammerprobably highlight pragmas finally as well.. not sure how to classify them yet though, i'll probably follow C++'s plugin
17:35:55Varriount|Busyonionhammer: Put in some issues, so I have a reminder
17:36:59Varriount|BusyAraq: Where is the proc definition for the `[]` in 'addr(someString[0])'
17:38:35AraqVarriount|Busy: it's builtin in a way that's not visible in system.nim
17:39:20Varriount|BusyAraq: Oh, so there's no way to replicate it in arbitrary types?
17:39:44AraqVarriount|Busy: sure there is
17:40:00Araqproc `[]`(x: Foo: index: int): var Bar
17:40:11Araqproc `[]`(x: Foo; index: int): var Bar
17:41:17Varriount|Busyproc `[]`(ls: LinkedString, n: int): var char = ls.value[n]
17:41:26Varriount|Busydoesn't work
17:41:59Araqmaybe you need 'var LinkedString'
17:43:11*bjz quit (Read error: Connection reset by peer)
17:43:42ekarlso- hmm
17:44:10ekarlso-if you have two procs that take a string but returns different types how does it call the right one ?
17:45:57Araqekarlso-: it complains it doesn't know what to call
17:46:29ekarlso-Araq: how you get it to call the right one :|
17:46:31Varriount|Busyekarlso-: You can resolve the ambiguity by specifying the module the desired proc is in.
17:46:34*willwillson joined #nim
17:47:01ekarlso-Varriount|Busy: it's in the same module
17:47:09ekarlso-like a fromRow proc
17:47:39Varriount|Busyekarlso-: So... you have two procedures, named the same thing, taking the same arguments, but returning a different return type?
17:47:51*kniteli joined #nim
17:48:05ekarlso-lemme make a example instead ;P
17:51:13ekarlso-https://bpaste.net/show/804f39e6ae08
17:51:45*superfunc|busy joined #nim
17:51:59Varriount|Busyekarlso-: There's no way around that ambiguity at the moment. Consider changing the procedure names
17:52:09ekarlso-darn :(
17:52:26Varriount|Busyeg: getPackageFrom(...) and getStringFrom(...)
17:52:39ekarlso-rowToPackage
17:52:41ekarlso-I guess
17:53:08Varriount|Busyekarlso-: The other alternative is to use a type variant to encapsulate the two types.
17:53:27ekarlso-type variant ? sounds beyond the tutorials
17:56:05Araqdon't use type variants if you don't need them
17:56:32ekarlso-why can't the compiler infer the type though ?
17:57:20Araqwhy can't you come up with 2 different names though?
17:58:42ekarlso-Araq: I did now
17:58:47ekarlso-packageFromRow or rowToPackage ?
17:58:49ekarlso-:P
18:00:03Varriount|Busyekarlso-: This is type variants: https://bpaste.net/show/3e5b80c7e2e0
18:00:28Varriount|Busy(That example may not work exactly, I can't remember if variant fields can share names)
18:02:09Araq(they cannot, why would they?)
18:02:42onionhammerVarriount|Busy i forgot the issue i was having with ##'s, but i dont see it anymore
18:07:33*bjz joined #nim
18:11:48EXetoCnot packageToRow and rowToPackage?
18:12:33EXetoCI misread
18:17:23*kniteli quit (Remote host closed the connection)
18:18:15Varriount|Busyonionhammer: I'm gonna try something ... interesting this afternoon that might help with the plugin organization.
18:18:47onionhammeroh?
18:18:56onionhammer(i just checked in pragma highlighting 5 secs ago)
18:19:49*kniteli joined #nim
18:20:10onionhammerVarriount|Busy what, pray tell? :)
18:21:14Varriount|Busyonionhammer: Using __all__ or eval()
18:21:29onionhammercome again?
18:22:11Varriount|Busyonionhammer: One is a hidden module variable that controls what is exported in a python module. The other is a function that evaluates a string as python code, in context of the current scope.
18:22:14onionhammeryou're reorganizing the python?
18:22:43Varriount|Busyonionhammer: Yeah.
18:22:48*BitPuffin quit (Ping timeout: 265 seconds)
18:23:17Varriount|Busyonionhammer: We can't really move the other files. :/
18:26:14*AMorpork is now known as ShovelingMorpork
18:27:48EXetoCthe python? sounds like some kind of mutant
18:28:56BlaXpiritthe programming language..
18:30:57*Demos quit (Ping timeout: 252 seconds)
18:35:34*gmpreussner_ joined #nim
18:36:13*gmpreussner quit (Ping timeout: 244 seconds)
18:38:34*Demon_Fox joined #nim
18:42:06*BitPuffin joined #nim
18:45:39*bjz quit (Ping timeout: 264 seconds)
18:47:41*bjz joined #nim
18:48:09*superfunc|busy quit (Ping timeout: 256 seconds)
18:50:41*Varriount|Busy quit (Quit: Page closed)
19:00:30*bjz quit (Ping timeout: 265 seconds)
19:02:16*ShovelingMorpork is now known as AMorpork
19:09:47*Lordovos joined #nim
19:11:54*brson quit (Quit: leaving)
19:17:39*bjz joined #nim
19:25:13*repax joined #nim
19:27:48*renesac joined #nim
19:28:19*bjz quit (Read error: Connection reset by peer)
19:36:04*gmpreussner_ quit (Ping timeout: 245 seconds)
19:36:09*gmpreussner__ joined #nim
19:38:09jpoirierCan spawn be used as a cheap thread or is it not advisable?
19:41:04jpoirier...to create a cheap thread that is.
19:45:53*rpag joined #nim
19:46:02*rpag quit (Client Quit)
19:49:25*Guest7667 is now known as leavengood
19:49:33*dloss_ joined #nim
19:50:40*rpag joined #nim
19:51:18Varriountjpoirier: Spawn is used for threadpools, so in a way, yes
19:52:48dloss_Hi. Running "nimble install c2nim" gives me "Unsatisfied dependency: nim (>= 0.10.3)." Any hints?
19:53:49dloss_I'm on nimble v0.6.0 and nim installed from github
19:55:30willwillsondloss_: yeah, you need to use latest devel code
19:57:07*bjz joined #nim
19:57:19dloss_willwillson: git pull says I'm up-to-date. Freshly installed from 647aadc1
19:57:59willwillsonwhat does nim -version say?
19:58:16willwillsonnim --version
19:58:23dloss_Nim Compiler Version 0.10.2 (2015-01-09) [MacOSX: amd64]
19:58:28*BlaXpirit_ joined #nim
19:58:57willwillsonthere is your problem, you need to compile nim from the latest devel sources
19:59:27willwillsonor step back a few commits from c2nim HEAD
19:59:37*rpag quit (Quit: Leaving)
19:59:50dloss_thx. will try that
20:01:37*BlaXpirit quit (Ping timeout: 264 seconds)
20:07:33*nande joined #nim
20:09:26dloss_using the nim devel branch helped. thx.
20:12:51*bjz quit (Read error: Connection reset by peer)
20:13:53*EXetoC quit (Ping timeout: 240 seconds)
20:14:27*bjz joined #nim
20:16:49*repax quit (Quit: repax)
20:25:35*billp joined #nim
20:28:45*bjz quit (Read error: Connection reset by peer)
20:33:24dtscodeBlaXpirit_, was it you that wrote the article on writing jester apps?
20:33:32BlaXpirit_definitely not
20:33:36BlaXpirit_why
20:33:56dtscodeim trying to figure out how to get jester to work with apache
20:36:19*gour quit (Quit: Leaving)
20:38:08*shodan45 joined #nim
20:38:39*gokr joined #nim
20:42:21dtscodeAraq, is that build status https://github.com/Araq/Nim here current?
20:43:08*bjz joined #nim
20:45:42gokrVarriount: You need nodejs on the build slaves?
20:45:44gokrI presume
20:51:36def-dtscode: you would just run the jester app locally and on apache setup a reverse proxy
20:52:04dtscodedef-, well as it turns out i need apache
20:52:09dtscodedtscode.io:5000
20:52:14dtscodethats just jester afaik
20:52:17def-yes
20:52:39dtscodeso now i just need jester to work on port 80, and i can cut apache out of the equation
20:52:57def-yes, that would work
20:53:09def-may be insecure, but I'm not sure
20:53:27dtscodei think thats all the nim forums use
20:54:05def-I bet the nim forum is behind an nginx reverse proxy for the "forum.nim-lang.org" domain
20:54:27dtscodehow would i setup a reverse proxy
20:54:49def-with apache you need a line like "ProxyPass /foo http://localhost:5000/"
20:55:31def-nginx should be faster, there it's called proxy_pass
20:56:02dtscodemeh, speed i dont care about so much right now
20:56:12dtscodeive already got apache installed
20:56:56ldleworkif you use Docker its easy peasy
20:56:58ldlework:)
20:57:05ldleworkhttps://registry.hub.docker.com/u/jwilder/nginx-proxy/
20:57:06dtscodefor a webserver?
20:57:07ldleworkmagic
20:59:26*bjz quit (Read error: Connection reset by peer)
21:01:19*bjz joined #nim
21:05:50*Epic|gmpreussner joined #nim
21:06:53*gmpreussner__ quit (Ping timeout: 264 seconds)
21:07:57*Demos joined #nim
21:12:46dtscodedef-, do i need to write that in my apache2.conf file?
21:13:36jsudlowthere you go again sharing the magical image ldlework
21:14:03ldleworkjsudlow: worked for you right?
21:14:20jsudlowldlework: It worked surprisingly well - the first time
21:14:34def-dtscode: yes, something like that
21:14:40jsudlowif your patient enough to read a few paragraphs you can have it
21:14:42gokrCan report that debugging in QtCreator works fine
21:16:19*bjz quit (Ping timeout: 252 seconds)
21:16:20*Matthias247 quit (Quit: Matthias247)
21:18:28flaviuhttps://gist.github.com/flaviut/e4a30004d0bb8e90fb8c
21:18:40flaviuCan anyone tell what "pcre.nim(10, 30) Error: invalid pragma: dynlib: pcreDll" is all about?
21:18:50def-flaviu: yes, i told you last time
21:19:03def-flaviu: in the type definitions, remove all pcreImports
21:19:45flaviudef-: Oh, sorry. I had gone to bed by that time.
21:19:50def-no problem
21:27:27*gokr1 joined #nim
21:27:57*arekzb quit (Quit: Page closed)
21:28:02*Kal_ joined #nim
21:29:06*gokr quit (Ping timeout: 244 seconds)
21:30:43*irrequietus joined #nim
21:33:51*billp left #nim (#nim)
21:38:44gokr1Its slick that debugging goes fine into templates etc
21:43:27*dyu joined #nim
21:45:15ldleworkIs devel still broken?
21:45:31*Matthias247 joined #nim
21:47:45*bjz joined #nim
21:48:42*brson joined #nim
21:49:15*minciue quit (Quit: minciue)
21:52:15*Demos quit (Ping timeout: 252 seconds)
21:54:38dtscodedevel compiles fine for me
21:55:15ldleworkyeah
21:55:20ldleworkdtscode: how the hell do you use the irc module
21:55:26ldleworkis the example in the docs wrong?
21:55:37dtscodeldlework, no idea. i mostly tore apart nimbot
21:56:00ldleworksure it instantiates a PAsyncIRC directly
21:56:05ldleworkbut the docs say to use irc.irc
21:56:19dom96The docs are likely outdated.
21:56:19ldleworkwhich I'm getting: talmud.nim(3, 16) Error: expression 'irc(IRC_NETWORK)' cannot be called
21:56:24ldleworkok
21:56:40dtscodei might make a deal with dom96 where he writes proper asyncio code for nimbus and i write eval stuff for nimbot
21:56:45dtscodeanyways, i can show you my code
21:57:02ldleworkI'm just checking that the docs are wrong and not me
21:57:04dom96sure, how much will you pay me? :P
21:57:06ldleworkI can read nimbot
21:57:29dtscodedom96, ummmm
21:57:36dtscodehow much do you cost?
21:58:09dom96$100 an hour :P
21:58:17dtscodefuck that
21:58:25ldleworklol
21:58:28onionhammer$100/hour for a student? :P
21:58:34onionhammeri'll give u $10/hour
21:58:45dtscodeit would just be cheaper for me to learn the asyncnet module
21:59:06dtscodeim broke right now anyways so its a mute point
22:00:52*bjz quit (Ping timeout: 255 seconds)
22:02:33ldleworkmoot*
22:02:54dtscodewoot
22:03:14dom96onionhammer: deal.
22:06:06*gmpreussner joined #nim
22:06:11*adam_s joined #nim
22:07:04*Epic|gmpreussner quit (Ping timeout: 265 seconds)
22:07:57ldleworkdom96: why can't I call irc.irc
22:08:28dom96dunno
22:08:50dom96what are you trying to do?
22:09:04dtscodeldlework, have you installed irc?
22:09:14ldleworkdtscode: oh I thought it was stdlib
22:09:25dtscodeldlework, nope :/ gave me some trouble
22:09:46dtscodenimble install irc
22:12:55ldleworkdtscode: I already have it installed
22:12:58ldleworkirc.irc not callable
22:13:08ldleworkdom96: I'm trying to run the code in the documentation
22:13:20dtscodeah
22:14:07dom96you want newIrc
22:14:15dom96or something like that
22:20:37*bjz joined #nim
22:22:48*jefus_ is now known as jefus
22:31:41*Lordovos quit (Quit: Leaving)
22:31:59*bjz quit (Ping timeout: 256 seconds)
22:43:44*dloss_ quit (Quit: Leaving)
22:45:53*shevy left #nim ("I'll be back ... maybe")
22:46:35*rpag joined #nim
22:56:49ldleworkthat worked
23:01:35*ajhager quit (Ping timeout: 244 seconds)
23:03:17*EXetoC joined #nim
23:09:35ldleworkDoes anyone know where theindex.html is generated?
23:12:55ldleworkI can't figure it out
23:13:13EXetoChave yu tried t grep fr it?
23:13:23EXetoCdamn keybard
23:14:43ldleworkEXetoC: yeah
23:14:51ldleworkI've found various related things
23:14:57ldleworkbut not where the actual html is generated for the index
23:15:32EXetoCtools/nimweb shows up when I grep for it
23:15:57*bjz joined #nim
23:16:37ldleworkyes I see that too, but that's not really the actual work
23:17:16ldlework(it shells out back to the compiler)
23:18:47ldleworki have been trying to trackdown what 'buildIndex' does but not really getting lucky
23:18:52ldleworkall I find is shit in the csources
23:19:05EXetoCdocgen.commandBuildIndex?
23:19:10BlaXpirit_don't forget the possibility that it is not in repo
23:19:22BlaXpirit_index might be an external idx file or some stuff
23:19:48ldleworkthis is turning out to be a time sink
23:20:03flaviuldlework: ack?
23:20:11ldleworkwhyyyy don't we just use a normal template system for generating html like every other project in the world
23:20:16flaviu--ignore-dir=nimcache --ignore-dir=csources
23:20:17ldleworkflaviu: ack?
23:20:17*saml quit (Quit: Leaving)
23:20:24flaviuack
23:20:25flaviuhttp://beyondgrep.com/
23:20:30EXetoChe was using grep already
23:20:31ldleworkflaviu: try it?
23:20:47EXetoCcommandBuildIndex doesn't lead you anywhere?
23:21:02ldleworkEXetoC: and where did you find 'commandBuildIndex'?
23:21:29EXetoCcompiler/docgen.nim
23:21:37flaviuldlework: compiler/docgen.nim:636
23:21:43ldleworkright but how did you /find that/
23:21:57*saml joined #nim
23:22:15flaviuEXetoC: Yeah, but with ack it doesn't look at .git, and with --ignore-dir=nimcache --ignore-dir=csources, it's even more useful
23:22:50ldleworkguys do you have any idea where the actual logic of generating html actually is?
23:22:56ldleworkwhere is the template for the index that this is using?
23:23:01EXetoCok I never got a match in csources
23:23:14BlaXpirit_search for css?
23:23:29ldleworkBlaXpirit_: what
23:23:45BlaXpirit_search all files for "text/css" literally
23:24:01BlaXpirit_ah you're talking about index specifically
23:24:23flaviuldlework: config/nimdoc.cfg
23:24:39*bjz_ joined #nim
23:25:38*bjz quit (Read error: Connection reset by peer)
23:25:47ldleworklib/packages/docutils/rstgen.nim
23:25:50ldleworkjesus
23:25:55ldleworkthis isn't complicated at all :)
23:26:12ldleworkgetting closer :P
23:26:19*saml quit (Client Quit)
23:26:42ldleworkyay line 416
23:26:44BlaXpirit_ah, so many reinvented wheels
23:26:45ldleworkthanks guys
23:26:49ldleworkBlaXpirit_: no kiddin
23:27:06*juhani joined #nim
23:27:12EXetoCround ones or square wheels?
23:27:23ldleworkEXetoC: they are parametric wheels at least
23:28:26ldleworkI wonder how I will go about testing my changes
23:29:10*Sergio965 quit (Remote host closed the connection)
23:30:01*Sergio965 joined #nim
23:30:14*Sergio965 quit (Client Quit)
23:30:33*Sergio965 joined #nim
23:30:35Araqyeah "reinvented wheels". lets invoke some external python script instead which didn't even exist when the code was written
23:31:07Araqthe real question here is why the docutils people never used Nim's improved RST parser and called it a day
23:31:24Araqit's like 20 times faster too
23:31:39Trixar_zaBecause that would be too easy and people never use the easy or obvious solution?
23:32:42EXetoCmust have round wheels down to the molecular level
23:33:12flaviuAraq: There are markdown parsers written in C available.
23:33:48Araqflaviu: in what way is that even relevant?
23:34:28AraqRST has been designed for documentation of programming stuff. markdown ... well I don't even know if that's been designed in the first place
23:34:48flaviuBecause "C library" sounds a lot better than "external python script"
23:34:55ldleworkAraq: haha
23:35:14ldleworkAraq: where should invoke buildIndex to get a full theindex.html
23:35:23flaviuIt hasn't been designed by committee, but it's been designed over time by people
23:35:38flaviuIt's supposed to be similar to plain-text email formatting.
23:35:42Araqby that logic everything has been "designed"
23:36:21flaviuI wouldn't consider that a flaw in the argument.
23:36:38*gmpreussner_ joined #nim
23:36:43*gmpreussner quit (Ping timeout: 255 seconds)
23:36:53Araqthe only reason why everything now uses markdown is that RST is a PITA to implement and the reference impleemntation is unreadable
23:37:13ldleworkDoes anyone know where to invoke `nim buildIndex`
23:37:19flaviuRST isn't fun to use as a user either, IMO
23:37:33Araqyes, much worse than Nim's implementation, spare me, I am the one who actually *tried* to port it
23:38:14ldlework:(
23:38:42Araqldlework: 'koch web' does that
23:38:47ldleworkthanks
23:40:07flaviuAraq: Nothing wrong with just wrapping a library
23:41:02Araqflaviu: nothing wrong with continuing our own stuff which actually works fine already
23:41:18*juhani left #nim ("WeeChat 1.0.1")
23:41:38ldleworkI think its wierd that we piece together html via string concatenation
23:41:49flaviuAs I said, I feel like the RST syntax is inferior. IMO, it's not near as nice as markdown.
23:42:16ldleworknm
23:43:27Trixar_zaIt's not that Markdown is superior to RST, nor that it's easier to use. It's down to to what people are used to or familiar with. Markdown has been spoon fed to people by places like github - that's the only reason people prefer it.
23:43:47BlaXpirit_umm
23:44:07BlaXpirit_no, the reason is rst is ugly, markdown is not
23:44:11AraqRST is superior because it uses indentation based parsing for things like ..code-block avoiding escape hell
23:44:22TriplefoxSo do we need an RST editor or something
23:44:44flaviuTriplefox: That may be part of the reason, but my reasoning is that `.. image:: gnu.png` is too long and annyoing
23:44:45BlaXpirit_Araq, please elaborate on the last sentence
23:44:57BlaXpirit_what do you mean by escape hell
23:45:10Trixar_zaBlaXpirit_: Markdown can get ugly too...
23:45:29BlaXpirit_maybe, but rst is always ugly
23:45:36flaviuAraq: GHFMD uses indentation too, but it also allows you to avoid indentation
23:45:42flaviuwith ```lang
23:45:46TriplefoxI don't think md would help much once you get into actually complex things like images
23:45:47Trixar_zaTry converting a wiki page over to Markdown including tables and tell me again that Markdown is pretty.
23:45:49*tinAndi joined #nim
23:46:02flaviuTrixar_za: Tables are a pain in every markdown language.
23:46:18AraqBlaXpirit_: I write RST for any .txt file I write. it's not ugly by any means.
23:46:30flaviuTrixar_za: RST doesn't really do better: http://sphinx-doc.org/rest.html#tables
23:46:56BlaXpirit_Araq, but what were you saying
23:46:59reactormonkflaviu, except org-mode ;-)
23:47:14BlaXpirit_[:44:11] <Araq> RST is superior because it uses indentation based parsing for things like ..code-block avoiding escape hell
23:47:35flaviureactormonk: I've never touched org-mode, but it seems nice. It's more a property of the tooling than of the table.
23:48:18reactormonkflaviu, yes, indeed. And I really like org-mode to just patch my experimental data somewhere in a section with :noexport: and generating the fancy graphs somewhere in a source-code block
23:49:24*shodan45 quit (Read error: Connection reset by peer)
23:49:32*shodan45_ joined #nim
23:49:43*shodan45_ quit (Client Quit)
23:50:52*shodan45 joined #nim
23:51:59Araqflaviu: RST has been designed so that it reads very well as text on its own as a .txt file
23:52:12ldleworkorg-mode is the amaze
23:52:20Trixar_zaflaviu: True. However that table style is closer to the one I use out of habit.
23:52:35Araqit has not been optimized for saving keystrokes
23:52:46ldleworkRST is totally fine
23:53:12ldleworkbefore markdown, I remember advocating for RST all the time
23:53:20flaviuAraq: I have two complaints: ".." and requiring more than 3 characters for underlining.
23:53:35flaviuThat's my only arguments.
23:53:41flaviuI don't want to type all that.
23:53:48BlaXpirit_Araq, no, no, no, rst definitely doesn't read as normal text
23:53:52BlaXpirit_while markdown does
23:54:02Araq#Header
23:54:04AraqHeader
23:54:07Araq======
23:54:13BlaXpirit_what is this
23:54:17Araqcase closed.
23:54:23BlaXpirit_which case
23:54:30BlaXpirit_you are not explaining anything
23:54:48flaviuAraq: # Header is not part of the spec, as far as I can tell.
23:55:03BlaXpirit_what are you all talking about
23:55:16flaviuRST may be technically superior, but markdown is incredibly easy to use.
23:55:22BlaXpirit_if you think markdown doesn't have ====== header, you are wrong
23:55:38flaviuBlaXpirit_: It does, but it only requires 3 underline characters.
23:55:48BlaXpirit_3 or more
23:55:52flaviuAnd I can use # anyway.
23:56:07AraqBlaXpirit_: ok, I forgot about that syntax :P
23:56:09flaviuBlaXpirit_: I never gave an upper bound :)
23:56:15BlaXpirit_"only"
23:56:20BlaXpirit_whatever
23:57:06BlaXpirit_Araq, please just actually look at some markdown documents
23:57:38*z1y joined #nim
23:58:09BlaXpirit_rst is not technically superior
23:58:12*bjz_ quit (Ping timeout: 245 seconds)
23:58:12TriplefoxWell...which markdown
23:58:15Araqlike our readme.md?
23:58:20BlaXpirit_most of the things that you could call ugly in markdown, are not even possible in rst
23:58:52*ajhager joined #nim
23:58:56flaviuBlaXpirit_: It is technically superior. It has an official method of creating extensions in a non-breaking way.
23:59:02BlaXpirit_that readme.md is definitely not written in the best practices
23:59:12BlaXpirit_yeah but you can't have bold links
23:59:23BlaXpirit_can't have bold links
23:59:30TriplefoxI don't know how anyone could consider md for lengthy documentation
23:59:32BlaXpirit_or part of a link, for that matter