| 00:21:47 | * | strcmp1 quit (Ping timeout: 264 seconds) |
| 00:42:51 | * | yglukhov quit (Remote host closed the connection) |
| 00:46:06 | * | bjz joined #nim |
| 00:50:44 | * | bjz_ joined #nim |
| 00:51:18 | * | bjz quit (Ping timeout: 244 seconds) |
| 00:55:57 | * | strcmp1 joined #nim |
| 00:58:13 | * | bjz joined #nim |
| 00:58:44 | * | bjz_ quit (Ping timeout: 265 seconds) |
| 00:59:18 | * | zepolen quit (Remote host closed the connection) |
| 01:02:40 | * | brson quit (Quit: leaving) |
| 01:43:19 | * | yglukhov joined #nim |
| 01:47:58 | * | yglukhov quit (Ping timeout: 260 seconds) |
| 01:59:27 | * | lazypenguin quit (Remote host closed the connection) |
| 02:00:03 | * | zepolen joined #nim |
| 02:04:38 | * | zepolen quit (Ping timeout: 240 seconds) |
| 02:07:00 | * | Demos joined #nim |
| 02:14:38 | * | kulelu88 quit (Quit: Leaving) |
| 02:29:49 | * | desophos_ joined #nim |
| 02:34:07 | * | desophos_ quit (Ping timeout: 244 seconds) |
| 02:37:42 | * | pregressive joined #nim |
| 02:42:28 | * | pregressive quit (Ping timeout: 250 seconds) |
| 03:05:24 | * | DecoPerson quit (Read error: Connection reset by peer) |
| 03:05:29 | * | TylerE_ quit (Read error: Connection reset by peer) |
| 03:05:59 | * | n1ftyn8_ quit (Read error: Connection reset by peer) |
| 03:06:03 | * | pmbauer quit (Read error: Connection reset by peer) |
| 03:07:33 | * | DecoPerson joined #nim |
| 03:07:47 | * | TylerE_ joined #nim |
| 03:08:33 | * | n1ftyn8_ joined #nim |
| 03:08:57 | * | pmbauer joined #nim |
| 03:34:03 | * | strcmp1 quit (Ping timeout: 244 seconds) |
| 03:44:35 | * | ephja quit (Ping timeout: 264 seconds) |
| 03:44:55 | * | yglukhov joined #nim |
| 03:49:05 | * | yglukhov quit (Ping timeout: 240 seconds) |
| 03:58:29 | * | darkf joined #nim |
| 04:01:15 | * | desophos quit (Read error: Connection reset by peer) |
| 04:01:22 | * | strcmp1 joined #nim |
| 04:19:39 | * | darkf quit (Ping timeout: 240 seconds) |
| 04:22:39 | * | Demos quit (Read error: Connection reset by peer) |
| 04:22:51 | * | darkf_ joined #nim |
| 04:30:07 | * | darkf_ is now known as darkf |
| 04:42:59 | * | nande quit (Remote host closed the connection) |
| 04:56:51 | * | desophos joined #nim |
| 05:01:44 | * | zepolen joined #nim |
| 05:01:48 | * | desophos quit (Ping timeout: 272 seconds) |
| 05:06:41 | * | zepolen quit (Ping timeout: 265 seconds) |
| 05:21:08 | * | vendethiel joined #nim |
| 05:29:38 | * | bjz_ joined #nim |
| 05:31:28 | * | bjz quit (Ping timeout: 250 seconds) |
| 05:44:54 | * | vendethiel quit (Ping timeout: 250 seconds) |
| 05:46:33 | * | yglukhov joined #nim |
| 05:51:54 | * | yglukhov quit (Ping timeout: 260 seconds) |
| 06:46:07 | * | zepolen joined #nim |
| 06:48:13 | * | zepolen quit (Remote host closed the connection) |
| 06:48:19 | * | zepolen joined #nim |
| 06:48:49 | * | linkedinyou quit (Read error: Connection reset by peer) |
| 07:13:40 | * | strcmp1 quit (Read error: Connection reset by peer) |
| 07:14:17 | * | strcmp1 joined #nim |
| 07:23:52 | * | desophos joined #nim |
| 07:28:18 | * | desophos quit (Ping timeout: 255 seconds) |
| 07:43:38 | * | strcmp1 quit (Read error: Connection reset by peer) |
| 07:44:15 | * | strcmp1 joined #nim |
| 09:11:46 | * | coffeepot joined #nim |
| 09:19:15 | * | Demon_Fox quit (Quit: Leaving) |
| 09:20:11 | * | yglukhov joined #nim |
| 09:47:07 | * | bjz joined #nim |
| 09:49:20 | * | bjz_ quit (Ping timeout: 272 seconds) |
| 09:49:27 | * | darkf_ joined #nim |
| 09:50:59 | * | bjz_ joined #nim |
| 09:52:04 | * | darkf quit (Ping timeout: 246 seconds) |
| 09:53:34 | * | gokr_ joined #nim |
| 09:53:38 | * | bjz quit (Ping timeout: 268 seconds) |
| 09:55:30 | * | thotypous quit (Ping timeout: 260 seconds) |
| 10:00:16 | * | darkf_ is now known as darkf |
| 10:16:09 | * | Kingsquee quit (Quit: https://i.imgur.com/qicT3GK.gif) |
| 10:25:41 | * | makoLine quit (Ping timeout: 265 seconds) |
| 10:37:55 | * | jakesyl quit (Ping timeout: 246 seconds) |
| 10:47:29 | OnO | argh... I think my fix is right and it was a typo, moreover there are wrong comments on in semTemplBody elif s.owner == c.owner and sfGenSym in s.flags case is for locals not for template arguments |
| 10:48:11 | OnO | but the comments gives example of: template tmp[T](x: var seq[T]) = var yz: T, as if it was about T |
| 10:48:15 | OnO | Araq: you there? |
| 10:48:40 | Araq | always |
| 10:49:22 | Araq | the comments are likely correct |
| 10:51:25 | * | jakesyl joined #nim |
| 10:51:29 | Araq | it was not a typo |
| 10:53:39 | OnO | okay, then where were template args symbols to be processed in semTemplBody |
| 10:53:49 | OnO | because they do not have sfGenSym |
| 10:54:09 | OnO | flag, only template body locals symbols have sfGenSym |
| 10:54:31 | OnO | template generic args symbols are created semGenericParamList |
| 10:55:04 | OnO | via symG either as skGenericParam for statics or skType for others (type arguments) |
| 10:55:38 | Araq | template parameters are not sfGenSym so why would the type parameters be? |
| 10:56:08 | OnO | that's why s.owner == c.owner and sfGenSym in s.flags is NOT for generic template args |
| 10:56:12 | OnO | so the comment is wrong |
| 10:56:19 | OnO | they get into semTemplSymbol |
| 10:56:41 | Araq | well tbh I have no idea what the comment means |
| 10:56:42 | OnO | if (s.typ != nil) and (s.typ.kind == tyGenericParam) #<- my fix correctly replaces them in the body |
| 10:56:55 | OnO | before: if (s.typ != nil) and (s.typ.kind != tyGenericParam) was completely meaning less |
| 10:57:11 | Araq | why have the 'if' at all? |
| 10:57:44 | OnO | you tell me, what was the purpose of this if |
| 10:58:09 | Araq | to not replace them in the body ;-) |
| 10:58:23 | Araq | because they should have stayed nkIdent |
| 10:58:45 | Araq | because they are then correctly replaced by the generic instantiation process |
| 10:59:02 | Araq | which is a hacky way we also should get rid of. |
| 10:59:11 | Araq | but that was the intention. |
| 10:59:20 | OnO | hehe, but we want exactly the opposite, generic argument needs to be replaced |
| 10:59:43 | OnO | everything else should stay as is |
| 10:59:44 | Araq | but this was like "an exception, don't replace these" |
| 10:59:51 | Araq | so you should get rid of the 'if' |
| 11:00:11 | Araq | everything should be replaced then, right? |
| 11:00:49 | OnO | first of all I doubt there will be any skType that is s.typ.kind != tyGenericParam |
| 11:01:10 | OnO | like where it should came from? |
| 11:02:08 | Araq | type Foo = object |
| 11:02:17 | Araq | template t(): untyped = Foo |
| 11:02:23 | Araq | like so? |
| 11:02:59 | OnO | okay so we can just get rid of (s.typ.kind == tyGenericParam) |
| 11:03:07 | OnO | and leave s.typ != nil check |
| 11:03:16 | Araq | what? why? |
| 11:03:33 | Araq | the s.typ != nil check doesn't mean anything without the s.typ.kind test |
| 11:04:02 | OnO | okay I am removing the whole if then and checking if it's gonna blow |
| 11:04:17 | OnO | somehow all tests passed with previous != --> == |
| 11:04:29 | OnO | so probably this nkIdent was replaced somewhere else |
| 11:05:44 | OnO | sometimes I wonder if having generics on templates or macros make sense at all |
| 11:06:09 | OnO | also there is some major shortcoming in current implementation, because all normal args and generic args are put in single list |
| 11:06:25 | OnO | template evaluation cannot really tell if we miss normal arguments or generic arguments |
| 11:06:33 | OnO | because there's no way to distinguish them |
| 11:06:38 | Araq | yeah I told zahary it sucks, but he woudn't listen |
| 11:07:04 | Araq | I agree this should be some nkPair node instead with 2 lists |
| 11:07:16 | OnO | or at least have empty node as a separator |
| 11:07:28 | Araq | ugh, nah please don't |
| 11:07:43 | OnO | nah right now I am not going to touch it anymore |
| 11:07:59 | Araq | we have nkArgList for this, with good unclear semantics |
| 11:08:16 | Araq | which we can use for this. or maybe not. |
| 11:08:36 | OnO | but I think it I will be able to blow up compiler with template tmp[A, B](c, d) calling tmp[int](1) |
| 11:08:50 | OnO | even with my both 3496 & 3498 fixes |
| 11:09:31 | Araq | how about tmp(A, B; c, d) as an unambiguous shortcut for tmp[A, B](c, d) |
| 11:09:38 | Araq | I'm beginning to like this |
| 11:10:26 | Araq | we could also make tmp(A, B;) to mean tmp[A, B] |
| 11:10:40 | OnO | this isn't a problem of syntax, but this single list, tmp[int](1) misses 1 generic arg and 1 normal arg, but evaluator think it misses 2 normal args |
| 11:10:55 | OnO | because it assumes that generic args are always complete |
| 11:10:56 | Araq | I know. |
| 11:11:07 | Araq | but the syntax is also flawed. |
| 11:12:45 | OnO | I think newSeq(string, string;) is less readable than newSeq[string, string]() |
| 11:14:39 | * | strcmp1 quit (Ping timeout: 255 seconds) |
| 11:15:44 | Araq | well it surely is shorter though |
| 11:15:50 | Araq | and easier to type |
| 11:17:11 | OnO | isn't it ambigious someProc(1, let x = 1; x) ?? |
| 11:17:23 | Araq | that already requires () |
| 11:17:32 | OnO | I see |
| 11:17:33 | Araq | someProc(1, (let x 1; x)) |
| 11:17:41 | Araq | but yeah ... hrm |
| 11:18:04 | Araq | tmp[.A, B](x, y) |
| 11:18:24 | Araq | we could decide {. .} is stupid and {. } should be used instead |
| 11:19:04 | Araq | which is ofc allowed since forever. |
| 11:19:13 | * | strcmp1 joined #nim |
| 11:20:16 | * | darkf_ joined #nim |
| 11:21:01 | OnO | how about tmp(:A, B: a, b) |
| 11:22:01 | Araq | meh, ruby-like colon sex |
| 11:22:19 | OnO | ok, thinking about something readable |
| 11:23:39 | * | darkf quit (Ping timeout: 240 seconds) |
| 11:23:51 | Araq | well the current language kind of pushes us to foo[.A, B.] or foo[.A, B] |
| 11:24:27 | Araq | since [. .] and (. .) always were valid tokens with no meaning. |
| 11:25:38 | Araq | we can also then finally have named type parameters, foo[.T = int.] # use defaults for everything else |
| 11:29:59 | OnO | yeah, but it would be cool to leave them to users, btw does {{ }} have any meaning? |
| 11:31:41 | * | ephja joined #nim |
| 11:35:56 | Araq | sorry bbl |
| 11:36:53 | OnO | no pbm |
| 11:39:31 | * | elrood joined #nim |
| 11:52:10 | * | gokr_ quit (Ping timeout: 240 seconds) |
| 11:53:12 | * | octoploid joined #nim |
| 11:54:20 | * | gokr_ joined #nim |
| 12:01:12 | * | darkf_ is now known as darkf |
| 12:01:43 | * | boopsiesisaway is now known as boopsies |
| 12:08:15 | * | linkedinyou joined #nim |
| 12:18:53 | Araq | {{}} is the set including the empty set |
| 12:19:23 | Araq | and it's ugly to have mean something else |
| 12:21:33 | Araq | dom96: can I tell people to install nimsuggest via a nimscript rather than via nimble? |
| 12:43:28 | * | gokr_ quit (Read error: Connection reset by peer) |
| 12:45:50 | OnO | yeah, I think there's no other way than using [. or (. |
| 12:46:13 | OnO | my only pbm it is quite hard to type ;P |
| 12:47:21 | OnO | also \ backslash is not used, easy to type but I dunno if: newSeq \int, string\ looks nice |
| 12:49:17 | * | egor joined #nim |
| 12:54:31 | OnO | or maybe using :: eg: newTable::string::int or newSeq::int(10) |
| 12:58:43 | egor | Hi, I have nim 0.12 and gcc 4.4.7. Got an "error: redefinition of typedef ‘TNimType’" while compiling trivial program. Am I right that gcc 4.4 cannot be used with nim 0.12 ? |
| 13:05:48 | OnO | Araq: here is some copilation of alternative syntaxes for templates https://gist.github.com/nanoant/b80990aa0cd864944705 |
| 13:06:21 | reactormonk | egor, bootstrapping devel works? |
| 13:07:57 | OnO | egor: are you using C++ or C compiler? |
| 13:09:14 | * | Arrrr joined #nim |
| 13:09:28 | egor | OnO: c compiler |
| 13:10:18 | OnO | egor what OS? |
| 13:10:59 | egor | OnO: redhat 6.7 |
| 13:13:29 | egor | reactormonk: You mean, does build.sh from nim-0.12.0 work? No, it doesn't work: c_code/2_2/compiler_nim.c:13: error: redefinition of typedef ‘TNimType’ |
| 13:13:50 | reactormonk | egor, from git? |
| 13:14:42 | egor | reactormonk: didn't try it yet. just downloaded from http://nim-lang.org/download/nim-0.12.0.tar.xz |
| 13:26:42 | Araq | egor: your problem sounds familiar, I'm afraid gcc indeed it not compatible. we should be able to fix it though. |
| 13:28:15 | egor | Araq: ok, thanks for clarification |
| 13:32:07 | OnO | I just tried boostraping Nim with GCC 4.4.1 on OSX, works fine |
| 13:33:16 | OnO | are you sure that gcc command is gcc 4.4? or maybe you need explicit alias eg gcc-4.4 to run it? |
| 13:33:34 | OnO | and gcc w/o suffix is some old version |
| 13:34:04 | Araq | OnO: not sure which GCC version is affected but Jehan complained about this issue too and he knows what he is doing. |
| 13:34:12 | egor | OnO: gcc -v gave me: gcc version 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC) |
| 13:34:36 | Araq | Red Hat has its own GCC version, so it's quite possible |
| 13:36:49 | OnO | Araq: btw. anyone who made this build.sh generator never heard of "set -x" :) |
| 13:39:02 | egor | ok, looks like I've found acceptable workaround -- install clang (yum install clang) and use clang instead of gcc |
| 13:39:15 | Araq | indeed, I have no idea what 'set -x' means nor do I care. |
| 13:39:32 | Araq | maybe they could have used full words for uncommon features. |
| 13:40:22 | OnO | egor: just tested on Ubuntu 4.4.7 everything compiles well |
| 13:40:56 | OnO | gcc version 4.4.7 (Ubuntu/Linaro 4.4.7-8ubuntu1) |
| 13:41:09 | Araq | for that they all masturbate over their all-ascii-based solutions they surely don't even use ascii well. |
| 13:42:33 | OnO | ahh... yes, I downloaded http://nim-lang.org/download/nim-0.12.0.tar.xz and it doesn't compile :) |
| 13:43:00 | OnO | works on 4.6 though |
| 13:43:02 | OnO | :( |
| 13:43:35 | OnO | so I guess someone has to write that GCC 4.6 is bare minimum for Nim |
| 13:44:20 | Araq | I intend to release 0.12.2 shortly after 0.12.0 fixing the most problematic regressions and incompatibilities |
| 13:45:33 | Araq | I think this tick-tock model works rather well. |
| 13:46:15 | OnO | csources repo is what version? |
| 13:46:29 | Araq | uh oh |
| 13:46:47 | Araq | nobody updated csources? |
| 13:48:29 | OnO | Mon May 25 22:01:56 2015 +0200 |
| 13:49:00 | Araq | well 0.11.2 should be able to compile 0.12.0 |
| 13:52:47 | Araq | https://github.com/nim-lang/Nim/wiki/Creating-a-relase |
| 14:26:31 | * | vqrs quit (Ping timeout: 256 seconds) |
| 14:27:55 | OnO | Araq: can you mark it a RFC please https://github.com/nim-lang/Nim/issues/3502 ? I couldn't find an existing issue about that |
| 14:28:26 | * | vqrs joined #nim |
| 14:34:17 | Araq | OnO: interesting the barbaric old school pascal defined (.a.) to mean [a] since keyboards might not have [] readily available |
| 14:36:49 | OnO | yeah, something similar to C/C++ trigraphs |
| 14:37:19 | Araq | yup except it didn't rewrite (. .) to [] in string literals ... ;-) |
| 14:37:20 | OnO | ??(a??) =:= [a] :) |
| 14:37:50 | reactormonk | OnO, how about getting rid of the array syntax instead? |
| 14:37:59 | Araq | reactormonk: nooooooooo!!!!! |
| 14:38:03 | OnO | wooot? |
| 14:38:22 | Araq | Nim loves arrays, arrays need special syntax. |
| 14:38:43 | reactormonk | so do types. Which one do you use more often? |
| 14:38:50 | Araq | The array is the essence of computing. |
| 14:39:36 | reactormonk | would it be possible to do arr(1) ? |
| 14:39:39 | Araq | I use a[i] for array-like access much more often than generic types |
| 14:39:41 | OnO | I concur |
| 14:40:22 | Araq | reactormonk: yeah, technically it would be quite possible. |
| 14:40:42 | OnO | I just gave some ideas of new syntax, let's choose one and deprecate the old ambiguous shit |
| 14:41:05 | OnO | I prefer a[..] to be substript op, since it is close to math and many other languages |
| 14:41:16 | OnO | and feels natural |
| 14:41:18 | Araq | well ... "deprecate" in non-type-contexts. |
| 14:41:36 | reactormonk | Araq, proc `()` ? |
| 14:41:41 | Araq | and even then, "deprecate" within one year. |
| 14:41:58 | Araq | reactormonk: read the logs, Arrrr showed how to do it. |
| 14:42:16 | OnO | as long we can find some decent non-eyestraining syntax |
| 14:43:33 | OnO | newArray[:10](1) & newArray::10(1) |
| 14:43:40 | OnO | these are my favorites |
| 14:44:05 | OnO | [: is meaningless today, right? |
| 14:44:25 | Araq | not sure, I guess so since ':' is not a valid operator |
| 14:44:51 | Araq | but then why [: ] instead of [. ] which is consistent with pragma syntax? |
| 14:45:02 | OnO | : is close to [ on keyboard and both require shift to be pressed |
| 14:45:07 | OnO | so ergonomics |
| 14:45:28 | reactormonk | OnO, depends on the layout as usual |
| 14:45:36 | Araq | [ requires alt-gr to be pressed ;-) |
| 14:45:39 | reactormonk | and code is more often read than written... |
| 14:46:32 | Araq | :: is too confusing for rubyists and c++nistas |
| 14:46:39 | OnO | reactormonk: agree, that's why it has to be readable too |
| 14:47:12 | Araq | foo.bar[.x](a, b,c ) |
| 14:47:26 | Araq | --> bar[.x](foo, a, b, c) |
| 14:47:37 | reactormonk | I'd prefer it to be symmetric |
| 14:47:44 | Araq | is another advantage of a non-ambiguous syntax btw |
| 14:48:31 | * | BitPuffin|osx joined #nim |
| 14:48:37 | Araq | reactormonk: both [. ] and [. .] would be possible. |
| 14:49:13 | OnO | the one dot version looks really bizzare |
| 14:50:37 | OnO | also if we could make it obvious even to these who don't know the language |
| 14:51:53 | OnO | newSeq{:int:}(10) ? |
| 14:52:09 | OnO | or newSeq{:int}(10) |
| 14:52:29 | OnO | then it is similar to pragma ;P |
| 14:54:11 | reactormonk | OnO, I rest my case. |
| 14:59:25 | ephja | newSeq(int, 10) :p |
| 15:01:43 | ephja | who was it that wanted to use this syntax instead in most cases? because you need to be able to make it work with inference somehow |
| 15:02:57 | * | pregressive joined #nim |
| 15:05:12 | * | gokr quit (Read error: Connection reset by peer) |
| 15:05:36 | * | askatasuna joined #nim |
| 15:15:59 | Araq | newSeq(int, 10) is possible but different and it's hard to unify these two different ideas. |
| 15:20:29 | OnO | how about new "of" keyword: newSeq(10) of int |
| 15:20:44 | OnO | let s = newSeq(10) of int |
| 15:20:54 | OnO | let t = newTable of (string, string) |
| 15:21:09 | OnO | let d = default of int |
| 15:21:31 | OnO | proc newSeq(size: int) of T = ... |
| 15:23:33 | Araq | that's horrible. |
| 15:32:46 | * | desophos joined #nim |
| 15:38:10 | Arrrr | i prefer newSeq(int, 10) |
| 15:41:08 | ephja | yes but inference might be necessary in other cases |
| 15:41:14 | Arrrr | honestly, i'd rather use arr(2) for arrays than some of the ideas i have read, that's my opinion |
| 15:41:55 | Arrrr | is not that strange, one should look at arrays access like some sort of function |
| 15:43:31 | Arrrr | or maybe for generics '<>' like in c#: newSeq<int>(123) |
| 15:45:28 | * | octoploid quit (Quit: WeeChat 1.3-rc1) |
| 15:53:15 | ephja | you don't think it would have any negative effects on the readability? one should know what type said symbol is referring to though |
| 15:55:54 | Arrrr | are you referring to 'newSeq<int>(123)' ? |
| 15:57:26 | ephja | sorry, lack of context. I was referring to the array syntax |
| 15:59:22 | Arrrr | newSeq(int, 123) ? |
| 15:59:43 | ephja | array indexing :p |
| 15:59:53 | Arrrr | arr(2) ? |
| 16:00:00 | * | egor quit (Ping timeout: 246 seconds) |
| 16:00:09 | Arrrr | what is the difference with arr[2] ? |
| 16:07:14 | ephja | one uses syntax that is more generic (less specific), basically |
| 16:09:36 | * | filcuc joined #nim |
| 16:10:39 | ephja | I dunno if it matters, and the "functor" approach is equally concise |
| 16:11:03 | Arrrr | how is that? |
| 16:21:19 | reactormonk | Arrrr, https://github.com/nim-lang/Nim/issues/3502#issuecomment-152544658 :-) |
| 16:26:32 | Arrrr | heh, i'm with you, i think it is the lesser evil. People are gonna freak if they have to write '[.T]' for generics. |
| 16:28:41 | ephja | yeah but aren't type parameters deduced by inference in most cases? |
| 16:28:55 | reactormonk | most cases. |
| 16:30:06 | Arrrr | newSeq isnt one of them, i dont know why |
| 16:34:07 | ephja | I don't think inference is relevant in that case. anyway, foo(int) seems like a fairly recent idiom, but I don't know if it's due to an old compiler bug/limitation or the lack of momentum |
| 16:39:53 | ephja | binary literals are borked? |
| 16:40:18 | ephja | I don't think anyone has reported that, but it's probably not commonly used |
| 16:42:51 | ephja | wait a second |
| 16:44:07 | ephja | FixarrayValMask = 0b00001111u8 .. FixstrValMask = 00011111u8 |
| 16:47:15 | ephja | syntax highlighting for these literals would be helpful |
| 16:50:13 | * | darkf quit (Quit: Leaving) |
| 16:52:40 | ephja | vertical alignment would be useful too. time to augment my vim |
| 16:55:34 | * | filcuc quit (Ping timeout: 246 seconds) |
| 16:58:46 | federico3 | question about introspection: can I lookup a proc by name at runtime? |
| 16:59:15 | reactormonk | federico3, unlikely. Not stored. |
| 17:01:26 | * | vendethiel joined #nim |
| 17:02:45 | * | brson joined #nim |
| 17:02:53 | federico3 | I could probably use a template at build a lookup table at compile time tho |
| 17:03:25 | * | Trustable joined #nim |
| 17:03:29 | * | Trustable quit (Read error: Connection reset by peer) |
| 17:07:57 | OnO | another idea, annotating generic arguments with dot, eg: let y = newSeq int., 10 var v: seq int. proc newSeq(A., size: int) seq A. = ... |
| 17:08:35 | Araq | OnO: these are all worse than simply requiring [. .] if (and only if) overly ambiguous |
| 17:09:12 | Araq | insert the usual "real editors can render [. .] as Unicode brackets" argument here. |
| 17:09:33 | OnO | proc newSeq(size: int) of A: seq of A = ... IMHO is not ambigious and much more readable |
| 17:09:57 | OnO | var v: seq of int looks really good |
| 17:12:03 | Araq | x.y(a, b, c) of (int, float) |
| 17:12:28 | Araq | if obj of SomeClass: # 'of' already exists |
| 17:13:06 | Araq | also there is nothing wrong with var v: seq[int], it's the non-type context that is ambiguous |
| 17:13:41 | Araq | for consistency we would allow var v: seq[.int.] but it's not like we encourage it everywhere |
| 17:14:18 | * | coffeepot quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
| 17:14:32 | * | strcmp1 quit (Read error: Connection reset by peer) |
| 17:14:42 | OnO | yeah seq is builtin but Table Map or many other isn't |
| 17:14:54 | Araq | not the point. |
| 17:15:06 | Araq | var x: <type context> |
| 17:15:44 | Araq | the type context arises from the colon, not from the builtin nature of the term 'seq' |
| 17:15:59 | Araq | (which is not a keyword anyway, it's just system.seq) |
| 17:15:59 | * | strcmp1 joined #nim |
| 17:16:30 | OnO | var x: genericMacro ? |
| 17:16:35 | Araq | however, this does mean your [: ] suggestion makes sense |
| 17:16:48 | Araq | since the ':' introduces a type context here then too |
| 17:17:10 | Arrrr | isnt better '.'? less invasive |
| 17:17:23 | * | linkedinyou quit (Quit: linkedinyou) |
| 17:18:30 | Arrrr | and slices uses [:] |
| 17:18:34 | Araq | Arrrr: [:T, S] is perhaps more beautiful than [.T, S] |
| 17:18:44 | Araq | slices in Nim don't use [:] |
| 17:18:45 | OnO | Immutable[.Table[.string, string.].] looks like shit |
| 17:19:11 | Araq | Immutable[T] already looks like shit. come up with a better example :P |
| 17:19:30 | OnO | static[.Map[.string, string.].] |
| 17:20:01 | Arrrr | it remainds me of pragmas too much |
| 17:20:18 | OnO | static[:Map[:string, string]] is bit better |
| 17:20:29 | Araq | and now please consider where static[.Map[string, string]] (note the minimal usage of the '.') actually would come up. |
| 17:21:04 | OnO | vs static of Map of (string, string) quite very readable |
| 17:21:15 | OnO | but verbose too |
| 17:21:25 | Araq | 1. 'of' is already used. |
| 17:21:43 | Araq | 2. precedences of binary keyword operators in general is problematic |
| 17:21:45 | OnO | isn't of used in case, and must be 1st atom in expr? |
| 17:23:26 | Arrrr | In my opinion, the problem with [./[: is that people will freak out. Generics is a basic thing in the language i think, we will see a lot of [.int], [.T] |
| 17:23:55 | OnO | yes this is why I am not feeling comfortable with [. |
| 17:24:04 | OnO | coz it will look like spaghetti |
| 17:24:12 | Arrrr | hahaha |
| 17:24:20 | ephja | explicit instantiation doesn't seem that common as I said |
| 17:24:21 | Arrrr | but you are actually, in my opinion, right |
| 17:24:58 | Arrrr | doesnt it affecet procs/templates declarations too? |
| 17:25:07 | OnO | except all newSeq[int] and s: seq[string] |
| 17:25:17 | OnO | which there are plenty |
| 17:26:21 | * | vendethiel quit (Ping timeout: 255 seconds) |
| 17:26:33 | Arrrr | make arrays work with () would be easier, "esthetic" and ... visual basic uses it |
| 17:36:46 | * | Trustable joined #nim |
| 17:37:33 | Arrrr | and scala http://www.scala-lang.org/api/current/index.html#scala.Array |
| 17:44:40 | * | UberLambda joined #nim |
| 17:44:42 | * | Trustable quit (Remote host closed the connection) |
| 17:44:51 | * | askatasuna quit (Read error: Connection reset by peer) |
| 17:45:02 | * | brson quit (Ping timeout: 265 seconds) |
| 17:45:40 | * | Trustable joined #nim |
| 17:51:17 | * | brson joined #nim |
| 17:55:23 | * | OnO gets crazy on MS Excel 2015 for Mac garbase |
| 18:17:30 | Araq | Arrrr: and Ada. and I hated it. |
| 18:25:59 | * | pwzoii left #nim ("Leaving...") |
| 18:26:03 | * | elrood quit (Quit: Leaving) |
| 18:29:22 | * | Arrrrr joined #nim |
| 18:29:33 | * | Arrrr quit (Ping timeout: 252 seconds) |
| 18:32:23 | reactormonk | Araq, sometimes you'll have to bite the bullet. |
| 18:32:26 | * | tdc joined #nim |
| 18:34:13 | Araq | because "somebody will see [. .] everywhere in nim and freak out"? |
| 18:34:39 | * | Matthias247 joined #nim |
| 18:35:06 | Araq | some opinions detached from reality won't make me "bite the bullet" |
| 18:41:38 | * | BlaXpirit joined #nim |
| 18:53:39 | * | Matthias247 quit (Read error: Connection reset by peer) |
| 18:56:56 | reactormonk | because the syntax is simpler with one-char operators - what occupies {} btw? |
| 18:57:31 | Araq | a{i} is available as a general accessor with no builtin semantics. |
| 18:57:48 | Araq | for example, it can introduce by-row access for matrixes |
| 18:58:20 | Araq | it's another lovely feature of the language you'll gladly butcher since "Scala does not have it" ... |
| 18:58:21 | * | thotypous joined #nim |
| 19:01:37 | Arrrrr | Why would i get this exception 'only' in release mode?: Error: unhandled exception: Can't obtain a value from a `none` [UnpackError:ObjectType] |
| 19:03:05 | Araq | Arrrrr: now that is a good question. |
| 19:03:20 | Araq | this shouldn't happen. |
| 19:04:09 | BlaXpirit | I made an article http://blaxpirit.com/blog/22/advanced-uses-of-travis-ci-with-nim.html |
| 19:05:08 | ephja | BlaXpirit: you play xonotic? |
| 19:05:28 | ephja | exetoc here btw. I have a new nick now |
| 19:06:02 | * | yglukhov quit (Ping timeout: 272 seconds) |
| 19:06:26 | BlaXpirit | ephja, hi. i played xonotic |
| 19:06:51 | ephja | I saw your nick in some video. small world |
| 19:08:03 | ephja | it's fun, but man is it difficult |
| 19:16:34 | BlaXpirit | what's the place where all the cool kids link to their articles? |
| 19:17:48 | BlaXpirit | right, that was already done for me :| |
| 19:19:35 | ephja | reddit? 4chan? |
| 19:22:47 | Arrrrr | hello BlaXpirit my friend. WHy dont you write about doing a game in nim, desophos was interested in the subject |
| 19:23:03 | BlaXpirit | Arrrrr, i gave up on nim and on nim-csfml |
| 19:23:25 | BlaXpirit | the lib is kinda broken :/ |
| 19:23:43 | BlaXpirit | maybe there were advancements with finalizers, who knows, but i doubt it |
| 19:23:52 | desophos | yeah that's kind of what i figured :/ that's why i'm using SDL2 |
| 19:24:20 | * | gXen joined #nim |
| 19:24:21 | Arrrrr | Ok, i thought you were using it judging by your article |
| 19:25:01 | BlaXpirit | nah, i just had some time doing nothing at work |
| 19:25:29 | BlaXpirit | so i went ahead and changed testing to travis, while fixing the libs according to breaking changes in nim |
| 19:27:32 | BlaXpirit | and then it was just a matter of adding a few comments and i got an article |
| 19:28:41 | Arrrrr | Maybe you get bored again and decide to write a RogueNim |
| 19:35:47 | Arrrrr | Did you see nim has its own scripting lang ? |
| 19:39:02 | BlaXpirit | whatever |
| 19:46:36 | * | avsej quit (Quit: Quit) |
| 19:47:27 | * | avsej joined #nim |
| 19:47:27 | * | avsej quit (Changing host) |
| 19:47:28 | * | avsej joined #nim |
| 20:25:42 | * | Demon_Fox joined #nim |
| 20:26:25 | * | gXen quit () |
| 20:30:44 | * | yglukhov joined #nim |
| 20:33:17 | * | ayeganov joined #nim |
| 20:33:43 | * | renatofdds joined #nim |
| 20:34:57 | * | CryptoToad joined #nim |
| 20:35:35 | * | yglukhov quit (Ping timeout: 264 seconds) |
| 20:38:20 | * | renatofdds quit () |
| 20:40:59 | * | mat4 joined #nim |
| 20:41:03 | mat4 | hello |
| 20:41:11 | Araq | hi mat4 |
| 20:41:20 | mat4 | hi Araq |
| 20:45:46 | * | makoLine joined #nim |
| 20:47:38 | * | Trustable quit (Remote host closed the connection) |
| 20:49:06 | * | Arrrrr quit (Quit: WeeChat 1.2) |
| 20:52:49 | * | mat4 quit (Quit: Verlassend) |
| 20:54:27 | * | UberLambda quit (Quit: GTG) |
| 20:55:26 | * | UberLambda joined #nim |
| 20:55:46 | * | makoLine quit (Ping timeout: 250 seconds) |
| 21:01:48 | ephja | how's mat4's compiler coming along? |
| 21:02:23 | Araq | ha, too late, he's gone already |
| 21:04:46 | * | mat4 joined #nim |
| 21:05:05 | Araq | mat4: how's your compiler coming along? |
| 21:07:44 | mat4 | the compiler is finished. I'm working on an assembler which then can be used as backend for Nim |
| 21:08:33 | ephja | nice |
| 21:12:38 | * | makoLine joined #nim |
| 21:12:47 | * | BitPuffin|osx quit (Ping timeout: 264 seconds) |
| 21:16:01 | mat4 | however my time for working on it is somewhat limited and I don't have the opportunity to delegate work at current |
| 21:21:52 | * | gokr joined #nim |
| 21:27:32 | mat4 | I'm compiling the sources right now. What is the future status of the 'unsigned' module ? |
| 21:27:57 | Araq | mat4: it was merged into system.nim so all you have to do is to remove the import. |
| 21:28:22 | mat4 | good decision, thanks |
| 21:32:12 | * | yglukhov joined #nim |
| 21:36:25 | * | yglukhov quit (Ping timeout: 240 seconds) |
| 21:42:06 | mat4 | hmm, is Nimscript independent from the compiler ? |
| 21:46:41 | Araq | no, it's just Nim with the VM as backend rather than C. |
| 21:50:19 | Araq | you can import it into your project though the API still sucks a bit. ;-) |
| 21:59:54 | * | UberLambda quit (Quit: GTG) |
| 22:02:40 | mat4 | is someone here using Vim ? |
| 22:03:09 | * | pregressive quit (Remote host closed the connection) |
| 22:03:25 | * | pregressive joined #nim |
| 22:03:40 | * | mat4 quit (Quit: leaving) |
| 22:05:38 | * | yglukhov joined #nim |
| 22:06:04 | * | mat4 joined #nim |
| 22:06:12 | ephja | mat4: yes |
| 22:06:35 | mat4 | syntax hightlighting seem to be broken |
| 22:08:13 | ephja | I do have the latest git version and it seems to work |
| 22:10:30 | mat4 | eh, ok recompile vim (again) |
| 22:19:46 | mat4 | ciao |
| 22:19:57 | * | mat4 quit (Quit: leaving) |
| 22:34:10 | * | BlaXpirit quit (Quit: Konversation) |
| 22:37:14 | * | Jesin joined #nim |
| 22:49:41 | * | strcmp2 joined #nim |
| 22:53:44 | * | strcmp1 quit (Ping timeout: 268 seconds) |
| 22:58:09 | * | elrood joined #nim |
| 22:59:55 | * | tdc quit (Ping timeout: 256 seconds) |
| 23:09:37 | * | Matthias247 joined #nim |
| 23:18:42 | * | pregressive quit (Remote host closed the connection) |
| 23:20:49 | * | BitPuffin|osx joined #nim |
| 23:32:04 | * | mrkishi quit (Quit: Bye!) |
| 23:34:20 | * | jefus left #nim ("Leaving") |
| 23:40:45 | * | BitPuffin|osx quit (Ping timeout: 240 seconds) |
| 23:46:10 | * | elrood quit (Quit: Leaving) |
| 23:48:22 | * | boopsies is now known as boopsiesisaway |
| 23:50:39 | * | mrkishi joined #nim |