00:00:32 | Araq | huh? the compiler already declares stuff at scope beginning |
00:00:57 | Araq | for exactly this reason |
00:02:24 | fowl | yeah but if you are instantiating a class you might not want to do that |
00:04:02 | Araq | give an example please |
00:04:43 | fowl | https://gist.github.com/fowlmouth/5009626 |
00:06:27 | Araq | ah I see |
00:06:27 | fowl | here in poo() i dont want to instantiate TFoo until its needed |
00:06:41 | Araq | looks trivial to fix :P |
00:06:57 | Araq | create a ticket please |
00:07:04 | fowl | ok |
00:07:15 | fowl | also there should be a mechanism for constructors |
00:07:37 | fowl | i tried to use a template for it but it didnt work very well |
00:08:29 | Araq | put that into the same ticket :P |
00:08:41 | Araq | some "C++ codegen improvements" ticket |
00:09:03 | Araq | and maybe 'let' should produce a 'const'? |
00:12:22 | fowl | im not sure if that will work all the time |
00:12:34 | Araq | me neither |
00:12:49 | Araq | I guess we need yap (yet another pragma) |
00:13:42 | fowl | also should var types be &references? |
00:15:04 | Araq | I guess ... |
00:15:26 | Araq | though that's even more dangerous |
00:16:04 | gour | Araq: 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:36 | NimBot | Araq/Nimrod ac056d9 Araq [+0 ±2 -0]: applies #322 without FReadDir effect |
00:19:18 | Araq | gour: why "even PHP"? |
00:19:24 | Araq | it's a widely used language |
00:19:30 | Araq | but I have to sleep now |
00:19:32 | Araq | good night |
00:19:42 | gour | night Araq |
00:20:18 | gour | widely 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:29 | shevy | gour I think php struggles with itself |
08:38:00 | shevy | http://gtk.php.net/ |
08:38:23 | shevy | in 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:58 | gour | shevy: it may be, but wxphp seems to be in a good shape |
09:14:32 | gour | if 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:55 | gour | Araq: ping |
20:22:42 | Araq | gour: pong |
20:23:53 | gour | Araq: i got reply from the guy working on wxPHP bindings - here it it http://pastebin.com/q9yes5e4 |
20:23:57 | gour | what do you think about it? |
20:25:42 | Araq | in my not-so-humble opinion: it's worthless to even try it |
20:26:04 | Araq | run c2nim over wxC from the haskell guys |
20:26:17 | Araq | if you want a wxWidgets wrapper |
20:27:36 | gour | hmm...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:00 | gour | what problem do you see with this peg? |
20:28:54 | gour | too simplistic? |
20:30:52 | Araq | it seems to parse the doxygen instead of C++ |
20:31:32 | gour | yes, Phoenix project (wxpython) does the same |
20:31:59 | gour | it should provide bettet/simpler way for creating bindings...maybe something like gtk's gir |
20:32:30 | gour | and Robin (wxpython) is experienced with python bindings & wx abandoning swig |
20:33:11 | Araq | python or php bindings have much different needs |
20:33:18 | Araq | as they are dynamically typed |
20:33:38 | Araq | you can't simply edit some template so that Nimrod code is produced instead |
20:34:16 | Araq | c2nim's parser is 1700 lines |
20:34:21 | Araq | and that only parses C |
20:34:39 | Araq | I can't see anything close to a C parser in "peg" |
20:36:03 | gour | so, the 'proper' solution for binding C++ for nimrod is to have adequate parser, right? |
20:36:25 | Araq | right but since wxC exists ... |
20:36:34 | Araq | use c2nim and call it a day please |
20:36:44 | Araq | it's 1-2 evenings of work |
20:37:08 | Araq | nothing else comes eve close |
20:37:13 | Araq | *even |
20:37:43 | gour | i checked wxC but it seems it carried old code used by Eiffel generator... |
20:37:52 | gradha | i like that unit: evening of work |
20:38:03 | gour | how does (qt)Ada make it? by hand? |
20:39:23 | Araq | gradha: somehow I'm only productive at night ;-) |
20:40:05 | Araq | gour: yeah maybe but so what |
20:41:40 | gour | Araq: well, Eiffle's binsings are not maintained any longer, iirc |
20:43:15 | Araq | I have a wrapper of wxwidgets btw |
20:43:24 | Araq | (just remembered :P ) |
20:43:57 | gradha | gour: why not improve c2nim to support c++? you'd be awesome then, remembered through all future generations |
20:44:01 | gour | i'm discussing about this in #wxwidgets..ohh. why hiding it? |
20:44:44 | Araq | my wrapper is from 2007 |
20:44:52 | Araq | based on wxD from 2005 |
20:45:08 | Araq | which is based on wx.NET 2004 |
20:45:21 | Araq | in other words: outdated junk ;-) |
20:45:31 | gradha | you are not selling it really well Araq |
20:45:54 | Araq | gradha: it was before c2nim existed |
20:48:44 | Araq | gour: if you create a wxNim binding, it's your job to maintain it anyway |
20:49:15 | gour | here is short snippet from the discussion |
20:49:33 | gour | gradha: my C++ skills are very rusty |
20:50:37 | gour | Araq: 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:59 | gour | the same goes for JS back-end ;) |
20:51:54 | Araq | gour: it's only feasible if you can get the wxwidgets guys to produce clean parsable headers |
20:52:26 | Araq | which they won't do because otherwise they would provide&maintain a C binding :P |
20:54:32 | gour | Araq: 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:10 | gour | Araq: 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:21 | Araq | see? |
20:56:43 | Araq | using the doxygen xml as a starting point seems weird |
20:57:47 | Araq | it's for documentation, I don't think it includes enough of the nasty details |
20:58:01 | Araq | that are required for bindings |
20:58:52 | gradha | in a way it does, if people document properly every single symbol, which never happens in real life anyway |
21:00:41 | Araq | thanks for answering the guy on the forum btw |
21:00:57 | Araq | even though his spelling doesn't deserve any answer ;-) |
21:01:16 | gradha | and he's talking about dead platforms, like symbian |
21:01:25 | gour | here is Vadim's reply: http://article.gmane.org/gmane.comp.lib.wxwidgets.general/75152 |
21:02:37 | gradha | gour: 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:21 | gradha | where do you get the energy? I rarely have enough to stop watching youtube |
21:03:52 | gour | well, that's the reason - no gaming and watching TV/youtube and other time-wasters :-) |
21:04:22 | gour | otoh, as someone said some days ago - the world is small ;) |
21:07:15 | gradha | nice, 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:53 | shevy | hmm anyone knows if aptana is still being worked upon? |
21:07:56 | gradha | gour: symbian needs your superpowers, I'm sure you can revive symbian development |
21:08:13 | shevy | no wait... the name was differently |
21:08:20 | shevy | what was the name of the nimrod IDE again?? |
21:08:25 | gradha | aporia |
21:08:30 | shevy | ah yeah thanks :-) |
21:08:31 | Araq | gour: I see 3 realistic options |
21:08:41 | Araq | 1) make swig support Nimrod |
21:08:43 | gradha | shevy: pretty much dead, doesn't even compile! |
21:08:48 | gradha | hehe |
21:08:49 | Araq | 2) make c2nim support c++ |
21:08:58 | Araq | 3) use c2nim on wxC |
21:09:20 | Araq | all 3 have some merit, (3) is the least amount of work *by far* |
21:09:23 | dom96 | gradha: You better not anger it. It might be a butterfly, but it's a deadly one. |
21:09:35 | dom96 | shevy: Of course it's still alive :P |
21:09:36 | gradha | dom96: yeah, I know of MOTHRA |
21:10:40 | gradha | Araq: do you consider 1) viable with all that header tweaking? |
21:10:59 | gour | Araq: for longer-term, 2) sounds better |
21:13:52 | Araq | (1) may be easier if you don't enjoy writing C++ parsers |
21:14:12 | Araq | this means I'll never do it :-) |
21:18:56 | gour | ..and then people wonder why everyone goes to web/JS |
21:19:46 | gour | ..or that C++ is still the king |
21:20:48 | gradha | ..or what are we doing with our lives |
21:21:02 | * | gour nods |
21:21:29 | dom96 | i'm enlightened. |
21:21:33 | * | dom96 switches to web/JS |
21:21:56 | Araq | gour: what's wrong with claro btw? |
21:23:06 | gour | Araq: 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:46 | Araq | it's much smaller than wx |
21:23:48 | * | filwit joined #nimrod |
21:23:56 | filwit | hi folks |
21:24:01 | Araq | you can fix the bugs yourself |
21:24:01 | * | exhu joined #nimrod |
21:24:05 | gradha | hello filwit |
21:24:22 | exhu | hi guys, spotted you were talking about c++ wrappers |
21:24:23 | Araq | it's not lots of work because I tested it on windows and linux |
21:24:43 | gradha | gour: code doesn't need to be constantly evolving to mean its useful |
21:24:45 | exhu | swig supports XML output (parse tree) which can be parsed in nimrod to generate actual bindings |
21:24:46 | Araq | and it's as much work to maintain as a wxWidgets wrapper |
21:24:50 | gour | the 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:06 | gradha | exhu: you still have to massage C/C++ headers for swig, don't you? |
21:25:10 | gour | gradha: sure, but more devs/users helps |
21:25:41 | Araq | gour: I can't imagine to make wxWidgets part of the stdlib :P |
21:25:47 | gradha | gour: depends, consider how much more advanced would nimrod be if he didn't have to deal with us! |
21:25:50 | Araq | I can imagine it for claro though |
21:26:00 | gradha | s/he/Araq |
21:26:08 | gour | Araq: but i must say that having Claro for Nimrod sounds much better than to do multi-platform project having gtk only |
21:27:03 | gour | Araq: and having it ported to Nimrod, could become a dream-land |
21:27:32 | gour | but i wonder how many people here are interested for GUI in nimrod at all |
21:27:35 | exhu | gradha, 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:58 | exhu | wxwidgets is huge, smaller than qt but still.. |
21:28:25 | Araq | exhu: yeah, I know about the XML output, sounds like a nice solution too |
21:28:43 | gour | Araq: 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:53 | gradha | gour: 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:03 | Araq | ha |
21:29:16 | Araq | that's debatable :P |
21:29:19 | gour | gradha: and type-safety goes to hell, right? |
21:29:25 | exhu | i will need gui in some time, when i finish logic and CLI for my program. |
21:29:59 | gour | gradha: do you suggest wxpython/nimrod combo? |
21:30:33 | gradha | the 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:38 | exhu | i would either use gtk or try to wrap claro or fltk. |
21:30:43 | filwit | the Nimrod homepage says it supports GTK 2.0 bindings. No GTK 3.0? Or is that info just out-of-date? |
21:30:57 | Araq | if you're after a combo nothing beats lazarus+nimrod imo |
21:30:59 | dom96 | filwit: the info is correct |
21:31:11 | gour | people in #wxwidgets (Robin & co) discuss about phoneix' capability to server other languages, but i do not understand much |
21:31:15 | exhu | gtk3 is not stable for windows, afaik |
21:31:15 | filwit | dom96: okay. |
21:31:21 | filwit | dom96: thanks |
21:31:42 | gour | exhu: are there any binaries for gtk3/windows at all? |
21:32:09 | dom96 | exhu: It even has issues on Linux (at least for me). |
21:32:33 | gradha | Araq: do you know of http://gambas.sourceforge.net/en/main.html and how it compares to lazarus? |
21:32:45 | gradha | gambas also provides cross platform gui/builder |
21:32:53 | gour | that's kind of basic? |
21:33:07 | filwit | dom96: that's cause you used Xfce, right? GTK3 works well on Unity/Gnome-Shell/etc |
21:33:13 | exhu | http://www.gtk.org/download/win32.php says it's only gtk 2.x is available for windows. |
21:33:23 | dom96 | filwit: I use Cinnamon. |
21:33:31 | filwit | ahhh... that's odd then.. |
21:33:45 | dom96 | filwit: As soon as gtk3.6 hit, all themes broke. |
21:33:49 | dom96 | And they are still broken. |
21:34:10 | filwit | Glade now produces GTK3 .ui files (by default) I believe (but i'm not sure). |
21:34:47 | gour | filwit: correct. glade-3.12 |
21:34:56 | gour | 3.8 is 2.x |
21:35:35 | filwit | I 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:49 | gradha | gour: nah, discard it, I believed it to be crossplatform but looks like it has windows/mac issues |
21:35:58 | filwit | there was some research i remember reading about awhile ago where they said basically no one is interested |
21:36:55 | exhu | fltk supports mac and win and optional cairo integration. |
21:36:55 | gour | filwit: for what? |
21:37:16 | filwit | it's too bad... it looks like the only good cross-platform GUI of the future is going to be HTML... |
21:37:28 | filwit | gour: for GTK outside of Linux |
21:37:40 | gour | filwit: ahh, ok. |
21:37:51 | gradha | yeah, 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:36 | filwit | gradha: well Linux has GTK/Qt which work better on Linux than other platforms |
21:38:51 | filwit | gradha: so only two options really |
21:39:05 | exhu | linux 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:44 | filwit | I always liked GTK, and Glade is easy enough to use |
21:39:52 | gour | there are some gtk apps used on mac like ardour |
21:40:00 | filwit | maybe Qt is good, but KDE always looks so ugly i never want to try it |
21:40:14 | exhu | qt is especially displeasing, they invented their own macro language on top of c++ and preprocessor -) |
21:40:27 | filwit | there are some big GTK cross-platform apps like Gimp and MyPaint |
21:40:29 | filwit | but not many |
21:40:39 | Araq | what's the issue with gtk3? most of the API remained the same, right? |
21:40:40 | gour | i'm told that wx is keeping ref-counting internally which makes it easier than with gtk* |
21:40:41 | filwit | exhu: woah, what really? |
21:40:42 | gour | ? |
21:40:48 | filwit | exhu: that's horrible... |
21:41:39 | exhu | we have a qt project, it compiles forever and it looks terrible with those code generation tool called moc. |
21:41:43 | filwit | gour: not if you use Vala.. which is pretty much just a Gnome/GTK DSL that uses ref-counting |
21:41:59 | gour | exhu: 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:28 | filwit | Araq: i'm not sure of all the changes, but i know a lot has gone into the style system. |
21:42:33 | exhu | i would stay away from qt, it's horrible |
21:42:48 | filwit | Araq: i believe they're pretty similar, as far as C interfaces though. |
21:43:06 | filwit | exhu: yeah, sounds like it. Thanks for the heads up |
21:43:08 | gour | filwit: vala? another invention for what? |
21:43:49 | gradha | not enough corners in your wheel? |
21:43:54 | filwit | gour: 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:58 | exhu | gour, vala generates c code, because glib/gtk requires so much to type and so many typedef macros |
21:44:02 | gour | in any case, it looks that nimrod is deserving something better, called it Claro or whatever |
21:44:56 | gour | filwit: Vala uses GIR? |
21:44:59 | gradha | I like whatever |
21:45:15 | filwit | gour: yes, i believe so |
21:45:28 | filwit | gour: i'm not a GLib expert |
21:45:38 | gour | np |
21:46:25 | exhu | vala hides all that boilerplate needed to support OOP and introspection with C |
21:46:38 | exhu | that gobject provides |
21:47:19 | gour | i'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:30 | gour | but reviving Claro would be similar ;) |
21:48:26 | filwit | yes, 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:39 | exhu | wxwidgets reminds me MFC -) |
21:49:14 | filwit | gour: there's always EFL :P |
21:49:40 | filwit | or HTML... |
21:50:16 | Araq | yeah the wxWidgets api is quite like mfc |
21:51:29 | exhu | i 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:44 | gour | filwit: EFL is eye-candy, but as multi-platform...hmmm |
21:51:44 | exhu | and no MVC model |
21:52:22 | gour | exhu: which version of fltk? 1.x, 2.x or 3.x? |
21:52:58 | exhu | gour, fltk 1.3.x is stable branch |
21:53:34 | exhu | gour, 2.0 is obsolete, and 3.0 is experimental |
21:53:35 | gour | exhu: just joking...otoh, it's again C++ toolkit |
21:54:31 | gour | finally, i believe that set of available gui bindings is part of language's ecosystem or 'batteries included' |
21:55:36 | exhu | i would probably look at swig xml when time to implement gui bindings comes... |
21:56:20 | gour | exhu: do you know of any example of successful binding for C++ gui toolkit done via swig? |
21:56:45 | exhu | have to go to bed, good night all. |
21:56:54 | gour | night |
21:57:04 | exhu | gour, wxpython was, probably |
21:57:27 | * | exhu quit (Quit: Leaving) |
21:57:40 | gour | yeah, but lot of hand-written code and that's why Robin is doing it via phoenix now |
22:01:09 | gour | fltk does not support mac, it seems |
22:01:26 | gradha | nobody uses macs anyway, they are dead |
22:01:52 | Araq | gour: can't you just try out claro instead? |
22:01:56 | gour | i do not know anybody here, but i'm from croatia |
22:02:12 | gour | Araq: it does not build :-) |
22:02:28 | Araq | why not? |
22:02:40 | gour | i tried yesterday |
22:03:43 | gour | and is there any URL with some info about it or everything disappeared? |
22:04:32 | Araq | looked yesterday |
22:04:39 | Araq | everything disappeared |
22:05:56 | gour | there is post from zed shaw in lua |
22:06:02 | Araq | src/block.c:199:11: error: variable ‘block’ set but not used [-Werror=unused-but-set-variable] |
22:06:15 | Araq | ah so I never finished cleaning up all the warnings |
22:06:18 | gour | ..list |
22:06:27 | Araq | or GCC produces new warnings now :-) |
22:07:15 | dom96 | checked the web archive? |
22:11:51 | Araq | dom96: no ... |
22:12:34 | gour | what kind of license is this MPL? |
22:13:16 | Araq | yeah |
22:15:49 | gour | how is localization/i18n/utf-8 support in claro? |
22:16:17 | gour | IUP sucks in this regard...even no keyboard support except portug. & eng. |
22:17:17 | Araq | I 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:38 | gour | how is it that IUP is lacking in this regard also using other widgets? |
22:18:52 | Araq | good point |
22:18:53 | Araq | I dunno |
22:19:56 | gour | maybe due to motif support...speculation |
22:21:38 | * | gradha quit (Quit: bbl, have youtube videos to watch) |
22:32:47 | Araq | gour: I patched my build script |
22:32:54 | Araq | claro compiles for me now on linux |
22:33:33 | Araq | filwit: it EFL based on gtk or glib? |
22:34:34 | gour | Araq: it build here as well. thank you |
22:34:50 | * | FreeArtMan quit (Quit: rm -rf /) |
22:37:43 | gour | Araq: i'd say glib |
22:40:21 | gour | heh..they have bindings for C++ |
22:53:52 | * | gour quit (Quit: WeeChat 0.4.0) |
22:56:28 | filwit | Araq: no, EFL is it's own GUI toolkit, used for the Elementary desktop |
22:56:36 | filwit | Araq: it's written in C |
22:56:51 | Araq | wow a toolkit written in C that I don't know about ;-) |
22:57:05 | filwit | Araq: I meant as apposed to C++ :P |
22:57:25 | Araq | I was serious |
22:57:25 | filwit | it's really fancy for how light-weight it is |
22:57:49 | filwit | Araq: oh, whoops. I misread your response |
22:58:17 | filwit | i thought you where saying "A GUI written in C? who would have figured" in a sarcastic way |
22:58:31 | filwit | my bad :) |
22:59:12 | filwit | i never liked the Enlightenment DE (it's Enlightenment, not Elementary BTW) |
22:59:25 | filwit | cause it was always so... cluttered... kinda like KDE |
22:59:41 | filwit | too many effects, they overdue the "eye candy" |
23:00:01 | filwit | there is something to be said for minimalism in design, which they completely miss |
23:00:10 | filwit | but EFL itself could be really good |
23:00:33 | dom96 | i seriously doubt EFL works on anything other than Linux |
23:00:44 | Araq | oh |
23:00:47 | filwit | yeah me too |
23:00:56 | filwit | it's most likely not cross-platform |
23:01:19 | filwit | but linux is the hott thing these days |
23:01:36 | filwit | no one cares about Mac and.. what was it called? Frames? Windows? |
23:01:41 | filwit | those things are dead |
23:01:48 | filwit | (**dreaming**) |
23:03:31 | Araq | ha, I'm glad you dislike mac too :-) |
23:03:51 | filwit | mac is my least favorite |
23:04:13 | filwit | Windows has good dev tools, and Window7 bar was a good idea |
23:04:19 | filwit | but Mac is horrible |
23:04:24 | filwit | horrible shortcuts |
23:04:36 | filwit | horrible menu-window separation |
23:04:45 | filwit | horrible performance and memory consumption |
23:04:48 | filwit | horrible prices |
23:05:06 | filwit | even XCode sux |
23:05:33 | filwit | (granted, there are nice things about it..) |
23:06:17 | filwit | hey, are computers cheaper or more expensive in Germany/UK? |
23:07:06 | filwit | Alex (the guy who runs WorldOfGnome.org) is from Greece and always says electronics are much more expensive there than in the states |
23:07:22 | Araq | they are quite cheap cause they use them to pretend we have little inflation :P |
23:07:37 | filwit | LOL |
23:08:17 | filwit | that's right, i think awhile ago you where telling me how Germany is pretty much buying up another country in the EU |
23:08:45 | Araq | not just "another" country |
23:08:52 | filwit | Italy? (where unemployment is is like 40%) |
23:08:54 | Araq | all of the rest of EU |
23:09:00 | filwit | nice |
23:09:18 | filwit | Nimrod - King language for King of Europe |
23:09:28 | filwit | :-P |
23:10:48 | filwit | you 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:01 | Araq | hm never thought about it this way |
23:12:06 | filwit | so '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:25 | filwit | to it has more of an immediate appeal to me, cause it makes immediate sense |
23:12:43 | filwit | you obviously know English well... but then you also know German |
23:13:03 | filwit | so you're constantly doing double work of translating things |
23:13:15 | filwit | idk, just an interesting thought i had |
23:13:53 | Araq | I keep writing "lenght" so I thought it's a good idea to make it 'len' :P |
23:14:11 | filwit | well 'len' is also what Python uses, right? |
23:14:16 | Araq | true |
23:17:51 | dom96 | hrm. A little thought: add a mode which makes it a compile time error to pass functions with side effects to 'assert'? |
23:18:41 | filwit | {.NoSideEffect.} in Nimrod is the same as 'pure' in D? |
23:19:01 | Araq | I think so |
23:19:47 | filwit | well then.. why do you need that dom96? Since if the assert fails, the program exists anyways.. |
23:20:04 | Araq | dom96: yeah hm, maybe an idea |
23:20:06 | dom96 | filwit: asserts are optimised away in release mode. |
23:20:22 | dom96 | filwit: I made many mistakes where I did: assert doSomethingImportant() |
23:20:23 | filwit | dom96: ahh.. i see your poitn |
23:20:32 | filwit | behavior changes in Release compiles |
23:20:35 | dom96 | yeah |
23:20:35 | filwit | good point |
23:23:16 | filwit | Araq: have you seen Crystal language: https://github.com/manastech/crystal/wiki/Introduction |
23:23:29 | Araq | filwit: yes |
23:24:14 | filwit | i'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:10 | Araq | can't see what's interesting about it :P |
23:25:28 | filwit | well, we talked once about doing this in Nimrod: |
23:25:32 | dom96 | Meh, it's a compiled Ruby. |
23:25:43 | Araq | no it's not a compiled ruby |
23:25:45 | filwit | proc foo(x, y) = ... # template |
23:26:04 | dom96 | Araq: why not? |
23:26:28 | Araq | it's bli bla blub wishful thinking |
23:26:30 | filwit | which 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:48 | filwit | but i do like the idea of: proc foo(x, y) ... |
23:26:54 | filwit | for simplicity sake |
23:27:05 | Araq | filwit: we already have proc foo(x, y) |
23:27:13 | dom96 | Of course it is. I meant: that is its goal. |
23:27:13 | filwit | what? |
23:27:25 | filwit | really you made that? |
23:27:26 | dom96 | I wanted a compiled Python though. And got something better ;) |
23:29:02 | filwit | Araq: foo(x, y) works today? i really need to download the latest Nimrod compiler.. |
23:29:19 | Araq | filwit: it's a shortcut for a generic proc |
23:29:26 | Araq | I don't really like it |
23:29:40 | Araq | I would prefer it would infer the types for the parameters instead |
23:29:55 | filwit | what do you mean? |
23:29:59 | filwit | example code? |
23:30:15 | Araq | proc p(x, y) |
23:30:16 | Araq | is |
23:30:33 | Araq | proc p[S, T](x: S; y: T) |
23:30:51 | Araq | but I'd prefer it to be no generic at all |
23:31:10 | filwit | you mean runtime checked? |
23:31:24 | Araq | no, I mean type inference a la ML |
23:31:41 | Araq | let x = p() # x's type is inferenced |
23:31:46 | filwit | wait, there's a difference between: |
23:31:48 | Araq | *infered |
23:32:01 | filwit | proc [S, T](x: S, y: T) |
23:32:04 | filwit | and D's |
23:32:19 | filwit | void p(S, T)(S s, T t) |
23:32:19 | filwit | ? |
23:32:28 | filwit | meaning: generics vs Templates? |
23:32:49 | Araq | yeah ... |
23:32:53 | filwit | i thought templates where used in Nimrod for procs, though i'm not really sure of the difference between the too mentods |
23:32:58 | filwit | methods** |
23:33:21 | filwit | one just uses memory padding, while the other compiles multiple copies, correct? |
23:33:23 | Araq | a Nimrod template is no D template |
23:33:40 | Araq | filwit: totally wrong ;-) |
23:33:54 | filwit | i'll have to read up on it then |
23:34:16 | Araq | filwit: a template in nimrod is a simple declarative macro |
23:34:56 | filwit | so D's templates are more like Nimrods macros |
23:34:59 | filwit | ? |
23:35:06 | filwit | at least in capability |
23:35:06 | dom96 | Araq: 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:14 | Araq | filwit: no ... |
23:35:28 | Araq | D's templates are like Nimrod's generics in capability |
23:36:09 | filwit | hmm... |
23:36:11 | filwit | okay |
23:36:34 | dom96 | oh btw, did you guys notice the linguist patch getting merged? |
23:36:41 | dom96 | I know reactormonk did. |
23:37:05 | * | fowl joined #nimrod |
23:37:33 | Araq | dom96: as long as github says nimrod consists mostly of C I don't care |
23:38:22 | Araq | dom96: keep this info in the socket object yourself |
23:38:35 | Araq | but as I said, we need a 'rawsockets' module ... |
23:38:48 | dom96 | yeah yeah, we'll get to that later. |
23:40:31 | dom96 | It's not important for 0.9.2 IMO |
23:40:33 | dom96 | brb |
23:41:11 | Araq | filwit: D's mixins are string based unhygienic macros |
23:41:36 | Araq | the easiest example is 'return' |
23:42:27 | Araq | template ret(x: expr) = return x |
23:42:30 | Araq | vs. |
23:42:43 | Araq | proc ret(x: expr) = return x |
23:43:15 | Araq | the template injects the calling code with a 'return' |
23:43:37 | Araq | the proc doesn't |
23:45:17 | filwit | yeah, D's mixins where always it's ugliest feature, IMO |
23:45:23 | filwit | one sec |