<< 02-12-2013 >>

00:00:15Varriount OrionPKM are you using a gui for git, or just the command line?
00:00:25OrionPKMcommand line
00:00:33VarriountAh, that would be why.
00:00:44OrionPKMthe gui doesnt work for shit
00:00:54VarriountDepends on which one you use.
00:01:10OrionPKMwhich do you use?
00:01:11Varriount<3 GitExtensions (for Windows)
00:02:46VarriountOrionPKM, if you're a linux user -> http://stackoverflow.com/questions/1516720/git-gui-client-for-linux
00:03:00OrionPKMnah im on windows on this box
00:03:25Varriount(Why is it that some of the most helpful questions I see on stackoverflow are always closed?)
00:03:49*tylere quit (Quit: Page closed)
00:04:41VarriountOrionPKM, the only trouble I've had with GitExtensions was setting up an ssh handler (OpenSsh or PuTTy) and that's because I switched from one to the other.
00:08:44*ics quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
00:10:41*ics joined #nimrod
00:57:08*ryeguy joined #nimrod
01:09:39*datura quit (Ping timeout: 252 seconds)
01:32:33*noam_ joined #nimrod
01:33:51*mflamer_ joined #nimrod
01:34:46*mflamer quit (Ping timeout: 245 seconds)
01:36:06*noam quit (Ping timeout: 265 seconds)
01:50:55VarriountAnyone know a nimrod module which makes use of exponent literals, or hexadecimal literals?
01:52:49EXetoClib/pure/md5.nim, lib/pure/htmlparser.nim
01:59:25EXetoClib/pure/basic3d.nim has a couple of exponents
02:26:31*ryeguy quit ()
02:33:34*Varriount_ joined #nimrod
02:37:02*Varriount quit (Ping timeout: 240 seconds)
02:37:03*Varriount_ is now known as Varriount
02:45:11*mflamer joined #nimrod
02:45:36*mflamer_ quit (Ping timeout: 245 seconds)
02:58:11*DAddYE_ quit (Remote host closed the connection)
02:58:37*DAddYE joined #nimrod
03:03:14*DAddYE quit (Ping timeout: 264 seconds)
03:23:56*mflamer quit (Ping timeout: 245 seconds)
03:30:22*DAddYE joined #nimrod
03:30:30*DAddYE quit (Remote host closed the connection)
03:30:36*DAddYE_ joined #nimrod
03:49:10*Varriount_ joined #nimrod
03:49:12*ryeguy joined #nimrod
03:53:02*Varriount quit (Ping timeout: 264 seconds)
03:53:03*Varriount_ is now known as Varriount
03:53:39*brihat quit (Ping timeout: 252 seconds)
03:57:14*brihat joined #nimrod
03:59:10*mflamer joined #nimrod
04:12:09*DAddYE_ quit (Remote host closed the connection)
04:12:37*DAddYE joined #nimrod
04:16:38*DAddYE quit (Ping timeout: 240 seconds)
04:22:22*DAddYE joined #nimrod
04:22:35*DAddYE quit (Remote host closed the connection)
04:22:41*DAddYE joined #nimrod
04:43:01*shodan45 joined #nimrod
04:52:16*brson joined #nimrod
05:05:40*Varriount_ joined #nimrod
05:09:02*Varriount quit (Ping timeout: 240 seconds)
05:09:02*Varriount_ is now known as Varriount
05:14:13*ryeguy quit ()
05:15:26*DAddYE quit (Remote host closed the connection)
05:15:53*DAddYE joined #nimrod
05:17:46mflamerI wonder what it would take to implement a "Top" type in nimrod. A supertype of all types. So a None[Top] could pass for a None[int], None[string] etc.
05:17:49*xenagi quit (Quit: Leaving)
05:20:38*DAddYE quit (Ping timeout: 264 seconds)
05:43:54*ics quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
05:58:38*mflamer quit (Ping timeout: 240 seconds)
06:00:27*isenmann joined #nimrod
06:05:43*brson quit (Ping timeout: 246 seconds)
06:17:13*DAddYE joined #nimrod
06:18:01*ics joined #nimrod
06:19:06*brson joined #nimrod
06:34:34*ics quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
06:50:15*DAddYE_ joined #nimrod
06:50:15*DAddYE quit (Remote host closed the connection)
06:56:54*brson quit (Quit: leaving)
07:19:39*DAddYE_ quit (Remote host closed the connection)
07:20:11*DAddYE joined #nimrod
07:25:04*DAddYE quit (Ping timeout: 240 seconds)
07:30:27*DAddYE joined #nimrod
07:30:37*DAddYE quit (Remote host closed the connection)
07:30:44*DAddYE_ joined #nimrod
08:17:09*Jackneill joined #nimrod
08:47:17*girvo joined #nimrod
08:47:22girvohi all
08:49:58girvoquestion: hows nimrod's ARM support these days?
08:56:10Araqgirvo: people routinely build Nimrod on rasberry pi
08:56:55girvoAraq: yeah I saw the arm6 support on the github page, was curious about cross-compilation to an ARM target
08:57:25Araqcross-compilation works quite well too afaict
08:57:43girvoAraq: sweet! thanks :)
08:58:00girvotrying to compile on my mac atm, as my linux laptop died *sigh
08:58:33Araqthe process is documented here: http://nimrod-lang.org/nimrodc.html#cross-compilation
08:58:56girvoAraq: perfect, thanks so much
09:10:47Araqbbl
09:11:17girvooh, just compiled latest nimrod on OSX Mavericks, worked absolutely perfectly, no issues at all. stoked, was a lot easier than last time too
09:18:03*dirkk0 joined #nimrod
09:22:48girvowhat editor is best for a mac? most of the ones on the wiki rely on gtk which i've been struggling with (I use homebrew, not ports, so i can't get compilation to work properly)
09:26:37*DAddYE_ quit (Remote host closed the connection)
09:27:04*DAddYE joined #nimrod
09:31:26*DAddYE quit (Ping timeout: 240 seconds)
09:31:36dirkk0I use Sublime Text 2 - which works very well, but would rather switch to an open source alternative.
09:40:42girvodirkk0: yeah I use it too, but I wanted to find an editor that is similar to Geany but works on mac. SciTE seemed like it'd fit, but they're asking $49 for something that is FOSS on other platforms... leaves a bad taste in my mouth
09:41:15girvoso now I just forked QSciTE (a QT clone) and am going to see if I can't get it up to date and nice first-class support of Nimrod into it. Really simple code-base, i'm impressed
09:43:23girvolatest binary doesn't run on mavericks, but i'm compiling the source now, so we'll see
09:47:11girvohell, maybe it's worth building one in Nimrod, an Aporia clone that is mac-native... but i'd probably be biting off more than I can chew there
09:55:16dirkk0cool
09:55:46dirkk0I wonder what's wrong with gtk?
10:27:50*DAddYE joined #nimrod
10:32:38*DAddYE quit (Ping timeout: 240 seconds)
10:34:51*dirkk0 quit (Ping timeout: 250 seconds)
10:37:41*dirkk0 joined #nimrod
10:54:13*q66_ joined #nimrod
10:54:43*q66 quit (Disconnected by services)
10:54:45*q66_ is now known as q66
11:30:11*DAddYE joined #nimrod
11:35:26*DAddYE quit (Ping timeout: 240 seconds)
11:43:50*yodi joined #nimrod
11:44:35yodihi all
11:46:03*CarpNet joined #nimrod
11:49:26*BitPuffin joined #nimrod
11:49:40EXetoCyodi: hi
11:50:19yodiso what's the status of the sensitive vs insensitive convention?
11:55:00*_dymk joined #nimrod
11:56:26*zielmicha joined #nimrod
11:57:38*dymk quit (Ping timeout: 240 seconds)
11:57:39*dom96 quit (Ping timeout: 240 seconds)
11:57:43*Amrykid quit (Ping timeout: 240 seconds)
11:57:51*Amrykid joined #nimrod
11:57:51*dom96 joined #nimrod
11:58:24*dom96 quit (Changing host)
11:58:24*dom96 joined #nimrod
12:00:48EXetoCyodi: it's not a convention. I think it might go from case insensitive to case sensitive soon
12:03:23EXetoCI'm assuming that you're referring to *case* (in)sensitivity
12:04:02EXetoCactually, I need to read that thread again
12:05:31yodiyes, that's what i meant
12:11:04EXetoCthe hybrid solution presented here http://forum.nimrod-lang.org/t/191/4 seems alright
12:12:43EXetoCbut I don't know if having a specialized grep tool is good enough. people might want to resort to alternatives for whatever reason, and that will be an inconvenience
12:15:02BitPuffinEXetoC: who needs a grep tool when there's ack?
12:15:07BitPuffinwoop woop
12:15:09BitPuffinwell
12:15:12BitPuffingrep is still useful
12:15:15BitPuffinbut not for code
12:15:49BitPuffinOH GASH NEW KÖRNÖL
12:16:34BitPuffinmein kürnel
12:18:43BitPuffinmein mirhor ist langsam
12:22:26yodiExetoC: thanks for the link
12:23:02EXetoCnp
12:23:56*BitPuffin quit (Ping timeout: 245 seconds)
12:27:39*BitPuffin joined #nimrod
12:28:12BitPuffinback!
12:31:13BitPuffindom96: sorry got a bit held up yesterday by family stuff and may have also ended up playing some dota 2
12:31:21BitPuffinI'll try to get it done and write the article asap :P
12:31:49*DAddYE joined #nimrod
12:32:13EXetoCBitPuffin: well, I encountered your arguments anyway with the fact that the shell I use now has aliases and globbing
12:32:30EXetoCgood defaults are useful, but I haven't had to distribute any such scripts yet
12:33:56EXetoCnimgrep has --replace. neat
12:34:15BitPuffinEXetoC: well ack is also faster
12:34:29BitPuffinwhich might not matter with a small codebase
12:34:30BitPuffinbut still
12:34:45BitPuffinActually both grep and ack are useful, but for different things
12:35:58BitPuffinEXetoC: I think you should at least try it
12:36:35*DAddYE quit (Ping timeout: 260 seconds)
12:43:36Araqyodi: the compiler supports --cs:partial so that Foo and foo are different. I plan to make the stdlib and the compiler itself compile with --cs:partial. Later it will be the default. Note that --cs:full might be provided even later, but I really like the "partial" solution and think it should work really well.
12:44:48Araq"nimrod pretty" can do the style enforcings/changes but it's still a bit buggy
12:45:59BitPuffinAraq: case insensitivity is being phased out? :(
12:46:08yodiAraq: thanks, love to have a crack at it. The language is looking great
12:47:13BitPuffinor style insensitivity
12:48:57AraqBitPuffin: well underscores are still optional and you'll have a hard time to convince me they shouldn't be
12:49:34yodiAraq: would that partial flag work in conjunction with interactive mode?
12:50:10Araqyodi: the interactive mode is still broken enough to be unusable
12:50:46EXetoCAraq: you don't like single-letter prefixes? it's very concise
12:50:57AraqEXetoC: lol?
12:51:29EXetoCfor types. you proposed ~3 letter suffixes in that thread
12:51:42EXetoCactually
12:51:47yodiAraq: fair enough
12:51:51Araqwell I don't mind T P E prefixes obviously
12:52:45Araqbut enough people do mind them and what's worse among them people who can code ...
12:52:45BitPuffinAraq: oh really? How come?
12:52:58EXetoCif by primary types you mean the type that's supposed to be used in most cases, then it doesn't matter too much I guess. that means the name contains less information than before though
12:53:12BitPuffinthe thing is that with case sensitivity and optional underscore it's just gonna be weird to have underscore
12:53:19BitPuffintake for example fooBar proc
12:53:29BitPuffinwith underscore I think that looks best as foo_bar proc
12:53:39BitPuffinand I think foo_Bar proc looks silly
12:53:59EXetoC"No style is enforced and underscores remain optional but the first letter (and only that) is case sensitive, so 'var parser: Parser' becomes valid in more contexts"
12:54:02AraqBitPuffin: you're right cs:full with optional underscores is weird
12:54:12EXetoCif that's even relevant anymore
12:54:30AraqEXetoC: that's exactly what --cs:partial implements
12:55:12BitPuffinproblem is that people using cs:full in their projects with third party libs with a different style than them are gonna have a hard time
12:57:24AraqBitPuffin: I don't plan to provide cs:full for now. I think cs:partial is the best solution.
12:59:10EXetoCAraq: so these people think a ~3 letter suffix is better? oh well
12:59:33AraqEXetoC: well the suffix is irrelevant since it's so rarely used
13:03:08zielmichaWhat's the proffered model of contribution? Pull requests on Github?
13:03:25Araqyes
13:03:54BitPuffinAraq: actually first letter sensitivity is pretty nice in some ways. I know that I've accidentally done stuff like proc foo[T](t: T): T =
13:03:54Araqor just provide a babel package, depending on what you do
13:04:16BitPuffinand gotten a scary error message that takes yeras to decrypt
13:04:24AraqBitPuffin: that works I think but relies on weird scoping rules
13:04:45Araqin the proc body you can get issues then though
13:05:38BitPuffinhow come ?
13:06:12BitPuffinbut with that first letter thing does that also mean that if someone writes a ProcLikeThis it has to become Proc_like_this ?
13:06:41EXetoCAraq: this means that less information will be presented to the user. do you consider this a minor issue?
13:07:15AraqBitPuffin: no
13:07:31EXetoCI assume that primary types can be pointers etc. that seems to be implied
13:07:43AraqEXetoC: I consider this a classical "wie man sich bettet so ruht man"
13:07:44EXetoC*should
13:09:38AraqEXetoC: people don't care. It's ugly, so it must go.
13:09:48Araqnever mind it encoded valuable information
13:15:54zielmichawhy there are both TStreams and TFiles? They seem to do the same job.
13:17:14EXetoChopefully they are confident that it will indeed only have a minor effect on readability in practice
13:20:31yodia serious question for you guys, regardless of style (camel vs underscore) but why not case sensitity?
13:20:53Araqzielmicha: TFile is C's FILE* and it's hard to add features on top of these
13:22:03Araqyodi: the original idea was that you either want under_scores or camelCase. and that consistently everywhere. So what do you do? You make the compiler not care and then your editor can show the identifiers as you prefer.
13:25:27Araqbut editors are still too primitive and people can't even think of how better tools should look like... :P
13:25:50C0C0Araq: +1
13:26:16C0C0(but I can think of a lot of ways editors could be better)
13:26:52yodiAraq: hmm... i see the trouble of trying to please both camps
13:27:42EXetoCand then you need somehow be able to adhere to the column limit of said project
13:28:29C0C0I would love to see a texteditor that offers multiple views on the text
13:28:57C0C0e.G. {} style blocks / indentation style blocks / do ... end style blocks
13:29:09C0C0or "hide type declarations while not editing"
13:33:07*DAddYE joined #nimrod
13:36:53*dirkk0 quit (Ping timeout: 272 seconds)
13:37:23*DAddYE quit (Ping timeout: 252 seconds)
13:37:39AraqC0C0: that was my idea too :-)
13:38:04yodieither way, i don't think we can't fully escape the camelCase vs under_scores. Code are are mostly read anyway
13:38:36Araqwell the coding convention is camelCase, yodi
13:38:55Araqsome exceptions like GC_disable exist though
13:42:15yodii don't mind camelCase or under_scores as long as it is consistent
13:45:37Araqanother idea of me was to forbid underscores in identifiers and make it case sensitive
13:46:10Araqthan you only have the problem that some fool considers isupper a perfectly good name
13:47:06yodiyeah i suppose you can't stop people from having stupid names
13:47:30yodiin any convention
13:47:33Araqactually the alllowercasestyle is really handy in a REPL
13:47:50Araqand I like that it simply works with the current Nimrod
13:48:17yodihehe i just read that as "Allow Case Style"
13:48:21yodiit's getting late
13:48:36Araq;-)
13:49:25yodiis there such a mode?
13:49:31yodii love to play around with it
13:49:51Araqwell the current Nimrod is case insentitive and underscores are ignored, so go ahead and have fun
13:50:38yodioh yeh that's right
13:51:07yodii thought i might have to turn "strict mode" vb style
14:17:47*yodi quit (Quit: Page closed)
14:34:51*DAddYE joined #nimrod
14:37:11*dirkk0 joined #nimrod
14:38:20*q66_ joined #nimrod
14:38:42*q66 quit (Disconnected by services)
14:38:44*q66_ is now known as q66
14:39:19*DAddYE quit (Ping timeout: 260 seconds)
14:53:29*noam_ quit (Disconnected by services)
14:53:55*noam__ joined #nimrod
14:57:06*datura joined #nimrod
15:04:05*tylere joined #nimrod
15:04:54tylereHas any thought been given to sugaring up variant types a bit. E.g. Instead of having an explicit "kind" field or similar, declare that implicitly and then be able to use the values as contstructors?
15:06:11tylere(this would be functionally identical to the current system using an enum, but syntactically in a client code would be a bit more ML-ish)
15:09:53zahary_you could try to deliver it as a library;
15:09:53zahary_algebraic Foo:
15:09:53zahary_ Bar(int, string)
15:09:53zahary_ Baz(float)
15:10:03tylereAhh right, duh, macros ;)
15:10:23tylerebut yea, that's sort of what I'm thinking
15:12:48*mflamer joined #nimrod
15:13:23tylereThis is kinda what I'm thinking of
15:13:23tylerehttps://gist.github.com/tylereaves/7750953
15:19:54*mflamer quit (Ping timeout: 272 seconds)
15:21:14*girvo quit (Quit: My iMac has gone to sleep. ZZZzzz…)
15:36:09*DAddYE joined #nimrod
15:38:14zahary_it can be done with the syntax I described. the nkIf and nkFloat constructors will have to be procs after the macro expansions, because a regular enum could be associated with multiple case types and it won't be clear which one is being constructed
15:39:14tylereyea
15:39:14zahary_you also know about the current object construction syntax that is not very far off from the example, right?
15:39:29tylereyea
15:39:54tylerethe bit of code that got me thinking about this was an implementation of a Maybe type which struck me as very ugly
15:40:14tylerebecause you had to pass in a hasValue boolean in addition to the value
15:40:34tylerejust seems a little weird that that last little bit of sugar for full variant types isn't there in core
15:40:44zahary_well, it's just a missing constructor on the other hand
15:40:54tyleresince ADT are such a strong selling point, even wihtout fullblown pattern matching
15:42:34*ics joined #nimrod
15:43:49*DAddYE quit (Ping timeout: 260 seconds)
15:56:05*datura quit (Ping timeout: 246 seconds)
16:01:45*noam__ is now known as noam
16:10:55*datura joined #nimrod
16:39:36*shevy joined #nimrod
16:39:46shevyteach me daily nimrod code snippets!
16:40:16*DAddYE joined #nimrod
16:44:57*DAddYE quit (Ping timeout: 260 seconds)
16:45:17*MFlamer joined #nimrod
16:46:17*Varriount_ joined #nimrod
16:46:17dom96oh cool, just realised i'm not the only Polish person in here. Finally.
16:46:17dom96zielmicha: Cześć :)
16:46:57*faassen joined #nimrod
16:50:12*Varriount quit (Ping timeout: 264 seconds)
16:50:12*Varriount_ is now known as Varriount
17:03:37*hoverbear joined #nimrod
17:06:57zielmichadom96: hej
17:09:38*Varriount_ joined #nimrod
17:13:19*Varriount quit (Ping timeout: 260 seconds)
17:13:20*Varriount_ is now known as Varriount
17:50:58*ics quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
17:53:29*DAddYE joined #nimrod
17:53:34*DAddYE quit (Remote host closed the connection)
17:53:46*DAddYE joined #nimrod
17:58:04*ics joined #nimrod
18:01:32*dirkk0 quit (Quit: This computer has gone to sleep)
18:05:06*ics quit (Ping timeout: 246 seconds)
18:07:08*ics joined #nimrod
18:07:42Araqtylere: and how should that sugar look like exactly?
18:08:05tylerehi Araq
18:08:07tyleresorry, was a way
18:08:28tylereso basically, in my proposed syxtax (see the gist I posted), the each case would be tagged
18:08:34tylerethat would be the name of the constructor function
18:08:42tylerewith args as appropriate for that branch
18:09:23tylerehttps://gist.github.com/tylereaves/7750953
18:09:35Araqwhat if the enum is used in a discriminant in another object?
18:10:07tylereprobably the right thing to do is A: make the actual enum hidden behind the scenes, and B: just call that a conflict
18:10:17tylereor maybe overload if it's possible to determine
18:10:38tylerebut in the languges I've used ADTs in that would be a compile time error
18:10:46tylereonly one constructor per name
18:11:15Araqwell Nimrod's approach is more flexible
18:11:29AraqI know you can't accept that. It's true anyway.
18:11:42tylereI don't deny it as more flexible
18:12:01tylerebut I also don't see what would be wrong with having more consise (= less error prone) syntax for the most common use casse
18:16:34Araqwell it's only a macro away
18:17:40Araqnimrod's enums can be used as array index and in bit sets. Hiding the enum sounds like a bad idea to me
18:18:12*faassen left #nimrod (#nimrod)
18:23:50*Varriount_ joined #nimrod
18:27:12*Varriount quit (Ping timeout: 246 seconds)
18:27:12*Varriount_ is now known as Varriount
18:27:20VarriountHrm, this is odd.
18:30:52VarriountAraq, what is the reasoning behind the decision to disallow escape sequences in triple-quoted string literals?
18:33:24Araqwysiwyg principle for """ strings seemed to be the natural thing to do
18:33:47AraqI consider python's way weird
18:39:20VarriountAraq, but then, what if you do need non-raw triple quoted string literals?
18:39:38VarriountIs there any way to re-escape a string? (I think there is?)
18:40:59Araqwhat's the use case for a non-raw triple quoted string?
18:41:15Araqanyway, you can do """bli""" & "\n\n" & """blub"""
18:42:09zielmichaAre there any conventions on whitespace in Nimrod compiler/lib?
18:42:58Araq2 spaces for indentation, avoid ascii art, and for F's sake use foo(a, b) and not foo (a, b)
18:42:59zielmichaI couldn't get Emacs to properly modify both news.txt and strutils.nim.
18:43:17zielmichaI mean CR vs CR-LF and trailing whitespace.
18:43:37VarriountStick with whatever was there first?
18:43:44Araqwell trailing whitespace is a problem as is LF vs CR-LF in the repo
18:44:01Araqbut I dislike huge changelogs with "cleaned up whitespace"
18:44:12Araqbut thanks for reminding me
18:44:26tylereAraq: Are the markdown sources from the doc auto generated from something else, or are those the raw source forms? I assume at least the library doc is autogened
18:44:42Araqall is autogened
18:44:56Araqwell
18:45:03Araqit's all a dialect of RST
18:45:05VarriountEmacs can't auto-detect line endings?
18:45:08Araqand the RST is written by hand
18:45:33zielmicha@Varriount: It can, but only if only one is used in file
18:45:36*Hannibal_Smith joined #nimrod
18:45:40tylereAre those RST available online anywhere?
18:45:55VarriountHuh, I didn't know files could have mixed line-endings.
18:45:56tylereI have an idea to perhaps work on a transform to LaTeX sources so we can have nice PDFs
18:46:16Araqnimrod's docutils can already generate LaTeX
18:46:20tylereahh
18:46:29Araqand there is a PDF version somewhere
18:46:46*Hannibal_Smith quit (Client Quit)
18:47:15Araqspeaking of which
18:47:18*Hannibal_Smith joined #nimrod
18:47:32Araqdocumentation for the docgen and what it can do are needed
18:47:52Araqit's pretty much completely undocumented
18:48:13Araqtylere: the sources are the .txt files in doc/ and web/
18:48:20tylereAraq: gotcha
18:49:54*dirkk0 joined #nimrod
18:53:31Araqtylere: I build the website and all of the documentation with "koch web"
18:53:56Araqso looking at koch.nim the web proc ends up calling tools/nimweb.nim
18:54:30MFlamerAraq: I think I've realized something obvious. An ADT implementation really needs to be either based on a union or pointer(ref). Tweaking the back end to gen strucs for each variant dosent let the C pass them as 1 type. Unless I'm missing something, this would mean specializing each generated function for each variant, which is stupid
18:54:52MFlamerAnd probably why you used unions in the first place
18:55:28Araqtools/webnim ends up calling the compiler in various ways
18:55:37Araqthis setup is a bit complex but works nicely
18:57:24AraqMFlamer: you're right but your way with structs would work too. But it requires to generate some (more?) casts.
18:57:59MFlamerhmm, I'll take a look at that.
18:58:31Araqbasically pass a void* around and for field access do ((propertype*) p)->field
18:59:49MFlamertylere: I've been messing with object variants and ADT on and off for a couple weeks now. I'm planning on adding a macro to emulate Haskell syntax sometime soon. Let me know if you start on anything like this
19:00:06tylereMFlamer: I'm definatly not that far along yet
19:00:11tylerestill learning the basics
19:00:17tylerebut would be excited to see any developments
19:00:38tylereMy ideal language is basically a pragmatic impure, non-monadic haskell
19:00:38MFlamerAraq: is that article public yet?
19:00:42Hannibal_SmithMFlamer, there are some reasons for emulate Haskell and not, for say, Standard ML?
19:00:44tylerewhich makes no sense, but maybe you get the idea
19:00:57MFlamerYou and me are on a very similar path then
19:01:01tylereHannibal_Smith: the symantics for ADTs between the two are very similar
19:01:34MFlamerI'm just talking about haskell ADT, GADT syntax
19:01:36AraqHannibal_Smith: I think it's because Standard ML is really an underdog now and nowbody knows it.
19:02:04tylereAraq: It's kinda funny...the was a time, maybe 7-8 years ago, when for a brief moment it looked like Ocaml was gonna take over the world
19:02:10MFlamerThere are many thing I like about haskell....and many that should just stay in Haskell
19:02:13tylereIt was all the rage on /. and those sort of forums
19:03:02Araqtylere: yeah I wonder what happend. It's really a nice language.
19:03:29*hoverbear quit (Quit: Textual IRC Client: www.textualapp.com)
19:03:42tylereAraq: It is, on paper
19:03:53tylereAraq: I always found it really annoying to actually work with though
19:04:07tylere(syntax quirks, and error messages that feel like they've been run through babelfish...)
19:04:21tyleredocumentation was never very good, which certainly hurt it
19:04:35AraqMFlamer: the article will not be online before january 2014. I dunno what to do with the really cool new stuff in it.
19:04:36tylereone really good english-language book at the right time could have made a difference I think
19:05:10Araqmy major gripe with it was that array of float had to be special cased for performance in the type system.
19:05:23Araqthat doesn't feel right for systems programming at all.
19:05:30tylereAraq: Ahh, yes! that's what I hated
19:05:32tylerethe math syntax
19:05:35MFlamerI was going to point tylere to it, seems like he has similar taste to me
19:05:36tylereI knew it was something
19:07:26*shevy left #nimrod ("I'll be back ... maybe")
19:10:37MFlamertylere: stick around. I think with a little time Nimrod can get us close to that language. I fantasized about creating a new LLVM based, impure non monadic haskell like language. Then found Nimrod a few months ago.
19:11:04tylereI plan on it
19:11:20tylereStarting a new job early next year where I will be working about 99% in python
19:11:24tylerewhich is not a bad language
19:11:37tylerebut I have a feeling there might be some performance critical things that might offer possibilties
19:11:56tylereI'm currently using Go for that sort of thing, but I don't really like Go, other than the short learning curve
19:12:00Hannibal_Smithtylere, do the Python way! Write C!
19:12:12Hannibal_Smithtylere, Go and performance don't mix
19:12:14Araqno write the extensions in Nimrod
19:12:35Araqand document the process while you do it. It's easy in fact.
19:12:52*Araq should stop saying "easy".
19:13:01tylereHannibal_Smith: Actually for the kind of stuff I've done in it, Go honestly has performed very well... but it's been highly concurrent rather than number-crunching type things
19:15:04Hannibal_SmithHow many goroutines?
19:15:40tylereI would spool up several hundred sometimes
19:15:47tylerefor stuff like load testing our website
19:15:54tylerePython...doesn't handle that very well
19:16:20Varriounttylere, even with pypy?
19:16:20Hannibal_SmithIn Python you would end using something like Twited of Stackless
19:16:29Hannibal_Smith*Twisted
19:16:37tylereVarriount: Haven't really gotten into pypy too much
19:16:45Hannibal_SmithAnd the result are terrible, IMHO
19:16:53Hannibal_Smith*or Stackless
19:17:12Hannibal_SmithAhh my english is also terrible
19:19:02Hannibal_SmithI did rewrite a socket server from Python + Greensomethinglibrary (I don't rembember, wall an hyped library for using epoll with a good interface in Python)
19:19:13Hannibal_SmithI ended rewriting it in C#
19:19:25Hannibal_Smith*was an
19:20:50Hannibal_SmithAh, this http://gevent.org
19:20:54Araqzielmicha: if your editor ends up "fixing" the whitespace, don't worry. We don't reject pull requests because of that. Just don't make a pull request touching every file and fixing ws.
19:21:12*dirkk0 quit (Quit: This computer has gone to sleep)
19:22:05Araqfor me it's more important you're doing productive work instead of following some religious rules
19:24:03Hannibal_SmithC# is a messy language, but let you do the work
19:24:32AraqHannibal_Smith: depends. The lack of "typedef" sometimes makes me furious
19:24:54Hannibal_SmithGeneric programming in C# is horrible, yes great point
19:25:06*gradha joined #nimrod
19:29:27*MFlamer quit (Ping timeout: 246 seconds)
19:29:56Hannibal_SmithAs you look at a language, you end find so many problems
19:30:11Araqhi gradha, seems like you found your whitespace issue. awaitin' your patch.
19:30:36gradhaAraq: you mean adding the flag to the set?
19:30:54Hannibal_SmithI can't undestand how people claims that "Haskell let you write safe code" when all code in Haskell basically has space leaking bugs
19:31:11Hannibal_Smith*basically any software
19:31:30Araqgradha: yes
19:31:49tylereHannibal_Smith: I think the mistake most of the Haskell folks make is that they make the leap from "our compiler is pretty spiffy" to "our compiler is (theoretically) perfect"
19:31:51gradhadunno, might break something important
19:32:04tylere<insert joke about the difference between theory and practice here>
19:32:35Hannibal_Smithtylere, the end using library like pipe or conduit and make flamewar between library
19:32:45Hannibal_Smith*they end
19:32:50Araqwell zielmicha suggested you can introduce another parameter, gradha
19:32:58Hannibal_SmithAnd then "no problem, Haskell is very safe language"
19:33:26Araqand btw. Adding a default parameter only works thanks to the required 'procvar' pragma ...
19:33:41Araq;-)
19:33:50gradhaI'm still musing on why the htmlparser code expects xmlWhitespace when it never gets them
19:34:45Hannibal_Smithtylere, and I never understand how can people debug Haskell code
19:34:57Hannibal_SmithThey claims that "use test make debug futile"
19:34:58Hannibal_Smith...
19:35:03Araqwell xml/html is really strange when it comes to whitespace
19:35:08Hannibal_Smith*unit testing
19:35:22Araqeverybody considers it unimportant and yet it is important
19:36:22Hannibal_SmithIt's like Go that let you use assembly, because you can't use intrinsic
19:37:36Hannibal_SmithWhat "great language" are now considerated modern
19:37:54Hannibal_SmithSo the only hope is Nimrod :-P
19:38:06Hannibal_SmithOr Standard ML :°D
19:38:15gradhathe thing is, with or without parameter, htmlparser still doesn't handle whitespace properly, AFAIK more than a single whitespace char has to be coalesced into a space, but that's not being done
19:38:21OrionPKMaraq reject that pull request and i'll submit a different one later tonight
19:38:35AraqOrionPKM: alright, great
19:38:55Araqgradha: well I consider this part of the xml spec to be insane
19:39:08gradhabut HTML isn't XML, is it?
19:39:18Araqhtml, xml whatever
19:39:48gradhathen I'll fix it in an incorrect way that is less broken for the moment
19:40:12Araqyeah, that's the Nimrod way. *cough*
19:40:42*zielmicha quit (Ping timeout: 246 seconds)
19:40:56tylereugh
19:41:38tylereAlways cringe a bit over the name (no offense)...in 1950's american english (probably british english as well), nimrod is rather not-positive slang
19:41:41gradhaI was actually surprised htmlparser uses parsexml, as the handling of both is different
19:41:53tylerebut i'm sure I'm not the first to mention that
19:42:27gradhatylere: in spanish nimrod is slang for "blackjack, hookers and honey badgers"
19:43:07Araqtylere: the truth is: When I decided on that name, I wasn't even aware "Nimrod" is an English word! It certainly doesn't sound English.
19:43:42gradhadoesn't it mean dongle? like, from "nim's bigger than yours rod"?
19:44:07tylerethe sense, at least in american enlish, is, roughly "idiot"
19:44:12AraqAnd a language in which Turkey is both an animal and a country already has quite some problems...
19:44:16tylereor possibly "slow witted"
19:44:18tylereAraq: heh
19:44:32tylereAraq: and I'm sure german has a word for that
19:44:33Hannibal_SmithAhahaah
19:44:40tylerewith at least 15 syllables
19:44:45gradhalet's rewrite GIMP in Nimrod, for american audiences
19:44:45EXetoCnatural languages m8 :>
19:44:46tylereall languages have their warts ;P
19:44:54EXetoCLojban ftw
19:45:34Araqtylere: I consider "nim" an acceptable nickname
19:45:41tylerethat works
19:45:52tylereIsn't there already a language called nym though?
19:46:19tylereapparently not
19:46:27tylereI could have sworn that rang a bell though
19:46:45gradhatylere: the name is not that important, since we have as a mascot a honey badger
19:47:11Araqwell it's too late to change the name now and since the competitors all got it wrong too, it's not too bad
19:47:33Araq(can't google for D and Go, "Rust" is ugly too)
19:47:46Hannibal_SmithGo!
19:47:48Hannibal_SmithAhahaha
19:48:01Hannibal_Smith$GOHOME!
19:48:25EXetoCdon't you need to stick "programming (language)" onto nimrod also? since it has plenty of meanings
19:48:42AraqEXetoC: hmm good point I guess
19:49:20Hannibal_SmithLisp got a pretty good name
19:49:28gradhaOrionPKM: the clippy I have here thinks you need help with a pull request
19:49:32tylerespeaking of names (sort of)... www.nimrod-code.org redirects but nimrod-code.org does not
19:49:55Araqdoes for me now
19:50:01EXetoClet's go with nimlang, or maybe something like jcsgk!
19:50:03Araqit's some caching issue
19:50:08AraqI had the same problem
19:51:11*MFlamer joined #nimrod
19:59:53OrionPKMthanks gradha :P
20:01:55*MFlamer quit (Read error: Connection reset by peer)
20:03:02*MFlamer joined #nimrod
20:07:03Araqbbl
20:08:28MFlamersee ya
20:08:31*rndbit` joined #nimrod
20:10:51*rndbit quit (Ping timeout: 250 seconds)
20:10:52*rndbit` is now known as rndbit
20:16:50*Varriount_ joined #nimrod
20:20:15*Varriount quit (Ping timeout: 246 seconds)
20:21:56*tylere quit (Remote host closed the connection)
20:30:59*Varriount_ is now known as Varriount
20:34:37*dom96 quit (Excess Flood)
20:34:56*dom96 joined #nimrod
20:56:17*MFlamer quit (Ping timeout: 252 seconds)
21:18:14*noam_ joined #nimrod
21:21:23*noam__ joined #nimrod
21:21:51*noam quit (Ping timeout: 272 seconds)
21:24:50*noam_ quit (Ping timeout: 264 seconds)
21:31:50*Varriount_ joined #nimrod
21:34:19*noam joined #nimrod
21:35:36*Varriount quit (Ping timeout: 260 seconds)
21:35:36*Varriount_ is now known as Varriount
21:36:44*noam__ quit (Ping timeout: 246 seconds)
21:37:32Araqgradha: whether you want it or not, I'm giving you write access to the repository now
21:39:39Araqyou can always request a code review of course
21:40:19gradhaeeeeeeeh
21:41:51gradhaI'm already crumbling under the pressure… need… to… drink… more…
21:44:00*IrvMG joined #nimrod
21:44:01Araqha, Lindsay Lohan wants to sue GTA 5
21:44:35gradhaamazing, Lindsay Lohan is still alive?
21:45:00*MFlamer joined #nimrod
21:47:01IrvMGHello
21:47:10Araqonly her soul, her amazing body is gone
21:47:38IrvMGBiggestInt to string ?
21:47:48Araq$ doesn't work?
21:48:17Araq$ pretty much turns everything into a string
21:48:34gradhaAraq: I went to lambda the ultimate and they say nothing of Lindsay, aren't you making it up?
21:48:47IrvMGummm $JSON[BiggestInt].num ?
21:49:23IrvMGor only: $JSON["key"]
21:49:40Araqdunno try both
21:50:04Araq$ for Json is not playing nice according to BitPuffin
21:50:27dom96$json["key"].num
21:51:02Araqdom96: any idea what we break if we change $ for Json?
21:51:09*Araq bets nimbuild will break
21:51:37dom96what's wrong with $ for json?
21:52:12Araq$json["key"] == "value" does not do what people expect
21:52:42gradhait can hardly do for anything other than strings
21:52:50Hannibal_SmithOT: http://overwatering.org/blog/2013/12/scala-1-star-would-not-program-again/ wow, these people deserve to use Go
21:54:53gradhawell, a single sentence with the words java, xsl and xml, sounds like only PITA will come next
21:55:19dom96Araq: Yeah, that will break quite a lot i'd say
21:55:59dom96IMO the current $ makes sense
21:56:45dom96But then again, perhaps it fits the definition of 'repr' more.
21:56:51*gradha wonders what should he do with his new repository superpowers
21:56:51dom96But we can't name it that.
21:57:04dom96gradha: SEO optimisations!
21:57:12dom96needs more britney
21:57:13gradhaLindsay sounds like a good start, yes
21:57:22gradhaAnd then Rianna
21:57:29gradhawait, I don't know how to spell her
21:57:38gradhachicks names are so complicated nowadays
21:57:42dom96Rihanna lol
21:59:10dom96gradha: I'll add you to the nimrod-code org too :)
21:59:34gradhadom96: ho ho, still don't understand why you are giving scissors to somebody who likes running around with them
22:00:29dom96gradha: Because you are exceptionally good at running with them :P
22:00:42IrvMGAraq thanks
22:01:40gradhawhat I don't understand is why, I mean, I could be your little minion accepting pull requests, but does it bother you so much to open a webbrowser and click "merge pull request"?
22:02:47gradhatalking about PR, is there any way to checkout a OrionPKM's PR without him having pushed his repo fork?
22:02:48dom96I dunno. Araq added you to his repo and I felt like I needed to fit in.
22:05:18gradhagoogle is broken, I asked for pictures of Lindsay and got pictures of zombies back
22:05:35EXetoClols
22:07:03IrvMGhttp://en.wikipedia.org/wiki/Nimrod_(programming_language) ? okno (:
22:08:19*Amrykid quit (Excess Flood)
22:08:26*Amrykid joined #nimrod
22:09:58gradhamaybe we should a wikipedia article on zahary's hypolang, then mention it was inspired by nimrod, and have that as a source
22:10:17gradhawould wikipedia implode referencing itself?
22:10:29EXetoCcan symbols be excluded when exporting a module?
22:10:52gradhaEXetoC: symbols aren't exported by default, you append *
22:11:35*Amrykid quit (Changing host)
22:11:35*Amrykid joined #nimrod
22:11:36gradhaand presumably "export B.TMyObject" deals with exporting that single symbol and not the rest
22:11:52AraqEXetoC: perhaps you're asking for "import module except foo" which exists too
22:12:56gradhaso if I publish an opensoure ios app implemented in nimrod, is that a valid wikipedia source?
22:12:57EXetoCyes but I'm referring to the export keyword. 'except' since to exist only for import
22:13:21EXetoCI'm trying to avoid exporting TRect from opengl.nim, so as to avoid collisions
22:13:49Araqgradha: when I publish a fucking book about Nimrod that's not a valid source, since it's from me ...
22:14:15gradhawell, revoke my repo superpowers then? I'm a nobody after all
22:14:35Araqwell blog articles don't count either
22:14:42*gradha goes sobbing to a corner for not being a good wikipedia source
22:14:42AraqI'll remove you once your book is ready
22:17:27Araqgradha: 'export' really is meant for symbol forwarding from another module, not as a replacement for *
22:18:09fowlAraq, after deleting opengl from HEAD and using the babel package, sometimes loading the opengl module hangs
22:18:54fowlwell, its fine to import opengl but my project calls glx* functions i think thats the problem, your fancy loading stuff
22:20:11EXetoCwill make an enhancement request then
22:20:59fowlhere's a non-nimrod reference to nimrod: http://steved-imaginaryreal.blogspot.com/2013/09/nimrod-return-of-pascal.html so lets remake the article?
22:21:50EXetoCdom96: hey, where's your example? :p https://github.com/Araq/Nimrod/issues/177
22:22:07Araqfowl: we tried that, but it's only a blog and anonymous
22:22:10gradhafowl: you need to establish first that blog as a reliable independant source of midichlorians in the eyes of wikipedia deletionists
22:22:48fowllol..weird
22:22:51dom96EXetoC: It's not that hard to reproduce it IMO.
22:23:03fowli've seen languages with shorter articles with no references
22:23:09fowlmaybe it just needs to be shorter
22:23:31dom96fowl: Read the talk pages and the HN thread.
22:23:57fowlnah nvm i'll let you guys sort it out
22:25:00gradhathe problem is likely nimrod attracting the gaze of people due to having other meanings, while "the blackjack programming language" could go unter their radar for long
22:26:25Araqfowl: well I can't imagine the reason for your opengl issue. can you try both versions and diff the generated C?
22:26:43fowlsure
22:26:44*gradha puts on the nimrod-code team crown and looks into the mirror
22:27:04*Araq is sure gradha feels like a badger now
22:29:44fowlAraq, oh i cant get the generated c because it hangs at Hint: opengl [Processing]
22:32:02Araqoh ... you mean the compiler hangs?
22:32:18AraqI thought the resulting exe doesn't work
22:32:44Araqwell "koch boot" CTRL+C the debug compiler and come up with a stack trace then
22:32:57*gradha toasts to his new superpowers with a glass of egg liquor
22:33:08EXetoCmmh, egg
22:33:19AraqI had cherry liquor, gradha :-)
22:33:32Araqbut only because my stomach started a rebellion
22:33:52gradhayeah, I'm pretty sick myself… everyday, and need treatment
22:34:04dom96good night guys
22:34:08fowlnight
22:34:09gradhabye
22:34:34gradhashould I try my new superpowers with https://github.com/Araq/Nimrod/pull/697?
22:37:25*OrionPKM quit (Remote host closed the connection)
22:37:40fowlyeah good luck with that one
22:38:18fowlAraq, https://gist.github.com/fowlmouth/41d53cac7acb6933b0d5
22:38:19gradhaI don't mind merging it properly if https://github.com/Araq/Nimrod/commit/b09ebe2759d678c9e320cdbb9c6e6b8aa5419e38 and https://github.com/Araq/Nimrod/commit/71da4175b05846fbda27a5d93bd50efda0ca9fda are fine with you
22:38:40*Jackneill quit (Remote host closed the connection)
22:38:43Araqgradha: well start with #703
22:39:12*OrionPKM joined #nimrod
22:39:15fowllol nimrod.nimrod.cfg
22:39:25NimBotAraq/Nimrod master fcedfda Grzegorz Adam Hankiewicz [+0 ±1 -0]: Makes htmlparser handle whitespace. Refs #694.... 5 more lines
22:39:25NimBotAraq/Nimrod master 9f909fd Grzegorz Adam Hankiewicz [+0 ±1 -0]: Merge pull request #703 from gradha/pr_fixes_htmlparser_whitespace... 2 more lines
22:39:30Araqbut #697 is fine with the commits you mentioned
22:39:42gradhathis is amazing… I clicked a button, then another one… and it was done
22:39:47Araqfowl: we all knew the day would come ... :-)
22:42:02Araqfowl: options.nim:274 try to comment out that line please
22:43:56fowli should say that i commented out the lib options in nimrod.cfg for the modules i removed and the problem is still there
22:45:15fowlit seems to work now
22:47:04bastian_I'm trying to modify he contents of a nested seq like so: http://paste.lisp.org/display/140346
22:47:35bastian_the output is [2], [1] - how can I actually modify the inner seq?
22:48:32fowlbastian_, seqs have value semantics, var s = seqs[0] copies the seq
22:49:03fowlbastian_, so you could say var s = seqs[0].addr; s[0] = 2; s[].add nextNumber
22:49:13*IrvMG quit ()
22:49:14fowl(capture pointer to it)
22:49:20bastian_right, and I read about refs, but I'm not sure how to use them. How do I obtain a reference to the inner seq instead of copying it?
22:51:48bastian_I see, so addr is also used in this case and [] dereferences
22:51:58bastian_thanks!
22:51:59fowlref in nimrod is a garbage collected pointer
22:58:35NimBotAraq/Nimrod master d780ef3 Erik O'Leary [+0 ±1 -0]: Updated cfg file processing... 3 more lines
22:58:35NimBotAraq/Nimrod master 3e3ad23 onionhammer [+1 ±0 -1]: Renamed nimrod.cfg to nimrod.nimrod.cfg
23:02:08gradhahmm... maybe I should have checked those into a new PR before merging to leave a trace
23:09:42VarriountSublime Text/Textmate Syntax Definitions are sorely lacking any method with which to re-use match rules/
23:09:45Varriount:?
23:11:28AraqVarriount: looks like a prime example of how declarative programming can suck :-)
23:13:25BitPuffinAraq, dom96: yeah the current $ for json is definitely annoying
23:13:42NimBotAraq/Nimrod master 0b037cd Grzegorz Adam Hankiewicz [+0 ±1 -0]: Adds an example to htmlparser showing how to save changes.
23:13:42NimBotAraq/Nimrod master 4b70ec3 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Merge pull request #695 from gradha/pr_adds_htmlparser_example... 2 more lines
23:14:32NimBotAraq/Nimrod master 700a5c1 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Adds to tutorial info about unpacking tuples.
23:14:32NimBotAraq/Nimrod master cfafed2 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Mentions tuple unpacking only works in var/let blocks.
23:14:32NimBotAraq/Nimrod master acf9925 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Merge pull request #687 from gradha/pr_documents_tuple_unpacking... 2 more lines
23:15:11NimBotAraq/Nimrod master c7c1786 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Expands tutorial macro section with step by step guide.
23:15:11NimBotAraq/Nimrod master 874d005 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Modifies example to use splitLines.
23:15:11NimBotAraq/Nimrod master b324172 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Corrects grammar and span of italics in text.
23:15:11NimBotAraq/Nimrod master 76db37e Grzegorz Adam Hankiewicz [+0 ±1 -0]: Merge pull request #676 from gradha/pr_expands_macro_tutorial... 2 more lines
23:15:25Araquh oh
23:15:57Araqso many pulls
23:16:07gradhascary stuff
23:16:46OrionPKMrisky business gradha
23:17:23fowlAraq, is that change to options.nim acceptable
23:17:25gradhahah, you will see when I start merging source code PRs
23:17:52Araqfowl: nah, fix bringToFront so that it doesn't create a cyclic list
23:18:49OrionPKMdoes anyone here have ST2?
23:18:51gradhaOrionPKM: for a fee I'll merge the stdlib changes you needed to opensource your stuff
23:19:14OrionPKMlol, they're breaking changes and hacks :P
23:19:40gradhaif they didn't break anything I would be asking for a fee
23:21:22OrionPKMso they're free because they break things?
23:22:01gradhaoh, mistyped that, it should have been a "wouldn't"
23:22:05BitPuffinAraq, dom96: basically when you use $ you expect to be able to compare it to a nimrod string. If we are gonna be perl-cryptic about our shortcuts they need to at least be consistent. Because otherwise it would be better to have toString because that would not read as toJsonString. But neither should $ because it _is_ toString
23:22:13BitPuffinso let it break
23:23:03fowlwhy does the compiler have its own linked list implementation >_>
23:23:30Varriountfowl, the same reason it has it's own rope library.
23:25:50BitPuffinAraq: you even said that breaking things is good ;)
23:25:55OrionPKMaraq idetools work with babel libs? im getting an SIGSEGV
23:26:28AraqOrionPKM: idetools sometimes work, I don't think it's related to babel whether it works
23:26:45AraqBitPuffin: no I said "breaking bad" is good
23:26:47OrionPKMah
23:27:23Araqfowl, Varriount well the compiler predates the stdlib ... that's why
23:28:00fowlvast refactoring needed
23:28:16BitPuffinAraq: haven't seen breaking bad yet hehehehehehheehe
23:28:27BitPuffinAraq: no but yeah. And current $ is bad
23:28:34BitPuffinso break that shit
23:28:43gradhamaybe Lindsay could refactor the dreaded system.nim, she's already loaded with painkillers one way or another
23:28:44AraqBitPuffin: I agree, but you have to convince dom96
23:28:45BitPuffinmake it wish it never existed
23:28:54fowlwho is lindsay
23:29:19gradhafowl: Lindsay Lohan
23:29:30BitPuffindom96: I will reach into the monitor through the fiber of the interwebs and strangle you if you disagree with me xD kidding
23:29:39AraqOrionPKM: we have lots of tests for idetools but nobody who's working on making them work, so bug reports don't help at this point
23:29:44EXetoCdom96: so why does the current behavior make more sense? can't think of any reasons why
23:29:56Araqdom96 is sleeping
23:29:57OrionPKMaraq got it
23:29:59BitPuffinno but it seems like dom96 is not here
23:30:08BitPuffinsleeping? well then he surely is not a god!
23:30:27BitPuffinno but yeah
23:30:43BitPuffinI made my point a little bit higher up
23:31:04BitPuffinand like EXetoC I cannot think of any reason why the current behaviour makes more sense
23:31:10BitPuffinso atm it's 3 against 1 :)
23:31:40*BitPuffin believes dom96's opinion might be biased also because it would break his code
23:31:46BitPuffinbut it would also break my code
23:31:50BitPuffinbut much less code
23:32:33BitPuffinbut! we can discuss it when everyone is awake instead :P
23:33:02BitPuffinEXetoC: by the way is it not bedtime for us? :P
23:33:13Araqwell json.`$` surely is nice as it is. It's however the old $ vs. repr issue
23:33:14EXetoCno
23:33:34BitPuffinEXetoC: agreed
23:33:39BitPuffinor wait
23:33:42BitPuffindon't you mean yes
23:33:47BitPuffinthat it is not bedtime :D
23:33:49BitPuffineh eh eh!!1
23:34:08BitPuffinAraq: I disagree, $ does not return a string
23:34:13BitPuffinit returns a bullshit string
23:35:00gradha"Nimrod, the programming language with attitude strings"
23:35:10BitPuffinexactly
23:35:20BitPuffinit's what the wikipedia article will say if we don't fix this :P
23:35:24*webskipper joined #nimrod
23:35:52AraqBitPuffin: we can make '$' deprecated, so people notice when it's used and then change its behaviour
23:36:26Araqthat's the standard way to do things here but it's a rather slow process
23:36:39Araqso sometimes shortcuts are better
23:37:15BitPuffinAraq: ah, you mean in a way that it's not really deprecated
23:37:20BitPuffinjust that it's about to change
23:37:25Araqyeah
23:37:39BitPuffinbut then people can't really change the code can they lol
23:37:45BitPuffinbecause it will remain deprecated
23:37:59BitPuffineven when it is changed to work with the new behaviour
23:38:10Araqwell there will be json.repr or whatever with the old behaviour
23:38:36Araqhowever it's really a tough decision
23:38:47BitPuffinI'd say it is better to change it and output a warning for a while
23:38:49Araqserialization might use $ in a generic way
23:38:59VarriountWait, what is this talk about `$` being bad?
23:39:01Araqand the serialization of json is pretty well defined
23:39:10BitPuffinVarriount: not $ in general, the $ in json
23:39:24BitPuffinAraq: shouldn't serialization use repr though anyway
23:39:38Araqcurrently "repr" is unusable for that
23:39:46Araqas it's only for debugging
23:39:54Araqand includes the addresses and shit
23:39:55BitPuffinI was actually going over earlier today in my head about how I should serialize some data in my game
23:40:13BitPuffinand I thought well it would probably be based on repr somehow
23:40:18VarriountAraq, we need some advanced repr, that has things like filters, etc.
23:40:31Araqwell we have marshal.nim
23:40:34BitPuffinAraq: okay so call it something else than repr and keep old repr
23:40:51VarriountdataRepr?
23:40:53AraqBitPuffin: well we already have marshal and that supports json serialization
23:40:59Araq... so ... I dunno
23:41:01BitPuffinAraq: so what is the problem
23:41:04BitPuffinuse it
23:41:45VarriountDoes marshal support pluggable serialization? Or is everything built-in?
23:42:11gradhagood night, honey badgers
23:42:23*gradha quit (Quit: bbl, need to watch http://www.youtube.com/watch?v=hcDEWiH-ciw again)
23:42:26Araqeverything built-in ... there might be a way to override things that I forgot about
23:42:53VarriountAraq, I don't think that's good design practice for an stdlib :/
23:42:55EXetoCBitPuffin: you want the serialize using the current 'repr'?
23:43:17AraqVarriount: oh but it is. It's just against "common wisdom".
23:43:34Araqhowever in the long run I expect macros working on types to take over this part
23:43:47BitPuffinEXetoC: maybe not, but the point is more that I did not think that I was gonna be using $ really
23:43:49VarriountWelp, back to essay writing.
23:44:18Araqwhich provides the same flexibility as the OO approach without the bullshit
23:44:22EXetoCso something provided by some module then
23:44:27BitPuffinyeah
23:44:54BitPuffinsomething that could serialize into a binary format would be nice
23:45:00BitPuffinfor space reasons
23:45:06BitPuffinouter space
23:45:52*xhevahir joined #nimrod
23:46:00Araqhi xhevahir welcome
23:46:55webskipperdamn, jEdit nimrod xml does not work for me
23:47:13webskipperhttps://github.com/exhu/nimrod-misc/tree/master/jedit
23:47:44xhevahirHi. I'm having problems with the interactive Nimrod REPL. Whenever I've tried to use a for loop, the compiler says Error: cannot evaluate ' .
23:48:12BitPuffinhahaha
23:48:14Araqknown bug, don't use the REPR
23:48:16BitPuffinxhevahir: take cover
23:48:19BitPuffintoo late
23:48:32Araqer *REPL
23:48:41BitPuffinAraq: I think we've been discussing repr too much
23:48:47Araqhowever try again with the vm2 branch
23:49:00Araqthat should fix the for loop at least
23:49:10BitPuffineither that or you've had too much cherry liquor
23:49:13xhevahirOK. I saw some mention of a bug involving the backtick, and a warning about the REPL being limited.
23:50:06Araqwebskipper: exhu is not arround, so you better write a bug report
23:50:14webskippermom
23:50:37fowldont bother mom with this
23:51:42BitPuffinfowl: hahaha :)
23:52:33BitPuffinhow's the btc hunt going fowl
23:52:56webskipperok, my fault. it saved the xml as html repr not as raw xml
23:53:07webskippernow it works