00:00:15 | Varriount | OrionPKM are you using a gui for git, or just the command line? |
00:00:25 | OrionPKM | command line |
00:00:33 | Varriount | Ah, that would be why. |
00:00:44 | OrionPKM | the gui doesnt work for shit |
00:00:54 | Varriount | Depends on which one you use. |
00:01:10 | OrionPKM | which do you use? |
00:01:11 | Varriount | <3 GitExtensions (for Windows) |
00:02:46 | Varriount | OrionPKM, if you're a linux user -> http://stackoverflow.com/questions/1516720/git-gui-client-for-linux |
00:03:00 | OrionPKM | nah im on windows on this box |
00:03:25 | Varriount | (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:41 | Varriount | OrionPKM, 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:55 | Varriount | Anyone know a nimrod module which makes use of exponent literals, or hexadecimal literals? |
01:52:49 | EXetoC | lib/pure/md5.nim, lib/pure/htmlparser.nim |
01:59:25 | EXetoC | lib/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:46 | mflamer | I 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:22 | girvo | hi all |
08:49:58 | girvo | question: hows nimrod's ARM support these days? |
08:56:10 | Araq | girvo: people routinely build Nimrod on rasberry pi |
08:56:55 | girvo | Araq: yeah I saw the arm6 support on the github page, was curious about cross-compilation to an ARM target |
08:57:25 | Araq | cross-compilation works quite well too afaict |
08:57:43 | girvo | Araq: sweet! thanks :) |
08:58:00 | girvo | trying to compile on my mac atm, as my linux laptop died *sigh |
08:58:33 | Araq | the process is documented here: http://nimrod-lang.org/nimrodc.html#cross-compilation |
08:58:56 | girvo | Araq: perfect, thanks so much |
09:10:47 | Araq | bbl |
09:11:17 | girvo | oh, 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:48 | girvo | what 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:36 | dirkk0 | I use Sublime Text 2 - which works very well, but would rather switch to an open source alternative. |
09:40:42 | girvo | dirkk0: 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:15 | girvo | so 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:23 | girvo | latest binary doesn't run on mavericks, but i'm compiling the source now, so we'll see |
09:47:11 | girvo | hell, 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:16 | dirkk0 | cool |
09:55:46 | dirkk0 | I 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:35 | yodi | hi all |
11:46:03 | * | CarpNet joined #nimrod |
11:49:26 | * | BitPuffin joined #nimrod |
11:49:40 | EXetoC | yodi: hi |
11:50:19 | yodi | so 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:48 | EXetoC | yodi: it's not a convention. I think it might go from case insensitive to case sensitive soon |
12:03:23 | EXetoC | I'm assuming that you're referring to *case* (in)sensitivity |
12:04:02 | EXetoC | actually, I need to read that thread again |
12:05:31 | yodi | yes, that's what i meant |
12:11:04 | EXetoC | the hybrid solution presented here http://forum.nimrod-lang.org/t/191/4 seems alright |
12:12:43 | EXetoC | but 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:02 | BitPuffin | EXetoC: who needs a grep tool when there's ack? |
12:15:07 | BitPuffin | woop woop |
12:15:09 | BitPuffin | well |
12:15:12 | BitPuffin | grep is still useful |
12:15:15 | BitPuffin | but not for code |
12:15:49 | BitPuffin | OH GASH NEW KÖRNÖL |
12:16:34 | BitPuffin | mein kürnel |
12:18:43 | BitPuffin | mein mirhor ist langsam |
12:22:26 | yodi | ExetoC: thanks for the link |
12:23:02 | EXetoC | np |
12:23:56 | * | BitPuffin quit (Ping timeout: 245 seconds) |
12:27:39 | * | BitPuffin joined #nimrod |
12:28:12 | BitPuffin | back! |
12:31:13 | BitPuffin | dom96: sorry got a bit held up yesterday by family stuff and may have also ended up playing some dota 2 |
12:31:21 | BitPuffin | I'll try to get it done and write the article asap :P |
12:31:49 | * | DAddYE joined #nimrod |
12:32:13 | EXetoC | BitPuffin: well, I encountered your arguments anyway with the fact that the shell I use now has aliases and globbing |
12:32:30 | EXetoC | good defaults are useful, but I haven't had to distribute any such scripts yet |
12:33:56 | EXetoC | nimgrep has --replace. neat |
12:34:15 | BitPuffin | EXetoC: well ack is also faster |
12:34:29 | BitPuffin | which might not matter with a small codebase |
12:34:30 | BitPuffin | but still |
12:34:45 | BitPuffin | Actually both grep and ack are useful, but for different things |
12:35:58 | BitPuffin | EXetoC: I think you should at least try it |
12:36:35 | * | DAddYE quit (Ping timeout: 260 seconds) |
12:43:36 | Araq | yodi: 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:48 | Araq | "nimrod pretty" can do the style enforcings/changes but it's still a bit buggy |
12:45:59 | BitPuffin | Araq: case insensitivity is being phased out? :( |
12:46:08 | yodi | Araq: thanks, love to have a crack at it. The language is looking great |
12:47:13 | BitPuffin | or style insensitivity |
12:48:57 | Araq | BitPuffin: well underscores are still optional and you'll have a hard time to convince me they shouldn't be |
12:49:34 | yodi | Araq: would that partial flag work in conjunction with interactive mode? |
12:50:10 | Araq | yodi: the interactive mode is still broken enough to be unusable |
12:50:46 | EXetoC | Araq: you don't like single-letter prefixes? it's very concise |
12:50:57 | Araq | EXetoC: lol? |
12:51:29 | EXetoC | for types. you proposed ~3 letter suffixes in that thread |
12:51:42 | EXetoC | actually |
12:51:47 | yodi | Araq: fair enough |
12:51:51 | Araq | well I don't mind T P E prefixes obviously |
12:52:45 | Araq | but enough people do mind them and what's worse among them people who can code ... |
12:52:45 | BitPuffin | Araq: oh really? How come? |
12:52:58 | EXetoC | if 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:12 | BitPuffin | the thing is that with case sensitivity and optional underscore it's just gonna be weird to have underscore |
12:53:19 | BitPuffin | take for example fooBar proc |
12:53:29 | BitPuffin | with underscore I think that looks best as foo_bar proc |
12:53:39 | BitPuffin | and I think foo_Bar proc looks silly |
12:53:59 | EXetoC | "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:02 | Araq | BitPuffin: you're right cs:full with optional underscores is weird |
12:54:12 | EXetoC | if that's even relevant anymore |
12:54:30 | Araq | EXetoC: that's exactly what --cs:partial implements |
12:55:12 | BitPuffin | problem 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:24 | Araq | BitPuffin: I don't plan to provide cs:full for now. I think cs:partial is the best solution. |
12:59:10 | EXetoC | Araq: so these people think a ~3 letter suffix is better? oh well |
12:59:33 | Araq | EXetoC: well the suffix is irrelevant since it's so rarely used |
13:03:08 | zielmicha | What's the proffered model of contribution? Pull requests on Github? |
13:03:25 | Araq | yes |
13:03:54 | BitPuffin | Araq: 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:54 | Araq | or just provide a babel package, depending on what you do |
13:04:16 | BitPuffin | and gotten a scary error message that takes yeras to decrypt |
13:04:24 | Araq | BitPuffin: that works I think but relies on weird scoping rules |
13:04:45 | Araq | in the proc body you can get issues then though |
13:05:38 | BitPuffin | how come ? |
13:06:12 | BitPuffin | but with that first letter thing does that also mean that if someone writes a ProcLikeThis it has to become Proc_like_this ? |
13:06:41 | EXetoC | Araq: this means that less information will be presented to the user. do you consider this a minor issue? |
13:07:15 | Araq | BitPuffin: no |
13:07:31 | EXetoC | I assume that primary types can be pointers etc. that seems to be implied |
13:07:43 | Araq | EXetoC: I consider this a classical "wie man sich bettet so ruht man" |
13:07:44 | EXetoC | *should |
13:09:38 | Araq | EXetoC: people don't care. It's ugly, so it must go. |
13:09:48 | Araq | never mind it encoded valuable information |
13:15:54 | zielmicha | why there are both TStreams and TFiles? They seem to do the same job. |
13:17:14 | EXetoC | hopefully they are confident that it will indeed only have a minor effect on readability in practice |
13:20:31 | yodi | a serious question for you guys, regardless of style (camel vs underscore) but why not case sensitity? |
13:20:53 | Araq | zielmicha: TFile is C's FILE* and it's hard to add features on top of these |
13:22:03 | Araq | yodi: 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:27 | Araq | but editors are still too primitive and people can't even think of how better tools should look like... :P |
13:25:50 | C0C0 | Araq: +1 |
13:26:16 | C0C0 | (but I can think of a lot of ways editors could be better) |
13:26:52 | yodi | Araq: hmm... i see the trouble of trying to please both camps |
13:27:42 | EXetoC | and then you need somehow be able to adhere to the column limit of said project |
13:28:29 | C0C0 | I would love to see a texteditor that offers multiple views on the text |
13:28:57 | C0C0 | e.G. {} style blocks / indentation style blocks / do ... end style blocks |
13:29:09 | C0C0 | or "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:39 | Araq | C0C0: that was my idea too :-) |
13:38:04 | yodi | either way, i don't think we can't fully escape the camelCase vs under_scores. Code are are mostly read anyway |
13:38:36 | Araq | well the coding convention is camelCase, yodi |
13:38:55 | Araq | some exceptions like GC_disable exist though |
13:42:15 | yodi | i don't mind camelCase or under_scores as long as it is consistent |
13:45:37 | Araq | another idea of me was to forbid underscores in identifiers and make it case sensitive |
13:46:10 | Araq | than you only have the problem that some fool considers isupper a perfectly good name |
13:47:06 | yodi | yeah i suppose you can't stop people from having stupid names |
13:47:30 | yodi | in any convention |
13:47:33 | Araq | actually the alllowercasestyle is really handy in a REPL |
13:47:50 | Araq | and I like that it simply works with the current Nimrod |
13:48:17 | yodi | hehe i just read that as "Allow Case Style" |
13:48:21 | yodi | it's getting late |
13:48:36 | Araq | ;-) |
13:49:25 | yodi | is there such a mode? |
13:49:31 | yodi | i love to play around with it |
13:49:51 | Araq | well the current Nimrod is case insentitive and underscores are ignored, so go ahead and have fun |
13:50:38 | yodi | oh yeh that's right |
13:51:07 | yodi | i 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:54 | tylere | Has 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:11 | tylere | (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:53 | zahary_ | you could try to deliver it as a library; |
15:09:53 | zahary_ | algebraic Foo: |
15:09:53 | zahary_ | Bar(int, string) |
15:09:53 | zahary_ | Baz(float) |
15:10:03 | tylere | Ahh right, duh, macros ;) |
15:10:23 | tylere | but yea, that's sort of what I'm thinking |
15:12:48 | * | mflamer joined #nimrod |
15:13:23 | tylere | This is kinda what I'm thinking of |
15:13:23 | tylere | https://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:14 | zahary_ | 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:14 | tylere | yea |
15:39:14 | zahary_ | you also know about the current object construction syntax that is not very far off from the example, right? |
15:39:29 | tylere | yea |
15:39:54 | tylere | the bit of code that got me thinking about this was an implementation of a Maybe type which struck me as very ugly |
15:40:14 | tylere | because you had to pass in a hasValue boolean in addition to the value |
15:40:34 | tylere | just seems a little weird that that last little bit of sugar for full variant types isn't there in core |
15:40:44 | zahary_ | well, it's just a missing constructor on the other hand |
15:40:54 | tylere | since 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:46 | shevy | teach 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:17 | dom96 | oh cool, just realised i'm not the only Polish person in here. Finally. |
16:46:17 | dom96 | zielmicha: 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:57 | zielmicha | dom96: 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:42 | Araq | tylere: and how should that sugar look like exactly? |
18:08:05 | tylere | hi Araq |
18:08:07 | tylere | sorry, was a way |
18:08:28 | tylere | so basically, in my proposed syxtax (see the gist I posted), the each case would be tagged |
18:08:34 | tylere | that would be the name of the constructor function |
18:08:42 | tylere | with args as appropriate for that branch |
18:09:23 | tylere | https://gist.github.com/tylereaves/7750953 |
18:09:35 | Araq | what if the enum is used in a discriminant in another object? |
18:10:07 | tylere | probably the right thing to do is A: make the actual enum hidden behind the scenes, and B: just call that a conflict |
18:10:17 | tylere | or maybe overload if it's possible to determine |
18:10:38 | tylere | but in the languges I've used ADTs in that would be a compile time error |
18:10:46 | tylere | only one constructor per name |
18:11:15 | Araq | well Nimrod's approach is more flexible |
18:11:29 | Araq | I know you can't accept that. It's true anyway. |
18:11:42 | tylere | I don't deny it as more flexible |
18:12:01 | tylere | but 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:34 | Araq | well it's only a macro away |
18:17:40 | Araq | nimrod'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:20 | Varriount | Hrm, this is odd. |
18:30:52 | Varriount | Araq, what is the reasoning behind the decision to disallow escape sequences in triple-quoted string literals? |
18:33:24 | Araq | wysiwyg principle for """ strings seemed to be the natural thing to do |
18:33:47 | Araq | I consider python's way weird |
18:39:20 | Varriount | Araq, but then, what if you do need non-raw triple quoted string literals? |
18:39:38 | Varriount | Is there any way to re-escape a string? (I think there is?) |
18:40:59 | Araq | what's the use case for a non-raw triple quoted string? |
18:41:15 | Araq | anyway, you can do """bli""" & "\n\n" & """blub""" |
18:42:09 | zielmicha | Are there any conventions on whitespace in Nimrod compiler/lib? |
18:42:58 | Araq | 2 spaces for indentation, avoid ascii art, and for F's sake use foo(a, b) and not foo (a, b) |
18:42:59 | zielmicha | I couldn't get Emacs to properly modify both news.txt and strutils.nim. |
18:43:17 | zielmicha | I mean CR vs CR-LF and trailing whitespace. |
18:43:37 | Varriount | Stick with whatever was there first? |
18:43:44 | Araq | well trailing whitespace is a problem as is LF vs CR-LF in the repo |
18:44:01 | Araq | but I dislike huge changelogs with "cleaned up whitespace" |
18:44:12 | Araq | but thanks for reminding me |
18:44:26 | tylere | Araq: 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:42 | Araq | all is autogened |
18:44:56 | Araq | well |
18:45:03 | Araq | it's all a dialect of RST |
18:45:05 | Varriount | Emacs can't auto-detect line endings? |
18:45:08 | Araq | and the RST is written by hand |
18:45:33 | zielmicha | @Varriount: It can, but only if only one is used in file |
18:45:36 | * | Hannibal_Smith joined #nimrod |
18:45:40 | tylere | Are those RST available online anywhere? |
18:45:55 | Varriount | Huh, I didn't know files could have mixed line-endings. |
18:45:56 | tylere | I have an idea to perhaps work on a transform to LaTeX sources so we can have nice PDFs |
18:46:16 | Araq | nimrod's docutils can already generate LaTeX |
18:46:20 | tylere | ahh |
18:46:29 | Araq | and there is a PDF version somewhere |
18:46:46 | * | Hannibal_Smith quit (Client Quit) |
18:47:15 | Araq | speaking of which |
18:47:18 | * | Hannibal_Smith joined #nimrod |
18:47:32 | Araq | documentation for the docgen and what it can do are needed |
18:47:52 | Araq | it's pretty much completely undocumented |
18:48:13 | Araq | tylere: the sources are the .txt files in doc/ and web/ |
18:48:20 | tylere | Araq: gotcha |
18:49:54 | * | dirkk0 joined #nimrod |
18:53:31 | Araq | tylere: I build the website and all of the documentation with "koch web" |
18:53:56 | Araq | so looking at koch.nim the web proc ends up calling tools/nimweb.nim |
18:54:30 | MFlamer | Araq: 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:52 | MFlamer | And probably why you used unions in the first place |
18:55:28 | Araq | tools/webnim ends up calling the compiler in various ways |
18:55:37 | Araq | this setup is a bit complex but works nicely |
18:57:24 | Araq | MFlamer: you're right but your way with structs would work too. But it requires to generate some (more?) casts. |
18:57:59 | MFlamer | hmm, I'll take a look at that. |
18:58:31 | Araq | basically pass a void* around and for field access do ((propertype*) p)->field |
18:59:49 | MFlamer | tylere: 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:06 | tylere | MFlamer: I'm definatly not that far along yet |
19:00:11 | tylere | still learning the basics |
19:00:17 | tylere | but would be excited to see any developments |
19:00:38 | tylere | My ideal language is basically a pragmatic impure, non-monadic haskell |
19:00:38 | MFlamer | Araq: is that article public yet? |
19:00:42 | Hannibal_Smith | MFlamer, there are some reasons for emulate Haskell and not, for say, Standard ML? |
19:00:44 | tylere | which makes no sense, but maybe you get the idea |
19:00:57 | MFlamer | You and me are on a very similar path then |
19:01:01 | tylere | Hannibal_Smith: the symantics for ADTs between the two are very similar |
19:01:34 | MFlamer | I'm just talking about haskell ADT, GADT syntax |
19:01:36 | Araq | Hannibal_Smith: I think it's because Standard ML is really an underdog now and nowbody knows it. |
19:02:04 | tylere | Araq: 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:10 | MFlamer | There are many thing I like about haskell....and many that should just stay in Haskell |
19:02:13 | tylere | It was all the rage on /. and those sort of forums |
19:03:02 | Araq | tylere: 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:42 | tylere | Araq: It is, on paper |
19:03:53 | tylere | Araq: I always found it really annoying to actually work with though |
19:04:07 | tylere | (syntax quirks, and error messages that feel like they've been run through babelfish...) |
19:04:21 | tylere | documentation was never very good, which certainly hurt it |
19:04:35 | Araq | MFlamer: the article will not be online before january 2014. I dunno what to do with the really cool new stuff in it. |
19:04:36 | tylere | one really good english-language book at the right time could have made a difference I think |
19:05:10 | Araq | my major gripe with it was that array of float had to be special cased for performance in the type system. |
19:05:23 | Araq | that doesn't feel right for systems programming at all. |
19:05:30 | tylere | Araq: Ahh, yes! that's what I hated |
19:05:32 | tylere | the math syntax |
19:05:35 | MFlamer | I was going to point tylere to it, seems like he has similar taste to me |
19:05:36 | tylere | I knew it was something |
19:07:26 | * | shevy left #nimrod ("I'll be back ... maybe") |
19:10:37 | MFlamer | tylere: 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:04 | tylere | I plan on it |
19:11:20 | tylere | Starting a new job early next year where I will be working about 99% in python |
19:11:24 | tylere | which is not a bad language |
19:11:37 | tylere | but I have a feeling there might be some performance critical things that might offer possibilties |
19:11:56 | tylere | I'm currently using Go for that sort of thing, but I don't really like Go, other than the short learning curve |
19:12:00 | Hannibal_Smith | tylere, do the Python way! Write C! |
19:12:12 | Hannibal_Smith | tylere, Go and performance don't mix |
19:12:14 | Araq | no write the extensions in Nimrod |
19:12:35 | Araq | and document the process while you do it. It's easy in fact. |
19:12:52 | * | Araq should stop saying "easy". |
19:13:01 | tylere | Hannibal_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:04 | Hannibal_Smith | How many goroutines? |
19:15:40 | tylere | I would spool up several hundred sometimes |
19:15:47 | tylere | for stuff like load testing our website |
19:15:54 | tylere | Python...doesn't handle that very well |
19:16:20 | Varriount | tylere, even with pypy? |
19:16:20 | Hannibal_Smith | In Python you would end using something like Twited of Stackless |
19:16:29 | Hannibal_Smith | *Twisted |
19:16:37 | tylere | Varriount: Haven't really gotten into pypy too much |
19:16:45 | Hannibal_Smith | And the result are terrible, IMHO |
19:16:53 | Hannibal_Smith | *or Stackless |
19:17:12 | Hannibal_Smith | Ahh my english is also terrible |
19:19:02 | Hannibal_Smith | I 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:13 | Hannibal_Smith | I ended rewriting it in C# |
19:19:25 | Hannibal_Smith | *was an |
19:20:50 | Hannibal_Smith | Ah, this http://gevent.org |
19:20:54 | Araq | zielmicha: 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:05 | Araq | for me it's more important you're doing productive work instead of following some religious rules |
19:24:03 | Hannibal_Smith | C# is a messy language, but let you do the work |
19:24:32 | Araq | Hannibal_Smith: depends. The lack of "typedef" sometimes makes me furious |
19:24:54 | Hannibal_Smith | Generic 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:56 | Hannibal_Smith | As you look at a language, you end find so many problems |
19:30:11 | Araq | hi gradha, seems like you found your whitespace issue. awaitin' your patch. |
19:30:36 | gradha | Araq: you mean adding the flag to the set? |
19:30:54 | Hannibal_Smith | I 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:11 | Hannibal_Smith | *basically any software |
19:31:30 | Araq | gradha: yes |
19:31:49 | tylere | Hannibal_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:51 | gradha | dunno, might break something important |
19:32:04 | tylere | <insert joke about the difference between theory and practice here> |
19:32:35 | Hannibal_Smith | tylere, the end using library like pipe or conduit and make flamewar between library |
19:32:45 | Hannibal_Smith | *they end |
19:32:50 | Araq | well zielmicha suggested you can introduce another parameter, gradha |
19:32:58 | Hannibal_Smith | And then "no problem, Haskell is very safe language" |
19:33:26 | Araq | and btw. Adding a default parameter only works thanks to the required 'procvar' pragma ... |
19:33:41 | Araq | ;-) |
19:33:50 | gradha | I'm still musing on why the htmlparser code expects xmlWhitespace when it never gets them |
19:34:45 | Hannibal_Smith | tylere, and I never understand how can people debug Haskell code |
19:34:57 | Hannibal_Smith | They claims that "use test make debug futile" |
19:34:58 | Hannibal_Smith | ... |
19:35:03 | Araq | well xml/html is really strange when it comes to whitespace |
19:35:08 | Hannibal_Smith | *unit testing |
19:35:22 | Araq | everybody considers it unimportant and yet it is important |
19:36:22 | Hannibal_Smith | It's like Go that let you use assembly, because you can't use intrinsic |
19:37:36 | Hannibal_Smith | What "great language" are now considerated modern |
19:37:54 | Hannibal_Smith | So the only hope is Nimrod :-P |
19:38:06 | Hannibal_Smith | Or Standard ML :°D |
19:38:15 | gradha | the 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:21 | OrionPKM | araq reject that pull request and i'll submit a different one later tonight |
19:38:35 | Araq | OrionPKM: alright, great |
19:38:55 | Araq | gradha: well I consider this part of the xml spec to be insane |
19:39:08 | gradha | but HTML isn't XML, is it? |
19:39:18 | Araq | html, xml whatever |
19:39:48 | gradha | then I'll fix it in an incorrect way that is less broken for the moment |
19:40:12 | Araq | yeah, that's the Nimrod way. *cough* |
19:40:42 | * | zielmicha quit (Ping timeout: 246 seconds) |
19:40:56 | tylere | ugh |
19:41:38 | tylere | Always 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:41 | gradha | I was actually surprised htmlparser uses parsexml, as the handling of both is different |
19:41:53 | tylere | but i'm sure I'm not the first to mention that |
19:42:27 | gradha | tylere: in spanish nimrod is slang for "blackjack, hookers and honey badgers" |
19:43:07 | Araq | tylere: 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:42 | gradha | doesn't it mean dongle? like, from "nim's bigger than yours rod"? |
19:44:07 | tylere | the sense, at least in american enlish, is, roughly "idiot" |
19:44:12 | Araq | And a language in which Turkey is both an animal and a country already has quite some problems... |
19:44:16 | tylere | or possibly "slow witted" |
19:44:18 | tylere | Araq: heh |
19:44:32 | tylere | Araq: and I'm sure german has a word for that |
19:44:33 | Hannibal_Smith | Ahahaah |
19:44:40 | tylere | with at least 15 syllables |
19:44:45 | gradha | let's rewrite GIMP in Nimrod, for american audiences |
19:44:45 | EXetoC | natural languages m8 :> |
19:44:46 | tylere | all languages have their warts ;P |
19:44:54 | EXetoC | Lojban ftw |
19:45:34 | Araq | tylere: I consider "nim" an acceptable nickname |
19:45:41 | tylere | that works |
19:45:52 | tylere | Isn't there already a language called nym though? |
19:46:19 | tylere | apparently not |
19:46:27 | tylere | I could have sworn that rang a bell though |
19:46:45 | gradha | tylere: the name is not that important, since we have as a mascot a honey badger |
19:47:11 | Araq | well 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:33 | Araq | (can't google for D and Go, "Rust" is ugly too) |
19:47:46 | Hannibal_Smith | Go! |
19:47:48 | Hannibal_Smith | Ahahaha |
19:48:01 | Hannibal_Smith | $GOHOME! |
19:48:25 | EXetoC | don't you need to stick "programming (language)" onto nimrod also? since it has plenty of meanings |
19:48:42 | Araq | EXetoC: hmm good point I guess |
19:49:20 | Hannibal_Smith | Lisp got a pretty good name |
19:49:28 | gradha | OrionPKM: the clippy I have here thinks you need help with a pull request |
19:49:32 | tylere | speaking of names (sort of)... www.nimrod-code.org redirects but nimrod-code.org does not |
19:49:55 | Araq | does for me now |
19:50:01 | EXetoC | let's go with nimlang, or maybe something like jcsgk! |
19:50:03 | Araq | it's some caching issue |
19:50:08 | Araq | I had the same problem |
19:51:11 | * | MFlamer joined #nimrod |
19:59:53 | OrionPKM | thanks gradha :P |
20:01:55 | * | MFlamer quit (Read error: Connection reset by peer) |
20:03:02 | * | MFlamer joined #nimrod |
20:07:03 | Araq | bbl |
20:08:28 | MFlamer | see 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:32 | Araq | gradha: whether you want it or not, I'm giving you write access to the repository now |
21:39:39 | Araq | you can always request a code review of course |
21:40:19 | gradha | eeeeeeeh |
21:41:51 | gradha | I'm already crumbling under the pressure… need… to… drink… more… |
21:44:00 | * | IrvMG joined #nimrod |
21:44:01 | Araq | ha, Lindsay Lohan wants to sue GTA 5 |
21:44:35 | gradha | amazing, Lindsay Lohan is still alive? |
21:45:00 | * | MFlamer joined #nimrod |
21:47:01 | IrvMG | Hello |
21:47:10 | Araq | only her soul, her amazing body is gone |
21:47:38 | IrvMG | BiggestInt to string ? |
21:47:48 | Araq | $ doesn't work? |
21:48:17 | Araq | $ pretty much turns everything into a string |
21:48:34 | gradha | Araq: I went to lambda the ultimate and they say nothing of Lindsay, aren't you making it up? |
21:48:47 | IrvMG | ummm $JSON[BiggestInt].num ? |
21:49:23 | IrvMG | or only: $JSON["key"] |
21:49:40 | Araq | dunno try both |
21:50:04 | Araq | $ for Json is not playing nice according to BitPuffin |
21:50:27 | dom96 | $json["key"].num |
21:51:02 | Araq | dom96: any idea what we break if we change $ for Json? |
21:51:09 | * | Araq bets nimbuild will break |
21:51:37 | dom96 | what's wrong with $ for json? |
21:52:12 | Araq | $json["key"] == "value" does not do what people expect |
21:52:42 | gradha | it can hardly do for anything other than strings |
21:52:50 | Hannibal_Smith | OT: http://overwatering.org/blog/2013/12/scala-1-star-would-not-program-again/ wow, these people deserve to use Go |
21:54:53 | gradha | well, a single sentence with the words java, xsl and xml, sounds like only PITA will come next |
21:55:19 | dom96 | Araq: Yeah, that will break quite a lot i'd say |
21:55:59 | dom96 | IMO the current $ makes sense |
21:56:45 | dom96 | But 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:51 | dom96 | But we can't name it that. |
21:57:04 | dom96 | gradha: SEO optimisations! |
21:57:12 | dom96 | needs more britney |
21:57:13 | gradha | Lindsay sounds like a good start, yes |
21:57:22 | gradha | And then Rianna |
21:57:29 | gradha | wait, I don't know how to spell her |
21:57:38 | gradha | chicks names are so complicated nowadays |
21:57:42 | dom96 | Rihanna lol |
21:59:10 | dom96 | gradha: I'll add you to the nimrod-code org too :) |
21:59:34 | gradha | dom96: ho ho, still don't understand why you are giving scissors to somebody who likes running around with them |
22:00:29 | dom96 | gradha: Because you are exceptionally good at running with them :P |
22:00:42 | IrvMG | Araq thanks |
22:01:40 | gradha | what 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:47 | gradha | talking about PR, is there any way to checkout a OrionPKM's PR without him having pushed his repo fork? |
22:02:48 | dom96 | I dunno. Araq added you to his repo and I felt like I needed to fit in. |
22:05:18 | gradha | google is broken, I asked for pictures of Lindsay and got pictures of zombies back |
22:05:35 | EXetoC | lols |
22:07:03 | IrvMG | http://en.wikipedia.org/wiki/Nimrod_(programming_language) ? okno (: |
22:08:19 | * | Amrykid quit (Excess Flood) |
22:08:26 | * | Amrykid joined #nimrod |
22:09:58 | gradha | maybe we should a wikipedia article on zahary's hypolang, then mention it was inspired by nimrod, and have that as a source |
22:10:17 | gradha | would wikipedia implode referencing itself? |
22:10:29 | EXetoC | can symbols be excluded when exporting a module? |
22:10:52 | gradha | EXetoC: symbols aren't exported by default, you append * |
22:11:35 | * | Amrykid quit (Changing host) |
22:11:35 | * | Amrykid joined #nimrod |
22:11:36 | gradha | and presumably "export B.TMyObject" deals with exporting that single symbol and not the rest |
22:11:52 | Araq | EXetoC: perhaps you're asking for "import module except foo" which exists too |
22:12:56 | gradha | so if I publish an opensoure ios app implemented in nimrod, is that a valid wikipedia source? |
22:12:57 | EXetoC | yes but I'm referring to the export keyword. 'except' since to exist only for import |
22:13:21 | EXetoC | I'm trying to avoid exporting TRect from opengl.nim, so as to avoid collisions |
22:13:49 | Araq | gradha: when I publish a fucking book about Nimrod that's not a valid source, since it's from me ... |
22:14:15 | gradha | well, revoke my repo superpowers then? I'm a nobody after all |
22:14:35 | Araq | well blog articles don't count either |
22:14:42 | * | gradha goes sobbing to a corner for not being a good wikipedia source |
22:14:42 | Araq | I'll remove you once your book is ready |
22:17:27 | Araq | gradha: 'export' really is meant for symbol forwarding from another module, not as a replacement for * |
22:18:09 | fowl | Araq, after deleting opengl from HEAD and using the babel package, sometimes loading the opengl module hangs |
22:18:54 | fowl | well, its fine to import opengl but my project calls glx* functions i think thats the problem, your fancy loading stuff |
22:20:11 | EXetoC | will make an enhancement request then |
22:20:59 | fowl | here'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:50 | EXetoC | dom96: hey, where's your example? :p https://github.com/Araq/Nimrod/issues/177 |
22:22:07 | Araq | fowl: we tried that, but it's only a blog and anonymous |
22:22:10 | gradha | fowl: you need to establish first that blog as a reliable independant source of midichlorians in the eyes of wikipedia deletionists |
22:22:48 | fowl | lol..weird |
22:22:51 | dom96 | EXetoC: It's not that hard to reproduce it IMO. |
22:23:03 | fowl | i've seen languages with shorter articles with no references |
22:23:09 | fowl | maybe it just needs to be shorter |
22:23:31 | dom96 | fowl: Read the talk pages and the HN thread. |
22:23:57 | fowl | nah nvm i'll let you guys sort it out |
22:25:00 | gradha | the 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:25 | Araq | fowl: well I can't imagine the reason for your opengl issue. can you try both versions and diff the generated C? |
22:26:43 | fowl | sure |
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:44 | fowl | Araq, oh i cant get the generated c because it hangs at Hint: opengl [Processing] |
22:32:02 | Araq | oh ... you mean the compiler hangs? |
22:32:18 | Araq | I thought the resulting exe doesn't work |
22:32:44 | Araq | well "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:08 | EXetoC | mmh, egg |
22:33:19 | Araq | I had cherry liquor, gradha :-) |
22:33:32 | Araq | but only because my stomach started a rebellion |
22:33:52 | gradha | yeah, I'm pretty sick myself… everyday, and need treatment |
22:34:04 | dom96 | good night guys |
22:34:08 | fowl | night |
22:34:09 | gradha | bye |
22:34:34 | gradha | should 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:40 | fowl | yeah good luck with that one |
22:38:18 | fowl | Araq, https://gist.github.com/fowlmouth/41d53cac7acb6933b0d5 |
22:38:19 | gradha | I 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:43 | Araq | gradha: well start with #703 |
22:39:12 | * | OrionPKM joined #nimrod |
22:39:15 | fowl | lol nimrod.nimrod.cfg |
22:39:25 | NimBot | Araq/Nimrod master fcedfda Grzegorz Adam Hankiewicz [+0 ±1 -0]: Makes htmlparser handle whitespace. Refs #694.... 5 more lines |
22:39:25 | NimBot | Araq/Nimrod master 9f909fd Grzegorz Adam Hankiewicz [+0 ±1 -0]: Merge pull request #703 from gradha/pr_fixes_htmlparser_whitespace... 2 more lines |
22:39:30 | Araq | but #697 is fine with the commits you mentioned |
22:39:42 | gradha | this is amazing… I clicked a button, then another one… and it was done |
22:39:47 | Araq | fowl: we all knew the day would come ... :-) |
22:42:02 | Araq | fowl: options.nim:274 try to comment out that line please |
22:43:56 | fowl | i 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:15 | fowl | it seems to work now |
22:47:04 | bastian_ | I'm trying to modify he contents of a nested seq like so: http://paste.lisp.org/display/140346 |
22:47:35 | bastian_ | the output is [2], [1] - how can I actually modify the inner seq? |
22:48:32 | fowl | bastian_, seqs have value semantics, var s = seqs[0] copies the seq |
22:49:03 | fowl | bastian_, so you could say var s = seqs[0].addr; s[0] = 2; s[].add nextNumber |
22:49:13 | * | IrvMG quit () |
22:49:14 | fowl | (capture pointer to it) |
22:49:20 | bastian_ | 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:48 | bastian_ | I see, so addr is also used in this case and [] dereferences |
22:51:58 | bastian_ | thanks! |
22:51:59 | fowl | ref in nimrod is a garbage collected pointer |
22:58:35 | NimBot | Araq/Nimrod master d780ef3 Erik O'Leary [+0 ±1 -0]: Updated cfg file processing... 3 more lines |
22:58:35 | NimBot | Araq/Nimrod master 3e3ad23 onionhammer [+1 ±0 -1]: Renamed nimrod.cfg to nimrod.nimrod.cfg |
23:02:08 | gradha | hmm... maybe I should have checked those into a new PR before merging to leave a trace |
23:09:42 | Varriount | Sublime Text/Textmate Syntax Definitions are sorely lacking any method with which to re-use match rules/ |
23:09:45 | Varriount | :? |
23:11:28 | Araq | Varriount: looks like a prime example of how declarative programming can suck :-) |
23:13:25 | BitPuffin | Araq, dom96: yeah the current $ for json is definitely annoying |
23:13:42 | NimBot | Araq/Nimrod master 0b037cd Grzegorz Adam Hankiewicz [+0 ±1 -0]: Adds an example to htmlparser showing how to save changes. |
23:13:42 | NimBot | Araq/Nimrod master 4b70ec3 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Merge pull request #695 from gradha/pr_adds_htmlparser_example... 2 more lines |
23:14:32 | NimBot | Araq/Nimrod master 700a5c1 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Adds to tutorial info about unpacking tuples. |
23:14:32 | NimBot | Araq/Nimrod master cfafed2 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Mentions tuple unpacking only works in var/let blocks. |
23:14:32 | NimBot | Araq/Nimrod master acf9925 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Merge pull request #687 from gradha/pr_documents_tuple_unpacking... 2 more lines |
23:15:11 | NimBot | Araq/Nimrod master c7c1786 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Expands tutorial macro section with step by step guide. |
23:15:11 | NimBot | Araq/Nimrod master 874d005 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Modifies example to use splitLines. |
23:15:11 | NimBot | Araq/Nimrod master b324172 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Corrects grammar and span of italics in text. |
23:15:11 | NimBot | Araq/Nimrod master 76db37e Grzegorz Adam Hankiewicz [+0 ±1 -0]: Merge pull request #676 from gradha/pr_expands_macro_tutorial... 2 more lines |
23:15:25 | Araq | uh oh |
23:15:57 | Araq | so many pulls |
23:16:07 | gradha | scary stuff |
23:16:46 | OrionPKM | risky business gradha |
23:17:23 | fowl | Araq, is that change to options.nim acceptable |
23:17:25 | gradha | hah, you will see when I start merging source code PRs |
23:17:52 | Araq | fowl: nah, fix bringToFront so that it doesn't create a cyclic list |
23:18:49 | OrionPKM | does anyone here have ST2? |
23:18:51 | gradha | OrionPKM: for a fee I'll merge the stdlib changes you needed to opensource your stuff |
23:19:14 | OrionPKM | lol, they're breaking changes and hacks :P |
23:19:40 | gradha | if they didn't break anything I would be asking for a fee |
23:21:22 | OrionPKM | so they're free because they break things? |
23:22:01 | gradha | oh, mistyped that, it should have been a "wouldn't" |
23:22:05 | BitPuffin | Araq, 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:13 | BitPuffin | so let it break |
23:23:03 | fowl | why does the compiler have its own linked list implementation >_> |
23:23:30 | Varriount | fowl, the same reason it has it's own rope library. |
23:25:50 | BitPuffin | Araq: you even said that breaking things is good ;) |
23:25:55 | OrionPKM | araq idetools work with babel libs? im getting an SIGSEGV |
23:26:28 | Araq | OrionPKM: idetools sometimes work, I don't think it's related to babel whether it works |
23:26:45 | Araq | BitPuffin: no I said "breaking bad" is good |
23:26:47 | OrionPKM | ah |
23:27:23 | Araq | fowl, Varriount well the compiler predates the stdlib ... that's why |
23:28:00 | fowl | vast refactoring needed |
23:28:16 | BitPuffin | Araq: haven't seen breaking bad yet hehehehehehheehe |
23:28:27 | BitPuffin | Araq: no but yeah. And current $ is bad |
23:28:34 | BitPuffin | so break that shit |
23:28:43 | gradha | maybe Lindsay could refactor the dreaded system.nim, she's already loaded with painkillers one way or another |
23:28:44 | Araq | BitPuffin: I agree, but you have to convince dom96 |
23:28:45 | BitPuffin | make it wish it never existed |
23:28:54 | fowl | who is lindsay |
23:29:19 | gradha | fowl: Lindsay Lohan |
23:29:30 | BitPuffin | dom96: I will reach into the monitor through the fiber of the interwebs and strangle you if you disagree with me xD kidding |
23:29:39 | Araq | OrionPKM: 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:44 | EXetoC | dom96: so why does the current behavior make more sense? can't think of any reasons why |
23:29:56 | Araq | dom96 is sleeping |
23:29:57 | OrionPKM | araq got it |
23:29:59 | BitPuffin | no but it seems like dom96 is not here |
23:30:08 | BitPuffin | sleeping? well then he surely is not a god! |
23:30:27 | BitPuffin | no but yeah |
23:30:43 | BitPuffin | I made my point a little bit higher up |
23:31:04 | BitPuffin | and like EXetoC I cannot think of any reason why the current behaviour makes more sense |
23:31:10 | BitPuffin | so 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:46 | BitPuffin | but it would also break my code |
23:31:50 | BitPuffin | but much less code |
23:32:33 | BitPuffin | but! we can discuss it when everyone is awake instead :P |
23:33:02 | BitPuffin | EXetoC: by the way is it not bedtime for us? :P |
23:33:13 | Araq | well json.`$` surely is nice as it is. It's however the old $ vs. repr issue |
23:33:14 | EXetoC | no |
23:33:34 | BitPuffin | EXetoC: agreed |
23:33:39 | BitPuffin | or wait |
23:33:42 | BitPuffin | don't you mean yes |
23:33:47 | BitPuffin | that it is not bedtime :D |
23:33:49 | BitPuffin | eh eh eh!!1 |
23:34:08 | BitPuffin | Araq: I disagree, $ does not return a string |
23:34:13 | BitPuffin | it returns a bullshit string |
23:35:00 | gradha | "Nimrod, the programming language with attitude strings" |
23:35:10 | BitPuffin | exactly |
23:35:20 | BitPuffin | it's what the wikipedia article will say if we don't fix this :P |
23:35:24 | * | webskipper joined #nimrod |
23:35:52 | Araq | BitPuffin: we can make '$' deprecated, so people notice when it's used and then change its behaviour |
23:36:26 | Araq | that's the standard way to do things here but it's a rather slow process |
23:36:39 | Araq | so sometimes shortcuts are better |
23:37:15 | BitPuffin | Araq: ah, you mean in a way that it's not really deprecated |
23:37:20 | BitPuffin | just that it's about to change |
23:37:25 | Araq | yeah |
23:37:39 | BitPuffin | but then people can't really change the code can they lol |
23:37:45 | BitPuffin | because it will remain deprecated |
23:37:59 | BitPuffin | even when it is changed to work with the new behaviour |
23:38:10 | Araq | well there will be json.repr or whatever with the old behaviour |
23:38:36 | Araq | however it's really a tough decision |
23:38:47 | BitPuffin | I'd say it is better to change it and output a warning for a while |
23:38:49 | Araq | serialization might use $ in a generic way |
23:38:59 | Varriount | Wait, what is this talk about `$` being bad? |
23:39:01 | Araq | and the serialization of json is pretty well defined |
23:39:10 | BitPuffin | Varriount: not $ in general, the $ in json |
23:39:24 | BitPuffin | Araq: shouldn't serialization use repr though anyway |
23:39:38 | Araq | currently "repr" is unusable for that |
23:39:46 | Araq | as it's only for debugging |
23:39:54 | Araq | and includes the addresses and shit |
23:39:55 | BitPuffin | I was actually going over earlier today in my head about how I should serialize some data in my game |
23:40:13 | BitPuffin | and I thought well it would probably be based on repr somehow |
23:40:18 | Varriount | Araq, we need some advanced repr, that has things like filters, etc. |
23:40:31 | Araq | well we have marshal.nim |
23:40:34 | BitPuffin | Araq: okay so call it something else than repr and keep old repr |
23:40:51 | Varriount | dataRepr? |
23:40:53 | Araq | BitPuffin: well we already have marshal and that supports json serialization |
23:40:59 | Araq | ... so ... I dunno |
23:41:01 | BitPuffin | Araq: so what is the problem |
23:41:04 | BitPuffin | use it |
23:41:45 | Varriount | Does marshal support pluggable serialization? Or is everything built-in? |
23:42:11 | gradha | good night, honey badgers |
23:42:23 | * | gradha quit (Quit: bbl, need to watch http://www.youtube.com/watch?v=hcDEWiH-ciw again) |
23:42:26 | Araq | everything built-in ... there might be a way to override things that I forgot about |
23:42:53 | Varriount | Araq, I don't think that's good design practice for an stdlib :/ |
23:42:55 | EXetoC | BitPuffin: you want the serialize using the current 'repr'? |
23:43:17 | Araq | Varriount: oh but it is. It's just against "common wisdom". |
23:43:34 | Araq | however in the long run I expect macros working on types to take over this part |
23:43:47 | BitPuffin | EXetoC: maybe not, but the point is more that I did not think that I was gonna be using $ really |
23:43:49 | Varriount | Welp, back to essay writing. |
23:44:18 | Araq | which provides the same flexibility as the OO approach without the bullshit |
23:44:22 | EXetoC | so something provided by some module then |
23:44:27 | BitPuffin | yeah |
23:44:54 | BitPuffin | something that could serialize into a binary format would be nice |
23:45:00 | BitPuffin | for space reasons |
23:45:06 | BitPuffin | outer space |
23:45:52 | * | xhevahir joined #nimrod |
23:46:00 | Araq | hi xhevahir welcome |
23:46:55 | webskipper | damn, jEdit nimrod xml does not work for me |
23:47:13 | webskipper | https://github.com/exhu/nimrod-misc/tree/master/jedit |
23:47:44 | xhevahir | Hi. 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:12 | BitPuffin | hahaha |
23:48:14 | Araq | known bug, don't use the REPR |
23:48:16 | BitPuffin | xhevahir: take cover |
23:48:19 | BitPuffin | too late |
23:48:32 | Araq | er *REPL |
23:48:41 | BitPuffin | Araq: I think we've been discussing repr too much |
23:48:47 | Araq | however try again with the vm2 branch |
23:49:00 | Araq | that should fix the for loop at least |
23:49:10 | BitPuffin | either that or you've had too much cherry liquor |
23:49:13 | xhevahir | OK. I saw some mention of a bug involving the backtick, and a warning about the REPL being limited. |
23:50:06 | Araq | webskipper: exhu is not arround, so you better write a bug report |
23:50:14 | webskipper | mom |
23:50:37 | fowl | dont bother mom with this |
23:51:42 | BitPuffin | fowl: hahaha :) |
23:52:33 | BitPuffin | how's the btc hunt going fowl |
23:52:56 | webskipper | ok, my fault. it saved the xml as html repr not as raw xml |
23:53:07 | webskipper | now it works |