<< 23-04-2014 >>

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:54reactormonkKelet, yeah, idetools is broken. Ping zahary for that >:)
00:44:50*wombawomba quit (Ping timeout: 255 seconds)
00:45:54filwitfor 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:02filwitscreenshot: http://reign-studios.net/philipwitte/nimrod/KateSyntaxScreenshot.png
00:46:52filwiti 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:19VarriountNow if only I could properly port filwit's wonderful syntax highlighting.
00:48:01filwitVarriount: 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:46filwitVarriount: I need them too, because '.' starts a 'property' range, which is important because regex can't highlight "this if it follows '.'"
00:49:19filwitVarriount: you can only highlight "this if it's followed by ..." which doesn't work for properties
00:50:16filwitVarriount: I haven't tried in awhile though, and I could probably get an answer quick from the GEdit IRC
00:50:40filwitin fact, anyone know what the GEdit IRC is, or if there is one?
00:50:47filwiti'll ask them right now
00:51:53flaviufilwit: #gedit, irc.gnome.org
00:52:01filwitflaviu, thanks
00:59:45filwit#gedit doesn't seem very active.. i be everyone lives in Europe and is sleeping
00:59:49filwitbet*
01:14:46flaviufilwit: Can Kate do inline docs? In a general sense, not necessarily nimrod.
01:15:11filwitdunno what 'inline docs' are really
01:15:14flaviuLike when you autocomplete it gives you the docs for the function you are looking at
01:15:49filwityeah it can, but not through a simple scheme file. They just added full D intellisense support, so it's def possible
01:16:38flaviuOk, thanks. I noticed the D plugin, but didn't investigate its abilities.
01:16:44filwitI'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:08filwitI'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:21flaviuNo 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:59filwitI 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:27filwitIt 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:10filwitit 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:37filwitit has all the nice things too, like indent line rendering, which is great for Nimrod code
01:21:54filwitit's very fast, can split-planes, etc, etc
01:22:31Keletfilwit: Last time I tried I couldn't get them to work on Windows though
01:22:35filwitthe 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:36Keletnot sure if that's worth anything
01:22:42flaviuYep, I'm playing around with it now. Vim is too slow and doesn't have many of the features I want.
01:22:44Keletmaybe if you pull all of KDE in the KDE on Windows project I guess
01:23:19filwitKelet, didn't even know Kate was compiled for Windows
01:23:50filwitKelet, 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:50KeletI think you can get it through http://windows.kde.org/
01:23:53Keletbut I'm unsure
01:24:07filwitthanks for the info
01:24:50filwitflaviu, 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:50filwitps. i'm making a Nimrod Github color scheme ATM for Kate. I'll update my gist with it when i'm done.
01:26:23filwitI like my "CottonCandy" colors, but I know not everyone is going to like all that bright color, and Github is nice.
01:26:44flaviuWell, 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:45filwitokay, updated the gist (https://gist.github.com/PhilipWitte/11196561) with Github colors
01:42:09filwitI kinda like the Github colors more than my CottonCandy ones actually. It's a better balance
01:42:28filwitThing is, those Color schemes don't include the background color I don't think
01:46:55filwitupdated the Gist again with TextArea colors (background color) for both Color sets
01:47:50flaviuKate isn't quite as easily customization as vim, but its pretty good
01:48:14flaviu*customizable
01:49:39filwitonly 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:26filwitI really wish some editor would have even/odd line colors already
01:53:07filwitI have yet to find an editor with that, and I've always like code on websites which use it
01:53:22flaviufilwit: Vim can do it with a short script
01:53:23EXetoCfilwit: vim? :p
01:53:40filwitdamn..
01:53:51filwitnot 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:56filwithi 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:14flaviuWow, someone hacked a minimap onto vim: https://www.youtube.com/watch?v=vQqeAk__vvE
02:05:23*nande joined #nimrod
02:06:35filwitlol, like how it's off the side of the window
02:07:56Skrylarhrm
02:08:12Skrylarwould it be better for font faces to be loaded as refs or just through a typedef
02:08:24SkrylarI was thinking refs because then you can have GDI fonts and FreeType fonts in one app
02:08:34Skrylarbut 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:37flaviufilwit: 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:58fowllol
02:14:13filwitlol, beautiful engineering work
02:14:40fowlis that outside the scope of a normal plugin?
02:15:15flaviuYes, normal plugins usually run fully inside vim's interpreter
02:15:21fowlseems like you want gvim instead of vim
02:15:36flaviuWell, gvim is missing a few features I'd like
02:16:00fowlmy first days of using linux i was so scared of vim
02:16:14flaviuSuch as multiple cursors or a minimap
02:16:23filwit2+ years in, still scared of Vim
02:16:32flaviuI still don't understand vi, I have no idea how it works. Vim is fun though
02:16:34fowlnow i know that you type :q to quit, so when vim scares me i can run away
02:16:47fowlnano is my console editor
02:16:57flaviuvim 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:57reactormonkfowl, a verby bad one at that
02:31:07renesacwell, 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:11fowlnever had any issue with nano
02:31:43renesacstill, never learned the dozens of shortcuts in the command mode
02:32:31renesacfilwit, your kate plugin is very much appreciated
02:32:55renesacI actually found your cotton candy color scheme nice too
02:32:56filwitthanks renesac, glad to hear it
02:33:08renesacI'm programming nimrod mainly in kate now
02:33:13renesacquick scripts on aporia
02:33:17filwiti'm almost done with it, and then we can add it to the list of supported editors
02:33:26renesacI was going to ask that
02:33:56filwitwell i just updated it last it last night, and i'm much happier with the way properties are highlighted now
02:34:04fowlsomeone should poke that online compiler to update
02:34:18filwitthe only thing left is highlighting functions correctly that don't have parameters
02:34:27renesacthe version I have don't properly highlight hexadecimals
02:34:46renesacnor numbers with _
02:34:52filwitoh yes, there are things like that left as well... underscores in numbers don't work either
02:34:54renesaclike 1_000
02:34:54filwityeah
02:35:21renesacbut it is very usable
02:35:31filwitthose things need to be fixed, and I really want non-AST comments so we can Ctrl-D blocks easily
02:35:41filwitbut yeah, almost done with this
02:36:23filwiteventually, 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:32renesacanother 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:36filwitbut i'm not sure how big of a project that is, and don't have time right now
02:36:57renesacright now we are using python's one
02:37:20filwitrenesac: 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:33renesacwell, it probably is the closest
02:37:43filwityeah
02:37:55renesacthe only thing left is make the operators at the end of a line trigger new indentation too
02:38:07renesacbut then we need to make another indentation mode
02:38:08filwitbut it sux for some auto-indenting things, cause it always expects to indent after ':' not '='
02:38:17filwityeah
02:38:24renesacyeah, '=' is one of such operators
02:39:21renesacoh, and maybe add special rules for type declarations and 'var', 'let', etc
02:39:30renesacbut that isn't as important
02:39:45filwiti was thinking just that, but it's hard with multi-line stuff
02:40:13filwitnotice that only single like types highlight the type-name, while typenames in a type-block don't work correctly
02:40:38filwiti'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:31filwitmostly 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:51filwitwhich isn't how the compiler works, but if you adhere to that, you'd get proper highlighting
02:42:23renesachum
02:43:17filwitultimately, we need a proper IDE with real semantic highlighting.
02:43:27renesacyeah
02:43:37renesacbut I guess that is a huge undertaking
02:43:43renesacsee how many time it took for D
02:43:54filwitwell D also sux
02:43:57filwitfor things like that
02:43:59renesacthough I think D don't have an "idetools" in the compiler
02:44:11filwitVisual D and MonoD are basically parser rewrites..
02:44:23filwitwhereas Nim has idetools
02:44:39filwitoh, you just said that..
02:44:40renesacand yet D was intended to work well with IDEs, unlike C++
02:44:41filwitlol
02:44:48renesacyou confirmed it
02:44:52renesac^^'
02:45:10filwityeah D was suppose to be great, but in reality is lacking in a lot of areas
02:45:35renesactoo bad KDE stuff isn't really cross platafform
02:46:02filwityeah, another reason we need our own IDE
02:46:09renesacthat windows.kde isn't very well supported, and needs to download lots of things for a simple app
02:46:12filwitthough apparently Kate is for Windows
02:46:23filwityeah
02:46:36filwiti wouldn't trust Kate support on anything but Linux really
02:46:39renesacI tried a long time ago, I don't know how it is nowadays
02:46:44filwitbut it might be better than i'm giving it credit
02:46:56renesacI hear BSDs also have KDE
02:47:14renesacnever heard anything about Mac though
02:47:32filwitwell I know Qt5 has pretty good cross-platform support, so maybe later it'll be better
02:47:48renesacqt4 already had
02:47:58renesacI think it was then that windows.kde started
02:48:05filwitstill.. i think it would be great to have our own Nim GUI and and IDE written with it
02:48:12filwitit's a major project tho
02:48:18renesacno doubt
02:48:30renesacdom96 is starting with aporia...
02:48:45renesacwith GTK sourceview
02:48:54filwitmy 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:11filwiti haven't worked on it in a month tho, busy with other things
02:49:58renesacright
02:50:27filwitwe'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:38filwitI don't care about VS cause it's Windows only
02:51:44renesacsame here
02:52:00renesacbut many people like it apparently
02:52:05renesacsee VisualD
02:52:09fowli enjoyed using it for c#
02:52:19fowli didnt even have to learn c# to write it
02:52:34renesacfowl, I had that experience with eclipse and java
02:53:00renesacthough I can't really say I like either
02:53:05filwitit'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:35renesacyeah
02:54:28filwitthough 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:32filwitmade a very minor update to the Github color scheme (attrs color where slightly off from type colors)
02:56:55renesacdid you had to invent new colors in that github scheme?
02:57:08renesacbecause it seems github don't highlights as many things as you do
02:57:26filwitonly for properties and funcs, but those are from my CottonCandy one, and they just kind worked out well
02:57:40renesacright
02:57:53renesacI will update my version latter
02:58:18filwitmeh, just go to your color scheme and put #ff445588 into the Attr thing and you're done
02:58:29filwitno need to import a whole new thing
02:59:02*andreroquem quit (Quit: andreroquem)
02:59:07renesacI haven't downloaded any that you uploaded today
02:59:12renesacI still have the very first one
02:59:16filwitoh i see
03:00:08renesacand aporia also don't supports underscores on numbers, btw
03:00:17filwitinteresting
03:00:38*brson quit (Ping timeout: 276 seconds)
03:00:41renesacdom96, probably forgot about that
03:01:24filwiti'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:29filwitI want to adapt my syntax highlighting to Aporia, but have yet to get a response from #gedit about region equivalent in GTK
03:02:37renesacprobably just allowing another character for a thing considered a nubmer
03:02:52renesacmaybe the hexadecimal works this way too
03:02:56renesacallowing 'x'
03:03:44filwityeah i'm sure it's all pretty straight forward.. i just haven't looked into yet
03:03:47renesac 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:59filwiti almost don't like Nimrod's post-fix things like 0f32
03:04:00renesacok, three leters
03:04:08filwiti kinda wish it was just 0.float32
03:04:17renesacwell, I end up using
03:04:28renesacbecause I need a lot of them in code with unsigned numbers
03:05:23filwityeah, i just don't like how odd it is to everything else
03:05:31renesacindeed
03:05:38renesacI aways put the ' thogh
03:05:42renesac*though
03:05:49filwityeah i don't like that either tho, lol
03:05:54filwiti just with there was one way
03:05:54renesac0x19999999'u32
03:06:18filwitand you could just have 'f32'/'u32' as alias to float32/uint32 etc.. then do 0.f32
03:06:24renesacyeah, three (or 4 if you consider int32(x))
03:06:27renesacis a bit too much
03:06:54renesacfilwit, the problem with that is that 'i' would need to be supported too
03:07:00renesac0.i
03:07:09renesacor not?
03:07:27renesacoh, 'i' not, but 'u' yes
03:07:31filwitnah, just do 0.i32
03:07:40filwitno need for 'i' or 'u' really...
03:07:54filwitin that case, you have '0.int'
03:07:57filwitor 0.uint
03:08:03renesacyeah
03:08:57renesacwell, the upside is that it easily allows a different highlighting for this case
03:09:30renesacbut yeah, it is redundant
03:14:04renesacand 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:13Skrylartime 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:24Skrylarbleh
06:07:31Skrylardoes anyone else have problems getting 'method's to compile?
06:08:28VarriountSkrylar: I've never used them.
06:08:39VarriountYou have anything for me to test?
06:08:50Skrylarah, i found it
06:08:54SkrylarRFoo = ref RFoo
06:09:19Skrylarthe compiler doesn't detect this as silly and instead loops until it runs out of memory
06:09:20VarriountYummy, recursive types.
06:09:57SkrylarVarriount: no, but i'll be using them again soon
06:09:59VarriountSkrylar: That's partially because Araq depends on silly recursion and tail call elimination quite a bit in compiler code.
06:10:23SkrylarVarriount: 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:28Skrylarso :\
06:10:38Skrylarinterface API for getting font glyphs
06:10:55VarriountHm. You know freetype compiles on windows, right?
06:11:02Skrylaryeah but people don't always want it
06:11:17Skrylarfreetype has a big attribution requirement and is technically dead weight on windows/osx
06:12:35Skrylarso 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:49VarriountSkrylar: I'm writing a path simplification procedure: "/usr/Home/../bin/../../Foo" -> "/Foo"
06:13:12Skrylarif you're willing to use sequences thats not too hard
06:13:39VarriountSkrylar: I'm seeing if it can be done efficiently, without creating a mess of spaghetti code.
06:13:54SkrylarVarriount: efficiently as in easy to read or doesn't thrash memory?
06:14:02VarriountDoesn't thrash memory.
06:14:43VarriountHowever there's an upper bound the amount of ugliness I'll stand for the sake of performance.
06:14:55Varriount*to the amount
06:15:01Skrylarthere'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:12Skrylarif you want less thrashing you have to start imposing limits
06:15:31SkrylarPhysFS for example, simply doesn't allow "../" whatsoever
06:17:02VarriountAh PhysFS... I had to compile that for Allegro. Looked like a neat library.
06:18:23VarriountSkrylar: The main project I'm working on right now is porting my symirror (symlink mirror) utility from python to Nimrod.
06:19:20VarriountBut 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:24VarriountSkrylar: 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:49SkrylarVarriount: huh?
11:01:25Skrylaroh you mean to say if a or b
11:02:03SkrylarNo, I don't think there is an easy way to abridge "a==32" or "b==32"
11:02:29SkrylarVarriount: 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:11EXetoCodd syntax. why just not a generic proc that takes a predicate and a varargs?
11:29:40EXetoCany/all((x) => x == y), x, y, z[, ...])
12:06:07*BitPuffin joined #nimrod
12:38:32dom96Go of course makes it to the front page :\
12:39:21*bjz joined #nimrod
12:44:38*nequitans joined #nimrod
12:49:51Keletdom96: The front page where? I think Nimrod did too.
12:50:06KeletOn the front page of /r/programming and HN (for a time, anyway)
12:50:10dom96HN
12:50:26Keletsignificantly less comments, though
12:50:59dom96no comments at all, if it got to the front page it didn't stay there for longer than a couple of minutes
12:51:07dom96we need to try again
12:51:11Kelethmm, really?
12:51:21dom96yeah
12:51:27dom96 https://news.ycombinator.com/item?id=7624689
12:52:10KeletHmm I guess at least you guys got the exposure of /r/programming.
13:06:22dom96true, but being on the front page of HN would give us a lot more exposure.
13:21:57*darkf quit (Quit: Leaving)
13:21:58EXetoCuh, such a big difference between int16(x) in an assignment and int16(x) passed to echo
13:23:42EXetoCok not really if you actually invoke $ in both cases
13:32:05*nequitans quit (Ping timeout: 255 seconds)
13:58:35fowlVarriount, os.expandPath should do what what you want
14:14:04EXetoCAraq: "nkCall -> nkHiddenStdConv -> nkConv -> nkSym(int16), nkIntLit(43544)" (echo int16(43544)) is folded to 43544. Do I create a nkChkRange node somewhere?
14:19:21EXetoCor 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:57Varriountfowl: I need something more like this : http://msdn.microsoft.com/en-us/library/windows/desktop/bb773569(v=vs.85).aspx
15:27:43VarriountI
15:28:20VarriountHm. 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:38renesacVarriount, normpath is a time critical function in any workload?
17:16:50renesacthe 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:33VarriountIs 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:17EXetoCnuclear warfare?
18:18:25EXetoCit's this quiet some days isn't it?
18:19:38VarriountEXetoC: 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:23VarriountHi foodo
18:45:30Varriount*foodoo
18:50:23foodoohi Varriount :)
18:58:27*bbodi joined #nimrod
18:58:35bbodihi all
18:58:47VarriountHi bbodi
19:00:01renesacVarriount, as for efficiency, you probably can replace the last split and dels by a two character buffer and more logic
19:00:28Varriountrenesac: Are you referencing the python implementation?
19:00:40renesacyeah
19:01:14renesacI'm not sure if it is worth the effort though
19:01:38Varriountrenesac: 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:04VarriountI might as well produce some arguably battle-tested code.
19:02:52*darithorn joined #nimrod
19:04:24renesacright
19:05:40VarriountActually, 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:30Varriountrenesac: Do you think we should add a commonPrefix procedure to strutils?
19:23:09*bbodi quit (Ping timeout: 265 seconds)
19:37:13AraqVarriount: I think that is a good idea
19:42:58Araqguys, any idea where to get a portable assembler based implementation for read/write locks?
19:44:37VarriountAraq: Maybe this? -> http://locklessinc.com/articles/locks/
19:44:46renesacportable assembler?
19:45:02renesacglibc probably has an implementation, but probably quite complex
19:45:27renesaclots of #IF
19:46:55renesacVarriount, every function that python exposes in their stdlib we could have too
19:48:19Araqrenesac: well for the common architectures, I mean
19:48:32Araqx86, x86-64 and ARM
19:48:43Araqeverything else is dead anyway *cough*
19:49:22VarriountAraq: What about enterprise processors, like SPARC?
19:50:59AraqVarriount: note my *cough* please
19:54:07reactormonkAraq, why does it need to be ASM?
19:55:57renesachttp://publicclu2.blogspot.com.br/2013/05/lockmutex-primitives-in-multi-threading.html <-- for glibc things
19:56:27renesacthe Varriount link also has code from glibc, it seems
19:57:24Araqreactormonk: because I want to tweak the implementation of course
20:01:53reactormonkAraq, 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:12Araqreactormonk: I guess a C implementation is fine too
20:06:26Araqas 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:58VarriountAraq: What do you mean by 'posix styled'?
20:26:37Araqif (posix_create_lock(&foo, &pointlessParameters) == ENOMEM)) ...
20:28:15VarriountHm. Anyone have a copy of the old Mac OS for me to test these path procedures on?
20:29:05Araqold Mac OS is dead, don't bother
20:29:27Araqthe code for supporting it in os.nim has never been executed; I'm sure
20:29:55Araqbtw the article is excellent
20:30:08Araqexactly what I need
20:31:23*fowl joined #nimrod
20:32:13flaviufilwit: Can you use the word block comment? Block comments can exist and still be part of the AST
20:36:58Araqfilwit is not here
20:37:24flaviuI should have checked, thanks
20:39:41*Mat3 joined #nimrod
20:39:49*Matthias247 joined #nimrod
20:39:49Mat3good afternoon
20:40:17Araqhi Mat3
20:40:46Mat3hi Araq, what's going on ?
20:41:23Araqwe released 0.9.4, beta-quality
20:42:19AraqI'm planning on adding data flow variables to Nimrod
20:43:14Araqthe 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:51Mat3I'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:10Mat3http://www.xmos.com/
20:49:07Araqmeh just gimme the Mill already
20:52:50*io2 quit (Quit: ...take irc away, what are you? genius, billionaire, playboy, philanthropist)
20:53:27Mat3sadly I do not expect an existing Mill architecture out there in the near future
20:56:04flaviuMat3: Don't take away our dreams :'(
20:57:12Matthias247why do these advertisement videos now all have the same (kickstarter) style? :)
20:57:22Araqyeah took me while to realize gandalf is only talking about simulations they did
20:57:45Araqand that they don't even have real hardware yet
20:58:59Matthias247Mat3: somehow these xcore things look like fpgas with some hardwired logic in it? whats the difference?
21:04:24Mat3there 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:04Mat3(I hope that translation is uderstandable)
21:05:15Mat3^understandable
21:06:20Mat3The CPU design is basical a stack architecture
21:09:17*Demos_ quit (Ping timeout: 264 seconds)
21:12:04wanAre 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:52Mat3I 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:11renesacwho wanted to make Nimrod into an HDL?
21:18:43renesacthose data flow variables reminded me of that
21:18:51wanMat3: I wonder how they fare at the typical benchmark for chips: Bitcoin mining
21:19:41*Demos joined #nimrod
21:19:51renesacwan, since when bitcoin mining is a typical benchmark?
21:20:08renesaceverybody knows that ASIC > FPGA > GPU > CPU
21:20:31wanSince the bitcoin started to be worth something
21:21:11renesacfor bitcoin mining
21:21:29wanrenesac: yes, but where do you place parallella and other weird chips?
21:22:18renesacyeah, I don't know
21:22:26renesacI guess somewhere between gpu and cpu
21:24:32*Demos_ joined #nimrod
21:26:48Mat3wan: DRAM access for example (you can find some example code on the homepage)
21:27:53*Demos quit (Ping timeout: 264 seconds)
21:43:49VarriountAraq: Are slices shallow?
21:43:55VarriountEr, 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:56Mat3ciao
22:07:59*Mat3 quit (Quit: Verlassend)
22:09:40*DAddYE joined #nimrod
22:10:44AraqVarriount: 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:43VarriountAha! I
23:03:48VarriountI did it!
23:03:59flaviuDid what?
23:04:18Varriountflaviu: Created a path simplifier that minimizes copies.
23:05:08Varriountflaviu: https://gist.github.com/Varriount/11235621
23:06:21flaviuThats neat, but doesn't the OS do this for you?
23:06:47Varriountflaviu: Only for certain operations, and only for existing files.
23:07:05dom96Varriount: remember to make it DirSep agnostic
23:07:24flaviuOh, that makes sense, it seems useful in certain cases
23:08:01Varriountdom96: 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:01VarriountSo.. anyone have good examples of the new spawn() feature in action?
23:19:31*DAddYE quit (Remote host closed the connection)
23:21:39dom96Varriount: Async await is much cooler :P
23:23:33Varriountdom96: Do you have an example of that?
23:23:59dom96There is one in the news
23:24:40flaviuThere's a much better way to deal with the tests in the gitignore
23:25:43flaviulinux doesn't care about the extension, so just call them .exe too :P
23:28:54flaviuThere might be an even better way though...
23:32:45VarriountI 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:29fowl"runForever()" seems that server() runs forever..
23:36:24VarriountAraq: Didn't you say it was undecided whether the 'using' construct would remain?
23:37:33*DAddYE joined #nimrod
23:37:42dom96fowl: no, serve does not.
23:37:48fowloh
23:37:58dom96it's an async proc
23:38:40VarriountErm...
23:38:49VarriountWhy haven't the online doc's been updated?
23:39:01dom96well, it does technically run forever
23:39:09dom96but it doesn't block the thread
23:40:28fowldom96, are you opposed to adding this to `=>` macro, since void cannot be inferred https://gist.github.com/fowlmouth/9728562
23:42:09dom96The current => macro should support this.
23:42:38dom96already that os
23:42:40dom96*is
23:43:08fowlso i can go ahead and do it
23:43:20dom96no
23:43:57fowlmaybe if you set the return type to void|auto
23:44:02dom96depends what you mean by 'it'
23:44:10*dom96 is confused
23:46:34dom96let f1 = (a:int,b:int)->void=>echo "Hello"
23:46:41dom96Should already work.
23:47:04NimBotAraq/Nimrod devel a822d0b EXetoC [+1 ±0 -0]: Add spawn test. Hangs most of the time on linux x64 at least.
23:47:04NimBotAraq/Nimrod devel 6675b14 Varriount [+1 ±0 -0]: Merge pull request #1121 from EXetoC/spawn-test... 2 more lines
23:47:08fowldom96, since you cannot infer void from this functino: var f: (int)->void = (x) => echo(x)
23:47:08fowldom96, 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:15dom96fowl: That should already work with the current macro.
23:48:54fowloh
23:49:09dom96Varriount: I hope that doesn't freeze our builders...
23:49:15*mal`` joined #nimrod
23:49:15fowli feel dum>_>
23:50:04Varriountdom96: *cough* the online docs?
23:50:18VarriountThey're still at version 0.9.2
23:51:01dom96Varriount: which ones?
23:51:43VarriountOh, nevermind. My browser need prodding to dump it's cache.
23:52:07fowldom96, is asyncsocket locked to tcp
23:52:23dom96fowl: no
23:53:59Varriountdom96: Have you seen gradha's documentation PR?
23:54:20dom96yes
23:54:33dom96Hard to tell what he changed.
23:56:31VarriountMainly he removed a huge amount of index tags