<<22-02-2013>>

00:00:32Araqhuh? the compiler already declares stuff at scope beginning
00:00:57Araqfor exactly this reason
00:02:24fowlyeah but if you are instantiating a class you might not want to do that
00:04:02Araqgive an example please
00:04:43fowlhttps://gist.github.com/fowlmouth/5009626
00:06:27Araqah I see
00:06:27fowlhere in poo() i dont want to instantiate TFoo until its needed
00:06:41Araqlooks trivial to fix :P
00:06:57Araqcreate a ticket please
00:07:04fowlok
00:07:15fowlalso there should be a mechanism for constructors
00:07:37fowli tried to use a template for it but it didnt work very well
00:08:29Araqput that into the same ticket :P
00:08:41Araqsome "C++ codegen improvements" ticket
00:09:03Araqand maybe 'let' should produce a 'const'?
00:12:22fowlim not sure if that will work all the time
00:12:34Araqme neither
00:12:49AraqI guess we need yap (yet another pragma)
00:13:42fowlalso should var types be &references?
00:15:04AraqI guess ...
00:15:26Araqthough that's even more dangerous
00:16:04gourAraq: do you know that even PHP has wx bindings...this is also interesting - http://wxphp.org/wxphp/blog/peg-a-php-extension-generator so maybe Nimrod needs c++2nim
00:18:36NimBotAraq/Nimrod ac056d9 Araq [+0 ±2 -0]: applies #322 without FReadDir effect
00:19:18Araqgour: why "even PHP"?
00:19:24Araqit's a widely used language
00:19:30Araqbut I have to sleep now
00:19:32Araqgood night
00:19:42gournight Araq
00:20:18gourwidely used yes, but not so common for writing gui apps
00:29:47*q66 quit (Remote host closed the connection)
00:37:30*gour quit (Quit: WeeChat 0.4.0)
07:20:21*gour joined #nimrod
08:37:29shevygour I think php struggles with itself
08:38:00shevyhttp://gtk.php.net/
08:38:23shevyin half a year, 3 years without a release
09:08:20*gour quit (Disconnected by services)
09:08:20*gour_ joined #nimrod
09:10:41*gour_ is now known as gour
09:10:58gourshevy: it may be, but wxphp seems to be in a good shape
09:14:32gourif nimrod is not targetting just gamers and/or web, then, as general/systems programming language (competting with C++) it would be good to have some choice of decent gui bindings
09:45:36*Araq_ joined #nimrod
09:48:59*Araq_ quit (Client Quit)
09:59:37*Trix[a]r_za is now known as Trixar_za
10:12:23*Anaphaxeton joined #nimrod
10:23:25*fowl quit (Remote host closed the connection)
11:55:36*Trixar_za is now known as Trix[a]r_za
12:09:30*FreeArtMan joined #nimrod
12:12:00*Trix[a]r_za is now known as Trixar_za
12:26:19*Trixar_za is now known as Trix[a]r_za
12:37:52*fowl joined #nimrod
12:50:36*Anaphaxeton quit (Ping timeout: 264 seconds)
13:52:49*q66 joined #nimrod
14:12:24*FreeArtMan quit (Quit: rm -rf /)
14:20:58*FreeArtMan joined #nimrod
14:24:35*FreeArtMan quit (Client Quit)
15:15:27*FreeArtMan joined #nimrod
15:47:30*fowl quit (Ping timeout: 276 seconds)
16:25:18*FreeArtMan quit (Quit: rm -rf /)
17:06:22*Anaphaxeton joined #nimrod
17:37:47*filwit joined #nimrod
17:52:18*filwit quit (Quit: Leaving)
19:08:24*silven quit (Read error: Operation timed out)
19:15:33*FreeArtMan joined #nimrod
19:16:39*silven joined #nimrod
19:39:42*shevy quit (Ping timeout: 244 seconds)
19:53:17*shevy joined #nimrod
20:04:19*gradha joined #nimrod
20:20:55gourAraq: ping
20:22:42Araqgour: pong
20:23:53gourAraq: i got reply from the guy working on wxPHP bindings - here it it http://pastebin.com/q9yes5e4
20:23:57gourwhat do you think about it?
20:25:42Araqin my not-so-humble opinion: it's worthless to even try it
20:26:04Araqrun c2nim over wxC from the haskell guys
20:26:17Araqif you want a wxWidgets wrapper
20:27:36gourhmm...i've found out that the guy who worked for some time on wxD said that wxC is not complete and very hard to use for wxD...could it be easier for nimrod?
20:28:00gourwhat problem do you see with this peg?
20:28:54gourtoo simplistic?
20:30:52Araqit seems to parse the doxygen instead of C++
20:31:32gouryes, Phoenix project (wxpython) does the same
20:31:59gourit should provide bettet/simpler way for creating bindings...maybe something like gtk's gir
20:32:30gourand Robin (wxpython) is experienced with python bindings & wx abandoning swig
20:33:11Araqpython or php bindings have much different needs
20:33:18Araqas they are dynamically typed
20:33:38Araqyou can't simply edit some template so that Nimrod code is produced instead
20:34:16Araqc2nim's parser is 1700 lines
20:34:21Araqand that only parses C
20:34:39AraqI can't see anything close to a C parser in "peg"
20:36:03gourso, the 'proper' solution for binding C++ for nimrod is to have adequate parser, right?
20:36:25Araqright but since wxC exists ...
20:36:34Araquse c2nim and call it a day please
20:36:44Araqit's 1-2 evenings of work
20:37:08Araqnothing else comes eve close
20:37:13Araq*even
20:37:43gouri checked wxC but it seems it carried old code used by Eiffel generator...
20:37:52gradhai like that unit: evening of work
20:38:03gourhow does (qt)Ada make it? by hand?
20:39:23Araqgradha: somehow I'm only productive at night ;-)
20:40:05Araqgour: yeah maybe but so what
20:41:40gourAraq: well, Eiffle's binsings are not maintained any longer, iirc
20:43:15AraqI have a wrapper of wxwidgets btw
20:43:24Araq(just remembered :P )
20:43:57gradhagour: why not improve c2nim to support c++? you'd be awesome then, remembered through all future generations
20:44:01gouri'm discussing about this in #wxwidgets..ohh. why hiding it?
20:44:44Araqmy wrapper is from 2007
20:44:52Araqbased on wxD from 2005
20:45:08Araqwhich is based on wx.NET 2004
20:45:21Araqin other words: outdated junk ;-)
20:45:31gradhayou are not selling it really well Araq
20:45:54Araqgradha: it was before c2nim existed
20:48:44Araqgour: if you create a wxNim binding, it's your job to maintain it anyway
20:49:15gourhere is short snippet from the discussion
20:49:33gourgradha: my C++ skills are very rusty
20:50:37gourAraq: well, i hope that there will be other people using it...otoh, if this binding-generator things can be automated a b bit, then it's much easier to maintain it...that's the whole point
20:50:59gourthe same goes for JS back-end ;)
20:51:54Araqgour: it's only feasible if you can get the wxwidgets guys to produce clean parsable headers
20:52:26Araqwhich they won't do because otherwise they would provide&maintain a C binding :P
20:54:32gourAraq: i believe that switch to doxygen XML is the step in right direction...of course, there are bugs in those header, but let's hope they wil lbe sorted out
20:54:56*Araq wonders if he ever encountered a header file that was friendly to automatic binding generation
20:55:10gourAraq: otoh, Vadim (the main guy wx) told me he suggests wxC as common base, but he simply has no interest/time to maintain it
20:55:21Araqsee?
20:56:43Araqusing the doxygen xml as a starting point seems weird
20:57:47Araqit's for documentation, I don't think it includes enough of the nasty details
20:58:01Araqthat are required for bindings
20:58:52gradhain a way it does, if people document properly every single symbol, which never happens in real life anyway
21:00:41Araqthanks for answering the guy on the forum btw
21:00:57Araqeven though his spelling doesn't deserve any answer ;-)
21:01:16gradhaand he's talking about dead platforms, like symbian
21:01:25gourhere is Vadim's reply: http://article.gmane.org/gmane.comp.lib.wxwidgets.general/75152
21:02:37gradhagour: it seems you are a human language binding yourself, you end up in ada, wx, qt, d, c++, etc forums linking everywhere else
21:03:21gradhawhere do you get the energy? I rarely have enough to stop watching youtube
21:03:52gourwell, that's the reason - no gaming and watching TV/youtube and other time-wasters :-)
21:04:22gourotoh, as someone said some days ago - the world is small ;)
21:07:15gradhanice, if you go to http://developer.symbian.org/ you get a "sorry, we moved" page redirecting to http://symbian.nokia.com which is dead
21:07:53shevyhmm anyone knows if aptana is still being worked upon?
21:07:56gradhagour: symbian needs your superpowers, I'm sure you can revive symbian development
21:08:13shevyno wait... the name was differently
21:08:20shevywhat was the name of the nimrod IDE again??
21:08:25gradhaaporia
21:08:30shevyah yeah thanks :-)
21:08:31Araqgour: I see 3 realistic options
21:08:41Araq1) make swig support Nimrod
21:08:43gradhashevy: pretty much dead, doesn't even compile!
21:08:48gradhahehe
21:08:49Araq2) make c2nim support c++
21:08:58Araq3) use c2nim on wxC
21:09:20Araqall 3 have some merit, (3) is the least amount of work *by far*
21:09:23dom96gradha: You better not anger it. It might be a butterfly, but it's a deadly one.
21:09:35dom96shevy: Of course it's still alive :P
21:09:36gradhadom96: yeah, I know of MOTHRA
21:10:40gradhaAraq: do you consider 1) viable with all that header tweaking?
21:10:59gourAraq: for longer-term, 2) sounds better
21:13:52Araq(1) may be easier if you don't enjoy writing C++ parsers
21:14:12Araqthis means I'll never do it :-)
21:18:56gour..and then people wonder why everyone goes to web/JS
21:19:46gour..or that C++ is still the king
21:20:48gradha..or what are we doing with our lives
21:21:02*gour nods
21:21:29dom96i'm enlightened.
21:21:33*dom96 switches to web/JS
21:21:56Araqgour: what's wrong with claro btw?
21:23:06gourAraq: i've never saw it in real action, don't know how big is in comparison with wx and it's dead which means lot of work to revive it and it would be developed by few people only
21:23:46Araqit's much smaller than wx
21:23:48*filwit joined #nimrod
21:23:56filwithi folks
21:24:01Araqyou can fix the bugs yourself
21:24:01*exhu joined #nimrod
21:24:05gradhahello filwit
21:24:22exhuhi guys, spotted you were talking about c++ wrappers
21:24:23Araqit's not lots of work because I tested it on windows and linux
21:24:43gradhagour: code doesn't need to be constantly evolving to mean its useful
21:24:45exhuswig supports XML output (parse tree) which can be parsed in nimrod to generate actual bindings
21:24:46Araqand it's as much work to maintain as a wxWidgets wrapper
21:24:50gourthe guy asking if phoenix is viable to produce haskell bindings and Robin's reply is: "erhaps. There are a some things in the tweaking stages that are Python and SIP specific, but the general framework would certainly be usable."
21:25:06gradhaexhu: you still have to massage C/C++ headers for swig, don't you?
21:25:10gourgradha: sure, but more devs/users helps
21:25:41Araqgour: I can't imagine to make wxWidgets part of the stdlib :P
21:25:47gradhagour: depends, consider how much more advanced would nimrod be if he didn't have to deal with us!
21:25:50AraqI can imagine it for claro though
21:26:00gradhas/he/Araq
21:26:08gourAraq: but i must say that having Claro for Nimrod sounds much better than to do multi-platform project having gtk only
21:27:03gourAraq: and having it ported to Nimrod, could become a dream-land
21:27:32gourbut i wonder how many people here are interested for GUI in nimrod at all
21:27:35exhugradha, i think yes, you just use swig and then generate xml, and parse that xml, it's much easier than writing c++ parser yourself, i suppose. However i didn't try it.
21:27:58exhuwxwidgets is huge, smaller than qt but still..
21:28:25Araqexhu: yeah, I know about the XML output, sounds like a nice solution too
21:28:43gourAraq: and being smaller than wx is also nice 'cause using higher-level language like nimrod means we do not need the whole wx..easier to learn, less bugs etc.
21:28:53gradhagour: why not use whatever GUI you want, in the language you prefer, and implement logic in nimrod? keeps stuff clean and separated, guarantees better software design
21:29:03Araqha
21:29:16Araqthat's debatable :P
21:29:19gourgradha: and type-safety goes to hell, right?
21:29:25exhui will need gui in some time, when i finish logic and CLI for my program.
21:29:59gourgradha: do you suggest wxpython/nimrod combo?
21:30:33gradhathe thing is, does type-safety give you that much for gui? I think most of the advantages of guis are their respective rad builders
21:30:38exhui would either use gtk or try to wrap claro or fltk.
21:30:43filwitthe Nimrod homepage says it supports GTK 2.0 bindings. No GTK 3.0? Or is that info just out-of-date?
21:30:57Araqif you're after a combo nothing beats lazarus+nimrod imo
21:30:59dom96filwit: the info is correct
21:31:11gourpeople in #wxwidgets (Robin & co) discuss about phoneix' capability to server other languages, but i do not understand much
21:31:15exhugtk3 is not stable for windows, afaik
21:31:15filwitdom96: okay.
21:31:21filwitdom96: thanks
21:31:42gourexhu: are there any binaries for gtk3/windows at all?
21:32:09dom96exhu: It even has issues on Linux (at least for me).
21:32:33gradhaAraq: do you know of http://gambas.sourceforge.net/en/main.html and how it compares to lazarus?
21:32:45gradhagambas also provides cross platform gui/builder
21:32:53gourthat's kind of basic?
21:33:07filwitdom96: that's cause you used Xfce, right? GTK3 works well on Unity/Gnome-Shell/etc
21:33:13exhuhttp://www.gtk.org/download/win32.php says it's only gtk 2.x is available for windows.
21:33:23dom96filwit: I use Cinnamon.
21:33:31filwitahhh... that's odd then..
21:33:45dom96filwit: As soon as gtk3.6 hit, all themes broke.
21:33:49dom96And they are still broken.
21:34:10filwitGlade now produces GTK3 .ui files (by default) I believe (but i'm not sure).
21:34:47gourfilwit: correct. glade-3.12
21:34:56gour3.8 is 2.x
21:35:35filwitI think basically the GTK folks are focused much more on Linux, since barely any software is written for Windows/Mac that uses GTK (there's some big ones like Gimp/MyPaint but that's it)
21:35:49gradhagour: nah, discard it, I believed it to be crossplatform but looks like it has windows/mac issues
21:35:58filwitthere was some research i remember reading about awhile ago where they said basically no one is interested
21:36:55exhufltk supports mac and win and optional cairo integration.
21:36:55gourfilwit: for what?
21:37:16filwitit's too bad... it looks like the only good cross-platform GUI of the future is going to be HTML...
21:37:28filwitgour: for GTK outside of Linux
21:37:40gourfilwit: ahh, ok.
21:37:51gradhayeah, windows user use Visual Studio and whatever it has, macs use Xcode and what it provides, only linux users have to figure out their gui
21:38:36filwitgradha: well Linux has GTK/Qt which work better on Linux than other platforms
21:38:51filwitgradha: so only two options really
21:39:05exhulinux users have GTK3, it's a feature-rich modern toolkit, but if you want to go cross-platform, then use abominations like Qt and wxwidgets
21:39:44filwitI always liked GTK, and Glade is easy enough to use
21:39:52gourthere are some gtk apps used on mac like ardour
21:40:00filwitmaybe Qt is good, but KDE always looks so ugly i never want to try it
21:40:14exhuqt is especially displeasing, they invented their own macro language on top of c++ and preprocessor -)
21:40:27filwitthere are some big GTK cross-platform apps like Gimp and MyPaint
21:40:29filwitbut not many
21:40:39Araqwhat's the issue with gtk3? most of the API remained the same, right?
21:40:40gouri'm told that wx is keeping ref-counting internally which makes it easier than with gtk*
21:40:41filwitexhu: woah, what really?
21:40:42gour?
21:40:48filwitexhu: that's horrible...
21:41:39exhuwe have a qt project, it compiles forever and it looks terrible with those code generation tool called moc.
21:41:43filwitgour: not if you use Vala.. which is pretty much just a Gnome/GTK DSL that uses ref-counting
21:41:59gourexhu: recently i read that e.g. gnucash (gtk) devs considering to switch to C++ toolkit not being pleased wit hthe gtk's direction for the future, whatever it may be
21:42:28filwitAraq: i'm not sure of all the changes, but i know a lot has gone into the style system.
21:42:33exhui would stay away from qt, it's horrible
21:42:48filwitAraq: i believe they're pretty similar, as far as C interfaces though.
21:43:06filwitexhu: yeah, sounds like it. Thanks for the heads up
21:43:08gourfilwit: vala? another invention for what?
21:43:49gradhanot enough corners in your wheel?
21:43:54filwitgour: vala makes writing GTK apps really easy, cause it's based on GLib and is OOC. In theory, Nimrod and Vala should play very well with eachother
21:43:58exhugour, vala generates c code, because glib/gtk requires so much to type and so many typedef macros
21:44:02gourin any case, it looks that nimrod is deserving something better, called it Claro or whatever
21:44:56gourfilwit: Vala uses GIR?
21:44:59gradhaI like whatever
21:45:15filwitgour: yes, i believe so
21:45:28filwitgour: i'm not a GLib expert
21:45:38gournp
21:46:25exhuvala hides all that boilerplate needed to support OOP and introspection with C
21:46:38exhuthat gobject provides
21:47:19gouri'm not overly happy with Qt and main gtk devs are bringing influence from respective companies which makes wx the only real open-source proejct ( plus native look)
21:47:30gourbut reviving Claro would be similar ;)
21:48:26filwityes, exactly. Though, if you're using Glade + GTKBuilder, all you're really doing is connecting signals together.. so using it directly in Nimrod shouldn't be all that much different... i think
21:48:39exhuwxwidgets reminds me MFC -)
21:49:14filwitgour: there's always EFL :P
21:49:40filwitor HTML...
21:50:16Araqyeah the wxWidgets api is quite like mfc
21:51:29exhui would choose c++ FLTK if I had no better solution, although it meant to be lightweight and probably doesn't support right to left scripts etc, just only utf-8
21:51:44gourfilwit: EFL is eye-candy, but as multi-platform...hmmm
21:51:44exhuand no MVC model
21:52:22gourexhu: which version of fltk? 1.x, 2.x or 3.x?
21:52:58exhugour, fltk 1.3.x is stable branch
21:53:34exhugour, 2.0 is obsolete, and 3.0 is experimental
21:53:35gourexhu: just joking...otoh, it's again C++ toolkit
21:54:31gourfinally, i believe that set of available gui bindings is part of language's ecosystem or 'batteries included'
21:55:36exhui would probably look at swig xml when time to implement gui bindings comes...
21:56:20gourexhu: do you know of any example of successful binding for C++ gui toolkit done via swig?
21:56:45exhuhave to go to bed, good night all.
21:56:54gournight
21:57:04exhugour, wxpython was, probably
21:57:27*exhu quit (Quit: Leaving)
21:57:40gouryeah, but lot of hand-written code and that's why Robin is doing it via phoenix now
22:01:09gourfltk does not support mac, it seems
22:01:26gradhanobody uses macs anyway, they are dead
22:01:52Araqgour: can't you just try out claro instead?
22:01:56gouri do not know anybody here, but i'm from croatia
22:02:12gourAraq: it does not build :-)
22:02:28Araqwhy not?
22:02:40gouri tried yesterday
22:03:43gourand is there any URL with some info about it or everything disappeared?
22:04:32Araqlooked yesterday
22:04:39Araqeverything disappeared
22:05:56gourthere is post from zed shaw in lua
22:06:02Araqsrc/block.c:199:11: error: variable ‘block’ set but not used [-Werror=unused-but-set-variable]
22:06:15Araqah so I never finished cleaning up all the warnings
22:06:18gour..list
22:06:27Araqor GCC produces new warnings now :-)
22:07:15dom96checked the web archive?
22:11:51Araqdom96: no ...
22:12:34gourwhat kind of license is this MPL?
22:13:16Araqyeah
22:15:49gourhow is localization/i18n/utf-8 support in claro?
22:16:17gourIUP sucks in this regard...even no keyboard support except portug. & eng.
22:17:17AraqI guess it inherits most of the native widget's support
22:17:36*gour remembers time when using hercules mono graphic card and getting š đ on the screen instead of [ { or vice versa
22:18:38gourhow is it that IUP is lacking in this regard also using other widgets?
22:18:52Araqgood point
22:18:53AraqI dunno
22:19:56gourmaybe due to motif support...speculation
22:21:38*gradha quit (Quit: bbl, have youtube videos to watch)
22:32:47Araqgour: I patched my build script
22:32:54Araqclaro compiles for me now on linux
22:33:33Araqfilwit: it EFL based on gtk or glib?
22:34:34gourAraq: it build here as well. thank you
22:34:50*FreeArtMan quit (Quit: rm -rf /)
22:37:43gourAraq: i'd say glib
22:40:21gourheh..they have bindings for C++
22:53:52*gour quit (Quit: WeeChat 0.4.0)
22:56:28filwitAraq: no, EFL is it's own GUI toolkit, used for the Elementary desktop
22:56:36filwitAraq: it's written in C
22:56:51Araqwow a toolkit written in C that I don't know about ;-)
22:57:05filwitAraq: I meant as apposed to C++ :P
22:57:25AraqI was serious
22:57:25filwitit's really fancy for how light-weight it is
22:57:49filwitAraq: oh, whoops. I misread your response
22:58:17filwiti thought you where saying "A GUI written in C? who would have figured" in a sarcastic way
22:58:31filwitmy bad :)
22:59:12filwiti never liked the Enlightenment DE (it's Enlightenment, not Elementary BTW)
22:59:25filwitcause it was always so... cluttered... kinda like KDE
22:59:41filwittoo many effects, they overdue the "eye candy"
23:00:01filwitthere is something to be said for minimalism in design, which they completely miss
23:00:10filwitbut EFL itself could be really good
23:00:33dom96i seriously doubt EFL works on anything other than Linux
23:00:44Araqoh
23:00:47filwityeah me too
23:00:56filwitit's most likely not cross-platform
23:01:19filwitbut linux is the hott thing these days
23:01:36filwitno one cares about Mac and.. what was it called? Frames? Windows?
23:01:41filwitthose things are dead
23:01:48filwit(**dreaming**)
23:03:31Araqha, I'm glad you dislike mac too :-)
23:03:51filwitmac is my least favorite
23:04:13filwitWindows has good dev tools, and Window7 bar was a good idea
23:04:19filwitbut Mac is horrible
23:04:24filwithorrible shortcuts
23:04:36filwithorrible menu-window separation
23:04:45filwithorrible performance and memory consumption
23:04:48filwithorrible prices
23:05:06filwiteven XCode sux
23:05:33filwit(granted, there are nice things about it..)
23:06:17filwithey, are computers cheaper or more expensive in Germany/UK?
23:07:06filwitAlex (the guy who runs WorldOfGnome.org) is from Greece and always says electronics are much more expensive there than in the states
23:07:22Araqthey are quite cheap cause they use them to pretend we have little inflation :P
23:07:37filwitLOL
23:08:17filwitthat's right, i think awhile ago you where telling me how Germany is pretty much buying up another country in the EU
23:08:45Araqnot just "another" country
23:08:52filwitItaly? (where unemployment is is like 40%)
23:08:54Araqall of the rest of EU
23:09:00filwitnice
23:09:18filwitNimrod - King language for King of Europe
23:09:28filwit:-P
23:10:48filwityou know, i was thinking about our conversation about abbreviation, that to you, almost all of code must be somewhat cryptic, since it's not German, but English. At least, more so than to someone like me, who only learned English growing up.
23:12:01Araqhm never thought about it this way
23:12:06filwitso 'len' vs 'length' isn't a big a difference to you as it is to me, on the simple fact that "length" is the only thing I've ever been taught
23:12:25filwitto it has more of an immediate appeal to me, cause it makes immediate sense
23:12:43filwityou obviously know English well... but then you also know German
23:13:03filwitso you're constantly doing double work of translating things
23:13:15filwitidk, just an interesting thought i had
23:13:53AraqI keep writing "lenght" so I thought it's a good idea to make it 'len' :P
23:14:11filwitwell 'len' is also what Python uses, right?
23:14:16Araqtrue
23:17:51dom96hrm. A little thought: add a mode which makes it a compile time error to pass functions with side effects to 'assert'?
23:18:41filwit{.NoSideEffect.} in Nimrod is the same as 'pure' in D?
23:19:01AraqI think so
23:19:47filwitwell then.. why do you need that dom96? Since if the assert fails, the program exists anyways..
23:20:04Araqdom96: yeah hm, maybe an idea
23:20:06dom96filwit: asserts are optimised away in release mode.
23:20:22dom96filwit: I made many mistakes where I did: assert doSomethingImportant()
23:20:23filwitdom96: ahh.. i see your poitn
23:20:32filwitbehavior changes in Release compiles
23:20:35dom96yeah
23:20:35filwitgood point
23:23:16filwitAraq: have you seen Crystal language: https://github.com/manastech/crystal/wiki/Introduction
23:23:29Araqfilwit: yes
23:24:14filwiti'm not a fan of VB style, but it's an interesting idea to try and make a "dynamic-language" actually static compiled
23:24:14*Araq bets they have more watchers/stargazers than Araq by now :P
23:25:10Araqcan't see what's interesting about it :P
23:25:28filwitwell, we talked once about doing this in Nimrod:
23:25:32dom96Meh, it's a compiled Ruby.
23:25:43Araqno it's not a compiled ruby
23:25:45filwitproc foo(x, y) = ... # template
23:26:04dom96Araq: why not?
23:26:28Araqit's bli bla blub wishful thinking
23:26:30filwitwhich is kinda what they're doing (using call-site info to generate templates), but for Types as well (which i don't like really)
23:26:48filwitbut i do like the idea of: proc foo(x, y) ...
23:26:54filwitfor simplicity sake
23:27:05Araqfilwit: we already have proc foo(x, y)
23:27:13dom96Of course it is. I meant: that is its goal.
23:27:13filwitwhat?
23:27:25filwitreally you made that?
23:27:26dom96I wanted a compiled Python though. And got something better ;)
23:29:02filwitAraq: foo(x, y) works today? i really need to download the latest Nimrod compiler..
23:29:19Araqfilwit: it's a shortcut for a generic proc
23:29:26AraqI don't really like it
23:29:40AraqI would prefer it would infer the types for the parameters instead
23:29:55filwitwhat do you mean?
23:29:59filwitexample code?
23:30:15Araqproc p(x, y)
23:30:16Araqis
23:30:33Araqproc p[S, T](x: S; y: T)
23:30:51Araqbut I'd prefer it to be no generic at all
23:31:10filwityou mean runtime checked?
23:31:24Araqno, I mean type inference a la ML
23:31:41Araqlet x = p() # x's type is inferenced
23:31:46filwitwait, there's a difference between:
23:31:48Araq*infered
23:32:01filwitproc [S, T](x: S, y: T)
23:32:04filwitand D's
23:32:19filwitvoid p(S, T)(S s, T t)
23:32:19filwit?
23:32:28filwitmeaning: generics vs Templates?
23:32:49Araqyeah ...
23:32:53filwiti thought templates where used in Nimrod for procs, though i'm not really sure of the difference between the too mentods
23:32:58filwitmethods**
23:33:21filwitone just uses memory padding, while the other compiles multiple copies, correct?
23:33:23Araqa Nimrod template is no D template
23:33:40Araqfilwit: totally wrong ;-)
23:33:54filwiti'll have to read up on it then
23:34:16Araqfilwit: a template in nimrod is a simple declarative macro
23:34:56filwitso D's templates are more like Nimrods macros
23:34:59filwit?
23:35:06filwitat least in capability
23:35:06dom96Araq: A certain function in the sockets module needs to know whether a socket is blocking or not. No way to get this info from the OS (in a portable way), should I keep track of this myself and set it in the setBlocking function? (keeping in mind then that if someone decides to set flags on the socket manually by using its file descriptor will cause issues), or alternatively should the function which requires this info simply have a param "isBlocking"?
23:35:14Araqfilwit: no ...
23:35:28AraqD's templates are like Nimrod's generics in capability
23:36:09filwithmm...
23:36:11filwitokay
23:36:34dom96oh btw, did you guys notice the linguist patch getting merged?
23:36:41dom96I know reactormonk did.
23:37:05*fowl joined #nimrod
23:37:33Araqdom96: as long as github says nimrod consists mostly of C I don't care
23:38:22Araqdom96: keep this info in the socket object yourself
23:38:35Araqbut as I said, we need a 'rawsockets' module ...
23:38:48dom96yeah yeah, we'll get to that later.
23:40:31dom96It's not important for 0.9.2 IMO
23:40:33dom96brb
23:41:11Araqfilwit: D's mixins are string based unhygienic macros
23:41:36Araqthe easiest example is 'return'
23:42:27Araqtemplate ret(x: expr) = return x
23:42:30Araqvs.
23:42:43Araqproc ret(x: expr) = return x
23:43:15Araqthe template injects the calling code with a 'return'
23:43:37Araqthe proc doesn't
23:45:17filwityeah, D's mixins where always it's ugliest feature, IMO
23:45:23filwitone sec