00:15:28 | * | familiar125 joined #nimrod |
00:20:20 | * | familiar125 quit (Read error: Connection reset by peer) |
00:32:53 | * | familiar125 joined #nimrod |
00:38:35 | * | familiar125 quit (Read error: Connection reset by peer) |
00:38:50 | * | familiar125 joined #nimrod |
00:40:21 | * | familiar125 quit (Read error: Connection reset by peer) |
00:40:38 | * | familiar125 joined #nimrod |
00:40:47 | * | yogin joined #nimrod |
00:41:10 | OrionPK | ha, sorry bout that.. forgot to change my cfg back |
00:41:23 | * | familiar125 quit (Read error: Connection reset by peer) |
00:43:40 | * | BitPuffin quit (Read error: Operation timed out) |
01:54:51 | * | DAddYE quit (Remote host closed the connection) |
01:55:25 | * | DAddYE joined #nimrod |
01:59:43 | * | DAddYE quit (Ping timeout: 245 seconds) |
02:16:55 | * | brson quit (Ping timeout: 272 seconds) |
02:18:29 | * | brson joined #nimrod |
02:20:01 | * | familiar125 joined #nimrod |
02:56:13 | * | DAddYE joined #nimrod |
03:01:15 | * | DAddYE quit (Ping timeout: 272 seconds) |
03:06:02 | * | DAddYE joined #nimrod |
03:10:14 | * | DAddYE quit (Ping timeout: 240 seconds) |
03:25:50 | * | brson quit (Ping timeout: 245 seconds) |
03:45:10 | * | xenagi joined #nimrod |
03:47:16 | * | webskipper quit (Ping timeout: 264 seconds) |
03:48:45 | * | DAddYE joined #nimrod |
03:48:59 | * | DAddYE quit (Remote host closed the connection) |
03:49:06 | * | DAddYE joined #nimrod |
03:49:49 | * | DAddYE quit (Remote host closed the connection) |
04:28:23 | * | familiar125 quit (Read error: Connection reset by peer) |
04:50:59 | * | DAddYE joined #nimrod |
04:55:02 | * | DAddYE quit (Ping timeout: 240 seconds) |
05:01:31 | * | DAddYE joined #nimrod |
05:05:50 | * | DAddYE quit (Ping timeout: 240 seconds) |
05:08:04 | * | shodan45 joined #nimrod |
05:08:33 | * | OrionPK quit (Read error: Connection reset by peer) |
05:44:06 | * | xenagi quit (Quit: Leaving) |
05:52:53 | * | DAddYE joined #nimrod |
05:57:12 | * | DAddYE quit (Ping timeout: 240 seconds) |
06:09:41 | * | DAddYE joined #nimrod |
06:09:48 | * | DAddYE quit (Remote host closed the connection) |
06:09:54 | * | DAddYE joined #nimrod |
06:42:59 | * | DAddYE quit (Remote host closed the connection) |
06:52:05 | * | Varriount quit (Read error: Connection reset by peer) |
06:52:25 | * | Varriount joined #nimrod |
07:44:09 | * | DAddYE joined #nimrod |
07:48:28 | * | DAddYE quit (Ping timeout: 245 seconds) |
07:54:16 | * | DAddYE joined #nimrod |
07:59:11 | * | DAddYE quit (Ping timeout: 272 seconds) |
08:12:10 | * | XAMPP joined #nimrod |
08:28:30 | * | q66_ joined #nimrod |
08:29:00 | * | q66 quit (Disconnected by services) |
08:29:02 | * | q66_ is now known as q66 |
08:30:40 | * | Jackneill joined #nimrod |
08:45:55 | * | DAddYE joined #nimrod |
08:50:29 | * | DAddYE quit (Ping timeout: 272 seconds) |
09:02:21 | * | webskipper joined #nimrod |
09:40:43 | * | CarpNet joined #nimrod |
09:47:24 | * | DAddYE joined #nimrod |
09:52:17 | * | DAddYE quit (Ping timeout: 272 seconds) |
10:43:40 | * | Hannibal_Smith joined #nimrod |
10:48:46 | * | DAddYE joined #nimrod |
10:53:02 | * | DAddYE quit (Ping timeout: 240 seconds) |
11:10:24 | * | BitPuffin joined #nimrod |
11:10:34 | BitPuffin | good * |
11:10:36 | BitPuffin | folks |
11:11:02 | BitPuffin | Araq: watcha gonna do now eh? |
11:11:52 | fowl | hi |
11:12:21 | BitPuffin | hey fowl |
11:15:00 | fowl | BitPuffin, i'm rewriting this in nimrod https://github.com/fowlmouth/readable-cpp |
11:16:47 | BitPuffin | "Studies have shown that reading type declarations in C can cause dizziness, drymouth, nausea, diabetes, ocular warts and constipation and may be linked to low sperm count" |
11:16:49 | BitPuffin | lol |
11:17:21 | fowl | thats true |
11:17:31 | fowl | its the basis of my thesis |
11:17:40 | fowl | when i get to the point where i need to write a thesis |
11:18:16 | BitPuffin | fowl: how is that gonna be written in nimrod? |
11:18:26 | BitPuffin | ah |
11:18:31 | BitPuffin | it's a translator? |
11:18:43 | fowl | yea |
11:28:01 | * | BitPuffin quit (Quit: WeeChat 0.4.2) |
11:30:27 | * | BitPuffin joined #nimrod |
11:30:50 | BitPuffin | fowl: but why would you want to make c++ bareable :P |
11:31:06 | fowl | BitPuffin, because it pisses off people who love c++ :) |
11:31:31 | fowl | they hate change more than republicans |
11:31:37 | BitPuffin | fowl: lol :D |
11:34:04 | fowl | what i have so far https://gist.github.com/fowlmouth/57405bf26ed8c1b4e357 |
11:35:03 | BitPuffin | hmm, doesn't seam like portaudio has that much more than libao |
11:35:08 | BitPuffin | just that it handles stream |
11:35:11 | BitPuffin | s |
11:35:27 | fowl | is there alrady a libao wrapper |
11:35:37 | BitPuffin | fowl: hehe |
11:35:39 | BitPuffin | yeah |
11:35:41 | BitPuffin | there is |
11:35:50 | BitPuffin | nim-ao |
11:41:37 | * | BitPuffin quit (Quit: WeeChat 0.4.2) |
11:41:51 | * | BitPuffin joined #nimrod |
11:50:06 | * | DAddYE joined #nimrod |
11:55:09 | * | DAddYE quit (Ping timeout: 272 seconds) |
12:34:10 | * | Hannibal_Smith quit (Quit: Sto andando via) |
12:34:27 | * | Hannibal_Smith joined #nimrod |
12:51:30 | * | DAddYE joined #nimrod |
12:55:44 | * | DAddYE quit (Ping timeout: 240 seconds) |
13:50:03 | * | Hannibal_Smith quit (Ping timeout: 272 seconds) |
13:52:44 | * | DAddYE joined #nimrod |
13:57:17 | * | DAddYE quit (Ping timeout: 252 seconds) |
13:58:48 | * | BitPuffi1 joined #nimrod |
13:59:24 | * | BitPuffin quit (Read error: Connection reset by peer) |
14:08:14 | * | BitPuffi1 is now known as BitPuffin |
14:14:15 | * | webskipper quit (Ping timeout: 246 seconds) |
14:14:35 | BitPuffin | Heh! Cool, UnigineScript shares a property that nimrod has |
14:14:42 | BitPuffin | and that is that they got rid of protected :P |
14:21:05 | BitPuffin | or hmm |
14:21:07 | BitPuffin | private means that such member is accessible from within other members of the same class and members of the inherited classes. |
14:21:18 | BitPuffin | guess that makes it protected? |
14:30:35 | * | Hannibal_Smith joined #nimrod |
14:33:32 | * | q66 quit (Ping timeout: 246 seconds) |
14:36:19 | * | q66 joined #nimrod |
14:54:09 | * | DAddYE joined #nimrod |
14:58:14 | * | DAddYE quit (Ping timeout: 240 seconds) |
15:11:14 | * | Hannibal_Smith quit (Quit: Sto andando via) |
15:16:40 | * | noam_ is now known as noam |
15:17:50 | * | tylere quit (Remote host closed the connection) |
15:26:18 | dom96 | yo |
15:35:42 | BitPuffin | hey dom96 |
15:45:13 | dom96 | hey BitPuffin, what's up? |
15:46:01 | BitPuffin | dom96: learning how to script in Unigine, you? |
15:53:58 | dom96 | eating :P |
15:54:20 | BitPuffin | dom96: nice, what are you eating? |
15:54:44 | dom96 | panini |
16:01:13 | BitPuffin | dom96: fuck that would be nice to eat :D |
16:02:08 | dom96 | yep, it was lol |
16:04:19 | * | OrionPK joined #nimrod |
16:09:05 | * | q66 quit (Ping timeout: 246 seconds) |
16:16:28 | * | q66 joined #nimrod |
16:21:41 | * | q66 quit (Ping timeout: 246 seconds) |
16:37:35 | * | Mat2 joined #nimrod |
16:37:42 | Mat2 | hi all |
16:37:51 | * | Mat2 is now known as Mat2-coding |
16:39:23 | BitPuffin | yo Mat2-coding |
16:40:56 | Mat2-coding | hi BitPuffin |
16:41:37 | * | q66 joined #nimrod |
16:46:05 | * | yogin quit (Quit: Leaving) |
16:46:51 | dom96 | This article per week thing isn't working out very well |
16:47:55 | Mat2-coding | hi dom96 |
16:48:04 | dom96 | hi Mat2-coding |
16:48:16 | BitPuffin | dom96: no, my blog isn't done yet :P |
16:50:45 | * | q66 quit (Ping timeout: 246 seconds) |
16:51:16 | * | q66 joined #nimrod |
16:56:13 | BitPuffin | dom96: and I'm not quite sure I'm gonna finish it before I finish this project |
16:56:52 | * | DAddYE joined #nimrod |
16:57:04 | BitPuffin | dom96: I'll probably just finish the parts I need to get paid, and then write my company website (possibly in the nimrod pro-programming language :D) and write a game that I want to release in december |
16:57:51 | BitPuffin | anyways gotta go! |
16:58:08 | * | BitPuffin quit (Quit: WeeChat 0.4.2) |
17:01:35 | * | DAddYE quit (Ping timeout: 272 seconds) |
17:09:02 | * | mak2 joined #nimrod |
17:18:12 | * | yogin joined #nimrod |
17:31:21 | * | q66 quit (Ping timeout: 246 seconds) |
17:47:37 | * | brson joined #nimrod |
17:59:28 | * | q66 joined #nimrod |
17:59:53 | * | mak2 left #nimrod ("WeeChat 0.4.2") |
18:04:15 | * | q66 quit (Ping timeout: 246 seconds) |
18:08:08 | * | DAddYE joined #nimrod |
18:08:14 | * | DAddYE quit (Remote host closed the connection) |
18:08:27 | * | DAddYE joined #nimrod |
18:18:47 | * | q66 joined #nimrod |
18:22:08 | * | q66 quit (Excess Flood) |
18:22:32 | * | q66 joined #nimrod |
18:24:42 | * | webskipper joined #nimrod |
18:29:26 | * | q66 quit (Ping timeout: 246 seconds) |
18:32:51 | * | CarpNet quit (Quit: Leaving) |
18:34:12 | Araq | hi yogin welcome (if you're new lol) |
18:34:29 | Araq | hi Mat2-coding how's coding? |
18:35:07 | Varriount | Good morning Araq. |
18:35:19 | Araq | good evening, Varriount |
18:35:32 | dom96 | Araq: Is there an offsetof? |
18:36:45 | * | Hannibal_Smith joined #nimrod |
18:40:35 | Araq | dom96: no but you can use the same hack as in C, I hope |
18:42:20 | Varriount | So Araq, does this new VM use bytecode? |
18:42:40 | dom96 | Anyone have any experience with opengl/glfw? |
18:43:03 | p0nce | opengl here |
18:43:10 | p0nce | but no glfw |
18:43:46 | * | q66 joined #nimrod |
18:43:54 | Varriount | I have theoretical knowledge, but no practical knowledge. I've always used frameworks |
18:44:22 | dom96 | Well I must admit I am too lazy to read anything about it. I'm porting some opengl/glfw C code to Nimrod and my program crashes on a call to glEnable() |
18:44:31 | Araq | template offsetof(typ, field): expr = (var dummy: typ; cast[int](addr(dummy.field)) - cast[int](addr(dummy)) |
18:44:36 | Araq | or something like that |
18:44:52 | p0nce | dom96: some code perhaps? |
18:44:59 | dom96 | Perhaps I am not initialising something. |
18:45:27 | Araq | called loadExtensions? |
18:45:49 | dom96 | nope. |
18:45:49 | Araq | everybody needs it, nobody thinks of it ... |
18:45:54 | dom96 | Where is it? |
18:46:10 | Araq | ## You need to call ``loadExtensions`` after a rendering context has been |
18:46:11 | Araq | ## created to load any extension proc that your code uses. |
18:46:20 | Araq | it's in opengl.nim |
18:46:37 | dom96 | I don't see any proc called 'loadExtensions' in opengl.nim |
18:46:56 | Araq | well it's a template |
18:47:08 | dom96 | It's not in the docs |
18:47:41 | Araq | hmm I guess the docgen assumes 'useGlew' is defined and then it's not there. gah. |
18:48:40 | Araq | Varriount: yes or rather "word"-code where word is 32 bits |
18:50:35 | dom96 | Araq: Yeah, that fixed it. |
18:52:21 | Araq | the problem is that opengl.nim can't call loadExtensions for you due to technical reasons ... |
18:52:37 | Araq | so everybody falls into that trap |
18:53:06 | Araq | but we can switch declaration order so that it's in the docs at least |
18:55:49 | Araq | Varriount: using bytes instead of words for a fast interpreter is stupid for lots of reasons; I will blog about it some day ... |
18:56:10 | Araq | Mat2-coding is free to disagree of course ;-) |
18:56:23 | * | q66 quit (Ping timeout: 246 seconds) |
18:56:27 | OrionPK | someone's in a good mood today |
19:02:53 | Varriount | Is there any circumstance where "genericObj[void](...)" should/would make sense? |
19:05:20 | Mat2-coding | hi Araq |
19:05:23 | OrionPK | if the T was the return type of a proc? |
19:05:56 | Varriount | OrionPK, but I'm talking about a generic *object* |
19:06:10 | OrionPK | right, but the object could contain a pointer to a proc |
19:06:18 | Varriount | Ah. |
19:06:22 | Varriount | Hm. |
19:06:57 | Varriount | I'm investigating how to best fix issue 633 (or at least how to dig up some more information) |
19:07:10 | * | q66 joined #nimrod |
19:07:17 | Mat2-coding | Varriount: What do you mean with bytecode ? (I suggest some kind of JVM like open-encoding) |
19:08:00 | Varriount | Mat2-coding, most vm's use an analogue to machine-code to represent instructions/actions |
19:08:33 | Varriount | In retrospect, it was a silly question to ask. |
19:14:36 | Araq | Varriount: there are no silly questions, only silly answers. *g |
19:15:44 | Mat2-coding | hm, in this terminology: Most VM designs I know use some kind of CISC encoding, the Lua VM is a canonical RISC design. Efficient interpreters are microcoding engines - you have the choice |
19:19:29 | * | q66 quit (Ping timeout: 246 seconds) |
19:22:16 | * | brson quit (Ping timeout: 240 seconds) |
19:24:22 | * | brson joined #nimrod |
19:25:39 | * | OrionPK quit (Ping timeout: 250 seconds) |
19:25:49 | * | webskipper quit (Ping timeout: 252 seconds) |
19:32:52 | * | anton2 joined #nimrod |
19:36:53 | Mat2-coding | Araq: My vm uses a packed word of instructions (like VLIW), no byte access involved ;) |
19:37:16 | Varriount | Mat2-coding, what vm would this be? |
19:37:40 | Araq | ah yeah, now I remember ;-) |
19:41:00 | * | webskipper joined #nimrod |
19:42:33 | Mat2-coding | Varriount: Packed opcode encoding (up to 16 instructions) + variable immediate fields, at runtime modificable MISC ISA, packed execution (static super-instructions), dual-stack design, software pipelining |
19:45:38 | Araq | in other words, Mat2-coding is our Chuck Moore here. :-) |
19:49:44 | Mat2-coding | my design is philosophical similar but of course different to his work (I use useless instruction combinations for implementing complex instruction-sequences as replacement for example) |
19:50:28 | Mat2-coding | like Swap+Swap, or Add+Drop |
19:52:43 | Araq | well Chuck uses 18 bit words and his instruction set lacks 'shr' iirc |
19:52:58 | Araq | it scares me :-) |
19:54:16 | Araq | I don't want to go back in time where basic operators have to emulated via loops and non-power-of-2 sizes were common |
19:55:35 | Mat2-coding | my vm uses the native word size, instructions slots are 4 bit wide and all common instructions inclusive multiplication and division are implemented though complex instructions, as described above |
19:56:15 | * | brson quit (Ping timeout: 252 seconds) |
19:58:14 | Mat2-coding | in addition: one can always compile new instructions at runtime from instruction sequences |
19:58:35 | Mat2-coding | it's an extensible design |
20:00:49 | * | brson joined #nimrod |
20:01:43 | Araq | yeah I remember. how do you determine whether a new opcode is beneficial? |
20:01:47 | * | tylere joined #nimrod |
20:02:46 | Araq | wb tylere |
20:03:21 | Mat2-coding | hi tylere |
20:04:29 | * | familiar125 joined #nimrod |
20:04:55 | Mat2-coding | Araq: I analyzed most used ISA's and implemented all common instructions |
20:05:43 | Araq | Mat2-coding: that's not what I meant. I mean how do you determine this at runtime? |
20:06:25 | Araq | I can see how you can compile new instructions from instruction sequences |
20:06:44 | Mat2-coding | I have a special instuction 'CS - compile subroutine' for this |
20:07:15 | Araq | when/how do you inject this CS instruction? |
20:07:30 | tylere | hi |
20:12:19 | Mat2-coding | ah ok, parsing the source-code the environment hold a statistic about most uses instruction patterns. These patterns are compiled to new instructions dependent of it by the code-generator |
20:12:48 | Mat2-coding | it's quite easy |
20:13:29 | * | brson quit (Ping timeout: 252 seconds) |
20:13:37 | Mat2-coding | ^about most used instruction patterns |
20:13:39 | * | q66 joined #nimrod |
20:16:36 | Araq | it's not easy. how do you implement this statistic and keep memory usage down? |
20:17:15 | * | familiar125 quit (Read error: Connection reset by peer) |
20:19:25 | Araq | brb |
20:19:26 | Mat2-coding | the code-generator modifying its own code and for the statistic I use a fixed cache of 32 entries with write-though access |
20:19:39 | tylere | How does Aporia compare to the Rust mode for SublimeText? |
20:27:37 | * | bastian_ joined #nimrod |
20:32:58 | Mat2-coding | ? |
20:33:18 | dom96 | hello bastian_ |
20:34:13 | dom96 | tylere: Well, Aporia has no Rust support whatsoever. |
20:34:44 | * | q66 quit (Ping timeout: 246 seconds) |
20:35:39 | tylere | oh god |
20:35:41 | tylere | brainfart |
20:35:47 | tylere | I meant nimrod obviously lol |
20:36:24 | Mat2-coding | get some sleep, ciao |
20:36:37 | dom96 | Probably pretty badly lol. |
20:36:52 | dom96 | I've never used Sublime Text with Nimrod. |
20:36:56 | * | Mat2-coding quit (Quit: Verlassend) |
20:38:40 | tylere | ok |
20:38:55 | tylere | it seems to be doing ok for me so far...syntax highlighting, basic symbol completion, that kind of thing |
20:39:12 | dom96 | ST or Aporia? |
20:39:17 | tylere | ST |
20:39:23 | tylere | Haven't downloaded aporia yet |
20:39:29 | tylere | as compiling gtk stuff on OS X is...interesting |
20:39:38 | tylere | and by interesting I mean about as fun as sitting on a rusty nail |
20:40:30 | Araq | currently aporia doesn't compile on mac due to an 'interesting' bug |
20:40:43 | Araq | hi bastian_ welcome |
20:43:28 | * | OrionPK joined #nimrod |
20:46:45 | tylere | The one thing so far that gives me a little bit of pause is char being a byte and not a code point. After using Go, which bakes UTF-8 in, I never want to go back |
20:48:56 | Hannibal_Smith | tylere, for example Go can compare string based on a collation? |
20:49:57 | tylere | I think so |
20:50:10 | tylere | not 100% sure, I didn't dig that deep into i18n stuff |
20:51:02 | tylere | But stuff like ToUpper is unicode-aware |
20:51:14 | tylere | and iterating over a string yeilds complete codepoints |
20:51:34 | tylere | likewise indexing is codepoint based |
20:52:39 | Hannibal_Smith | tylere, in theory, the topic a lot more complex |
20:52:45 | tylere | right ;) |
20:52:53 | tylere | it's not really a big pain point for me, personally |
20:52:54 | Hannibal_Smith | Simple thing like uppercasing a unicode char is hard |
20:53:13 | Hannibal_Smith | You have to keep in mind also the contex of the char |
20:53:40 | Hannibal_Smith | Probably, the only library that got this stuff right is ICU |
20:54:19 | Hannibal_Smith | I'm really hesitant to think that Go has replacement right what ICU do |
20:54:30 | tylere | it's mostly probably bad taste in my mouth from python2 unicode handling |
20:54:36 | Hannibal_Smith | http://userguide.icu-project.org/transforms/casemappings |
20:55:29 | Hannibal_Smith | Full (Language-Specific) Case Mapping <-For sure Go can't do this |
20:55:43 | Araq | "complete codepoints" are not sufficient either iirc |
20:56:51 | Hannibal_Smith | Araq, are you going to write a wrapper for ICU? :-P |
20:57:05 | Araq | we have a unicode module and an encodings module |
20:57:09 | * | q66 joined #nimrod |
20:57:18 | Araq | and it's good enough for me :P |
20:57:33 | Hannibal_Smith | So something basic like Go do, I think |
20:57:38 | tylere | My main preference is that the language not care about unicode when I don't |
20:57:42 | tylere | that's my gripe with python |
20:58:05 | tylere | I'll have some data I've slurped in from somewhere, and I want to dump it to a file or something, and Python loves to throw unicode errors |
20:58:12 | tylere | instead of just treating it as bytes |
20:58:16 | tylere | worst of both worlds |
20:58:33 | tylere | I think that it a bit better in Py3 but I haven't crossed that bridge yet |
20:59:08 | Araq | IME py3 is worse |
20:59:28 | Araq | with its crazy unicode exceptions |
20:59:37 | tylere | oh it's even worse? ugh |
20:59:49 | Araq | and the very existance of "byte string literals" shows it simply doesn't work IMHO |
20:59:55 | tylere | My views on python are kinda conflicted |
21:00:13 | tylere | I've used it for a loooong time (like 1.5.2, which is ancient, like 1998 or something) |
21:00:45 | tylere | at some point I think Guido kinda changed vision and it went from being a pragmatic language to all that "Zen of Python" stuff, some of which I strongly disagree with |
21:01:20 | * | q66 quit (Ping timeout: 246 seconds) |
21:03:29 | tylere | BTW Araq, I skipped around a bit and read the write effec stuff...sounds really sexy |
21:03:37 | tylere | basically an idea I had in my head for years |
21:03:50 | tylere | of basically having the compiler do dataflow analysis, and reason accordingly |
21:04:11 | tylere | even if not perfect if it can figure out even 50% of in-practice immutable functions automatically that's a pretty massive win |
21:05:32 | * | gradha joined #nimrod |
21:07:36 | Araq | well it's near perfect as far as I can tell |
21:07:44 | Araq | much more than 50% |
21:07:46 | tylere | that's pretty amazing then |
21:07:59 | Araq | but I need to implement it and we'll see |
21:08:21 | * | brson joined #nimrod |
21:09:28 | * | yogin quit (Quit: Leaving) |
21:09:46 | * | yogin joined #nimrod |
21:11:56 | Araq | tylere: http://en.wikipedia.org/wiki/Combining_character |
21:12:19 | tylere | Araq: hehe |
21:12:27 | Araq | this means even utf-32 doesn't map 1 to 1 to "characters" |
21:12:28 | tylere | Isn't unicode just the bestest thing ever? |
21:12:50 | Araq | so ... it doesn't help and wastes lots of memory and processing power |
21:12:54 | tylere | Maybe soon we'll all move to utf-64 |
21:13:03 | tylere | once the whole world is 64bit |
21:14:42 | Araq | and while strutils.toUpper only works for A-Z the unicode module has a version that "works" with unicode |
21:15:20 | tylere | It's kinda funny, in my American habits, by far the most common unicode chars I encounter are "pretty" quotes |
21:15:25 | tylere | e.g. from MS Word |
21:15:27 | Araq | but again, in my experience you need to pass the supposed natural language to the comparison function then |
21:15:34 | tylere | actual non-latin characters are fairly rare |
21:15:40 | Araq | so ... unicode.toUpper is worthless |
21:16:41 | Araq | this whole "ugh, Nimrod got unicode wrong" is based on ignorance. Everybody gets it "wrong" because it's impossible to get it right. |
21:16:50 | tylere | I understand |
21:17:22 | tylere | Most people don't even really grok the difference between unicode and an encoding |
21:19:19 | gradha | Araq: "ugh, Nimrod got unicode wrong"? |
21:19:45 | Araq | gradha: it's a common criticism |
21:19:48 | Araq | brb |
21:20:12 | gradha | hah, you got me there, as if Nimrod was commonly discussed |
21:20:55 | gradha | btw, I have trouble using the ! negation template inside iterators, is it just me or is this a known problem? |
21:21:37 | dom96 | which template is that? |
21:21:59 | gradha | isn't ! a template which expands to "not something"? |
21:22:19 | dom96 | I've never heard of it. |
21:22:26 | gradha | never mind, I'm going to write a small test case |
21:22:40 | dom96 | I use 'not' everywhere. |
21:22:58 | gradha | meh, that's like two chars more |
21:23:45 | gradha | wasn't aware that there was a separate doc builder |
21:24:40 | Araq | well "common" is relative :P |
21:27:44 | bastian_ | hey |
21:27:53 | gradha | bastian_: yo |
21:29:41 | bastian_ | couple of questions regarding sequences: are they allocated on the heap? how can they be resized (cf. realloc)? can I simply use mem |
21:30:03 | bastian_ | memcpy (copyMem) on the addr of a sequence? |
21:30:11 | Araq | hell no |
21:30:19 | Araq | use newSeq and add |
21:31:45 | bastian_ | is add automatically resizing it in larger chunks? |
21:31:50 | Araq | yes |
21:32:33 | bastian_ | nice. what about copyMem? |
21:32:57 | Araq | copyMem is a memcpy. so it's a low level operation and generally not necessary |
21:33:00 | bastian_ | i'd like to port a bitvector library |
21:33:06 | * | gradha notices less alcohol during coding would help to avoid facepalms |
21:33:10 | Araq | use seqs for that |
21:33:23 | Araq | gradha: there is no '!' operator in system.nim |
21:33:32 | gradha | Araq: yeay, "just" noticed |
21:35:50 | bastian_ | Araq: yeah, a seq of uint8 buckets |
21:36:12 | Araq | actually just use a TIntSet |
21:36:26 | Araq | it uses a bit vector under the hood |
21:36:41 | Araq | it's a sparse bit vector implementation |
21:38:17 | bastian_ | ah, nice. is it possible to use popcnt on the underlying data? |
21:38:17 | gradha | Araq: I was waiting for you to answer last post of http://forum.nimrod-code.org/t/194 |
21:38:28 | bastian_ | i'll have a look at it |
21:38:54 | Araq | bastian_: not yet. patches are welcome |
21:41:13 | Araq | gradha: sorry. does it work properly if you change it back to projectPath / genSubDir ? |
21:41:56 | gradha | yes |
21:43:15 | * | q66 joined #nimrod |
21:43:18 | bastian_ | Araq: looks interesting, but not quite what i'm looking for |
21:44:19 | Araq | bastian_: alright well it gives you a start anyway |
21:44:36 | bastian_ | Araq: yep, thanks a lot! |
21:45:02 | bastian_ | i'll def. play around with it the comming days |
21:47:16 | Araq | gradha: well please fix shortenDir then |
21:47:23 | Araq | it must not create full paths |
21:47:27 | Araq | and in fact |
21:47:53 | Araq | I noticed this bug before |
21:48:04 | gradha | in my case it's not generating a full path, but rather a wrong relative path |
21:48:35 | gradha | my question in the post is: what's the purpose of shortenDir? Can't fix it if I don't know the purpose of it |
21:48:52 | gradha | and don't understand what's to "shorten" in projectPath / genSubDir |
21:49:22 | Araq | ok well the purpose it to transform it into a relative path |
21:49:30 | Araq | because relative paths rule |
21:49:43 | Araq | you can easily emit them into a generated script |
21:49:49 | Araq | they make error messages shorter |
21:50:02 | Araq | you can move projects and stuff continues to work |
21:50:02 | gradha | relative to what? |
21:50:08 | gradha | current dir? project path? |
21:50:11 | Araq | relative to the project directory |
21:50:21 | Araq | current dir ain't good enough |
21:52:59 | gradha | currently shortenDir first tries to make a relative path to the app dir, what will break if that changes? |
21:53:27 | * | shodan45 quit (Read error: Connection reset by peer) |
21:53:55 | * | shodan45 joined #nimrod |
21:54:08 | Araq | I don't know. we'll see. :-) |
21:56:33 | gradha | another weird thing is shortenDir doesn't deal with windows drives, does it? |
21:56:45 | Araq | it does but implicitly |
21:57:38 | Araq | r"C:\data\bu" - r"C:\data" == "bu" |
21:57:46 | Araq | that's the idea anyway |
21:58:41 | gradha | ok, good night |
21:58:57 | * | shodan45 quit (Quit: Konversation terminated!) |
21:59:02 | Araq | good night |
21:59:12 | * | gradha quit (Quit: bbl, need to watch https://www.youtube.com/watch?v=2IzR_ClTE8Y again) |
22:00:53 | * | Jackneill quit (Remote host closed the connection) |
22:05:50 | * | webskipper quit (Ping timeout: 245 seconds) |
22:10:51 | * | shodan45 joined #nimrod |
22:14:39 | * | bdsatish joined #nimrod |
22:15:42 | Araq | hi bdsatish welcome |
22:16:18 | bdsatish | hi :) |
22:19:15 | * | brson quit (Ping timeout: 272 seconds) |
22:26:51 | * | bdsatish left #nimrod ("ERC Version 5.3 (IRC client for Emacs)") |
22:29:43 | * | DAddYE quit () |
22:29:55 | * | BitPuffin joined #nimrod |
22:46:29 | * | DAddYE joined #nimrod |
23:01:53 | * | OrionPK quit (Ping timeout: 250 seconds) |
23:16:13 | * | OrionPK joined #nimrod |
23:18:58 | * | Hannibal_Smith quit (Quit: Sto andando via) |
23:20:57 | C0C0 | how do I use shr on uint32? can I simply cast the uint32 to a int32 without change in behaviour? |
23:20:57 | * | DAddYE quit (Read error: Connection reset by peer) |
23:21:24 | * | DAddYE joined #nimrod |
23:23:13 | fowl | C0C0, import unsigned |
23:24:36 | C0C0 | coolt thx :) |
23:29:26 | * | anton2 quit (Quit: anton2) |
23:39:35 | fowl | np |
23:55:04 | Araq | good night guys |