00:12:04 | * | darkf joined #nimrod |
00:22:50 | * | brson quit (Ping timeout: 240 seconds) |
00:24:41 | * | DAddYE quit (Remote host closed the connection) |
00:25:17 | * | DAddYE joined #nimrod |
00:29:05 | * | brson joined #nimrod |
00:29:43 | * | DAddYE quit (Ping timeout: 252 seconds) |
00:35:54 | reactormonk | Kelet, yeah, idetools is broken. Ping zahary for that >:) |
00:44:50 | * | wombawomba quit (Ping timeout: 255 seconds) |
00:45:54 | filwit | for those Kate users that missed my post on reddit, i have an updated Kate nimrod syntax highlighting/color scheme here: https://gist.github.com/PhilipWitte/11196561 |
00:46:02 | filwit | screenshot: http://reign-studios.net/philipwitte/nimrod/KateSyntaxScreenshot.png |
00:46:52 | filwit | i know a couple of you downloaded the one before, but this one fixes a few areas (like properties after .) and stuff, plus the colors (if you use them) are very different |
00:47:19 | Varriount | Now if only I could properly port filwit's wonderful syntax highlighting. |
00:48:01 | filwit | Varriount: to Aporia? I was trying awhile ago, but Kate has these "ranges" that you start that are really useful that i'm not sure GTK sourceview supports |
00:48:46 | filwit | Varriount: I need them too, because '.' starts a 'property' range, which is important because regex can't highlight "this if it follows '.'" |
00:49:19 | filwit | Varriount: you can only highlight "this if it's followed by ..." which doesn't work for properties |
00:50:16 | filwit | Varriount: I haven't tried in awhile though, and I could probably get an answer quick from the GEdit IRC |
00:50:40 | filwit | in fact, anyone know what the GEdit IRC is, or if there is one? |
00:50:47 | filwit | i'll ask them right now |
00:51:53 | flaviu | filwit: #gedit, irc.gnome.org |
00:52:01 | filwit | flaviu, thanks |
00:59:45 | filwit | #gedit doesn't seem very active.. i be everyone lives in Europe and is sleeping |
00:59:49 | filwit | bet* |
01:14:46 | flaviu | filwit: Can Kate do inline docs? In a general sense, not necessarily nimrod. |
01:15:11 | filwit | dunno what 'inline docs' are really |
01:15:14 | flaviu | Like when you autocomplete it gives you the docs for the function you are looking at |
01:15:49 | filwit | yeah it can, but not through a simple scheme file. They just added full D intellisense support, so it's def possible |
01:16:38 | flaviu | Ok, thanks. I noticed the D plugin, but didn't investigate its abilities. |
01:16:44 | filwit | I've been very impressed with Kate/KDevelop in general since I started using them (actually, most of KDE) and I would love better support for Nimrod |
01:17:08 | filwit | I'll probably get around to adding these things eventually if noone else does first, but they're not high at all on my todo list right now |
01:18:21 | flaviu | No pressure intended, I was just curious. I'm considering switching editors and exploring my options, I can try my hand at adding it if I decide to switch to kate |
01:19:59 | filwit | I use Notepad++ on Windows, and I used to use Gnome/GEdit on Linux for coding.. but Kate just has better features than both in many significant ways. |
01:20:27 | filwit | It has a minimap, like Sublime, which is very useful when selecting a symbol and getting a quick overview of where it's used in the entire file |
01:21:10 | filwit | it has a vertical list of documents, when you need to have tons of stuff open (i can't stand horizontal tabs now) and it can be hierarchical as well |
01:21:37 | filwit | it has all the nice things too, like indent line rendering, which is great for Nimrod code |
01:21:54 | filwit | it's very fast, can split-planes, etc, etc |
01:22:31 | Kelet | filwit: Last time I tried I couldn't get them to work on Windows though |
01:22:35 | filwit | the only thing Notepad++ has over it is it's FPT plugin, but even that's only marginally better than just Filebrowser FTP + drag-drop |
01:22:36 | Kelet | not sure if that's worth anything |
01:22:42 | flaviu | Yep, I'm playing around with it now. Vim is too slow and doesn't have many of the features I want. |
01:22:44 | Kelet | maybe if you pull all of KDE in the KDE on Windows project I guess |
01:23:19 | filwit | Kelet, didn't even know Kate was compiled for Windows |
01:23:50 | filwit | Kelet, I have a simple Nimrod syntax file on Windows for Notepad++ since I don't really develop on Windows much these days outside of Visual Studios |
01:23:50 | Kelet | I think you can get it through http://windows.kde.org/ |
01:23:53 | Kelet | but I'm unsure |
01:24:07 | filwit | thanks for the info |
01:24:50 | filwit | flaviu, I never understood how people use Vim really. Kate has a Vim mode, not sure if it's useful or not though (most die-hard vim uses don't like "vim modes") |
01:25:50 | filwit | ps. i'm making a Nimrod Github color scheme ATM for Kate. I'll update my gist with it when i'm done. |
01:26:23 | filwit | I like my "CottonCandy" colors, but I know not everyone is going to like all that bright color, and Github is nice. |
01:26:44 | flaviu | Well, I'm not a diehard vimmer, so Vim in kate so far as been great, and it has better feedback on what mode I'm in. |
01:30:37 | * | q66 quit (Quit: Leaving) |
01:41:45 | filwit | okay, updated the gist (https://gist.github.com/PhilipWitte/11196561) with Github colors |
01:42:09 | filwit | I kinda like the Github colors more than my CottonCandy ones actually. It's a better balance |
01:42:28 | filwit | Thing is, those Color schemes don't include the background color I don't think |
01:46:55 | filwit | updated the Gist again with TextArea colors (background color) for both Color sets |
01:47:50 | flaviu | Kate isn't quite as easily customization as vim, but its pretty good |
01:48:14 | flaviu | *customizable |
01:49:39 | filwit | only used Vim for basic stuff when Arch opens it... only really know basic nav and :q for quit |
01:52:17 | * | Demos quit (Remote host closed the connection) |
01:52:26 | filwit | I really wish some editor would have even/odd line colors already |
01:53:07 | filwit | I have yet to find an editor with that, and I've always like code on websites which use it |
01:53:22 | flaviu | filwit: Vim can do it with a short script |
01:53:23 | EXetoC | filwit: vim? :p |
01:53:40 | filwit | damn.. |
01:53:51 | filwit | not enough of a feature to get me to use Vim, lol |
02:02:46 | * | DAddYE joined #nimrod |
02:03:42 | * | andreroquem joined #nimrod |
02:04:56 | filwit | hi DAddYE, if i remember correctly, I think you where one of the people who was using my Kate color scheme. If so, I've just updated it, and I'll give you a link if you're interested. |
02:05:14 | flaviu | Wow, someone hacked a minimap onto vim: https://www.youtube.com/watch?v=vQqeAk__vvE |
02:05:23 | * | nande joined #nimrod |
02:06:35 | filwit | lol, like how it's off the side of the window |
02:07:56 | Skrylar | hrm |
02:08:12 | Skrylar | would it be better for font faces to be loaded as refs or just through a typedef |
02:08:24 | Skrylar | I was thinking refs because then you can have GDI fonts and FreeType fonts in one app |
02:08:34 | Skrylar | but that makes needless pointers and i don't think people usually need both |
02:09:24 | * | andreroquem_ joined #nimrod |
02:10:13 | * | andreroquem_ quit (Client Quit) |
02:13:37 | flaviu | filwit: Horrible, horrible hack. It writes to a text file the position of the cursor, and then another program reads that text file and does the minimap thing |
02:13:58 | fowl | lol |
02:14:13 | filwit | lol, beautiful engineering work |
02:14:40 | fowl | is that outside the scope of a normal plugin? |
02:15:15 | flaviu | Yes, normal plugins usually run fully inside vim's interpreter |
02:15:21 | fowl | seems like you want gvim instead of vim |
02:15:36 | flaviu | Well, gvim is missing a few features I'd like |
02:16:00 | fowl | my first days of using linux i was so scared of vim |
02:16:14 | flaviu | Such as multiple cursors or a minimap |
02:16:23 | filwit | 2+ years in, still scared of Vim |
02:16:32 | flaviu | I still don't understand vi, I have no idea how it works. Vim is fun though |
02:16:34 | fowl | now i know that you type :q to quit, so when vim scares me i can run away |
02:16:47 | fowl | nano is my console editor |
02:16:57 | flaviu | vim is just a programming language for text editing, thats all |
02:18:23 | * | DAddYE quit (Remote host closed the connection) |
02:18:50 | * | DAddYE joined #nimrod |
02:23:19 | * | DAddYE quit (Ping timeout: 265 seconds) |
02:26:41 | * | flaviu quit (Quit: Leaving.) |
02:27:57 | reactormonk | fowl, a verby bad one at that |
02:31:07 | renesac | well, I used to run from vim as well, but once I had to do lots of work via ssh, I ended up coding a bit in it |
02:31:11 | fowl | never had any issue with nano |
02:31:43 | renesac | still, never learned the dozens of shortcuts in the command mode |
02:32:31 | renesac | filwit, your kate plugin is very much appreciated |
02:32:55 | renesac | I actually found your cotton candy color scheme nice too |
02:32:56 | filwit | thanks renesac, glad to hear it |
02:33:08 | renesac | I'm programming nimrod mainly in kate now |
02:33:13 | renesac | quick scripts on aporia |
02:33:17 | filwit | i'm almost done with it, and then we can add it to the list of supported editors |
02:33:26 | renesac | I was going to ask that |
02:33:56 | filwit | well i just updated it last it last night, and i'm much happier with the way properties are highlighted now |
02:34:04 | fowl | someone should poke that online compiler to update |
02:34:18 | filwit | the only thing left is highlighting functions correctly that don't have parameters |
02:34:27 | renesac | the version I have don't properly highlight hexadecimals |
02:34:46 | renesac | nor numbers with _ |
02:34:52 | filwit | oh yes, there are things like that left as well... underscores in numbers don't work either |
02:34:54 | renesac | like 1_000 |
02:34:54 | filwit | yeah |
02:35:21 | renesac | but it is very usable |
02:35:31 | filwit | those things need to be fixed, and I really want non-AST comments so we can Ctrl-D blocks easily |
02:35:41 | filwit | but yeah, almost done with this |
02:36:23 | filwit | eventually, me or someone else will copy the D intellisense plugin and port it to Nimrod, then Kate/KDev will also have intellisense support |
02:36:32 | renesac | another thing would be a custom automated indentation script, that recognizes operators at the end of a line as a cue for an indentation |
02:36:36 | filwit | but i'm not sure how big of a project that is, and don't have time right now |
02:36:57 | renesac | right now we are using python's one |
02:37:20 | filwit | renesac: yeah something is a big off with the indentation stuff right now.. it's set to Phython-style, but i'm not sure that's the best |
02:37:33 | renesac | well, it probably is the closest |
02:37:43 | filwit | yeah |
02:37:55 | renesac | the only thing left is make the operators at the end of a line trigger new indentation too |
02:38:07 | renesac | but then we need to make another indentation mode |
02:38:08 | filwit | but it sux for some auto-indenting things, cause it always expects to indent after ':' not '=' |
02:38:17 | filwit | yeah |
02:38:24 | renesac | yeah, '=' is one of such operators |
02:39:21 | renesac | oh, and maybe add special rules for type declarations and 'var', 'let', etc |
02:39:30 | renesac | but that isn't as important |
02:39:45 | filwit | i was thinking just that, but it's hard with multi-line stuff |
02:40:13 | filwit | notice that only single like types highlight the type-name, while typenames in a type-block don't work correctly |
02:40:38 | filwit | i've thought of ways to do this, but i'm not sure they work fully yet, and haven't gotten around to them |
02:40:55 | * | BitPuffin quit (Ping timeout: 252 seconds) |
02:41:31 | filwit | mostly my idea was to hack it, where 'type'/'var'/etc would start a new region, and anything that started without spaces after that would break the region |
02:41:51 | filwit | which isn't how the compiler works, but if you adhere to that, you'd get proper highlighting |
02:42:23 | renesac | hum |
02:43:17 | filwit | ultimately, we need a proper IDE with real semantic highlighting. |
02:43:27 | renesac | yeah |
02:43:37 | renesac | but I guess that is a huge undertaking |
02:43:43 | renesac | see how many time it took for D |
02:43:54 | filwit | well D also sux |
02:43:57 | filwit | for things like that |
02:43:59 | renesac | though I think D don't have an "idetools" in the compiler |
02:44:11 | filwit | Visual D and MonoD are basically parser rewrites.. |
02:44:23 | filwit | whereas Nim has idetools |
02:44:39 | filwit | oh, you just said that.. |
02:44:40 | renesac | and yet D was intended to work well with IDEs, unlike C++ |
02:44:41 | filwit | lol |
02:44:48 | renesac | you confirmed it |
02:44:52 | renesac | ^^' |
02:45:10 | filwit | yeah D was suppose to be great, but in reality is lacking in a lot of areas |
02:45:35 | renesac | too bad KDE stuff isn't really cross platafform |
02:46:02 | filwit | yeah, another reason we need our own IDE |
02:46:09 | renesac | that windows.kde isn't very well supported, and needs to download lots of things for a simple app |
02:46:12 | filwit | though apparently Kate is for Windows |
02:46:23 | filwit | yeah |
02:46:36 | filwit | i wouldn't trust Kate support on anything but Linux really |
02:46:39 | renesac | I tried a long time ago, I don't know how it is nowadays |
02:46:44 | filwit | but it might be better than i'm giving it credit |
02:46:56 | renesac | I hear BSDs also have KDE |
02:47:14 | renesac | never heard anything about Mac though |
02:47:32 | filwit | well I know Qt5 has pretty good cross-platform support, so maybe later it'll be better |
02:47:48 | renesac | qt4 already had |
02:47:58 | renesac | I think it was then that windows.kde started |
02:48:05 | filwit | still.. i think it would be great to have our own Nim GUI and and IDE written with it |
02:48:12 | filwit | it's a major project tho |
02:48:18 | renesac | no doubt |
02:48:30 | renesac | dom96 is starting with aporia... |
02:48:45 | renesac | with GTK sourceview |
02:48:54 | filwit | my Hymn stuff is kinda oriented towards that. It's basically an editor-driven state-machine in design, and takes a lot of concept from things like Expression Blend |
02:49:11 | filwit | i haven't worked on it in a month tho, busy with other things |
02:49:58 | renesac | right |
02:50:27 | filwit | we'll see. IDE support is a major step for popularity, but there are other low-hanging fruits we can pick, and I'm sure once people start really using Nim, Visual Studios will become "The" IDE support everyone wants |
02:51:38 | filwit | I don't care about VS cause it's Windows only |
02:51:44 | renesac | same here |
02:52:00 | renesac | but many people like it apparently |
02:52:05 | renesac | see VisualD |
02:52:09 | fowl | i enjoyed using it for c# |
02:52:19 | fowl | i didnt even have to learn c# to write it |
02:52:34 | renesac | fowl, I had that experience with eclipse and java |
02:53:00 | renesac | though I can't really say I like either |
02:53:05 | filwit | it's mostly about training.. once Nim is big enough that companies start writing more real-world software, they usually don't like the idea of having to train their whole dev team in a new IDE, so they just want VS support |
02:53:35 | renesac | yeah |
02:54:28 | filwit | though Java is all about Eclipse, so if Nim has it's own IDE, then perhaps by the time it start's it's journey toward world-domination, that will be "the thing" to use for Nim dev |
02:56:32 | filwit | made a very minor update to the Github color scheme (attrs color where slightly off from type colors) |
02:56:55 | renesac | did you had to invent new colors in that github scheme? |
02:57:08 | renesac | because it seems github don't highlights as many things as you do |
02:57:26 | filwit | only for properties and funcs, but those are from my CottonCandy one, and they just kind worked out well |
02:57:40 | renesac | right |
02:57:53 | renesac | I will update my version latter |
02:58:18 | filwit | meh, just go to your color scheme and put #ff445588 into the Attr thing and you're done |
02:58:29 | filwit | no need to import a whole new thing |
02:59:02 | * | andreroquem quit (Quit: andreroquem) |
02:59:07 | renesac | I haven't downloaded any that you uploaded today |
02:59:12 | renesac | I still have the very first one |
02:59:16 | filwit | oh i see |
03:00:08 | renesac | and aporia also don't supports underscores on numbers, btw |
03:00:17 | filwit | interesting |
03:00:38 | * | brson quit (Ping timeout: 276 seconds) |
03:00:41 | renesac | dom96, probably forgot about that |
03:01:24 | filwit | i've seen other languages for both Kate and GEdit which support _ in numbers, and I remember looking at the D GEdit file awhile ago to find out how it worked. Probably trivial. |
03:02:29 | filwit | I want to adapt my syntax highlighting to Aporia, but have yet to get a response from #gedit about region equivalent in GTK |
03:02:37 | renesac | probably just allowing another character for a thing considered a nubmer |
03:02:52 | renesac | maybe the hexadecimal works this way too |
03:02:56 | renesac | allowing 'x' |
03:03:44 | filwit | yeah i'm sure it's all pretty straight forward.. i just haven't looked into yet |
03:03:47 | renesac | Integer and floating point literals may be given in decimal (no prefix), binary (prefix 0b), octal (prefix 0o) and hexadecimal (prefix 0x) notation. |
03:03:59 | filwit | i almost don't like Nimrod's post-fix things like 0f32 |
03:04:00 | renesac | ok, three leters |
03:04:08 | filwit | i kinda wish it was just 0.float32 |
03:04:17 | renesac | well, I end up using |
03:04:28 | renesac | because I need a lot of them in code with unsigned numbers |
03:05:23 | filwit | yeah, i just don't like how odd it is to everything else |
03:05:31 | renesac | indeed |
03:05:38 | renesac | I aways put the ' thogh |
03:05:42 | renesac | *though |
03:05:49 | filwit | yeah i don't like that either tho, lol |
03:05:54 | filwit | i just with there was one way |
03:05:54 | renesac | 0x19999999'u32 |
03:06:18 | filwit | and you could just have 'f32'/'u32' as alias to float32/uint32 etc.. then do 0.f32 |
03:06:24 | renesac | yeah, three (or 4 if you consider int32(x)) |
03:06:27 | renesac | is a bit too much |
03:06:54 | renesac | filwit, the problem with that is that 'i' would need to be supported too |
03:07:00 | renesac | 0.i |
03:07:09 | renesac | or not? |
03:07:27 | renesac | oh, 'i' not, but 'u' yes |
03:07:31 | filwit | nah, just do 0.i32 |
03:07:40 | filwit | no need for 'i' or 'u' really... |
03:07:54 | filwit | in that case, you have '0.int' |
03:07:57 | filwit | or 0.uint |
03:08:03 | renesac | yeah |
03:08:57 | renesac | well, the upside is that it easily allows a different highlighting for this case |
03:09:30 | renesac | but yeah, it is redundant |
03:14:04 | renesac | and inconsistent |
03:29:34 | * | BitPuffin joined #nimrod |
03:48:52 | * | xenagi quit (Quit: Leaving) |
03:57:20 | * | andreroquem joined #nimrod |
03:58:19 | * | nequitans joined #nimrod |
03:59:23 | * | andreroquem quit (Client Quit) |
03:59:43 | * | andreroquem joined #nimrod |
04:04:06 | * | filwit quit (Quit: Leaving) |
04:21:01 | * | darithorn quit (Ping timeout: 252 seconds) |
04:27:13 | Skrylar | time to git-pull, the compiler i have goes in to a weird infinite loop when including a submodule that uses methods oO |
04:59:55 | * | nequitans quit (Ping timeout: 265 seconds) |
05:01:49 | * | xtagon quit (Quit: Leaving) |
05:07:47 | * | DAddYE joined #nimrod |
05:08:48 | * | xtagon joined #nimrod |
05:09:33 | * | DAddYE quit (Client Quit) |
05:15:15 | * | xtagon quit (Quit: Leaving) |
05:29:54 | * | andreroquem quit (Quit: andreroquem) |
06:07:24 | Skrylar | bleh |
06:07:31 | Skrylar | does anyone else have problems getting 'method's to compile? |
06:08:28 | Varriount | Skrylar: I've never used them. |
06:08:39 | Varriount | You have anything for me to test? |
06:08:50 | Skrylar | ah, i found it |
06:08:54 | Skrylar | RFoo = ref RFoo |
06:09:19 | Skrylar | the compiler doesn't detect this as silly and instead loops until it runs out of memory |
06:09:20 | Varriount | Yummy, recursive types. |
06:09:57 | Skrylar | Varriount: no, but i'll be using them again soon |
06:09:59 | Varriount | Skrylar: That's partially because Araq depends on silly recursion and tail call elimination quite a bit in compiler code. |
06:10:23 | Skrylar | Varriount: i spent yesterday going through freetype and windows gdi calls for fonts making notecards, put it in an outline, today went through and chopped that in to an API design |
06:10:28 | Skrylar | so :\ |
06:10:38 | Skrylar | interface API for getting font glyphs |
06:10:55 | Varriount | Hm. You know freetype compiles on windows, right? |
06:11:02 | Skrylar | yeah but people don't always want it |
06:11:17 | Skrylar | freetype has a big attribution requirement and is technically dead weight on windows/osx |
06:12:35 | Skrylar | so i have a clean API where you can replace the glyph provider behind, and the rest of the system doesn't care; like a good architect. :) |
06:12:49 | Varriount | Skrylar: I'm writing a path simplification procedure: "/usr/Home/../bin/../../Foo" -> "/Foo" |
06:13:12 | Skrylar | if you're willing to use sequences thats not too hard |
06:13:39 | Varriount | Skrylar: I'm seeing if it can be done efficiently, without creating a mess of spaghetti code. |
06:13:54 | Skrylar | Varriount: efficiently as in easy to read or doesn't thrash memory? |
06:14:02 | Varriount | Doesn't thrash memory. |
06:14:43 | Varriount | However there's an upper bound the amount of ugliness I'll stand for the sake of performance. |
06:14:55 | Varriount | *to the amount |
06:15:01 | Skrylar | there's a tokenize function in stdlib that will copy out substrings in an iterator, so its trivial to do something like for x in blah.tokenize('/'): if x != "..": blah[y] = x; inc y; else: dec y |
06:15:12 | Skrylar | if you want less thrashing you have to start imposing limits |
06:15:31 | Skrylar | PhysFS for example, simply doesn't allow "../" whatsoever |
06:17:02 | Varriount | Ah PhysFS... I had to compile that for Allegro. Looked like a neat library. |
06:18:23 | Varriount | Skrylar: The main project I'm working on right now is porting my symirror (symlink mirror) utility from python to Nimrod. |
06:19:20 | Varriount | But it uses many path manipulation functions.. which is why I'm writing this simplifyPath procedure. |
06:40:43 | * | nande quit (Remote host closed the connection) |
06:42:24 | Varriount | Skrylar: Do you know of any language that supports a "shared 'or/and' condition" construct? Where something like "if a or-or b == 32" would be equivalent to "if a == 32 or b == 32"? |
06:50:52 | * | wombawomba joined #nimrod |
06:55:16 | * | Matthias247 joined #nimrod |
07:02:30 | * | Matthias247 quit (Quit: Matthias247) |
07:17:23 | * | wombawomba quit (Ping timeout: 276 seconds) |
07:22:04 | * | Mordecai joined #nimrod |
07:22:23 | * | Mordecai is now known as Guest40880 |
07:24:19 | * | psquid quit (Ping timeout: 252 seconds) |
07:47:39 | * | wombawomba joined #nimrod |
08:06:48 | * | superfunc quit (Ping timeout: 240 seconds) |
08:37:18 | * | bjz quit (Ping timeout: 240 seconds) |
09:36:54 | * | faassen joined #nimrod |
11:00:49 | Skrylar | Varriount: huh? |
11:01:25 | Skrylar | oh you mean to say if a or b |
11:02:03 | Skrylar | No, I don't think there is an easy way to abridge "a==32" or "b==32" |
11:02:29 | Skrylar | Varriount: you could probably do it in a macro, though naming it would be difficult |
11:12:01 | * | noam_ joined #nimrod |
11:13:38 | * | BitPuffin quit (Ping timeout: 240 seconds) |
11:13:57 | * | noam quit (Ping timeout: 252 seconds) |
11:28:11 | EXetoC | odd syntax. why just not a generic proc that takes a predicate and a varargs? |
11:29:40 | EXetoC | any/all((x) => x == y), x, y, z[, ...]) |
12:06:07 | * | BitPuffin joined #nimrod |
12:38:32 | dom96 | Go of course makes it to the front page :\ |
12:39:21 | * | bjz joined #nimrod |
12:44:38 | * | nequitans joined #nimrod |
12:49:51 | Kelet | dom96: The front page where? I think Nimrod did too. |
12:50:06 | Kelet | On the front page of /r/programming and HN (for a time, anyway) |
12:50:10 | dom96 | HN |
12:50:26 | Kelet | significantly less comments, though |
12:50:59 | dom96 | no comments at all, if it got to the front page it didn't stay there for longer than a couple of minutes |
12:51:07 | dom96 | we need to try again |
12:51:11 | Kelet | hmm, really? |
12:51:21 | dom96 | yeah |
12:51:27 | dom96 | https://news.ycombinator.com/item?id=7624689 |
12:52:10 | Kelet | Hmm I guess at least you guys got the exposure of /r/programming. |
13:06:22 | dom96 | true, but being on the front page of HN would give us a lot more exposure. |
13:21:57 | * | darkf quit (Quit: Leaving) |
13:21:58 | EXetoC | uh, such a big difference between int16(x) in an assignment and int16(x) passed to echo |
13:23:42 | EXetoC | ok not really if you actually invoke $ in both cases |
13:32:05 | * | nequitans quit (Ping timeout: 255 seconds) |
13:58:35 | fowl | Varriount, os.expandPath should do what what you want |
14:14:04 | EXetoC | Araq: "nkCall -> nkHiddenStdConv -> nkConv -> nkSym(int16), nkIntLit(43544)" (echo int16(43544)) is folded to 43544. Do I create a nkChkRange node somewhere? |
14:19:21 | EXetoC | or just perform the check directly |
14:20:43 | * | io2 joined #nimrod |
14:30:25 | * | wombawomba quit (Quit: Lost terminal) |
14:34:53 | * | faassen quit (Quit: Leaving.) |
14:48:40 | * | PortableEXetoC joined #nimrod |
14:49:23 | * | olahol joined #nimrod |
14:55:40 | * | nequitans joined #nimrod |
14:56:45 | * | Demos joined #nimrod |
15:19:57 | Varriount | fowl: I need something more like this : http://msdn.microsoft.com/en-us/library/windows/desktop/bb773569(v=vs.85).aspx |
15:27:43 | Varriount | I |
15:28:20 | Varriount | Hm. I'm just gonna port pythons normpath. I don't know if its the most efficient, but it works. |
15:34:27 | * | [1]Endy joined #nimrod |
15:59:41 | * | untitaker quit (Ping timeout: 264 seconds) |
16:03:16 | * | PortableEXetoC quit (Read error: Connection reset by peer) |
16:04:32 | * | untitaker joined #nimrod |
16:05:45 | * | Jesin quit (Read error: Connection reset by peer) |
16:06:26 | * | Jesin joined #nimrod |
16:07:47 | * | Demos_ joined #nimrod |
16:11:05 | * | Demos quit (Ping timeout: 264 seconds) |
16:11:20 | * | PortableEXetoC joined #nimrod |
16:26:46 | * | Demos_ quit (Read error: Connection reset by peer) |
16:44:46 | * | [2]Endy joined #nimrod |
16:44:53 | * | Jesin quit (Read error: Connection reset by peer) |
16:45:01 | * | Jesin joined #nimrod |
16:46:35 | * | PortableEXetoC quit (Quit: cake) |
16:47:38 | * | [1]Endy quit (Ping timeout: 240 seconds) |
16:51:12 | * | q66 joined #nimrod |
16:51:13 | * | q66 quit (Changing host) |
16:51:13 | * | q66 joined #nimrod |
17:16:38 | renesac | Varriount, normpath is a time critical function in any workload? |
17:16:50 | renesac | the disk you will be accessing will be slower |
17:18:40 | * | Guest40880 is now known as psquid |
17:21:07 | * | psquid left #nimrod ("WeeChat 0.4.3") |
17:25:22 | * | fowl quit (Remote host closed the connection) |
17:50:43 | * | noam_ is now known as noam |
17:56:01 | * | DAddYE joined #nimrod |
18:11:33 | Varriount | Is there something going on that I wasn't told about? Things are oddly quiet |
18:14:07 | * | brson joined #nimrod |
18:14:26 | * | Demos joined #nimrod |
18:18:17 | EXetoC | nuclear warfare? |
18:18:25 | EXetoC | it's this quiet some days isn't it? |
18:19:38 | Varriount | EXetoC: Not usually. |
18:28:22 | * | Demos_ joined #nimrod |
18:30:17 | * | foodoo joined #nimrod |
18:32:41 | * | Demos quit (Ping timeout: 264 seconds) |
18:45:23 | Varriount | Hi foodo |
18:45:30 | Varriount | *foodoo |
18:50:23 | foodoo | hi Varriount :) |
18:58:27 | * | bbodi joined #nimrod |
18:58:35 | bbodi | hi all |
18:58:47 | Varriount | Hi bbodi |
19:00:01 | renesac | Varriount, as for efficiency, you probably can replace the last split and dels by a two character buffer and more logic |
19:00:28 | Varriount | renesac: Are you referencing the python implementation? |
19:00:40 | renesac | yeah |
19:01:14 | renesac | I'm not sure if it is worth the effort though |
19:01:38 | Varriount | renesac: I just copied the macpath, ntpath, posixpath, and genericpath python files into one large file, and am porting the entire thing to nimrod. |
19:02:04 | Varriount | I might as well produce some arguably battle-tested code. |
19:02:52 | * | darithorn joined #nimrod |
19:04:24 | renesac | right |
19:05:40 | Varriount | Actually, most python code, as long as it doesn't use too much dynamic attribute magic and such, is quite portable to nimrod. |
19:06:46 | * | xtagon joined #nimrod |
19:07:30 | Varriount | renesac: Do you think we should add a commonPrefix procedure to strutils? |
19:23:09 | * | bbodi quit (Ping timeout: 265 seconds) |
19:37:13 | Araq | Varriount: I think that is a good idea |
19:42:58 | Araq | guys, any idea where to get a portable assembler based implementation for read/write locks? |
19:44:37 | Varriount | Araq: Maybe this? -> http://locklessinc.com/articles/locks/ |
19:44:46 | renesac | portable assembler? |
19:45:02 | renesac | glibc probably has an implementation, but probably quite complex |
19:45:27 | renesac | lots of #IF |
19:46:55 | renesac | Varriount, every function that python exposes in their stdlib we could have too |
19:48:19 | Araq | renesac: well for the common architectures, I mean |
19:48:32 | Araq | x86, x86-64 and ARM |
19:48:43 | Araq | everything else is dead anyway *cough* |
19:49:22 | Varriount | Araq: What about enterprise processors, like SPARC? |
19:50:59 | Araq | Varriount: note my *cough* please |
19:54:07 | reactormonk | Araq, why does it need to be ASM? |
19:55:57 | renesac | http://publicclu2.blogspot.com.br/2013/05/lockmutex-primitives-in-multi-threading.html <-- for glibc things |
19:56:27 | renesac | the Varriount link also has code from glibc, it seems |
19:57:24 | Araq | reactormonk: because I want to tweak the implementation of course |
20:01:53 | reactormonk | Araq, what would be the problem with e.g. a C implementation? |
20:04:02 | * | [2]Endy quit (Read error: Connection reset by peer) |
20:04:38 | * | [1]Endy joined #nimrod |
20:06:12 | Araq | reactormonk: I guess a C implementation is fine too |
20:06:26 | Araq | as long as it's not posix styled |
20:06:58 | * | Jesin quit (Quit: Leaving) |
20:10:52 | * | BitPuffin quit (Quit: WeeChat 0.4.3) |
20:12:58 | * | BitPuffin joined #nimrod |
20:18:14 | * | foodoo quit (Remote host closed the connection) |
20:19:32 | * | flaviu joined #nimrod |
20:23:58 | Varriount | Araq: What do you mean by 'posix styled'? |
20:26:37 | Araq | if (posix_create_lock(&foo, &pointlessParameters) == ENOMEM)) ... |
20:28:15 | Varriount | Hm. Anyone have a copy of the old Mac OS for me to test these path procedures on? |
20:29:05 | Araq | old Mac OS is dead, don't bother |
20:29:27 | Araq | the code for supporting it in os.nim has never been executed; I'm sure |
20:29:55 | Araq | btw the article is excellent |
20:30:08 | Araq | exactly what I need |
20:31:23 | * | fowl joined #nimrod |
20:32:13 | flaviu | filwit: Can you use the word block comment? Block comments can exist and still be part of the AST |
20:36:58 | Araq | filwit is not here |
20:37:24 | flaviu | I should have checked, thanks |
20:39:41 | * | Mat3 joined #nimrod |
20:39:49 | * | Matthias247 joined #nimrod |
20:39:49 | Mat3 | good afternoon |
20:40:17 | Araq | hi Mat3 |
20:40:46 | Mat3 | hi Araq, what's going on ? |
20:41:23 | Araq | we released 0.9.4, beta-quality |
20:42:19 | Araq | I'm planning on adding data flow variables to Nimrod |
20:43:14 | Araq | the advertisement says "fully deterministic execution, provably no data-races, deadlocks deterministic" |
20:43:55 | * | Demos_ read that as "probably no data races" :D |
20:45:51 | Mat3 | I'm study the XMOS MCU's at moment (which are in some extend a continuation of the Transputer idea). Nimrod would be a nice system-language for such architectures then |
20:47:10 | Mat3 | http://www.xmos.com/ |
20:49:07 | Araq | meh just gimme the Mill already |
20:52:50 | * | io2 quit (Quit: ...take irc away, what are you? genius, billionaire, playboy, philanthropist) |
20:53:27 | Mat3 | sadly I do not expect an existing Mill architecture out there in the near future |
20:56:04 | flaviu | Mat3: Don't take away our dreams :'( |
20:57:12 | Matthias247 | why do these advertisement videos now all have the same (kickstarter) style? :) |
20:57:22 | Araq | yeah took me while to realize gandalf is only talking about simulations they did |
20:57:45 | Araq | and that they don't even have real hardware yet |
20:58:59 | Matthias247 | Mat3: somehow these xcore things look like fpgas with some hardwired logic in it? whats the difference? |
21:04:24 | Mat3 | there are not related to FPGA's. There main idea is shared with there predecessor? the transputer- hardware SMP and SMT support by the processor shared though fast, serial interconnection for high scalability near independent of the core number |
21:04:49 | * | [1]Endy quit (Ping timeout: 240 seconds) |
21:05:04 | Mat3 | (I hope that translation is uderstandable) |
21:05:15 | Mat3 | ^understandable |
21:06:20 | Mat3 | The CPU design is basical a stack architecture |
21:09:17 | * | Demos_ quit (Ping timeout: 264 seconds) |
21:12:04 | wan | Are xmos supposed to be co-processors, or general-purpose? They don't seem to have capabilities close to the ARM SoCs we can find on phones (like at least 1MB of RAM...) |
21:15:52 | Mat3 | I think there are designed as general-purpose processors. However because of there thread oriented architecture you can't compare them to typical SoC's because typical functionality is implementable (with comparable efficience but more flexibility) in software |
21:18:11 | renesac | who wanted to make Nimrod into an HDL? |
21:18:43 | renesac | those data flow variables reminded me of that |
21:18:51 | wan | Mat3: I wonder how they fare at the typical benchmark for chips: Bitcoin mining |
21:19:41 | * | Demos joined #nimrod |
21:19:51 | renesac | wan, since when bitcoin mining is a typical benchmark? |
21:20:08 | renesac | everybody knows that ASIC > FPGA > GPU > CPU |
21:20:31 | wan | Since the bitcoin started to be worth something |
21:21:11 | renesac | for bitcoin mining |
21:21:29 | wan | renesac: yes, but where do you place parallella and other weird chips? |
21:22:18 | renesac | yeah, I don't know |
21:22:26 | renesac | I guess somewhere between gpu and cpu |
21:24:32 | * | Demos_ joined #nimrod |
21:26:48 | Mat3 | wan: DRAM access for example (you can find some example code on the homepage) |
21:27:53 | * | Demos quit (Ping timeout: 264 seconds) |
21:43:49 | Varriount | Araq: Are slices shallow? |
21:43:55 | Varriount | Er, slices to strings. |
21:51:53 | * | Demos_ quit (Ping timeout: 264 seconds) |
21:54:07 | * | flaviu quit (Quit: Leaving.) |
22:07:55 | * | DAddYE quit (Remote host closed the connection) |
22:07:56 | Mat3 | ciao |
22:07:59 | * | Mat3 quit (Quit: Verlassend) |
22:09:40 | * | DAddYE joined #nimrod |
22:10:44 | Araq | Varriount: no, they are not. |
22:16:18 | * | 77CAACY8N joined #nimrod |
22:16:23 | * | brihat joined #nimrod |
22:16:34 | * | brihat left #nimrod (#nimrod) |
22:16:49 | * | 77CAACY8N left #nimrod (#nimrod) |
22:26:31 | * | Demos joined #nimrod |
22:27:58 | * | nequitans quit (Ping timeout: 240 seconds) |
22:56:28 | * | flaviu joined #nimrod |
23:03:43 | Varriount | Aha! I |
23:03:48 | Varriount | I did it! |
23:03:59 | flaviu | Did what? |
23:04:18 | Varriount | flaviu: Created a path simplifier that minimizes copies. |
23:05:08 | Varriount | flaviu: https://gist.github.com/Varriount/11235621 |
23:06:21 | flaviu | Thats neat, but doesn't the OS do this for you? |
23:06:47 | Varriount | flaviu: Only for certain operations, and only for existing files. |
23:07:05 | dom96 | Varriount: remember to make it DirSep agnostic |
23:07:24 | flaviu | Oh, that makes sense, it seems useful in certain cases |
23:08:01 | Varriount | dom96: I will. The procedure isn't finished - It doesn't take into account a large number of corner cases - but It's nice to have a solution to a problem that's been keeping me up at night. |
23:17:54 | * | Matthias247 quit (Read error: Connection reset by peer) |
23:19:01 | Varriount | So.. anyone have good examples of the new spawn() feature in action? |
23:19:31 | * | DAddYE quit (Remote host closed the connection) |
23:21:39 | dom96 | Varriount: Async await is much cooler :P |
23:23:33 | Varriount | dom96: Do you have an example of that? |
23:23:59 | dom96 | There is one in the news |
23:24:40 | flaviu | There's a much better way to deal with the tests in the gitignore |
23:25:43 | flaviu | linux doesn't care about the extension, so just call them .exe too :P |
23:28:54 | flaviu | There might be an even better way though... |
23:32:45 | Varriount | I remember when I was first introduced to Linux.. I was always wondering why the executable files weren't appended with a file extension, like .elf |
23:35:29 | fowl | "runForever()" seems that server() runs forever.. |
23:36:24 | Varriount | Araq: Didn't you say it was undecided whether the 'using' construct would remain? |
23:37:33 | * | DAddYE joined #nimrod |
23:37:42 | dom96 | fowl: no, serve does not. |
23:37:48 | fowl | oh |
23:37:58 | dom96 | it's an async proc |
23:38:40 | Varriount | Erm... |
23:38:49 | Varriount | Why haven't the online doc's been updated? |
23:39:01 | dom96 | well, it does technically run forever |
23:39:09 | dom96 | but it doesn't block the thread |
23:40:28 | fowl | dom96, are you opposed to adding this to `=>` macro, since void cannot be inferred https://gist.github.com/fowlmouth/9728562 |
23:42:09 | dom96 | The current => macro should support this. |
23:42:38 | dom96 | already that os |
23:42:40 | dom96 | *is |
23:43:08 | fowl | so i can go ahead and do it |
23:43:20 | dom96 | no |
23:43:57 | fowl | maybe if you set the return type to void|auto |
23:44:02 | dom96 | depends what you mean by 'it' |
23:44:10 | * | dom96 is confused |
23:46:34 | dom96 | let f1 = (a:int,b:int)->void=>echo "Hello" |
23:46:41 | dom96 | Should already work. |
23:47:04 | NimBot | Araq/Nimrod devel a822d0b EXetoC [+1 ±0 -0]: Add spawn test. Hangs most of the time on linux x64 at least. |
23:47:04 | NimBot | Araq/Nimrod devel 6675b14 Varriount [+1 ±0 -0]: Merge pull request #1121 from EXetoC/spawn-test... 2 more lines |
23:47:08 | fowl | dom96, since you cannot infer void from this functino: var f: (int)->void = (x) => echo(x) |
23:47:08 | fowl | dom96, i check for -> and allow (x)->void => echo(x) |
23:47:55 | * | nande joined #nimrod |
23:48:01 | * | mal`` quit (Ping timeout: 258 seconds) |
23:48:15 | dom96 | fowl: That should already work with the current macro. |
23:48:54 | fowl | oh |
23:49:09 | dom96 | Varriount: I hope that doesn't freeze our builders... |
23:49:15 | * | mal`` joined #nimrod |
23:49:15 | fowl | i feel dum>_> |
23:50:04 | Varriount | dom96: *cough* the online docs? |
23:50:18 | Varriount | They're still at version 0.9.2 |
23:51:01 | dom96 | Varriount: which ones? |
23:51:43 | Varriount | Oh, nevermind. My browser need prodding to dump it's cache. |
23:52:07 | fowl | dom96, is asyncsocket locked to tcp |
23:52:23 | dom96 | fowl: no |
23:53:59 | Varriount | dom96: Have you seen gradha's documentation PR? |
23:54:20 | dom96 | yes |
23:54:33 | dom96 | Hard to tell what he changed. |
23:56:31 | Varriount | Mainly he removed a huge amount of index tags |