00:01:32 | * | carum joined #nimrod |
00:13:29 | * | XAMPP-8 joined #nimrod |
00:13:29 | * | XAMPP-8 quit (Client Quit) |
00:16:59 | * | carum quit (Remote host closed the connection) |
00:25:15 | * | Matthias247 quit (Read error: Connection reset by peer) |
00:37:00 | * | carum joined #nimrod |
00:38:25 | * | carum quit (Remote host closed the connection) |
00:38:27 | * | xenagi joined #nimrod |
00:40:30 | * | carum joined #nimrod |
00:42:49 | * | xenagi quit (Read error: Connection reset by peer) |
00:46:51 | * | carum quit (Remote host closed the connection) |
00:48:15 | * | Clinteger\c_ joined #nimrod |
00:48:15 | * | Clinteger\c_ quit (Changing host) |
00:48:15 | * | Clinteger\c_ joined #nimrod |
00:50:00 | * | Arcanum_za joined #nimrod |
00:50:44 | * | Skrylar_ joined #nimrod |
00:52:21 | * | aftershave_ joined #nimrod |
00:55:54 | * | renesac_ quit (*.net *.split) |
00:55:55 | * | brihat quit (*.net *.split) |
00:55:56 | * | aftersha_ quit (*.net *.split) |
00:55:56 | * | Clinteger\c quit (*.net *.split) |
00:55:56 | * | Skrylar quit (*.net *.split) |
00:55:56 | * | Trixar_za quit (*.net *.split) |
00:55:57 | * | eigenlicht quit (*.net *.split) |
00:56:21 | * | xenagi joined #nimrod |
00:56:44 | * | q66 quit (Quit: Leaving) |
00:57:07 | * | Clinteger\c_ is now known as Clinteger\c |
00:57:59 | * | brihat joined #nimrod |
00:57:59 | * | renesac_ joined #nimrod |
01:02:01 | * | brihat quit (*.net *.split) |
01:02:01 | * | renesac_ quit (*.net *.split) |
01:02:28 | * | brihat joined #nimrod |
01:02:28 | * | renesac_ joined #nimrod |
01:03:02 | * | eigenlicht joined #nimrod |
01:22:13 | * | fowlmouth quit (Ping timeout: 248 seconds) |
01:27:29 | Skrylar_ | him, tin isn't here |
01:27:45 | Skrylar_ | i was going to say, that wxwidgets is usually embeddable... |
01:27:50 | * | Skrylar_ quit (Quit: leaving) |
01:28:03 | * | skrylar joined #nimrod |
01:34:41 | * | fowlmouth joined #nimrod |
01:41:35 | * | carum joined #nimrod |
01:47:51 | * | carum quit (Remote host closed the connection) |
01:51:22 | * | carum joined #nimrod |
01:56:08 | * | carum quit (Ping timeout: 252 seconds) |
02:03:55 | * | fowlmouth is now known as fowl |
02:05:33 | * | DAddYE quit (Remote host closed the connection) |
02:27:57 | * | BitPuffin quit (Quit: WeeChat 0.4.3) |
02:37:51 | * | carum joined #nimrod |
02:44:25 | * | nande left #nimrod (#nimrod) |
02:44:31 | * | nande_ joined #nimrod |
02:54:02 | * | carum quit (Remote host closed the connection) |
02:54:06 | * | nande_ quit (Remote host closed the connection) |
02:54:18 | * | carum joined #nimrod |
02:55:19 | * | nande joined #nimrod |
02:59:55 | * | carum quit (Remote host closed the connection) |
03:06:35 | * | DAddYE joined #nimrod |
03:10:57 | * | DAddYE quit (Ping timeout: 252 seconds) |
03:23:16 | * | DAddYE joined #nimrod |
03:28:20 | * | EXetoC quit (Quit: WeeChat 0.4.2) |
03:30:15 | renesac_ | type Tint = distinct int |
03:30:37 | renesac_ | let a: Tint = 0 # Error: type mismatch: got (int literal(0)) |
03:30:46 | renesac_ | <-- how I get int literals to work again? |
03:31:00 | renesac_ | what I should borrow or convert from? |
03:31:15 | skrylar | renesac_: Tint(0) |
03:31:32 | renesac_ | I know, but I wanted to avoid this verbosity for literals, if possible |
03:31:53 | skrylar | i think in that case you can implement an implicit conversion template |
03:32:44 | skrylar | http://nimrod-lang.org/manual.html#convertible-relation |
03:35:53 | renesac_ | yeah, but what is the type I should convert from? |
03:36:04 | renesac_ | tried "int lit", "lit int", etc |
03:36:08 | renesac_ | "int literal" |
03:36:17 | skrylar | int literal means its just an 'int' |
03:36:20 | renesac_ | but none works |
03:37:31 | skrylar | "converter toThing(x: int): TThing = result = TThing(x)"? |
03:37:34 | renesac_ | yeah, but then any int variable becomes acceptable too |
03:37:54 | skrylar | its one or the other though |
03:37:57 | renesac_ | the distinct loses it's meaning |
03:38:09 | renesac_ | well, I guess I will live with the verbosity |
03:38:19 | skrylar | i think thats a one-way conversion; e.g. it won't convert implicitly back from TThing to Int |
03:38:23 | skrylar | just from int to TThing |
03:38:29 | renesac_ | right... |
03:38:40 | skrylar | but yeah, the integer literal *is* an 'int', which is what the line noise is for (to tell it not to be an int) |
03:38:56 | skrylar | i'm not sure if there is a mechanism for implicitly converting literals only |
03:39:46 | renesac_ | the example in the manual about distinct types conveniently don't do any assignments |
03:39:47 | renesac_ | XD |
03:55:55 | fowl | you can use a converter but thats defeating the point of distinct |
04:23:47 | * | carum joined #nimrod |
04:25:31 | * | carum quit (Remote host closed the connection) |
04:37:30 | skrylar | depends on why its distinct IMO |
04:38:05 | * | DAddYE quit (Remote host closed the connection) |
04:38:31 | * | DAddYE joined #nimrod |
04:40:43 | skrylar | it just occurred to me i never bothered to check if "a, b: TType" actually does what i thought it did |
04:41:50 | skrylar | i've been doing pascal parameters in procs because it seemed to work, even using semicolons between types |
04:42:32 | * | brson_ joined #nimrod |
04:42:48 | * | brson_ quit (Client Quit) |
04:42:56 | * | DAddYE quit (Ping timeout: 252 seconds) |
04:43:03 | skrylar | okay good it actually does work like i thought it did |
04:43:04 | * | brson_ joined #nimrod |
04:45:51 | * | brson quit (Ping timeout: 260 seconds) |
04:46:57 | * | DAddYE joined #nimrod |
05:22:34 | * | vbtt joined #nimrod |
05:23:21 | vbtt | skrylar:you could also do 0.TInt if that suits your eye |
05:30:23 | * | xenagi quit (Quit: Leaving) |
05:30:42 | * | nande quit (Remote host closed the connection) |
05:36:48 | renesac_ | vbtt, I know, that is what I'm doing mainly now |
05:43:49 | * | vbtt quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
05:44:56 | renesac_ | I'm using distinct to define new semantics to +, *, etc, for this type |
05:48:36 | * | renesac_ is now known as renesac|away |
05:51:24 | * | ics joined #nimrod |
05:55:12 | * | DAddYE quit (Remote host closed the connection) |
05:55:43 | * | DAddYE joined #nimrod |
05:56:56 | * | nequitans_ joined #nimrod |
06:00:24 | * | DAddYE quit (Ping timeout: 252 seconds) |
06:00:44 | * | DAddYE joined #nimrod |
06:09:00 | * | nequitans_ quit (Ping timeout: 252 seconds) |
06:14:15 | * | aftersha_ joined #nimrod |
06:42:56 | * | xtagon quit (Read error: Connection reset by peer) |
06:52:40 | * | brson_ quit (Ping timeout: 252 seconds) |
06:57:45 | * | skyfex joined #nimrod |
06:59:29 | * | aftersha_ quit (Quit: Computer has gone to sleep.) |
07:19:39 | * | skyfex quit (Quit: Computer has gone to sleep.) |
07:20:58 | * | zahary_ quit (Read error: Connection reset by peer) |
07:21:45 | * | zahary_ joined #nimrod |
07:23:39 | skrylar | oh joy, time to see why this text gets drawn off the screen |
07:53:38 | * | aftersha_ joined #nimrod |
08:00:16 | * | zahary1 joined #nimrod |
08:06:57 | skrylar | time to bug Araq later; found a compiler crash where it blows up on a GenericBody |
08:09:31 | * | aftersha_ quit (Quit: Computer has gone to sleep.) |
08:12:36 | * | aftersha_ joined #nimrod |
08:14:58 | * | Araq_bnc is now known as Araq |
08:16:34 | * | zahary1 quit (Quit: Leaving.) |
08:17:57 | skrylar | Araq: do you already know of a bug where calling a function that uses generic types but is improperly tagged causes a syGenericBody crash? |
08:19:01 | Araq | yeah, I know |
08:19:30 | Araq | skrylar: converter toFoo(x: int{lit}): TFoo # might work |
08:19:51 | Araq | well it should work, but I never tested it :P |
08:20:04 | Araq | so that's the way to get what you want, by AST based overloading |
08:20:20 | skrylar | i think it was renesac|away who was asking about that, but i'll write a note on it |
08:20:35 | skrylar | i won't draw up a report if you already know about that bug |
08:20:43 | * | isenmann quit (Quit: Leaving.) |
08:33:59 | * | BitPuffin joined #nimrod |
08:34:11 | BitPuffin | moooornin |
08:48:07 | * | aftersha_ quit (Quit: Computer has gone to sleep.) |
08:49:54 | skrylar | 'morning BitPuffin |
09:04:36 | * | aftersha_ joined #nimrod |
09:05:55 | skrylar | hrm. |
09:10:14 | BitPuffin | sup? |
09:19:34 | skrylar | BitPuffin: dealing with clipping errors in my GUI |
09:19:46 | skrylar | it seems to think its a good idea to clip the border of my windows |
09:20:31 | BitPuffin | skrylar: are you gonna make the GUI system open sauce? |
09:20:44 | skrylar | BitPuffin: probably |
09:21:13 | skrylar | i'll likely make non-opensource software with it, but i don't have problems making stuff like that available |
09:24:56 | BitPuffin | skrylar: well yeah that's fine |
09:28:08 | * | aftersha_ quit (Quit: Computer has gone to sleep.) |
09:32:43 | skrylar | BitPuffin: i did recently toss my ncurses binding on github |
09:32:49 | skrylar | spent yesterday doing a proper one |
09:33:23 | skrylar | there might be a handful of bugs since apparently some of the parameters are currently 'expr' due to incompetence on my part :B |
09:40:25 | * | DAddYE quit (Remote host closed the connection) |
09:40:56 | * | DAddYE joined #nimrod |
09:45:27 | * | DAddYE quit (Ping timeout: 260 seconds) |
09:47:00 | skrylar | well, time to sleep. tests in the afternoon tomorrow |
10:33:33 | * | ics quit (Ping timeout: 252 seconds) |
10:35:17 | * | ics joined #nimrod |
10:41:27 | * | DAddYE joined #nimrod |
10:46:12 | * | DAddYE quit (Ping timeout: 252 seconds) |
11:00:39 | BitPuffin | skrylar: well there is also the termbox binding |
11:17:47 | * | DAddYE joined #nimrod |
11:22:13 | * | DAddYE quit (Ping timeout: 260 seconds) |
11:57:03 | * | vendethiel quit (Ping timeout: 260 seconds) |
11:57:51 | * | vendethiel joined #nimrod |
12:16:10 | * | soc joined #nimrod |
12:18:29 | * | DAddYE joined #nimrod |
12:23:14 | * | DAddYE quit (Ping timeout: 265 seconds) |
12:41:07 | * | psquid quit (Quit: out / work) |
13:11:21 | * | nequitans_ joined #nimrod |
13:19:09 | * | DAddYE joined #nimrod |
13:19:27 | * | nequitans_ quit (Remote host closed the connection) |
13:22:19 | * | askatasuna joined #nimrod |
13:23:39 | * | DAddYE quit (Ping timeout: 265 seconds) |
13:33:30 | * | darkf quit (Quit: Leaving) |
13:34:49 | BitPuffin | Hmm |
13:35:01 | BitPuffin | can't remember if we had to do new(result) or not in nimrad |
13:39:55 | Araq | you can also use PFoo(x: 4, y: 5) but otherwise you need to do 'new(result)' |
13:40:13 | Araq | why would you remember new(result) if you don't have to use it? |
13:43:36 | BitPuffin | good point |
13:43:50 | BitPuffin | but I guess that would be if I would have done some initialization of another object or whatever |
13:44:23 | BitPuffin | Araq: so how does new(result) deal with not nil fields? |
13:44:31 | BitPuffin | does it survive until the end of a proc or what |
13:47:19 | Araq | try it |
13:47:32 | Araq | you have to use PFoo(...) for not nil fields |
13:47:49 | BitPuffin | well damn |
13:50:10 | BitPuffin | something like this then https://gist.github.com/gists |
13:50:13 | BitPuffin | oops lol |
13:50:15 | BitPuffin | hang on |
13:50:21 | BitPuffin | https://gist.github.com/BitPuffin/9134545 |
13:58:49 | * | nequitans_ joined #nimrod |
14:06:55 | * | EXetoC joined #nimrod |
14:07:53 | Araq | BitPuffin: queryResult[1] # how do you know it's not nil? |
14:09:31 | BitPuffin | Araq: blind trust |
14:09:43 | BitPuffin | Araq: no but I know the structure of the database |
14:09:50 | renesac|away | Araq, int {lit} works, thanks |
14:09:56 | BitPuffin | Araq: so it's enough to check if it is empty first |
14:10:02 | BitPuffin | and if not, then it will be a row |
14:10:07 | BitPuffin | which has those elements |
14:11:22 | nequitans_ | Hello Nimrod developers/fans/users! |
14:11:35 | * | renesac|away is now known as renesac |
14:11:51 | Araq | BitPuffin: you'll spend time making the compiler happy while preventing 0 bugs. My prediction. |
14:12:10 | nequitans_ | Any quick explanation for why this doesn't compile: |
14:12:12 | nequitans_ | proc testsort*[T](x:var seq[T]) = x.sort(cmp[T]) |
14:12:15 | nequitans_ | but |
14:12:15 | BitPuffin | Araq: ? |
14:12:29 | nequitans_ | proc gcmp[T](x, y: T): int = cmp[T](y,x) |
14:12:40 | nequitans_ | and replacing cmp[T] with gcmp[T] works? |
14:12:47 | BitPuffin | I either it returns an empty seq |
14:12:51 | BitPuffin | or a filled one |
14:12:55 | Araq | gcmp is not overloaded, nequitans |
14:13:02 | Araq | that said, it's a bug and should work |
14:13:07 | Araq | please report it |
14:13:54 | BitPuffin | Araq: the only one of those that can't be nil is the possword one, and that one isn't marked with not nil |
14:14:01 | BitPuffin | because it is supposed to be able to be nil |
14:14:14 | BitPuffin | Since I want to have persona auth as an option |
14:14:41 | nequitans_ | Araq, thanks. Will do. I take it the github issue tracker is the right place? |
14:14:55 | Araq | yes |
14:15:01 | BitPuffin | basically what it is is this https://gist.github.com/BitPuffin/9135002 |
14:15:17 | BitPuffin | and since those are marked with not null I can feel safe as fuck |
14:15:38 | Araq | the compiler doesn't know about it, BitPuffin |
14:15:41 | renesac | Araq, PFoo() is an alias for new(PFoo)? |
14:15:54 | Araq | no for new(TFoo) |
14:16:04 | BitPuffin | Araq: err, so what do I do? |
14:16:11 | renesac | oh, right |
14:16:13 | BitPuffin | remove not nil? |
14:16:20 | Araq | BitPuffin: that's what I would do |
14:16:25 | BitPuffin | ok boss |
14:16:50 | renesac | and if you do it in a ref object? |
14:17:02 | renesac | you can get unitialized memory? |
14:17:09 | renesac | *uninitialized |
14:17:43 | BitPuffin | fixed |
14:18:08 | renesac | or you get a TFoo even if I defined only PFoo? |
14:18:22 | EXetoC | alias? |
14:18:25 | Araq | renesac: the 'ref' is nil then |
14:18:45 | Araq | things are initialized to binary zero unless you use .noInit as a performance hack |
14:19:05 | renesac | rigtht |
14:19:34 | renesac | but I can acess the fields of a ref object that I initialized with PFoo() |
14:19:38 | renesac | so it is not nil |
14:19:58 | * | DAddYE joined #nimrod |
14:20:44 | Araq | var x = PFoo(); # same as var x: PFoo; new(x) |
14:21:23 | renesac | oh, ok |
14:24:33 | * | DAddYE quit (Ping timeout: 265 seconds) |
14:24:40 | nequitans_ | Araq, issue added. I should learn how to fix this type of issue, now ;) |
14:50:11 | * | nequitans_ quit (Ping timeout: 260 seconds) |
14:54:03 | * | [1]Endy joined #nimrod |
14:54:04 | Varriount | Gppd morning everyone. |
14:54:08 | Varriount | *Good |
14:54:49 | * | ics quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
14:55:53 | OrionPK | gppd morning to you |
15:00:54 | BitPuffin | gpppppppppppd morning Varriount! |
15:10:02 | * | [2]Endy joined #nimrod |
15:12:41 | * | [1]Endy quit (Ping timeout: 252 seconds) |
15:19:15 | * | Varriount is impressed with python's new asyncio module |
15:20:45 | * | DAddYE joined #nimrod |
15:22:36 | * | askatasuna quit (Read error: Operation timed out) |
15:25:27 | * | DAddYE quit (Ping timeout: 265 seconds) |
15:36:41 | BitPuffin | ahem, dom96 |
15:38:30 | * | gsingh93__ quit (Quit: Connection closed for inactivity) |
15:54:12 | BitPuffin | dom96: we also need an asyncio module that Varriount will be impressed with |
15:54:57 | * | ddl_smurf joined #nimrod |
15:55:04 | ddl_smurf | https://gist.github.com/sznurek/9103145 |
15:55:32 | Varriount | I'm also impressed with what dom96 did. However it's hard not to be impressed by an asyncio framework created by some of the top networking coders in the python community |
16:05:13 | * | [1]Endy joined #nimrod |
16:05:28 | renesac | a converter is always exported to outside the module? |
16:07:12 | * | [3]Endy joined #nimrod |
16:07:59 | EXetoC | I can't see why you wouldn't be able to not export converters |
16:08:09 | renesac | I'm abusing it with some great results, but I'm afraid this will leak... |
16:08:23 | renesac | I don't want to export it |
16:08:38 | * | [2]Endy quit (Ping timeout: 264 seconds) |
16:08:42 | EXetoC | ok so don't |
16:08:49 | renesac | ok |
16:09:14 | renesac | I was afraid converters were global to the compilation |
16:09:28 | renesac | glad that this is not the case |
16:09:53 | * | [1]Endy quit (Ping timeout: 252 seconds) |
16:10:26 | renesac | converter toSeq(x: BigInt): seq[BDigit] = x.n <-- this is great, saves me redefining every seq method |
16:11:40 | renesac | not sure if it will not backfire |
16:14:19 | EXetoC | I suppose you mean as a way to avoid having to access that member explicitly |
16:15:09 | renesac | yes, and the possibility of maybe removing that member and storing things directly on BigInt |
16:15:55 | renesac | though I'm not sure about nimrod's support for C "flexible array members" like feature |
16:16:13 | renesac | this would be only an future optimization, though |
16:16:19 | EXetoC | I don't know what you mean but ok |
16:16:41 | renesac | a struct w/o a defined size |
16:16:47 | renesac | whose last member is an array |
16:17:11 | renesac | dinamic array, with it's values |
16:17:35 | renesac | well, I guess more or less like seq is implemented currently |
16:21:25 | EXetoC | it's still defined |
16:21:29 | * | DAddYE joined #nimrod |
16:23:38 | renesac | I meant w/o a fixed size |
16:24:20 | renesac | a size defined at compile time |
16:26:17 | renesac | w/o that |
16:26:22 | * | DAddYE quit (Ping timeout: 265 seconds) |
16:38:14 | * | DAddYE joined #nimrod |
16:42:31 | * | soc left #nimrod ("PING 1393000951") |
16:42:48 | * | DAddYE quit (Ping timeout: 265 seconds) |
16:43:13 | EXetoC | what's not fixed is the run-time buffer |
16:47:30 | renesac | EXetoC, I'm talking about this: https://pic.dhe.ibm.com/infocenter/iseries/v7r1m0/index.jsp?topic=%2Frzarg%2Fflexible.htm |
16:52:43 | * | BitPuffin quit (Ping timeout: 265 seconds) |
17:02:32 | * | carum joined #nimrod |
17:05:26 | dom96 | hi |
17:08:54 | * | ics joined #nimrod |
17:10:35 | renesac | ugh, converters bug bite me again... |
17:25:24 | * | carum quit (Remote host closed the connection) |
17:29:26 | * | DAddYE joined #nimrod |
17:51:59 | * | Matthias247 joined #nimrod |
17:54:22 | * | aftersha_ joined #nimrod |
17:58:23 | * | carum joined #nimrod |
18:02:22 | * | BitPuffin joined #nimrod |
18:07:06 | * | carum quit (Remote host closed the connection) |
18:11:01 | * | nande joined #nimrod |
18:12:03 | * | foodoo joined #nimrod |
18:17:48 | * | xtagon joined #nimrod |
18:17:48 | * | askatasuna joined #nimrod |
18:20:40 | * | aftersha_ quit (Quit: Computer has gone to sleep.) |
18:21:05 | * | aftersha_ joined #nimrod |
18:33:17 | * | CarpNet quit (Quit: Leaving) |
18:35:59 | foodoo | Is the index http://nimrod-lang.org/theindex.html supposed to contain all procs and module members of the Nimrod standard library? I can't find the member fmRead |
18:36:16 | foodoo | fmRead is used here: http://nimrod-lang.org/parsexml.html#105 |
18:51:14 | * | q66 joined #nimrod |
18:52:23 | * | aftersha_ quit (Quit: Computer has gone to sleep.) |
18:54:18 | dom96 | foodoo: I think it is yeah. Bug I guess. |
18:58:53 | * | Varriount|Mobile joined #nimrod |
19:02:03 | * | aftersha_ joined #nimrod |
19:11:12 | * | foodoo quit (Quit: so long and thanks for the fish) |
19:23:10 | * | io2 joined #nimrod |
19:29:53 | * | askatasuna quit (Quit: WeeChat 0.4.2) |
19:30:09 | * | askatasuna joined #nimrod |
19:34:14 | * | aftersha_ quit (Quit: Computer has gone to sleep.) |
19:39:51 | * | brson joined #nimrod |
20:08:58 | * | aftersha_ joined #nimrod |
20:52:59 | * | aftersha_ quit (Quit: Computer has gone to sleep.) |
20:53:23 | * | Xabster joined #nimrod |
20:54:29 | Xabster | In the example on the website it appears that indented lines are interpreted as belonging to the for loop |
20:54:43 | Xabster | is that so? |
20:55:19 | dom96 | hello Xabster |
20:55:50 | Matthias247 | Xabster: an indentation starts a scope/block. Like { } in other languages. So yes, it's true |
20:56:11 | Xabster | and it ends when you stop indenting then right? |
20:56:22 | dom96 | yes |
20:56:38 | Xabster | damn :/ |
20:58:55 | dom96 | Xabster: Is that a problem? |
20:59:22 | EXetoC | it does reduce superfluous syntactic elements, and it's fairly common nowadays |
20:59:42 | OrionPK | hey Matthias247 , I noticed that the selectors in nimlime arent picking up symbols with '*' after them |
20:59:46 | OrionPK | for exported procs and such |
21:00:06 | OrionPK | proc close(request: TUVRequest) vs. proc close*(request: TUVRequest) |
21:00:11 | Matthias247 | oh, forget the possibility of the * for the regex |
21:00:27 | Matthias247 | should be easy to fix |
21:01:16 | Matthias247 | however I also had liked a selector to detect type declarations. But that's very hard |
21:01:44 | renesac | Xabster, it works as it looks, it would be bad if the indentation differed from how it worked |
21:02:05 | OrionPK | yeah that'd be nice |
21:02:55 | Matthias247 | because the type name is on a newline. And there can be multiple type declarations after the type keyword |
21:03:22 | Matthias247 | guess you would need a f full blown grammar for that and it won't work with sublime only using regexes |
21:04:02 | Xabster | i just don't like that indentation is part of syntax, never really did accept that |
21:04:09 | renesac | Xabster, why? |
21:04:38 | OrionPK | Matthias247 yeah that would be tricky |
21:04:57 | OrionPK | is there a way to do that via python instead of the language definition? |
21:05:00 | renesac | http://www.secnetix.de/~olli/Python/block_indentation.hawk <-- this is good reading |
21:05:06 | Xabster | it's an aesthetic thing and also it seems weird when you're coding/editing in something that isn't an IDE that you have to do spaces |
21:05:08 | Xabster | or tabs? |
21:05:10 | renesac | though nirmod differs from python on a number of ways |
21:05:12 | Xabster | how many spaces btw? |
21:05:33 | renesac | Xabster, usually you configure your IDE to replace a tab for X spaces |
21:05:48 | dom96 | Convention is 2 spaces |
21:05:57 | renesac | in nimrod, tabs are forbidden for identation |
21:06:13 | renesac | you can use any number of spaces, though, just be consistent |
21:06:20 | renesac | as dom96 said, the convention is 2 spaces |
21:07:01 | renesac | and most text editors support converting tab to spaces |
21:07:13 | dom96 | Xabster: You would be indenting your code anyway when using { } or begin/end. |
21:07:36 | renesac | you don't want to be coding where you can't do a "shift + tab" to unident a piece of code |
21:08:18 | renesac | and if a editor supports nimrod, it auto idents on a ':' after a if, for, etc. |
21:08:20 | EXetoC | 4 spaces is acceptable though apparently, so I'll adhere to that in my own projects |
21:08:31 | renesac | I also like better 4 spaces |
21:08:37 | EXetoC | assuming that the wiki isn't outdated |
21:08:49 | renesac | why the convention is 2 spaces? |
21:09:47 | OrionPK | Matthias247 another thing that's probably not included are `identifiers` |
21:10:02 | OrionPK | i.e. proc `&=`*() |
21:10:13 | * | vendethiel quit (Ping timeout: 260 seconds) |
21:10:17 | * | ics quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
21:10:40 | * | vendethiel joined #nimrod |
21:16:36 | Araq | hi Xabster welcome |
21:16:51 | Matthias247 | OrionPK: ah ok. Should also be doable |
21:17:26 | Xabster | Hi, thanks, but I will be leaving shortly |
21:17:33 | Xabster | On with my quest |
21:18:49 | Araq | yeah it's better to switch programming languages than abandoning notepad for programming :P |
21:19:13 | Xabster | I use the most feature rich IDEs I can find |
21:19:27 | Xabster | Does not mean I can't have issues with using spaces as part of the syntax |
21:19:41 | Xabster | Cya guys! |
21:19:43 | * | Xabster left #nimrod (#nimrod) |
21:19:59 | OrionPK | he just quit nimrod because of spaces? |
21:20:10 | Araq | yeah |
21:20:17 | renesac | I can count in one hand the languages that don't use space as part of the syntax |
21:20:22 | renesac | :P |
21:20:22 | OrionPK | lol |
21:20:59 | renesac | Araq, why the convention is 2 spaces? |
21:21:17 | * | OrionPK prefers 4 |
21:21:24 | Araq | renesac: because I like deep nestings |
21:21:33 | * | OrionPK doesnt like deep nestings |
21:21:40 | * | renesac neither... |
21:22:28 | renesac | interesting that linux kernel convention is 8 spaces because linus don't like deep nesting |
21:22:36 | renesac | that is overkill, of course |
21:23:20 | renesac | and nirmod is rather flat, w/o things being inside 'class:' |
21:23:32 | renesac | with templates, inline functions, etc, that you can use to flatten your code |
21:24:11 | renesac | so most of the time I'm quite far from the 80 char per line limit |
21:24:42 | renesac | I usually aproach them in function declarations, but there the small identation don't help |
21:25:04 | EXetoC | if anything, it's nice to be able to fit things on a single line. deep nestings do indeed seem to be discouraged |
21:26:24 | Matthias247 | you only need a large monitor :9 |
21:26:38 | Matthias247 | the new 34" 21:9 will be nice :) |
21:27:09 | renesac | nah, larger monitors are usefull to fit more code side by side |
21:27:21 | renesac | not for longer lines |
21:28:00 | EXetoC | renesac: indeed. I'm fine with a 79-column limit these days |
21:28:30 | renesac | well, it depends on the language of couse |
21:28:42 | EXetoC | I had a limit of 110-120 before, but that's way too much imo |
21:28:44 | renesac | it would be much harder to keep this limit in java, for instance |
21:54:50 | * | [3]Endy quit (Ping timeout: 264 seconds) |
21:55:18 | * | foodoo joined #nimrod |
21:59:16 | * | Arcanum_za is now known as Trixar_za |
22:03:35 | * | askatasuna quit (Quit: WeeChat 0.4.2) |
22:03:56 | * | askatasuna joined #nimrod |
22:06:44 | Matthias247 | OrionPK: is the auto-completion now OK for you? |
22:07:11 | OrionPK | seems so... |
22:07:21 | OrionPK | but I havent tried it on my home desktop yet, on my work laptop |
22:07:31 | OrionPK | dont know if it's even on, i just have the defualt settings |
22:09:34 | Matthias247 | you have to double-press ctlr+space now |
22:09:46 | Matthias247 | if you then see completions it works |
22:10:32 | * | carum joined #nimrod |
22:10:34 | Matthias247 | the API of sublime-text is unfortunatly quite limited and does not allow for a really sophisticated solution :( |
22:11:20 | OrionPK | adding (\s*?\*)? to the nimrod proc looks like it works |
22:11:31 | OrionPK | you will probably also want other things lke template|macro in that pattern, no? |
22:12:24 | Matthias247 | yeah. Didn't know enough about macro and template and possible syntaxes in Nimrod, so I first left them out :) |
22:12:38 | OrionPK | ah |
22:12:44 | OrionPK | the ctrl+space+space worked once |
22:12:49 | OrionPK | but now I cant get it to work anymore :0 |
22:13:16 | Matthias247 | ctrl-space and when the dialog is open ctlr+space again |
22:13:53 | Matthias247 | and it won't work when you close it and reopen it at exactly the same position. But normally you wouldn't do that :) |
22:14:40 | NimBot | Varriount/NimLime master f613e26 Erik O'Leary [+0 ±2 -0]: Added * pattern to meta.proc.nimrod capture |
22:16:04 | OrionPK | ok, added in that * pattern |
22:16:54 | Matthias247 | ok |
22:17:16 | Matthias247 | i think the ? is superfluos |
22:17:34 | Matthias247 | but will probably not hurt |
22:19:59 | * | carum quit (Remote host closed the connection) |
22:20:17 | Matthias247 | I currently try to get CAAS running |
22:22:15 | * | carum joined #nimrod |
22:28:14 | * | psquid joined #nimrod |
22:37:42 | OrionPK | why is it superfluous |
22:37:56 | OrionPK | oh you're right |
22:38:04 | OrionPK | the ? after the \s* is superfluous |
22:38:43 | Matthias247 | yep |
22:41:08 | OrionPK | next time you're making a change to that file, you can wack that then ;) |
22:55:19 | * | skyfex joined #nimrod |
22:57:08 | skrylar | back |
22:57:09 | Araq | hi skyfex |
22:57:24 | * | XAMPP joined #nimrod |
22:57:24 | * | XAMPP quit (Changing host) |
22:57:24 | * | XAMPP joined #nimrod |
22:58:59 | Araq | skrylar: are you skyfex? |
22:59:10 | OrionPK | skryfex? |
22:59:18 | skrylar | no |
22:59:25 | skrylar | i am skrylar |
22:59:31 | OrionPK | skylar |
22:59:50 | skrylar | and sometimes irssi decides my name is lowercase :| |
23:01:33 | * | foodoo quit (Ping timeout: 252 seconds) |
23:10:34 | skrylar | one of these days i need to sit down and actually learn the SSE instructions |
23:13:22 | Matthias247 | why does idetools return my that? /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crt1.o: In Funktion `_start': (.text+0x20): Nicht definierter Verweis auf `main' collect2: error: ld returned 1 exit status |
23:14:08 | OrionPK | return my that? |
23:14:19 | Matthias247 | return me that |
23:15:07 | OrionPK | ich weiss nicht :P |
23:15:22 | skrylar | Ich spreche kein Deutsch but it sounds like the error given when trying to link a program that is missing the main function :) |
23:15:46 | Matthias247 | yes it does. But i ask it for suggestions, not for building |
23:16:17 | Araq | looks like yet another idetools bug to me |
23:16:53 | Matthias247 | this is in the CAAS mode |
23:17:02 | Matthias247 | in normal mode suggestions work for me |
23:18:29 | skrylar | (sidewoot: i got clipping to work in the GUI, so now sized windows aren't derpy \o/) |
23:19:14 | * | skyfex quit (Quit: Computer has gone to sleep.) |
23:25:00 | skrylar | bleh, all this debugging made me realize we really need a high-grade logger/profiler rig |
23:25:39 | * | Varriount|Mobile quit (Remote host closed the connection) |
23:27:13 | OrionPK | hm weird |
23:27:21 | OrionPK | aaapackagedev stopped working |
23:27:56 | Araq | I heard they renamed it to bbbpackagedev |
23:28:19 | renesac | it was downrated? |
23:28:19 | OrionPK | i heard you're full of shit :p |
23:28:33 | * | Trixar_za quit (Ping timeout: 245 seconds) |
23:29:40 | * | Trixar_za joined #nimrod |
23:30:56 | * | ics joined #nimrod |
23:33:23 | Matthias247 | now i got one time a list of suggestions before the linker error |
23:33:47 | Matthias247 | was caas working at some point? |
23:36:07 | Araq | I don't think so |
23:36:15 | * | vbtt joined #nimrod |
23:38:12 | Matthias247 | Araq: who's the expert on that? |
23:38:20 | Araq | zahary |
23:38:48 | OrionPK | Matthias247 what do you think of this: |
23:38:49 | OrionPK | (proc|method|template|macro)\s+\`?([^\s\`\*]*)\`?(\s*\*)?\s*\( |
23:40:41 | OrionPK | i'm also adding iterator and converter to that | list |
23:40:44 | Matthias247 | OrionPK: yeah, something like that. But you can tune it to only accept matching ` |
23:41:06 | Matthias247 | either use an | or a backreference |
23:41:22 | OrionPK | yeah.. but I'd rather just let nimrod worry about that |
23:42:13 | Matthias247 | detecting some basic errors by missing highlighting is also nice :) |
23:42:43 | OrionPK | it wont show an error, it just wont match :p |
23:43:24 | NimBot | Varriount/NimLime master fa019c2 Erik O'Leary [+0 ±2 -0]: Widened matches for "procs" |
23:44:35 | Matthias247 | (proc|method|template|macro)\s+(\`)?([^\s\`\*]*)(\2)(\s*\*)?\s*\( |
23:44:38 | Matthias247 | this could work |
23:44:57 | Matthias247 | (proc|method|template|macro)\s+(\`?)([^\s\`\*]*)(\2)(\s*\*)?\s*\( |
23:44:57 | Matthias247 | d |
23:45:04 | Matthias247 | or better this |
23:46:35 | * | carum quit (Remote host closed the connection) |
23:48:32 | Araq | for i in 0..level-1: res.add " " # guess how many instructions this generates for vm2 |
23:49:04 | EXetoC | 1 |
23:49:40 | Araq | 11 |
23:50:15 | Araq | 7 for the loop itself, 4 for the initalization |
23:51:11 | Araq | and no, this doesn't use specialized instructions for this particular piece of code |
23:52:16 | * | carum joined #nimrod |
23:53:10 | OrionPK | not bad |
23:54:01 | Matthias247 | lol, now it works |
23:54:07 | Matthias247 | strange |
23:54:39 | OrionPK | hm? |
23:55:00 | Matthias247 | completions through caas |
23:56:26 | OrionPK | coo |
23:56:27 | * | Arcanum_za joined #nimrod |
23:56:58 | dom96 | Araq: Out of curiosity what instructions are those? |
23:57:01 | OrionPK | Matthias247 another thing we're missing |
23:57:09 | OrionPK | proc test = echo "something" |
23:57:15 | OrionPK | you dont need () |
23:57:17 | OrionPK | to define a proc |
23:57:17 | * | Trixar_za quit (Quit: Leaving) |
23:57:31 | Matthias247 | oh |
23:58:05 | Matthias247 | and when you put the test on a new line it will also break |
23:58:29 | OrionPK | eh? is that valid? |
23:58:37 | Araq | L137: |
23:58:39 | Araq | LeInt r7, r6, r5 #system:1320 |
23:58:40 | Araq | FJmp r7, L145 #system:1320 |
23:58:42 | Araq | AsgnInt r4, r6, r0 #system:1319 |
23:58:43 | Araq | LdConst r9, " " #macros:376 |
23:58:45 | Araq | AddStrStr r1, r9, r0 #macros:376 |
23:58:46 | Araq | AddImmInt r6, r6, r129 #system:1322 |
23:58:48 | Araq | Jmp r0, L137 #system:1320 |
23:58:49 | Araq | is the loop, dom96 |
23:59:00 | dom96 | Araq: Gist next time. |
23:59:00 | OrionPK | oh it is lol |
23:59:01 | OrionPK | crazy |
23:59:11 | * | darkf joined #nimrod |
23:59:42 | * | Arcanum_za is now known as Trixar_za |