<< 06-03-2014 >>

00:00:02filwiteither is 'customMacro foo, bar: ...'
00:00:54filwiti will publish my code once it's working, and then you can pull the shake things up yourself and see what works ;)
00:01:05renesacok, I will post on the forum anyway
00:02:35filwitplease do ;) it's good to get as much feedback as possible, but ultimately we need more concrete working code to go any further, and it's pointless to debate over every detail until it's more fleshed out really.
00:03:35filwitbut i made the forum post specifically so y'all can find flaws with my proposal or come to better solutions, so i do appreciate the input.
00:06:48renesacfilwit, do you already have working nimrod code highlighting on kate?
00:06:58renesacit is missing from this page: https://github.com/Araq/Nimrod/wiki/Editor-Support
00:07:46filwitrenesac: yes, but it's got some of my custom game-engine keywords mixed into the syntax as keywords. Once sec i'll make a Gist for you
00:08:40renesaccan you add directly to the wiki?
00:08:58filwitnot until it's finished
00:09:06filwitbut i probably should soon
00:09:27filwiti'm still playing around with some highlighting regex that i hope to move to Aporia as well.
00:11:05DemosI could use it as well. Right now I am just using the docgen's highlight module to highlight stuff in VS, I am thinking of using idetools to add some more info as well
00:13:31*io2 quit ()
00:13:41renesachum, D guys have implemented a code completion plugin for Kate
00:14:37filwitKate nimrod.xml: https://gist.github.com/PhilipWitte/9379498
00:14:48filwitScreenshot: http://reign-studios.net/philipwitte/screenshots/kate-nimrod.png
00:14:49dom96Kelet: Yeah, what the others said: you need the latest Nimrod compiler from git usually (git master may work)
00:15:17renesachum, kate don't have a listing for functions, types, etc declared in a file, aparently
00:15:22filwitrenesac, Demos: place the 'nimrod.xml' in ~/.kde4/share/apps/katepart/syntax/
00:15:58renesac(its a long time since I last used kate, as I'm not using kde destkop anymore)
00:16:17Demoswhat is with the ugly windows-7 wanna-be theme?
00:16:48filwitshut up Demos, it's beautiful
00:16:53filwit:P
00:17:11DemosI really like kate though. kile is my favorite latex editor
00:17:33filwitmy KDE is like what Win 8 should have been..
00:18:02renesacI'm using code::blocks for C now, and AFAIK no nimrod support there
00:18:09filwitreally love KDE these days, and it keeps getting better without breaking everything, unlike Gnome which kills every useful extension off ever 6 months..
00:18:21dom96I've never liked KDE.
00:18:45renesacI liked kde... before the 4.0 where they've broken everything
00:18:59renesacand made it 5 times heavier
00:19:01filwitdom96: i used to hate it too, but after using 4.12 it's got every feature i liked about Gnome but is much more performant and feature rich
00:19:33*Matthias247 quit (Read error: Connection reset by peer)
00:19:38renesacnow I'm on lxde, that is a bit too immature and lacking features
00:19:47renesacbut at least works well and don't get in the way
00:20:07Demosis KDE really heaver than GNOME these days, I suspect not
00:20:13filwitdom96: i always thought KDE themes looked ugly compared to Gnome ones, and in a ways Gnome still has some of the best ones. But I really like my current KDE desktop and don't think i would ever want to switch again.
00:20:41filwitrenesac: you should try Mate
00:21:05filwitrenesac: heard they're even migrating to Gtk3 and will support Wayland by the time that's actually ready
00:21:13flaviuAll these window managers are huge, mine is only 800KiB ;)
00:21:49filwitDemos: KDE's heavy if you don't disable the file-index stuff. But after that it actually uses less ram than Gnome on my system and runs much smoother (granted i'm using Catalyst)
00:22:18renesachum.. fork of gnome2... I was not the biggest fan of gnome
00:22:51renesacit is probably better than gnome3
00:22:52Demosyeah the file-index stuff is pretty bad
00:23:00filwitflaviu: yeah but yours probably does practically nothing compared to the big ones. I would much rather 1 of my 8 gigs dedicated to the system and actually have usable features than save all that ram and gimp myself
00:23:28renesactoo bad that Trinity/TDE came too late, and don't really have a sufficiently big team behind it
00:23:34filwitrenesac: it's configurable. Check out Linux Mint Mate addition
00:23:53filwitedition**
00:23:59filwitaddition.. come on brain..
00:24:07flaviufilwit: I can definitely see your point of view, but I'm not sure what else I might want
00:24:26DemosI just avoid GObject and gtk
00:25:01filwitflaviu: yeah well if you're JUST comparing WMs it's not entirely realistic. Both Gnome and KDE come with a lot of tools which i use (granted they also come with tons i don't use)
00:25:01flaviuHonestly, I wouldn't go back to gnome, even though it looks quite nice and works great out of the box
00:25:02renesacfilwit, one could boot in KDE 3.5.10 using only 22mb of ram
00:25:33renesac(extremely stripped down, along with the base linux enviroment, but a kde destkop nonetheless)
00:26:17filwiti really don't see the point of trying to run a DM on less RAM than any of todays smartphones
00:26:33filwiti can understand for old computers, but there are DE's for those already
00:27:11*flaviu quit (Remote host closed the connection)
00:27:25*flaviu joined #nimrod
00:27:35renesacwell, a black box WM would use only 7mb less memory than kde, and wouldn't load kdelibs on the memory
00:27:45filwitdon't get me wrong, you should always optimize. But i prefer a fully functioning desktop. If i want to FTP from my file-browser, I don't want to hunt some random FTP package down first, i just want it to work.
00:27:55renesacright
00:28:29renesacwell, I'm only saying what could be done in the past, before the move to kde4
00:28:55renesackde3 had more functionality than kde4.x for a long time
00:28:57renesac:P
00:29:24renesaceverybody wanted to rewrite things from scratch...
00:29:34filwitrenesac, Demos: oh btw, that Kate syntax highlight will highlight things according to caps (also by function). And you'll want to strip out the <!-- hymn --> xml attributes cause i forgot to do that before i made the gist
00:29:56renesacyou can make a new revision of the gist btw
00:30:05filwityeah was just doing that..
00:30:12renesacright
00:31:05filwitrenesac, Demos: crap.. i need to export the colors for you folks as well..
00:32:33filwitalso, unfortunately right now multi-line type declarations aren't color correctly (bright blue) like they are if you put type names directly after the keyword.
00:32:34DemosI am not going to use it tonight, I am using VS right now
00:33:06filwiti can make it work like that, just haven't gotten around to doing it cause it requires reshifting stuff around
00:33:10renesacyeah, and I'm using aporia
00:33:11filwitDemos: okay
00:33:18filwitrenesac: okay
00:33:25renesacthough kate features might sway me away again
00:33:35renesacbut no hurry
00:35:48filwitrenesac: see the horizontal list and mini-map in my screenshot, plus the vertical lines for separation. Those are what sold me on Kate over Aporia (your project's great tho, dom96!). It would be great to eventually have an IDE with those feature and also intellisense. I know it's possible with Kate/KEdit and that's what I plan on eventually supporting (or building one into my game engine editor).
00:36:40Demosfilwit, you could just embed kate as your editor
00:36:42renesacyeah, those indentation guides are very usefull
00:37:00filwitrenesac: the horizontal source-tree though and mini-map are just really, really nice for working on large code files. If you double-click to highlight a word, you can see it in the mini-map, and the source-tree is awesome for navigating lots of files (like Visual Studios does)
00:37:38renesacoh, I moved away from kate before they added this feature
00:37:58renesac(mini-map)
00:38:09filwitDemos: that's a posibility, but I'm setting up to have my own GUI (it's the same "game object" system), so not sure i want a bunch of Qt stuff just for text. Will probably just promote using Kate until i have something better built-in
00:38:29renesacI would still like a list of function definitions as a tab together with the source-tree navigation
00:38:51filwitrenesac: yeah that would be very nice.
00:39:30renesacbut I see how the mini-map helps a bit with the things I would use the list of functions for
00:39:44renesacaporia has neither of course...
00:40:02filwitrenesac, Demos: removed the 'hymn' stuff from the gist
00:41:19filwitrenesac: the minimap makes finding a symbol's uses cases without actually source analysis actually possible (cause it shows the symbols though the whole file). In fact, because it's so much faster than VS's highlighter, it's actually *almost* nicer most of the time.
00:44:25Skrylarstill just usin' vim here :>
00:44:42flaviuWow, I can make Qt use my gtk theme by adding one line to my configs
00:44:54renesackate has a vim mode IIRC
00:45:05Skrylari use enough vim that 'vim modes' tend not to work well
00:45:12renesacright
00:45:30Demosyeah, although it is nice to not have to keep removing :w:q from my files :D
00:45:46flaviuDemos: :wq is one char shorter
00:46:03Demosholy shit, I did not know :wq was a thing
00:47:25renesacand Qt4 QTextEngine::format() still can't handle very long lines...
00:47:26filwitrenesac, Demos: updated Gist with colors and install directions
00:47:37renesacapparently the bug was fixed only for Qt5..
00:48:01filwitrenesac, Demos: you have to enable the mini-map and documentation-nav yourselves though :P
00:48:34renesaclong lines = a 1+ kbyte long line will probably leave your Kate unresponsive
00:48:37renesac:P
00:50:00filwitnope
00:50:26filwitKate's been amazing on performance, even with huge one-line files (i've opened them, compressed JS mostly)
00:51:00renesachum
00:51:22flaviufilwit: What colorset are you using in kate?
00:51:26filwitthen again my machine is pretty fast..
00:51:39filwitflaviu: my own, i put it in the Gist
00:51:55filwitflaviu: in case you missed it: https://gist.github.com/PhilipWitte/9379498
00:52:10renesacwell, the algorithm it used was quadratic on line size, so it didn't really mattered the speed of your computer
00:52:11renesac:P
00:52:27flaviuThanks, I haven't gotten as far as looking at the gist.
00:52:38renesacso it is fixed now...
00:54:05filwitflaviu: well both the syntax highlighting and the color definitions (plus their install directions) are in the Gist if you try it
00:54:16filwitrenesac: probably
00:54:38filwitrenesac: i never really had a problem with it, but i've only been using KDE for 6-8months now.
00:55:03filwitpossibly a full year, can't remember
00:55:53renesachttps://bugs.kde.org/show_bug.cgi?id=225228 <-- have you tried to use line wrapping?
00:56:20renesacI think that it was it that triggered this unresponsive behaviour
00:56:30OrionPKtime for my daily call with comcast
00:56:35OrionPKdaily scrum
00:56:39filwitrenesac: quote "Version: (using KDE 4.3.4)"
00:56:42OrionPK"how come this bill is wrong"
00:56:46OrionPK"how come I dnt have service"
00:56:53OrionPK"what happened to this channel?"
00:56:58OrionPK"why are you fucking retarded?"
00:57:15filwitOrionPK i would never pay for cable TV..
00:57:20renesacthe bug was basically closed as 'wont fix on Qt4' on 2013-11
00:57:58VarriountOrionPK: "Because we can be"
00:58:01filwitOrionPK, didn't grow up with TV, so never really missed it. But I remember Comcast internet wasn't that bad.
00:58:09renesacthough that 2012 patch may have made the situation better
00:58:13OrionPKi tried to cancel my tv
00:58:22OrionPKthey offered me hbo for a reduced price, so I said yes
00:58:30filwitOrionPK: I'm on the East now though, no Comcast here (Brighhouse & Verizon instead)
00:58:33OrionPKthen I moved house, and the hbo disappeared, and now im trying to get it back
00:58:42filwitlol
00:59:31*darkf joined #nimrod
00:59:31OrionPKmy girlfriend wants to watch true detective
00:59:37OrionPKcannot deny her
01:00:00renesacOrionPK, look at the bright side, you at least have some basic service in your new home
01:00:09filwitmeh, I just watch the shows i like online anyways to avoid commercials
01:00:18OrionPKaaaand they hung up on me
01:00:22filwiti would happily pay for such a service, but none exist
01:00:34renesachere when we moved they failed to install in the new adress for a full month
01:00:36filwitOrionPK: LOL
01:00:36OrionPKtypical
01:01:29renesactill we canceled the service on the other address...
01:01:38renesacand signed a new contract
01:01:39renesac:P
01:07:47VarriountThe only thing I have to complain about my internet provider (Verizon) is that they have a stupid backup battery system and tend to charge for inconsequential things.
01:08:28VarriountIf the backup battery fails, even if we still have main power, our internet goes out. :/
01:10:58flaviuIs the router yours? Try taking it apart and replace the battery with main power
01:11:17Varriountflaviu: Depends on what you call the router.
01:11:33flaviuThe box with the battery
01:11:40VarriountNo.
01:11:53Varriountflaviu: That's more of a signal translater than a router.
01:12:08flaviuThey sometimes combine them
01:12:12VarriountIt translates the fiber optic signals into something that can be sent through copper.
01:12:50Varriountthen we have a router that connects to the copper wiring and send out wireless and such.
01:13:58VarriountWhen the battery fails, the cable that sends power to the signal translator is broken (it routes through the battery, not my design)
01:14:46Varriountflaviu: Thankfully, the battery only failed once, when the charging mechanism it sits in broke.
01:15:04VarriountThat was.. about 4 months ago? Near thanksgiving
01:15:33flaviuI guess it isn't too bad then, if you have a replacement ready
01:20:20Demosdoes nimrod have variadic generics?
01:31:36Varriountvariadic?
01:31:46flaviulike varargs, but for types
01:32:05flaviu?
01:32:10VarriountYou could use typedesc parameters
01:32:35Varriountproc foo(x: seq[typedesc])
01:32:42Demosyeah that is the plan
01:33:05Demosbut typedesc is a kinda a wierd thing, it is sometimes like a typeclass and sometimes like a type
01:33:59Demoslike is typedesc[int] a concrete type? who knows! does the compiler know the size of all typedescs, probably but seq[typedesc] still feels like you may get a concrete version that is just seq[typedesc[T]] which is not what I want
01:34:24Demoshave not tried yet though, since I need to do some housework
01:36:16*q66 quit (Quit: Leaving)
01:39:51VarriountDemos: I thought a typeclass *was* a type?
01:40:00Demosit is .... wierd
01:40:41Demosa typeclass is not a concrete type though, you do not know the size of a typeclass
01:41:28Demosthey feel kinda like types but I am fairly sure that is sugar
01:44:01*Varriount quit (Ping timeout: 240 seconds)
01:52:51renesacthey need better documentation
01:53:26renesacwith examples of what you can and can't do with it
01:54:01filwitthey're brand new
01:54:15filwitand probably still pretty buggy
01:54:29filwithaven't actually tried them at all yet though
01:54:36EXetoC*user-defined* type classes are
01:54:46filwit^
01:55:03filwit ^
01:55:05filwit ^
01:55:07filwit ^
01:55:16filwit ^
01:55:18filwit ^
01:55:19filwit^
01:55:23EXetoCand as I've said before, the terminology is confusing
01:55:31filwiti agree
01:55:40filwitshould be called 'traits'
01:55:53filwitor something like that
01:56:11fowlthe most important aspect of a feature is always the name
01:56:24filwitthen again, i think 'seq' should be called 'list' and (todays) 'list' should be called 'chain' and... that's about it actually
01:57:18filwitfowl: lol, points fired! But then, the name isn't entirely irrelevant either, and should be discussed
01:57:49EXetoCit's not, but don't we have both type classes and *user-defined* type classes?
01:58:12EXetoCboth seem user-defined to me
01:58:14*carum joined #nimrod
01:58:20filwitadvertising is about public perception, and in that implies the words we use to describe things *is* in fact important to popularity
02:00:34*filwit quit (Quit: Leaving)
02:01:47*filwit joined #nimrod
02:03:12*brson quit (Ping timeout: 264 seconds)
02:04:48*DAddYE quit (Remote host closed the connection)
02:10:58*brson joined #nimrod
02:11:31Demosfor us advertising should be about making ourselves known
02:13:27Skrylaradvertising is having neat screenies and going on about how easy it is to do awesome stuff
02:13:30Skrylar:>
02:15:37*brson quit (Ping timeout: 240 seconds)
02:16:11*carum quit (Remote host closed the connection)
02:18:01*carum joined #nimrod
02:22:22*carum quit (Ping timeout: 244 seconds)
02:22:39*brson joined #nimrod
02:30:00*Varriount joined #nimrod
02:32:01*brson quit (Ping timeout: 240 seconds)
02:33:26*carum joined #nimrod
02:38:25*Varriount quit (Ping timeout: 240 seconds)
02:41:49Keletbah
02:41:59filwithumbug
02:42:06KeletTo use the latest Aporia I need a nightly build of nimrod
02:42:23KeletBabel does not compile with the nightly build of nimrod and I need Babel to easily build Aporia
02:42:24reactormonkat least nimrod got better error messages than LaTeX. Well, it's not much, but there's that.
02:43:40filwitKelet: Babel should build with devel, so you should report the bug
02:44:52fowlKelet, what nightly build?
02:45:52filwitKelet: in the meantime, use an alternative text-editor. There's a list on the website and I recently posted a stylesheet for Kate here (https://gist.github.com/PhilipWitte/9379498) if you're using Linux. It's also easy to setup a custom language in Notepad++ if you're on Windows.
02:46:23Demosyeah varargs[typedesc] does not work, maybe if all the types are the same but not if they are different
02:47:11filwitDemos: varargs[expr] should work though (unless it's buggy) and then you can throw compiler errors if they're not typedesc
02:47:42filwitDemos: varargs[typedesc] sounds like it *should* work, but I'm just guessing
02:49:31KeletAnyone know of a serialization library for Nimrod like protobuf, msgpack, etc. and if not is anyone interested in creating one? (Efficient binary serialization, not JSON)
02:49:50Demoshm what I want to do is not totally compile time though. So I can not just use varargs expr. I must think about my problem more
02:50:39filwitDemos: i was under the impression varargs[] was a compile-time construct
02:50:50filwitlike tuples
02:51:29KeletDo most people use stable nimrod or is it like Rust where 90% of people are using nightlies or master?
02:51:29DemosI thought it converted stuff into an array, you can do varargs[expr] at compile time because those are all just AST nodes
02:52:34filwitKalet: I would say most of us here use 'devel' (if that's what you're calling nightlies, which is probably is). But there's probably unspoken people out there that are sticking to master/0.9.2 as well
02:53:24fowli am using master
02:54:10filwitKalet: devel's VM is completely different from master/0.9.2's VM, so sometimes the compile-time stuff is buggy, though it seems many of the VM problems that existed a few weeks ago have been fixed and the new VM is not that unstable.
02:54:45flaviufilwit: Are the changes documented anywere but the commit log?
02:55:30filwitflaviu: it hasn't really changed in functionality. It's just much faster, and fixes some of the bugs with the old VM (so i'm told)
03:12:10*carum quit (Remote host closed the connection)
03:12:46Demosdoes the standard lib have a find proc that takes a comparison function?
03:17:04*DAddYE joined #nimrod
03:42:14renesacKelet, the 0.9.4 release should happen soon™
03:42:52renesacbut yeah, the latest stable release is not really supported anymore... you should be on master or devel
03:43:44renesacwe hope that this don't repeats in the next development cycle...
03:43:54renesacbut nimrod isn't 1.0 yet
03:45:05renesac@all: how I'm supposed to use outputStream() from osproc?
03:45:58renesacI cannot see a way to get a PProcess w/o starting it at the same time
04:17:37*flaviu quit (Remote host closed the connection)
04:22:22filwitbbl
04:22:24*filwit quit (Quit: Leaving)
04:25:03*xenagi quit (Quit: Leaving)
04:30:49*r0b4 quit (Ping timeout: 240 seconds)
04:38:07*Varriount joined #nimrod
04:42:55*nande quit (Read error: Connection reset by peer)
05:04:14*brson joined #nimrod
05:57:41*DAddYE quit (Remote host closed the connection)
05:58:14*DAddYE joined #nimrod
06:03:11*DAddYE quit (Ping timeout: 264 seconds)
06:10:28*DAddYE joined #nimrod
06:27:51*Demos_ joined #nimrod
06:40:49*ddl_smurf joined #nimrod
06:41:52*r0b4 joined #nimrod
06:44:41*domain joined #nimrod
06:46:53domaincan opencl and cuda code be embedded into nimrod?
06:48:19Demos_well you can use emit
06:49:01Demos_araq has been pondering an {.gpu.} proc that would compile a nimrod function into openCL code
06:55:14domainthanks Demos_ I think Nimrod is the best overall programming language. Though I do like the way pascal shows pointers with the ^pointervar pointervar^ rather than the *pointervar c way. Not sure if that is in nimrod because I just discovered it yesterady.
06:55:53Demos_yeah pointeres in nimrod are ptr Type or ref Type (for traced refs)
06:56:16Demos_addr x does what it says on the tin
07:01:42*carum joined #nimrod
07:05:55*xtagon quit (Quit: Leaving)
07:18:47*skyfex quit (Quit: Computer has gone to sleep.)
07:32:45Skrylardom96: i've rounded up references for making the (potentially GL) GUI
07:33:42SkrylarOn the fence about whether to use CEGUI style "unified coordinates" or the delphi/osx style size anchors
07:49:52*Demos quit (Read error: Connection reset by peer)
07:53:29*cark quit (Ping timeout: 240 seconds)
07:54:52*carum quit (Read error: Connection reset by peer)
07:55:10*carum joined #nimrod
07:57:56*cark joined #nimrod
08:01:59*cark quit (Ping timeout: 240 seconds)
08:03:01AraqSkrylar: I vote for anchors, I love them :-)
08:05:38Demos_hey Araq: how is proc foo(t: varargs[typedesc]) supposed to work? is there any way to define a variadic generic?
08:06:02Demos_right now that gives you a bunch of typedesc[none]s
08:06:35Demos_and proc foo(t: static[varargs[typedesc]]) gives you a type mismatch when called with more than one arg
08:06:39*cark joined #nimrod
08:13:29SkrylarAraq: I'm about 50/50. Having used the unified coordinates system, they're almost interchangeable.
08:15:34Skrylari'll have to look over my notes again to see how anchors work; i know with the 'unified' setup if you want a flex layout where this object is 25% of the left side, you can easily do that by just sayinsg (0.25, 0) as a width, which means "(parent.width * 0.25) + 0"
08:15:53*DAddYE quit (Remote host closed the connection)
08:16:05domainis there any reason why there is an = sign after a proc? proc tempfunction() = why not just proc tempfunction() ?
08:16:19*DAddYE joined #nimrod
08:16:30SkrylarAraq: doesn't an anchor system have to do basically the same math but recalculating the relative points for each widget when it does the layout?
08:21:06*DAddYE quit (Ping timeout: 265 seconds)
08:29:18Skrylarinteresting. methods added by template (like in the manual's example) don't get picked up by the doc command
08:30:14*DAddYE joined #nimrod
08:34:32Skrylaralright i have an interface for hash algorithms now; not quite the same as the 'hashes' module
08:34:42Skrylartomorrow i'll port over siphash
08:34:58*Demos_ quit (Ping timeout: 252 seconds)
08:35:22*filwit joined #nimrod
08:36:00Skrylarmain difference is 'hashes' appears to use ints specifically, while some of these hashers use other types; so i used some generics so the same interface does CRC-32 as does siphash as would SHA etc
08:36:06Skrylarnow i must nap
08:43:40Araqhi domain welcome
08:44:05Araqafter the '=' the body follows, if there is no '=' it's a forward declaration
08:45:09domainAraq, thanks. I thought there was a reason!
08:45:53Araqbut yes, even I sometimes forget the '='. We could make it optional...
08:58:59domainI think it's useful when there are lots of variables in a proc and they go onto the second line and the = sign makes it easy to spot that it's still part of a proc definition, and the whole proc defintion is one line, but I think generally in normal proc definitions with a newline it might not be needed? Making it optional in that case would be good if possible, because ending a line with an = sign just distracts my eyes a bit because
08:58:59domain it seems as if it's incomplete some how :) Maybe it takes some time getting used to I guess. But I guess that's also a unique programming style in Nimrod?
09:06:34*brson quit (Quit: leaving)
09:14:51Skrylardomain: it certainly has its own style
09:15:05Skrylarkind of a pascal-ish python
09:19:25*skyfex joined #nimrod
09:23:56*skyfex quit (Ping timeout: 265 seconds)
09:24:13domainone thing python made easy is typind def for function definition those chars are right next to each other on the keyboard.
09:24:42Araqha, I never thought about this
09:25:09AraqI thought "wtf *def*ine function and define *class* "
09:25:21Araq"makes no sense"
09:25:54Araqbut ofc it doesn't matter after a minute
09:28:27domainwhat basic made easy is writing a one line comment with '
09:28:39domainno shift key involved there
09:29:59Araqon my keyboard ' requires a shift ...
09:30:06Araqbut # does not
09:30:57domainI guess that's another issue depends where the keyboard is made and now that makes sense to me why python uses #
09:33:02filwiti think making '=' optional for procs is a step in the right direction, but ultimately it only solve a portion of the problems brought up in the rather lengthy discussion last night about syntax.
09:35:20*carum quit (Remote host closed the connection)
09:38:01*carum joined #nimrod
09:43:16*carum quit ()
09:53:17*carum joined #nimrod
09:53:25*DAddYE quit (Remote host closed the connection)
09:53:52*DAddYE joined #nimrod
09:58:44*DAddYE quit (Ping timeout: 265 seconds)
10:08:59*faassen joined #nimrod
10:24:24*DAddYE joined #nimrod
10:28:51*DAddYE quit (Ping timeout: 252 seconds)
10:42:15*brihat left #nimrod (#nimrod)
10:58:42*carum quit (Remote host closed the connection)
11:20:15*skyfex joined #nimrod
11:24:18*skyfex quit (Ping timeout: 240 seconds)
11:25:11*DAddYE joined #nimrod
11:30:05*DAddYE quit (Ping timeout: 265 seconds)
11:30:26*DAddYE joined #nimrod
11:30:42domainjust an idea maybe typing res = var1 instead or result = var1 or ret var1 and return var1, because ret and res you can do very easily without looking at the keyboard very quickly since they are in close range. like def.
11:33:28*io2 joined #nimrod
11:34:55*DAddYE quit (Ping timeout: 265 seconds)
12:12:59*BitPuffin joined #nimrod
12:31:11*DAddYE joined #nimrod
12:35:29*DAddYE quit (Ping timeout: 240 seconds)
12:39:42*filwit quit (Remote host closed the connection)
13:00:38*darkf quit (Quit: Leaving)
13:18:33domainI'm thinking something like this
13:18:34domaindef median(x): int
13:18:36domain If x == 0:
13:18:36domain res 10
13:18:36domain elif x == 22:
13:18:36domain res calculating(x)
13:18:55domainshort and simple is good I think in all things programming but still cleare enough to understand it
13:21:08*skyfex joined #nimrod
13:23:02domainhonestly if you want to make nimrod more popular I think it's important to make it the compiled python type because pascal isn't so popular :)
13:23:15domainbut that's only what I think
13:25:15EXetoCI don't know if that's a good example, since you can do this: "def median(x): int = if x == 0: 10 elif x == 22: calculating(x) else: 0"
13:25:26*Mordecai joined #nimrod
13:25:29*skyfex quit (Ping timeout: 240 seconds)
13:25:38EXetoCif res is indeed the implicit return variable, in which case omitting the = seems overkill
13:25:46*Mordecai is now known as Guest60770
13:26:16domainit doesn't look good with the -
13:26:33domain=
13:26:35*psquid quit (Ping timeout: 264 seconds)
13:26:38domainit's a simple example
13:27:12domaindef median(x): int
13:27:13domain If x == 0:
13:27:13domain res = 10
13:27:13domain elif x == 22:
13:27:13domain res = calculating(x)
13:27:16domaintoo much = 's now
13:28:10Araqso use 'return' instead
13:28:27EXetoCyou already have the statement-as-expression shortcut that I showed you
13:28:46Araqconflates control flow with setting the return value, but who cares when "popularity" is all that matters
13:29:06domainthe more popular the more code
13:29:16domainthat's why python is easy to use everyone has done things with it
13:29:23domainlots of libs
13:29:25domaineasy to read
13:29:30domainthat's why it's a winner
13:30:21NimBotAraq/Nimrod devel 9ba7ea0 EXetoC [+0 ±1 -0]: Add type-specific allocation procs.
13:30:21NimBotAraq/Nimrod devel 243babc EXetoC [+0 ±1 -0]: Add missing cast.
13:30:21NimBotAraq/Nimrod devel 2369c42 EXetoC [+1 ±0 -0]: Add allocation unit tests.
13:30:21NimBotAraq/Nimrod devel ffdf96a EXetoC [+31 ±130 -4]: Merge branch 'devel' into alloc-overloads
13:30:21NimBot1 more commits.
13:30:29domainmore coders = faster progress
13:31:00EXetoCwell, I'll do my best to avoid languages like PHP and Java, no matter how popular they might be
13:31:57domainI don't like {} languages and ((()))) languages
13:31:57domain:)
13:31:58*DAddYE joined #nimrod
13:32:10Araqdomain: self.self.self.self :P
13:32:19EXetoCsee, it's not only about popularity :p
13:32:42Araqit's always easy to criticize a language's syntax
13:34:04Araqbbl
13:34:12EXetoCAraq: great. ok so what about that XML patch? do XML and HTML parsers deal with that differently?
13:34:48EXetoCI mean with regards to escaping vs not escaping at all in values (x="stuff")
13:34:51EXetoCalright
13:36:44*DAddYE quit (Ping timeout: 265 seconds)
14:04:46BitPuffin((())) languages <3
14:05:05BitPuffinin nimrod we have () AND {}
14:05:09BitPuffin:D
14:07:34*Endy joined #nimrod
14:08:20domaina bit is ok but I'd hate to program in lisp all day long.
14:09:20renesacwe found someone to argue with filwit \o/
14:09:59renesacdomain, he thinks that nimrod needs to be more like C/C#/Java to gain popularity
14:10:21domainnope just one change proc to def :)
14:10:37domaindef, ret, res are all in the exact same region on the keyboard
14:10:43domaineasy to access without looking at all.
14:10:53renesacif you use qwerty
14:10:58domainit's just speed and you don't want to loose ideas by being distracted.
14:11:04domainlose
14:11:07renesac;)
14:13:03renesacbut yeah, when I first encountered nimrod I also wondered "why proc?" (there is a FAQ entry about that), and I would prefer 'res' instead of 'result' for the implicit result variable
14:13:10renesacbut in the end, those are really minor things
14:14:31domainsure but minor things add up. You have to type those often. You don't want to be typing twice the necessary amount of chars if you can avoid it. :)
14:15:33domaini think the most commonly used programming keywords should be shortest.
14:15:52renesacrust started out with 'ret' instead of 'return'
14:16:07renesaclet's see if I find why they changed it
14:17:20*r0b4 quit (Ping timeout: 265 seconds)
14:19:16renesachttps://github.com/mozilla/rust/issues/3063
14:19:25renesacno better explanation in the changelogs either
14:22:42domainprobably keep return but just change res because return is in c and python and people are brain washed by it
14:22:45domain:)
14:25:16domainalso when people want to port python code to compiled nimrod hint hint!! they'll prefer the return then
14:25:17domain:P
14:28:27renesacyeah
14:29:57renesacone thing is that 'result' usually has no syntax highlighting, and it being longer helps in that regard
14:32:24domaini prefer result 10 to result = 10 though. i think the = is not important
14:32:36EXetoCsurely that's an implementation issue
14:32:48*DAddYE joined #nimrod
14:32:48BitPuffinret? res?
14:32:52BitPuffinoh
14:32:54BitPuffinreturn and result
14:33:02EXetoCvar x = 3; x 5
14:33:06BitPuffindomain: you are ignoring dvorak
14:33:10renesacdomain, result is a normal variable
14:33:16EXetoCit's too ambiguous
14:33:25renesacahem, almost normal
14:33:32EXetoCand why result of all things? it's just an implicitly declared variable
14:33:58renesacyou want assigment to work normally
14:34:10renesacresult += 1
14:34:13renesacetc
14:34:14domainthen = has to stay if it is a variable.
14:34:20BitPuffindomain: it wouldn't mean the same thing
14:34:30BitPuffinresult = 3 != return 3
14:34:35renesacdomain, yes, that is the difference between it and return
14:34:39BitPuffinreturn exits out of the procedure
14:34:44BitPuffinwheras result keeps going
14:34:49BitPuffinwhereas
14:35:44*r0b4 joined #nimrod
14:36:19BitPuffinis r0b4 new?
14:37:03BitPuffinif so: welcome! :D
14:37:11renesacso, asking again, how I'm supposed to use outputStream() from osproc?
14:37:16renesacI cannot see a way to get a PProcess w/o starting it at the same time
14:37:23*DAddYE quit (Ping timeout: 264 seconds)
14:38:36BitPuffindom96?!?!?!?!?!
14:38:41BitPuffinEXetoC!!?!?!?!?
14:39:13EXetoCdomain: now read the sections about result and return and you should be able to understand what's going on
14:39:40renesacI think we need a better example in that section
14:40:09BitPuffindom96, EXetoC: why do none of you own cs:go
14:40:18renesacwhen I read it I didn't understand the point of having an implicitly return variable
14:40:33renesac'only to save one return keyword?"
14:40:42renesacbut in the end, it helps way more than that
14:42:59EXetoCBitPuffin: I don't have Windows
14:43:18BitPuffinEXetoC: ah right
14:43:22BitPuffindoesn't run on linUx yet
14:43:28BitPuffin:/
14:44:36BitPuffinit's being worked on though
14:44:36EXetoCrenesac: enter searchable database of snippets
14:44:46EXetoCyeah, but who knows how long it'll take
14:45:00renesacEXetoC, where?
14:45:15EXetoCrenesac: nowhere, yet
14:46:31BitPuffinEXetoC: well portal 2 runs on linux now
14:46:40BitPuffinat least
14:47:55EXetoCthe "official" source engine game does as well as other games using that engine, so yeah
14:48:17BitPuffinyeah but you know
14:48:33BitPuffinthey do custom low level stuff for each game
15:07:37bstrierenesac: rust changed `ret` to `return` because originally there was a policy of restricting keywords to five characters or fewer, but a lot of people in the community felt that that particular instance was a bridge too far
15:08:59renesacbecause other languages used 'return'?
15:09:12renesacor for other reasons too?
15:10:22bstrierenesac: despite the fact that rust has implicit returns, one way or the other it was going to have a return keyword if only to facilitate early returns (and for familiarity with C programmers who aren't accustomed to ruby-style implicit return values)
15:11:24bstriebut in early rust we got a lot of flak for what was perceived as excessively abbreviated keywords
15:11:46bstrieit was decided that `return` was sufficiently rare enough that it wasn't a big deal to violate the five-character keyword length guideline
15:12:47bstrieamusingly, complaints about excessively short keywords stopped after that change
15:13:11bstrieseems that nobody really cares to complain about the length of `fn` or `pub` or `priv` or `impl`
15:13:27EXetoCBitPuffin: dude, #nimrod-offtopic
15:14:15EXetoCbstrie: silly people :>
15:22:00*skyfex joined #nimrod
15:23:06*XAMPP joined #nimrod
15:23:08*XAMPP quit (Changing host)
15:23:08*XAMPP joined #nimrod
15:25:14bstrieEXetoC: well, while making changes to appease the silly people might violate your aesthetic principles, it saves you time and productivity in the long run by freeing you from dealing with spurious complaints :)
15:26:04bstriefor instance, I found a message on the python developer mailing list where guido admitted that if he were writing python today he'd have forgone whitespace in favor of braces, just because of how much of his time people have wasted by arguing about whitespace
15:26:30*skyfex quit (Ping timeout: 252 seconds)
15:26:59BitPuffinEXetoC: lol wtf
15:27:08BitPuffinwe don't seriously have that do we?
15:27:36EXetoCbstrie: right
15:27:39EXetoCBitPuffin: yeah why not?
15:29:11bstrieto use another example, think of how much net time would have been saved by the Go devs had they just bit the bullet and added in generics at the beginning
15:29:56bstriethe cost of implementation has surely been dwarfed by the inevitable raging generics flamewars that pop up in very nearly every single Go thread
15:31:03bstriewhich isn't to say that *every* feature that someone demands must be shoehorned into your language (hello, C++), but you do need to listen to the complaints of your audience
15:33:25*DAddYE joined #nimrod
15:36:21*Guest60770 quit (Quit: work)
15:38:03*DAddYE quit (Ping timeout: 265 seconds)
15:56:38*[1]Endy joined #nimrod
15:59:44*Endy quit (Ping timeout: 244 seconds)
15:59:45*[1]Endy is now known as Endy
16:19:01*filwit joined #nimrod
16:19:29filwitread logs, couldn't agree more with what bstrie said
16:20:29filwitreally though 'fn' is too short for a keyword of that magnitude! but that's different conversation ;P
16:22:56filwitit seems every time i've brought up "argument from popularity" i get response about successful "obscure language X" is and how bizarre it is. I'm surprised you haven't gotten the same, bstrie ;) but perhaps it's too early in the day. lol
16:24:50filwiteither way, Nimrod has a rather sane "proof it yourself first" approach to these things, by allowing others to build their own parsers, which does make a lot of sense in terms of grammar evolution
16:29:24filwitit's also interesting to read other's argue over 'return' as I was just arguing with my brother (diehard C# guy) about that very thing, and somewhat had to concede that because 'return' was required sometimes, it makes sense to require it all of the time for consistency and popularity.
16:31:33filwitsometimes I think those who understand the full-spectrum of language idioms forgot how far they've come, and what it was like to only understand a few of the rules, and how that can effect your own attraction to similar, consistent designs where the rules are learned once and applied everywhere.
16:31:56bstriefilwit: the reason that we originally chose to have both explicit and implicit returns in rust was because we wanted there to be contexts where a `return` keyword would signal a nonlocal return, but the implicit return would signal a local return
16:32:33bstriewe've since done away with that notion, but you can't deny that it makes lambdas a lot nicer: `|x| x+2` rather than requiring `|x| { return x+2; }`
16:33:20filwiti can actually. i would much prefer the more verbose (is typing that so difficult) approach with the less confusing rules ;)
16:34:01filwitbut then, i don't see much problem with implicit return in general, it really is one of the easier rules to learn
16:34:11*DAddYE joined #nimrod
16:34:46filwitit's just, these things can stack up, and if you let them you can't also wonder why "simpler language X" is getting all the new users.
16:36:04filwitbstrie: are you new to #nimrod? I find your voice very rational, and hope you stick around ;)
16:37:01dom96hello everyone
16:37:08filwithi dom96
16:37:12dom96domain: Welcome to #nimrod :)
16:38:51bstriefilwit: I'm a rust guy, I lurk in lots of programming language channels on freenode waiting for people to talk about rust :P
16:38:57*DAddYE quit (Ping timeout: 265 seconds)
16:40:20bstriebut if I can help other languages learn from our mistakes, all the better
16:40:23filwitdom96: sorry i haven't responded to your forum post yet. Araq did a good job of convincing me that the only way to consider a new grammar would be to implement one first, and then argue over the details. I hope you don't mind terribly if I leave you hanging for a bit, and eventually respond with working code we can pick through. I do appreciate your input.
16:44:02dom96filwit: No worries. I profoundly agree with Araq.
16:44:36filwitdom96: as do i actually, about the approach at least.
16:56:58renesacbstrie, you remembered me of one more thing, allowing brackets in nimrod would bring the endless discussions about brackets positioning here
16:57:11renesacAND of indentation styles
16:57:12renesachttp://en.wikipedia.org/wiki/Indent_style
16:58:57filwitrenesac: that has a very simply and easy solution. For example, if ':' starts a indent-sensitive block (vs {} which encapsulates indent insensitive block), then you always consider the whitespace of the line in which the ':' is found on.. eg..
16:59:01renesacand the 'from __future__ import braces' is the current python answer for inserting brackets in the langauge
16:59:02filwitproc foo:
16:59:04filwit bar
16:59:07filwitproc foo
16:59:08filwit:
16:59:09filwit bar
16:59:28renesacfilwit, ?
16:59:44filwitrenesac: er.. maybe i misunderstood your post
17:00:39bstriehey, I'm not arguing for braces in nimrod, I'm just saying that guido doesn't actually care one way or the other about significant whitespace :P
17:01:12renesacwell, actually he cares
17:01:20renesache was just exausted from the endless discussions
17:02:04renesacand I wonder who wrote 'from __future__ import braces'
17:02:31bstrienah, he doesn't care. he chose significant whitespace in the first place because python was based on the ABC language, and ABC had significant whitespace
17:03:41renesac*significant indentation
17:05:50*brihat joined #nimrod
17:10:44renesac"ABC: The Good Stuff" [...] "Indentation for grouping (Knuth, occam)"
17:11:06renesacit was one of the things he most liked about ABC
17:13:33*ddl_smurf quit (Quit: ddl_smurf)
17:22:50*skyfex joined #nimrod
17:27:32*skyfex quit (Ping timeout: 252 seconds)
17:28:44*domain quit (Ping timeout: 265 seconds)
17:33:54*carum joined #nimrod
17:37:13*BitPuffin quit (Ping timeout: 240 seconds)
17:41:50*skyfex joined #nimrod
17:44:56*brson joined #nimrod
17:51:44*shodan45 joined #nimrod
17:52:50*r0b4 quit (Ping timeout: 252 seconds)
17:54:20*DAddYE joined #nimrod
17:56:14*jbe joined #nimrod
17:56:23Araqbstrie: I like rust's abbrevs, I like abbrevs in general. english is simply too verbose with all its latin words
17:56:40jbeis it possible to have a seq in shared memory?
17:57:09Araqjbe: not really
17:57:53jbehmm ok then
17:58:19*q66 joined #nimrod
18:05:24OrionPKdistnct
18:07:04bstrieAraq: I would think that non-native speakers would actually be *against* abbreviations, since an abbreviation that might be trivial for a native speaker to decipher might be totally opaque to a non-native speaker
18:10:26Araqbbl
18:15:36*Matthias247 joined #nimrod
18:17:05shodan45so, anyone working on a "nimrod OS" yet? :)
18:17:27shodan45or even just a replacement for gnutls? ;)
18:31:00*Endy quit (Ping timeout: 241 seconds)
18:37:49*nande joined #nimrod
18:37:59*r0b4 joined #nimrod
18:42:35reactormonkVarriount, only the first letter is case-sensitive
18:43:30filwitshodan45: new benchmark for c2nim: convert Linux to Nimrod ;P
18:46:14shodan45filwit: o_O
18:49:09*carum quit (Remote host closed the connection)
18:50:59reactormonkfilwit, will probably crash on the first header file ;>
18:51:04reactormonkfilwit, I'd settle for the glibc
18:51:17reactormonkor dietlibc, if you are so inclined
18:53:25filwitbbl
18:55:06Araqreactormonk: did you pull the new alloc stuff?
18:57:09Araqbstrie: IMHO if you're against abbrevs you have no idea how natural language works
18:59:50reactormonkAraq, huh? nope.
19:00:07bstrieAraq: I can see merits to both sides, but I take issue with the idea that programming languages are analogous to natural languages :P
19:00:11reactormonkAraq, https://github.com/Araq/Nimrod/pull/977
19:01:34skyfexHmm, Nimrod works alright on the Raspberry PI :)
19:01:49skyfexCompilation time is loooong though..
19:01:49*carum joined #nimrod
19:02:07skyfexbut that's mostly the c compilation
19:02:09Araqbstrie: I used to think the same but recent research results show that brain activity during programming is not like brain activity dealing with maths
19:02:32bstrieAraq: I ESPECIALLY take issue with the idea that programming is analogous to math :)
19:02:33*carum quit (Read error: Connection reset by peer)
19:02:45Araqinstead the regions responsible for language are active
19:02:47*carum joined #nimrod
19:02:59reactormonkbstrie, to a certain degree, depending on your approach
19:03:33OrionPKskyfex try a cubox
19:03:39OrionPKcompilation time is much faster
19:03:50reactormonkI'd like to see if there's any differences between FP/stateful
19:03:51OrionPKI've got nimrod on a RBPI and a cubox
19:04:20skyfexOrionPK: Thanks for the tip, don't think I'll buy something new for this project though.. th RBPi is fine for my purpose
19:04:57skyfexBesides.. doesn't look like it has GPIO?
19:05:10AraqreallocType? seriously?
19:05:27Araqit doesn't realloc a *type* ...
19:05:41EXetoCI didn't merge :p
19:05:52AraqEXetoC: you should have deprecated 'realloc' instead
19:06:08Araqand introduce 'rawRealloc' or something
19:06:12skyfexOrionPK: eSata is nice though.. really wish RPi had SATA.. or a built in Flash chip.. I/O performance is what's really holding it back
19:06:21Araqand then we an remove it and add the proper realloc
19:06:28OrionPKyeah
19:06:36OrionPKcubox has bluetooth and wifi as well
19:06:50Matthias247skyfex: you could use a cubieboard. Or the more widespread beaglebone
19:06:59OrionPKskyfex basically i just need to give it power and it's on my network hosting websites :)
19:07:20Araqskyfex: are you up for another challenge?
19:07:34skyfexAraq: Hmmm, might have time this weekend, but no promises :P
19:07:37Araqlambda lifting has long standing and annoying issues
19:07:46renesacAraq, maybe you can answer:
19:07:47renesac[11:37:11] <renesac> so, asking again, how I'm supposed to use outputStream() from osproc?
19:07:47renesac[11:37:16] <renesac> I cannot see a way to get a PProcess w/o starting it at the same time
19:08:05reactormonkrenesac, I suppose it buffers
19:08:05Araqrenesac: call it after starting it?
19:08:08skyfexAraq: Can you point to some specific issues on Github?
19:08:20renesacAraq, but then I will miss the start of the output?
19:08:26reactormonkrenesac, nope.
19:08:44renesacstrange
19:08:54reactormonkrenesac, why. the OS buffers that for you until you call it IIRC
19:09:00reactormonkjust don't overdo it
19:09:05skyfexMatthias247: More good tips, but I'm kind of stuck with RPi now ;) Cubieboard looks like it could be good for future projects
19:09:48EXetoCAraq: deprecated realloc? so what name should be used then?
19:09:55renesacand is input automatically sanitized?
19:09:58Matthias247skyfex: I also wanted to get one for quite some time, because my RPI is so unreliable. But forget about ordering it all the time :)
19:10:05AraqrawRealloc for the 'pointer' version, EXetoC
19:10:16Araqactually no ...
19:10:57renesacon osproc startProcess for example?
19:10:59nequitansHi all! I noticed if I pass a global variable into a function and spawn threads off into that function, the values in the variable seem to be copied onto the threadsafe heap (but it is not if use the variable outside of the function). Is there a way around this?
19:11:05EXetoCrewrite realloc and you'll silently over-allocate
19:11:08nequitans*in that function
19:11:13Matthias247skyfex: but I think for good linux driver support TI and Freescale are currently the best
19:11:18EXetoCAraq: reallocObj or something?
19:11:20Araqyou can call the typesafe proc growMem or something
19:11:27EXetoCok
19:11:34Araqnah that's bad too
19:11:43renesacI preffer rawRealloc()
19:11:44AraqcopyMem uses pointers
19:11:58renesacwhy change completly the name if it does the same thing?
19:12:03dom96nequitans: Can you make the corrections Araq asked for on your article about Nimrod? It would be great if we could reddit it.
19:12:32nequitansHi dom96, I Araq had some suggestions? I must have missed them on the IRC logs
19:12:57EXetoCrenesac: almost the same thing
19:13:56EXetoCand the implicit ptr -> pointer conversion will result in a sneaky over-allocation for some people, although I don't think it's the end of the world
19:13:58renesacthe non-raw only adds a cast
19:14:31nequitans(searching through logs)
19:14:32EXetoCrenesac: and then there's T.sizeof * size rather than just size
19:14:37dom96nequitans: "Araq | nequitans: you should mention that the multithreading you're using is low level and soon there will available be a much better one"
19:14:44renesachum, right
19:14:52dom96I think that's it. Araq, is there anything else?
19:15:08renesacanyway, I think it is confusing to put an non-related name
19:15:15Araqnequitans: remove the T/P prefixes in your examples, we'll only get flames for it
19:15:31Araqrenesac: very well, so it's rawRealloc and realloc
19:15:57*nequitans quit (Remote host closed the connection)
19:17:09*BitPuffin joined #nimrod
19:17:18*nequitans joined #nimrod
19:17:30nequitansack : my IRC client just crashed. sorry
19:17:45Araqnequitans: you need to ensure you don't share Gc'ed memory via globals
19:17:50nequitansLast thing I saw was the T and P removal
19:18:16EXetoCAraq: that doesn't prevent any sneaky over-allocations, so why not just overload then? and maybe we can remove the implicit ptr/pointer relationship eventually
19:18:33EXetoCeither way, it's not a common operation, right?
19:18:47dom96nequitans: http://build.nimrod-lang.org/irclogs/
19:19:10AraqEXetoC: I can't follow sorry
19:20:30EXetoCAraq: sneaky as in existing instances of alloc(ptr) invocations might or might not over-allocate
19:21:12EXetoCI'm focusing too much on overloading. it's not terribly important
19:21:49Araqrenaming low level stuff is dangerous though. maybe use create/grow/free instead?
19:24:07nequitansAraq, I see. Basically what I have is a large ensemble of seqs that I want to read from in parallel, since heaps are GCed, i suspect that is my problem. Is the best way around this to not use seqs but to use my own 'non-gced' seq?
19:25:03reactormonknequitans, maybe allocate your own space?
19:25:17Araqthat's the obvious solution but usually you can do it completely differently, nequitans
19:25:49reactormonkAraq, couldn't you just GC_unref stuff?
19:26:12Araqreactormonk: that's racy
19:26:21reactormonkmuh
19:26:28reactormonkeven in the same proc?
19:26:41Araqno
19:27:18reactormonkis there a shared pragma for stuff that's accessed by multiple threads?
19:27:28reactormonk... also, non-var.
19:27:35Araqthere is a 'shared' keyword for that
19:27:48reactormonkwill the GC respect that?
19:27:55Araqbut currently it does not do anything
19:28:01reactormonk:-/
19:28:37Araqhey, 0.9.6 will get good threading support, the design exists
19:29:04renesaccreate/grow/free for the new 'non-raw' allocs?
19:29:12Araqrenesac: yes
19:29:38reactormonkAraq, wanna announce the removal of the c-source in the forum?
19:29:39renesacinstead of grow, maybe resize...
19:29:44renesacas you are not aways growing
19:29:55renesacunless if it will not shrink by default
19:29:59nequitansRe: doing it differently are you suggesting maybe not using a shared memory approach somehow?
19:29:59EXetoCI thought only realloc was the issue
19:31:00Araqnequitans: yes. for instance usually each thread can gets its own data set directly from some IO operation
19:31:01EXetoCdisregard that. I'll deal with this in a couple of hours
19:35:16nequitansAraq, ic. e.g. mmap?
19:36:01*olahol joined #nimrod
19:36:55Araqnequitans: for instance
19:37:10*Demos joined #nimrod
19:37:27nequitansRe: the blog post. Thanks for the suggestions (to everyone). I'll make them and add Araq's removal of P-T suggestion and the comment about the threading
19:37:46Araqnequitans: oh one more thing
19:37:49Araqinstead of
19:38:04Araqproc foo[T](m: Matrix[T]) you can do
19:38:17Araqproc foo(m: Matrix)
19:38:28Araqthat's an implicit generic then
19:38:55nequitansAraq, interesting
19:39:04nequitansI can mention that in the post
19:39:16Araqnah, make use of it
19:39:18EXetoCAraq: so alloc(x) and alloc(T, x) would be too confusing?
19:39:28Araqthe examples need to be as shiny as possible
19:40:12Araqotherwise you'll get comments like "waa waa waa, it uses * for export, I'll never use this language"
19:40:32*carum quit (Remote host closed the connection)
19:40:42*skyfex quit (Remote host closed the connection)
19:40:51*carum joined #nimrod
19:41:39nequitansYea, and I'm completely open to better examples: initially, the motivation for the post was why to use nimrod over other options. in particular i like the design decisions to reduce the complexity of keeping the lang in the head (which I think Nimrod excels at). i therefore didn't focus too much on examples :)
19:41:59DemosI like that we have both result= and return, useful in different situations.
19:42:30*skyfex joined #nimrod
19:42:33Demosanyway.... variadic generics
19:42:36nequitansAraq, yea, I notice that when it comes to languages, arguments often rely on random syntax gripes, and that would be good to avoid in the post
19:45:52skyfexUgh.. why are so many hardware developers so stingy with their source code and documentation? Now I have to reverse engineer the USB protocol of this RFID card reader :(
19:48:06filwitmarket advantage
19:48:12filwitprofit
19:48:13filwitmoney
19:48:17filwitroot of all evil
19:48:24filwit(jk.. mostly)
19:50:14*skyfex quit (Remote host closed the connection)
19:50:57Araqnequitans: I use multiple processes and a database for these things fwiw
19:51:03filwitnequitans: you're writing a blog article about nimrod? Did i miss the link or is it not done yet?
19:51:50*skyfex joined #nimrod
19:54:16AraqDemos: not sure why somebody needs varargs[typeDesc]
19:55:05Demosyou want a generic that uses an arbitrary number of types
19:55:29Araqperfect forwarding?
19:56:17*skyfex quit (Remote host closed the connection)
19:56:17Demosvarargs[typedesc] is problematic since you don't really want to be looping through them, in fact you can not loop through. And no not quite. My use case is searching through several global containers each associated with a type
19:56:39DemosI may be able to do it with a template though
19:56:58Araqjust pass a tuple instead?
19:57:14Demosa tuple of typedescs?
19:57:15nequitansfilwit, here it is: http://geetduggal.wordpress.com/2014/03/03/consider-nimrod/. it's currently a 'living' document so i'm open to suggestions, and esp if i have some wrong statement/inaccuracy anywhere
19:57:57*skyfex joined #nimrod
19:58:26*Mat3 joined #nimrod
19:58:34Mat3hi all
19:58:42filwitnequitans: thanks. Love how the title read "Consider the Nimrod.... Programming Language" lol
19:58:53nequitansi also would rather use github gists to show nimrod code, so i have syntax highlighting, but i haven't figured out how to embed the <script> in wordpress.com
19:59:16filwitdunno, never used wordpress
19:59:23nequitanslol, i never saw that before
19:59:25Araqnequitans: use ipsum genera
19:59:54*makcode joined #nimrod
20:00:11filwitnequitans: also, not that i dislike it (cause i think it looks pretty good in white), but why change the logo colors?
20:01:32Araqhi makcode welcome
20:01:36filwitnequitans: and if you want a logo on white I can make you a better image.
20:02:11nequitansipsum genera looks so clean! filwit, no preference on the logo color, but if you have a high quality logo, do send and i'll replace
20:02:33Demoswowah module names are case sensitive on linux, that is annoying
20:02:58AraqDemos: not quite, they are normalized to all lower on linux
20:03:19Araqthough maybe that is buggy
20:03:23Demosso if I have all lower names on import my files can be names however?
20:03:25*makcode is now known as 92AAAEQGN
20:03:40Araqno the other way round
20:03:45filwitnequitans: just wondering why you choose to make it white as all. I've never seen anyone use the crown on white, but if it's needed/wanted i can render a clean version of it real quick.
20:03:48Demosoh
20:03:51Araqyou can import strUtils and it imports strutils.nim
20:03:56filwitis** all
20:04:50nequitansfilwit, i think i just got it from a google image search and it was of nimrod-lang.org
20:05:07filwitinteresting..
20:05:25Araqskyfex: https://github.com/Araq/Nimrod/issues/581 the tests are in closure/ and also in iter/ as first class iterators have closures too
20:05:55nequitans(so i'm def open to logo mods)
20:07:04NimBotAraq/Nimrod devel e47887a Michał Zieliński [+0 ±1 -0]: zmq: remove unnecessary 'var' decls from high-level procs
20:07:04NimBotAraq/Nimrod devel e8a2e1e Andreas Rumpf [+0 ±1 -0]: Merge pull request #975 from zielmicha/zmq-fix... 2 more lines
20:07:06filwitit's bazaar how someone's inverted copy of the logo is the first image on google search, lol
20:08:49*carum quit (Remote host closed the connection)
20:09:59*carum joined #nimrod
20:10:29reactormonkAraq, Got a few days of free time, which issue should I resolve, one of those? https://github.com/Araq/Nimrod/issues/assigned/reactormonk?state=open
20:10:41dom96I love how there is a pic of me and Araq when searching 'nimrod-lang' on google images
20:11:08reactormonkdom96, there's araq's github image
20:11:17EXetoCsuccess
20:11:28filwitthis looks promising: http://www.google.com/trends/explore#q=nimrod%20language
20:11:33Demosit would be a good idea to make some high quality logos avalible in different formats, I was searching for one when testing my libpng wrapper, I ended up just using some owl from the png site
20:12:48*carum quit (Remote host closed the connection)
20:12:49nequitansi think a t-shirt and mug with just the crown on it would be cool too
20:12:50reactormonkfilwit, but not enough interest for global search pattern :-/
20:13:03Araqreactormonk: well no. Let me see what you can do instead.
20:13:16Araqthere are much more pressing and interesting things to do
20:13:17reactormonkAraq, https://github.com/Araq/Nimrod/issues/347 ?
20:13:30reactormonkmight be a bit too big
20:13:44dom96http://www.google.com/trends/explore#q=nimrod%20language%2C%20rust%20language&cmpt=q
20:14:05reactormonkdom96, mozilla helps.
20:15:09Araqreactormonk: if you want to work on JS related stuff make it work with emscripten
20:15:27reactormonkemscripten?
20:15:43Araqor whatever it's called
20:16:07reactormonkAraq, so nimrod -> C -> LLVM -> JS?
20:18:42Araqyeah, seems to be better than our current way with nimrod -> JS
20:19:03reactormonkAraq, let's see, I'll compare some not-so-complex and some complex code
20:19:30reactormonkAraq, the advantage with nimrod -> JS is that you actually get some somewhat debuggable JS, while I doubt that for the long way
20:20:35Araqreactormonk: emscripten is hype compatible though. Script kiddies love it.
20:20:42filwitbbl
20:20:48Mat3oh no
20:20:59Matthias247asm.js is a thing nobody needs ;)
20:21:10Araqhaving a shitty debugging experience is part of any script kiddie technology
20:21:27Araqextra points for slow compile times
20:21:33Araqand random explosions
20:21:47reactormonkAraq, can you give me some pointers for how to add my own nimrod command? aka nimrod ems
20:21:48Demosyeah asm.js is pretty fucked. Actually having browsers just run LLVM code could be good
20:22:19Demossorta like how WP8 does the last stage of compilation as part of app installation
20:22:30Matthias247google is pushing pnacl instead. You could probably aslo use nimrod with that
20:24:46Demosit does not look like anyone but google is using pnacl though
20:25:03Matthias247yep
20:25:17Matthias247and noone but mozilla is pushing asm.js ;)
20:25:28Demosanyway I hate the internet and think that people should just write apps that run on real computers
20:25:47Demosso you should probably ignore much of what I think about the "web"
20:25:48reactormonkDemos, installing stuff is kind of a big barrier
20:26:06Demosseriously?
20:26:15reactormonkif you don't have a package manager
20:26:33Demosmake the apps self-contained
20:26:36Araqinstalling stuff on windows works much better than on linux, reactormonk
20:26:38Demosunzip and go
20:27:08DemosAraq: uninstalling stuff you mean
20:27:18Araqno installing.
20:27:38*92AAAEQGN quit (Ping timeout: 240 seconds)
20:27:38Araqgo to the website if it has a windows version, it's some nice installer that simply works
20:27:50Araqin like 99% of all cases
20:28:14Araqlinux? yeah right, install from source, find deps, recurse
20:28:27Araqor use an outdated version via your package manager
20:28:39Araqif it is in the repository, that is
20:28:43Mat3Araq: I think the U*ix flavour is prefering compilation from sources
20:28:54Demoscompilation from sources is dumb
20:29:03reactormonkAraq, aur ftw.
20:29:30Araqthe U*ix flavour doesn't work. There is a reason commercial software has a very hard time on Unix.
20:29:37Demosit is just asking for support issues when some idiot compiles with -fdont-even-bother
20:30:48Mat3Demos: If you think so. Anyhow it is a common Unix tradition (beside kernel patching)
20:31:07Araqit wouldn't be that bad if not for the fact that there are like 6 different package managers with different formats
20:31:41DemosAraq: well that is also the case on windows, there is like ClickOnce, InstallShield, MSI, WSIX, and so on
20:32:02AraqDemos: they are all self-contained though
20:32:08Mat3Araq: not to forget two incompatible build systems (I am sure to forget some)
20:33:00DemosActually I think that aside from some settings problems MacOS has the right idea for app installation
20:33:57Mat3hmm, do you mean the classic MacOS or Mac OS X ?
20:34:14AraqMat3: nobody even remembers classic MacOS
20:34:24Araq;-)
20:34:27OrionPKdom96 jester really needs more options / switches around logging..
20:34:36dom96OrionPK: indeed
20:34:37DemosOSX
20:35:05*Endy joined #nimrod
20:36:06Mat3Mac OS X share these idea with Risc OS by the way. Anyhow, it is an elegenat solution
20:36:11Mat3^elegant
20:36:34Araqsay I have python 2.7 installed on windows. I can install python 3 and deinstall 2.7 and the software using python keeps working as it included its own python version.
20:36:51Araqnow try the same on unix.
20:37:44reactormonkAraq, works fine here, python2.7 and python3.3.
20:38:03Araqreactormonk: what does 'python' point to?
20:38:21Demosstatic linking: DO YOU HAVE IT :D
20:38:57Demosit is kinda a problem how in windows and OSX everyone uses dynamic libs and then distributes them with their app
20:39:25AraqDemos: it's weird but understandable
20:40:09Demoseven on OSX? I mean on windows you have that whole problem with 4 versions of the standard lib
20:40:55Araqdunno I stopped using OSX years ago. have never been happier.
20:41:45Demosanyway this is how it is. The systems we use all suck.
20:41:56DemosSpeaking of which I wonder if nimrod compiles on Plan9
20:42:08Mat3of course not
20:42:10reactormonkAraq, python3
20:42:12reactormonkAraq, Nimrod/lib/nimbase.h:376:28: error: 'assert_numbits' declared as an array with a negative size
20:42:14reactormonktypedef int assert_numbits[sizeof(NI) == sizeof(void*) && NIM_INTBITS == sizeof(NI)*8 ? 1 : -1];
20:42:32Demosreactormonk: nimrod and your C compiler disagree on the size of a pointer
20:42:55Araqthis assert_numbits was a brilliant idea
20:43:02Araqsaved us so much trouble
20:43:15Araqthe error message could be better though lol
20:43:38renesacan even more brilliant idea would be to put an error message saying " nimrod and your C compiler disagree on the size of a pointer" instead of having people asking here on IRC
20:43:40renesacyeah
20:44:02Araqrenesac: so submit a patch to do that
20:44:20Araq(I don't think there is a way)
20:44:30renesacI have no idea where to start
20:44:35reactormonkAraq, that's what emscripten gives me
20:44:36renesachey, that was mean
20:44:37renesacXD
20:44:51OrionPKdom96 i'm going to add scgi support into irc familiar and release it, probably going to be a couple weeks before I have time though
20:45:05dom96OrionPK: cool
20:45:13renesacbut yeah, so we indeed need one more brilliant idea to put that error message there
20:45:17renesacXD
20:45:29Araqreactormonk: --cpu:i386
20:45:29OrionPKthen hopefully we can get some volunteers to enhance it
20:45:35OrionPKmaybe switch from typescript to nimrod ;)
20:45:53reactormonkclang: error: unsupported option '--cpu:i386'
20:46:41reactormonkrenesac, I think a comment on top of that statement what it is for would help
20:46:52reactormonkso if you look at the source, the problem is explained
20:47:08reactormonkAraq, oh, nimrod.
20:48:12reactormonkAraq, my hello world is 5k LoC :-/
20:48:49Demosreactormonk: I thought C hello world was 5kloc in general. If you include the size of headers
20:49:05reactormonkDemos, sounds reasonable
20:49:07reactormonkwarning: unresolved symbol: systemDatInit
20:49:42renesacreactormonk, good idea, I was thinking about using "assert(compiles(), error)"
20:50:06renesacnot sure if it would work
20:50:18Mat3ciao
20:50:21*Mat3 quit (Quit: Verlassend)
20:51:23reactormonkrenesac, just add a comment there for starters
20:51:33reactormonkrenesac, and compiles() only asks nimrod if it compiles, not the C behind it
20:51:57reactormonkAraq, sounds a bit more interesting, I'll take a look at emc
20:52:00renesac:/
20:52:01reactormonk*ems
20:52:09renesacyeah, a comment is a good start
20:52:25Demosso I want to write a template that generates a proc, but I want to immediately call that proc as well. Kinda like the javascript function foo(){}() thing
20:52:36renesacshould I do it?
20:52:46Demosreactormonk: if nimrod compiles something and the C code is invalid than it is a compiler bug
20:52:47renesacI need to update my compiler version anyway
20:52:49Araqreactormonk: editcompiler/main.nim to add a new command
20:53:33AraqDemos: not quite. if nimrod thinks int is 64 bits and GCC disagrees how should system.compiles know about that?
20:54:03reactormonkAraq, kk
20:54:06Araqsystem.compiles performs a semantic check in nimrod land
20:54:13reactormonkrenesac, sure
20:54:19Demostrue, but the C code is not invalid for some definition of invlaid
20:55:03Araqping fowl
21:03:20Demoswhy is the unittest module not in the docs
21:03:54Araqbecause we never added it and iirc it lacks documentation anyway
21:05:26Demosyeah it kinda does, but at least listing the procs would be good
21:05:52DemosI have almost rewritten it multiple times since I did not know about it
21:08:20Araqunittest unfortunately still misses an essentia feature
21:09:35Araqif a == b is expected and the test fails, it doesn't tell where a and b differ
21:10:00Araqthat would instantly make it much more useful than doAssert
21:10:41Araqbut it doesn't so IMHO all it does is to provide more ceremony
21:11:15Demoswell I am going to use it in case someone ever adds that feature
21:11:25reactormonkAraq, so you want an object diff?
21:11:43reactormonkAraq, sounds more interesting to me than ems
21:12:01Araqreactormonk: yeah, well diff for strings suffices
21:12:10reactormonkAraq, nah, gotta do it real
21:12:15Araqyou can $ on objects
21:12:43reactormonkhow do I get all the fields of an object on compile-time?
21:13:05AraqfieldPairs iterator
21:13:11Demosthe fields iterator, you also probably want to use `$` by default and fall back on repr()
21:13:35reactormonkcan I overload templates with procs now?
21:13:43Araqyes
21:13:57reactormonkcool, then I can define my own `$` instead of using repr
21:14:02*carum joined #nimrod
21:14:09Araquh oh
21:14:24Araqwell you can try
21:14:31reactormonkwe'll see
21:15:03reactormonkanything fancy to produce a tree?
21:15:55*flaviu joined #nimrod
21:15:56Araquse the builtin triple star operator ***
21:16:17Araqalso called the "read my mind operator"
21:16:33Demosdocs for that?
21:16:35Araqit does the right thing (TM)
21:16:56Demosoh wait
21:19:36Araqit uses a laplace transformation to produce a fibonacci tree as the left subtree, then produce the root and then creates a splay tree as the rigth subtree
21:20:12Araqand it uses O(1) temporary storage and O(log log log N) time
21:20:23Araqfancy enough? :P
21:21:59EXetoCalmost
21:24:06renesachttps://github.com/Araq/Nimrod/pull/978
21:24:10renesacsent pull request
21:24:54NimBotAraq/Nimrod devel 69e53f7 ReneSac [+0 ±1 -0]: Added comment explaining 'assert_numbits' error.
21:24:54NimBotAraq/Nimrod devel 53ebe76 Andreas Rumpf [+0 ±1 -0]: Merge pull request #978 from ReneSac/devel... 2 more lines
21:25:23Araqyou made a typo btw
21:25:36Araqbut a comment with a typo is better than no comment
21:26:13renesacouch, I should have used an editor with error highlighting
21:26:40NimBotAraq/Nimrod devel b3c1755 Zahary Karadjov [+0 ±6 -0]: iterators now return tyIter(T);... 6 more lines
21:26:40NimBotAraq/Nimrod devel 5d711ab Zahary Karadjov [+0 ±26 -0]: split the inline and closure iterators into different symbol kinds for easier discrimination between them
21:26:40NimBotAraq/Nimrod devel 68470ba Zahary Karadjov [+0 ±3 -0]: test cases for the new handling of iterators by the `is` operator
21:26:40NimBotAraq/Nimrod devel 528ccce Zahary Karadjov [+1 ±3 -0]: fix #587
21:26:40NimBot1 more commits.
21:28:13renesacagree vs agrees?
21:28:20*Endy quit (Ping timeout: 244 seconds)
21:28:23Araqyes
21:34:54renesac:/ I never know when to use one or another
21:43:45*carum quit (Remote host closed the connection)
21:43:49Demosif I have a string of len 4 called foo, foo.cstring[4] == '\0'?
21:44:06Demosactually that is obvious
21:44:17Demosand I can write to the string using that cstring?
21:44:24Araqyes
21:50:58*carum joined #nimrod
22:01:23*Demos quit (Ping timeout: 264 seconds)
22:03:33*skyfex quit (Quit: Computer has gone to sleep.)
22:04:06*skyfex joined #nimrod
22:08:18*skyfex quit (Ping timeout: 240 seconds)
22:18:04*DAddYE__ joined #nimrod
22:20:25*DAddYE quit (Ping timeout: 240 seconds)
22:24:17*DAddYE__ quit (Remote host closed the connection)
22:24:48filwiton Linux (rolling release), software is much easier to keep up-to-date than Windows. All my Windows software is behind my Linux version because Arch has made me lazy
22:24:53*DAddYE joined #nimrod
22:25:23filwitalso, I started on MacOS prior to the X ;) ahh... good old MacOS 8/9 sure had it's appeal
22:25:58renesacfilwit, only if your distribution packages are up to date
22:26:05filwityou had to set pre-defined ram-allocation amount in the exe's info box
22:26:45filwitI remember there being problems where Photoshop or some game would recommend going in and raising the predefined limit if you had more memory, lol
22:26:58renesacand on some projects that have large hiatus between official stable releases, that is usually not true
22:27:00filwitrenesac: note the 'Arch' ;)
22:27:13renesacwhat is the latest nimrod package on arch?
22:27:24filwitrenesac: these days though, Manjaro is just as up-to-date as Arch and very stable/easy-to-use
22:27:37filwitrenesac: 0.9.2 is in arch community
22:27:55renesacsee, old
22:27:56renesacxD
22:27:56filwitit's even in Manjaro
22:27:59filwitlol
22:28:08filwittechnically that's "stable" so not old
22:28:31renesacubuntu used to ship 3 year old libav
22:28:40renesacbecause they didn't do point releases
22:28:44flaviurenesac: master
22:28:53flaviuyaourt -S nimrod-git
22:28:59*DAddYE quit (Ping timeout: 240 seconds)
22:29:12renesacin windows, you had weekly ffdshow builds
22:29:17filwityeah, i don't see how anyone uses Debian or Ubuntu. Not only are they very outdated, they're also not rolling... that's a really silly system. Would rather use Windows where it's all on you.
22:29:30*jbe quit (Quit: Leaving)
22:29:47filwitwell, Debian Unstable does roll..
22:29:48*DAddYE joined #nimrod
22:29:55filwitto be fair. still, too old
22:30:05KeletAnyone know about something like protobuf or msgpack for Nimrod or know someone working on something like this?
22:30:09renesacI've aways used apt-based distros
22:30:21renesacand ubuntu is generally more supported than other distros
22:30:59renesacI've tried chakra linux once and didn't liked it...
22:31:05renesacbased on arch
22:31:17flaviurenesac: Widen your horizons. Arch has been awesome for me because I had to learn everything that goes into my system
22:31:50renesacI've also tried opensuse, came back to ubuntu again
22:32:01filwiti went to arch and never looked back. never felt the need to. Though Manjaro i've put on other systems cause it's got an installer
22:32:03filwitbrb
22:33:12flaviuHave you seen https://nixos.org/nixos/? It looks really awesome for placing on multiple systems.
22:33:22AraqKelet: adapt marshal.nim to use a binary protocol
22:33:45renesacflaviu, yes
22:34:13renesacI like 0install, as the upstream that should build packages
22:34:32renesacbut alas, linux people don't like it so it never really got traction..
22:34:51renesacthe author continues to push strong though, I respect him
22:35:21renesacrecently he migrated the code base from python to OCalm
22:35:40renesactoo bad he didn't chose nimrod
22:35:44flaviuIt looks like it might be gui-only
22:35:55renesacno
22:36:09renesacit has many command line aplications
22:36:11KeletAraq: I guess I'll take a stab at it this weekend
22:36:13renesacand 0launch
22:41:16*ddl_smurf joined #nimrod
22:42:42*ddl_smurf quit (Client Quit)
22:46:28VarriountHm. Does marshal.nim do function pointers?
22:52:37*Demos joined #nimrod
22:53:31*ddl_smurf joined #nimrod
22:58:47AraqVarriount: -------i dont know
23:01:37filwitnequitans: i'm going through your article slowly. Good job so far. Looks like you've spent some time on this.
23:04:29*DAddYE quit (Remote host closed the connection)
23:04:29filwitnequitans: one thing that might be nice to add to the conclusion or the article is, instead of "parallelFor(s, i, n): ..." you showed how to use {.immediate.} and overloads to end up with "parallelFor i in n: ..." & "parallelFor s, i in n: ..." so they feel right at home alongside the builtin 'for'
23:05:05filwitof** the article..
23:06:34*DAddYE joined #nimrod
23:06:51*meguli joined #nimrod
23:10:15filwitAraq: ever consider making a "Strictness Level" where, at it's peak, things like () and CaseStyle where enforced at call-site (when/how they appear at definition), and then having things like {.strictUse:[keyword,anycase].} for fine-tuning.
23:10:34Araqyes
23:10:38filwitAraq: not making a feature request or anything, just wondering if you've had a similar idea
23:10:45filwitokay, thought you might have
23:11:02filwitany additional opinions on it you care to share?
23:11:25AraqI tnd to e
23:11:36filwiter...
23:12:02AraqI tend to enumerate every possibility before picking what feature to do
23:12:22filwitthat's statistically impossible ;P
23:12:31filwitimprobable**
23:13:29filwitbut is this an eventual direction you see Nimrod going in? I ask cause you've done work on the -cs:partial stuff recently, which is similar
23:13:46filwitor do you have other goals/better-ideas?
23:14:48Araq--enforceStyle surely is on the table
23:14:49EXetoCAraq: so create, createShared, create0, resize and resizeShared?
23:15:44AraqEXetoC: almost good, create0 should be 'create' and the uninit create should be createDEADAFFE
23:17:07Araqor perhaps createU
23:17:08nequitanshi filwit, just reading your comments now
23:20:11*psquid joined #nimrod
23:20:33Araqhi meguli welcome (are you new?)
23:22:37*faassen quit (Remote host closed the connection)
23:23:03meguliYes I am.
23:28:37nequitansfilwit, interesting -- thanks for the suggestion. i haven't looked into using in, but i like the idea, so i'll try it out
23:29:26AraqparallelFor is '||'
23:29:59Araq(yes I know it's currently mapped to OpenMP)
23:32:26EXetoCAraq: that sure is short, but ok. changing now
23:33:11renesacAraq, or create(x, initialize=false)
23:34:33renesacthough you will be adding things to the compiler optimizer inline and constant-fold
23:35:24renesacbut I like optional arguments as an interface
23:36:08renesac(first programming languages sure influence your tastes)
23:36:13NimBotnimrod-code/Aporia master 5f8eb60 Dominik Picheta [+0 ±3 -0]: Line endings are now detected and kept consistent.
23:36:13NimBotnimrod-code/Aporia master 1ff250f Dominik Picheta [+0 ±3 -0]: Extra newline at EOF will now be added when saving files.
23:37:12renesac*ones taste
23:41:10*xenagi joined #nimrod
23:42:49*ddl_smurf quit (Quit: ddl_smurf)
23:51:19*io2 quit ()
23:52:35xenagihi guys
23:57:03Araqhi xenagi
23:58:08Araqgood night
23:59:47DemosI am pretty sure I am writing the slowest GL code to ever see the light of day