00:17:42 | * | yglukhov joined #nim |
00:21:59 | * | yglukhov quit (Ping timeout: 252 seconds) |
00:25:45 | * | gokr quit (Ping timeout: 260 seconds) |
00:59:12 | vlad1777d | Is redefinition totally disallowed ? https://pp.vk.me/c638428/v638428447/151f3/itDIp4pET9g.jpg |
01:01:48 | * | abeaumont quit (Ping timeout: 268 seconds) |
01:01:56 | federico3 | vlad1777d: that's odd |
01:03:28 | vlad1777d | federico3, I learn Nim, I don't understand some things yet ) |
01:12:34 | ftsf_ | vlad1777d, you're defining the same thing on the child object, you only need to define it on the parent object |
01:12:45 | ftsf_ | you should give it another name on the child object if it should be different |
01:13:04 | vlad1777d | ftsf_, thank you |
01:15:13 | * | abeaumont joined #nim |
02:13:21 | * | chemist69 quit (Ping timeout: 251 seconds) |
02:19:02 | * | vlad1777d quit (Quit: Leaving) |
02:20:04 | * | yglukhov joined #nim |
02:22:29 | * | space-wizard joined #nim |
02:24:27 | * | yglukhov quit (Ping timeout: 252 seconds) |
02:27:04 | * | chemist69 joined #nim |
02:47:33 | * | space-wizard quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
02:48:39 | * | space-wizard joined #nim |
02:49:06 | * | space-wizard quit (Client Quit) |
02:49:27 | * | space-wizard joined #nim |
02:49:54 | * | space-wizard quit (Client Quit) |
02:50:15 | * | space-wizard joined #nim |
02:50:42 | * | space-wizard quit (Client Quit) |
02:51:03 | * | space-wizard joined #nim |
02:51:30 | * | space-wizard quit (Client Quit) |
02:51:51 | * | space-wizard joined #nim |
02:52:18 | * | space-wizard quit (Client Quit) |
02:52:38 | * | space-wizard joined #nim |
02:53:06 | * | space-wizard quit (Client Quit) |
02:53:27 | * | space-wizard joined #nim |
02:53:54 | * | space-wizard quit (Client Quit) |
02:54:15 | * | space-wizard joined #nim |
02:54:42 | * | space-wizard quit (Client Quit) |
03:28:06 | * | brson quit (Quit: leaving) |
04:14:05 | * | chemist69 quit (Ping timeout: 246 seconds) |
04:18:47 | * | chemist69 joined #nim |
04:21:34 | * | yglukhov joined #nim |
04:26:18 | * | yglukhov quit (Ping timeout: 256 seconds) |
05:32:01 | * | space-wizard joined #nim |
06:17:58 | * | gokr joined #nim |
06:18:30 | * | trinarybee quit (Quit: Leaving) |
06:18:45 | * | bjz joined #nim |
06:23:31 | * | yglukhov joined #nim |
06:26:46 | * | bjz quit (Ping timeout: 250 seconds) |
06:28:04 | * | yglukhov quit (Ping timeout: 250 seconds) |
06:28:40 | * | bjz joined #nim |
06:30:22 | * | bjz quit (Read error: Connection reset by peer) |
06:30:25 | * | bjz_ joined #nim |
06:32:44 | * | bjz_ quit (Read error: Connection reset by peer) |
06:40:17 | * | nsf joined #nim |
06:46:39 | * | subsetpark quit (Quit: Connection closed for inactivity) |
06:46:40 | * | bjz joined #nim |
06:50:38 | * | Snircle quit (Read error: Connection reset by peer) |
06:51:44 | * | Snircle joined #nim |
07:04:22 | * | rokups joined #nim |
07:43:15 | * | yglukhov joined #nim |
07:47:32 | * | yglukhov quit (Ping timeout: 250 seconds) |
08:00:40 | * | Arrrr joined #nim |
08:09:45 | * | space-wizard quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
08:10:05 | * | space-wizard joined #nim |
08:10:30 | * | space-wizard quit (Client Quit) |
08:10:53 | * | space-wizard joined #nim |
08:11:18 | * | space-wizard quit (Client Quit) |
08:11:40 | * | space-wizard joined #nim |
08:12:06 | * | space-wizard quit (Client Quit) |
08:12:28 | * | space-wizard joined #nim |
08:12:54 | * | space-wizard quit (Client Quit) |
08:13:16 | * | space-wizard joined #nim |
08:13:42 | * | space-wizard quit (Client Quit) |
08:14:04 | * | space-wizard joined #nim |
08:14:11 | * | byte512 joined #nim |
08:14:30 | * | space-wizard quit (Client Quit) |
08:14:51 | * | space-wizard joined #nim |
08:15:18 | * | space-wizard quit (Client Quit) |
08:15:39 | * | space-wizard joined #nim |
08:16:06 | * | space-wizard quit (Client Quit) |
08:16:27 | * | space-wizard joined #nim |
08:16:54 | * | space-wizard quit (Client Quit) |
08:17:15 | * | space-wizard joined #nim |
08:17:42 | * | space-wizard quit (Client Quit) |
08:18:03 | * | space-wizard joined #nim |
08:18:30 | * | space-wizard quit (Client Quit) |
08:19:01 | * | space-wizard joined #nim |
08:19:18 | * | space-wizard quit (Client Quit) |
08:32:48 | * | yglukhov_ joined #nim |
08:34:13 | * | yglukhov_ quit (Remote host closed the connection) |
08:34:13 | * | yglukho__ joined #nim |
08:34:15 | * | yglukho__ quit (Remote host closed the connection) |
08:34:49 | * | yglukhov joined #nim |
08:36:13 | * | Andris_zbx joined #nim |
08:40:56 | * | pregressive quit (Remote host closed the connection) |
08:41:31 | * | pregressive joined #nim |
08:46:00 | * | pregressive quit (Ping timeout: 265 seconds) |
09:00:37 | * | yglukhov_ joined #nim |
09:04:39 | * | yglukhov quit (Ping timeout: 268 seconds) |
09:04:58 | euantor | Market Nim as a better Crystal ;) |
09:05:52 | euantor | IIRC, it still doesn't support parallelisation, just concurrency (eg: it only ever uses one core) |
09:06:19 | euantor | And it still doesn't have Windows support, which is a deal breaker for many |
09:16:38 | * | yglukhov_ quit (Remote host closed the connection) |
09:31:05 | Arrrr | I think people using Crystal enjoy the freedom it provides. Nim is more coarsed. |
09:37:08 | FromGitter | <andreaferretti> IMO, if anything needs to be done on the marketing side, is just to give the site (and forum) a more modern look |
09:37:57 | FromGitter | <andreaferretti> and simplify the message (just look at the few bullet points describing the aims of Crystal vs. the long text + many bullet points describing the aims of Nim) |
09:39:08 | FromGitter | <andreaferretti> It may seem silly, but you would not believe how many people discard the language based on the first appearance of the site |
09:39:23 | * | [ui] joined #nim |
09:43:27 | Arrrr | I think the situation of nim is at stake. It might need some changes, but those changes won't happen without anyone helping, which at the same time won't happen without help. Like a Game of Life after several turns, cells are unable to move further. |
09:45:11 | Arrrr | Right now development is slow, i wish i could help, but im not useful, except to signal certain bugs. |
09:46:27 | Araq | development is slow because I keep getting paid for unforeseen developments, most recent example: deterministic C code generation. |
09:47:45 | FromGitter | <andreaferretti> @Araq certainly nobody is complaining about your work :-) |
09:48:22 | FromGitter | <andreaferretti> but still it would be nice if more people were able to help |
09:48:41 | FromGitter | <andreaferretti> I have been trying to give a shot at solving some type-related bugs |
09:49:06 | FromGitter | <andreaferretti> but it is just very slow at first to be able to do something in the compiler |
09:49:09 | Araq | improves compile times for incremental developments tremendously but for most people compile times are already fast |
09:49:49 | FromGitter | <andreaferretti> still, I think that mostly what has to do is just a little better marketing and stdlib cleanup |
09:50:19 | Arrrr | Most projects are small, they won't bring nim eternal glory. |
09:50:44 | Araq | @andrea I can guide you further |
09:51:09 | FromGitter | <andreaferretti> thank you, I will try to give it a shot in the Xmas holidays :-) |
09:51:17 | Araq | sigmatch.nim line 100 |
09:51:26 | Araq | every type binding op goes through 'proc put' |
09:51:31 | FromGitter | <andreaferretti> wow, that is really precise :-D |
09:51:57 | FromGitter | <andreaferretti> thank you! |
09:52:03 | FromGitter | <andreaferretti> I do not have time to look just now |
09:52:09 | FromGitter | <andreaferretti> but I will asap |
09:52:22 | Araq | dude wait, I've not even started |
09:52:35 | FromGitter | <andreaferretti> :-D |
09:53:06 | Araq | add something like |
09:53:11 | Araq | if c.callee != nil and (c.callee ?? "temp.nim"): |
09:53:13 | Araq | writeStackTrace() |
09:53:14 | Araq | echo "binding ", typeToString(val), " to ", typeToString(key) |
09:53:31 | Araq | assuming the test file is "temp.nim" (the name I use for everything) |
09:54:18 | Araq | test via 'koch temp c temp.nim' |
09:54:37 | Araq | oh it's c.callee.info |
09:54:44 | * | vktec left #nim ("So long and thanks for all the fish") |
09:55:50 | * | djellemah quit (Ping timeout: 268 seconds) |
09:56:03 | Araq | type related bugs the hardest though :-/ |
09:56:50 | FromGitter | <andreaferretti> thanks again! |
09:57:35 | * | djellemah joined #nim |
10:12:30 | Araq | hmm can I summon Stefan Salewski this way? |
10:12:35 | * | byte512 quit (Quit: WeeChat 1.6) |
10:15:25 | * | bjz quit (Ping timeout: 265 seconds) |
10:15:26 | * | bjz_ joined #nim |
10:18:04 | * | byte512 joined #nim |
10:20:53 | FromGitter | <timeyyy> FWIW i like the website. I found this an interesting read (http://marktarver.com/open.html), about finding your own definition of success. No point to compare and contrast popularity unless that is what you deem to be the most important thing... |
10:53:44 | Araq | timeyyy a bit more popularity is always nice though :-) |
10:57:37 | FromGitter | <timeyyy> yes but don't let yourself get to down about it, otherwise we would all be using windows... |
10:57:52 | FromGitter | <timeyyy> or java etc |
11:05:13 | * | Salewski joined #nim |
11:05:43 | Salewski | Araq, have I done something bad? |
11:06:21 | Araq | well I'm trying to make your nimchess compile on my ubuntu |
11:07:36 | Salewski | Should be no problem on Linux. But OSX may be difficult. |
11:07:50 | Araq | well the first problem is here: |
11:08:10 | Araq | http://forum.nim-lang.org/t/2198 |
11:08:21 | Araq | I go through the instructions, build fails |
11:08:33 | Araq | I continue reading and find updated instructiongs, build fails |
11:08:42 | Araq | I continue and find instructions here: |
11:08:51 | Araq | https://github.com/ngtk3/nim-chess2 |
11:08:58 | Araq | that actually work :-) |
11:09:15 | Araq | but PLEASE create nimble packages for this |
11:09:31 | Araq | I expect 'nimble install nimchess' to work out of the box these days |
11:09:42 | Araq | $nimble init |
11:09:46 | Araq | $nimble publish |
11:09:58 | Araq | it doesn't take dom96's book for these two commands |
11:10:28 | Salewski | Araq, problem is nimble package for GTK3, as long as GTK2 is still available. |
11:10:36 | * | irrequietus joined #nim |
11:10:45 | Araq | why? one is named GTK2, the other GTK3 |
11:10:46 | * | irrequietus quit (Changing host) |
11:10:46 | * | irrequietus joined #nim |
11:10:48 | Salewski | I have no idea how to avoid conflicts. |
11:10:51 | Araq | shouldn't produce conflicts |
11:11:27 | Salewski | Is is not, GTK3 is 10 packages, pango, cairo, glib2, much more. |
11:11:51 | FromGitter | <andreaferretti> (even if name was the same, one can ask for a given version of a dependency in .nimble file) |
11:12:40 | Salewski | Dom did not gave me a hint to solve it brst. Of course I can give all a salewski prefix, but that is ugly. |
11:12:59 | Araq | give them all a '3' suffix for now |
11:13:16 | Salewski | But I want to use "import cairo", not import salewski-cairo. |
11:13:21 | Araq | will push dom96 about vendor namespacing support |
11:13:28 | Araq | "import cairo3" ? |
11:15:01 | Salewski | Yes. a 3 suffix is what I considerest the best indeed. but it is confuling, because glib is still glib2, so it will become glib2_3. And Cairo will be cairo_2, while there is no real cairo2. |
11:15:16 | Araq | as a first step can you update your forum posts that contain outdated instructions? |
11:15:19 | Salewski | Cairo3. |
11:15:22 | euantor | I seem to remember a forum topic about this kind of issue that I started a while back |
11:16:14 | Araq | Salewski: how do I compile your editor? |
11:16:58 | Salewski | Yes can do. I was not too much intersted in doing it, seems most people hate GTK3. |
11:17:05 | * | yglukhov joined #nim |
11:17:45 | Araq | well it's a self fullfillng prophecy right now |
11:18:17 | Araq | you invested time in it and it's good work afaict |
11:18:18 | Salewski | Editor NEd has asciidoc document manual with instructions. But you have to install files for syntax highlight also. |
11:18:41 | Araq | but then you make it hard to install and discourage people from using it since "GTK3 is moribund" |
11:19:07 | Araq | I don't mind it being Linux specific |
11:19:42 | Araq | but now I already have a 'ntgk3' directory and your instructions for NEd start with 'mkdir ngtk3' |
11:19:59 | Araq | which means I need to think and compare what to do |
11:20:48 | Salewski | I can not really advertise GTK3 in these days unfortunately. Community is not really active, and it is hard to learn coding in GTK3 for newcommers. |
11:21:37 | * | yglukhov quit (Ping timeout: 252 seconds) |
11:23:22 | Salewski | Araq -- we Nim users are generally not afraid of some "thinking". Real "Deppen" will not be happy with Nim and GTK3 currently. |
11:23:48 | Araq | no, you're wrong about that. |
11:24:12 | Salewski | But OK, when there is some minimal interest in Nim-Chess and NEd editor I will improve instructions. |
11:24:36 | Araq | well right now I installed it to test my new compiler against it |
11:25:24 | Salewski | Great, I am really happy that you test it! |
11:25:32 | Araq | and while I can think about how to do things, I generally prefer to think about more pressing things |
11:26:08 | Araq | and NEd is interesting enough to tinker with it in its own right |
11:27:20 | Salewski | Yes I really like NEd, but I know that you have your own editor nimed, and manny people seems to like VSCode or similar. |
11:28:16 | Araq | well if tinkering with it would be easier I could port some of my NimEdit features to it |
11:29:28 | Salewski | For NEd the fact is that it is GTK3, and people who hate GTK3 will never be happy with it. |
11:30:46 | Araq | yes, but many more people care about working software than what technologies it uses |
11:31:12 | Araq | and most new desktop apps are hidden fullblown webbrowsers |
11:31:21 | Araq | gtk3 is better than that at least. |
11:31:40 | Salewski | NEd is a minimal editor, so people willing to do some coding can fix bugs or add features. But NEd can not compare to tools like vim or VSCode. |
11:32:46 | Araq | rm: das Entfernen von 'resources.o' ist nicht möglich: Datei oder Verzeichnis nicht gefunden |
11:32:48 | Araq | XMLLINT not set and xmllint not found in path; skipping xml preprocessing. |
11:32:48 | Salewski | All what I read in Nim forum about GTK3 was very negative. |
11:32:49 | Araq | Package gtk+-3.0 was not found in the pkg-config search path. |
11:32:51 | Araq | Perhaps you should add the directory containing `gtk+-3.0.pc' |
11:32:52 | Araq | to the PKG_CONFIG_PATH environment variable |
11:32:54 | Araq | No package 'gtk+-3.0' found |
11:32:55 | * | vlad1777d joined #nim |
11:32:55 | Araq | resources.c:1:21: fatal error: gio/gio.h: Datei oder Verzeichnis nicht gefunden |
11:32:57 | Araq | compilation terminated. |
11:33:07 | * | yglukhov joined #nim |
11:33:11 | * | yglukhov quit (Remote host closed the connection) |
11:34:09 | * | yglukhov joined #nim |
11:34:33 | Araq | and yet you spend time on it. Don't do what other people think. Do what I tell you to do. |
11:34:40 | Araq | ;-) |
11:35:05 | Salewski | Yes, will do. |
11:35:20 | Araq | what's the above error message? |
11:35:26 | Araq | how do I fix it? |
11:35:29 | * | stisa joined #nim |
11:36:31 | Salewski | Have to investigate it. So nim-chess compiles fine for you, but NEd not? Strange. |
11:37:48 | Salewski | Of course for NEd you needs gtksourceview, which may be separate package from other GTK3. But message seems not to indicate that problem. |
11:39:03 | Salewski | Mr Krux has installed Ned successfully, so it should work. |
11:40:28 | * | irrequietus quit (Ping timeout: 245 seconds) |
11:40:44 | Salewski | Araq, to install NEd you have to run the script "bash make_it"! |
11:41:09 | Salewski | nim c ned.nim will not wotk! |
11:41:17 | Araq | that is what is producing this error |
11:41:18 | * | gokr quit (Ping timeout: 245 seconds) |
11:42:04 | Salewski | Which GTK3 version do you have installed? |
11:43:04 | Salewski | And you can compile and install other GTK3 software? |
11:43:15 | * | pregressive joined #nim |
11:43:30 | vlad1777d | I had errors with NED too, but with gtksourceview. |
11:43:55 | vlad1777d | You can correct the filename in gio.nim |
11:44:05 | Salewski | I am using Gentoo, which compiles all from source, so missing developer files are no problem. For Ubuntu it may be a bit different. |
11:44:07 | Araq | gcc -O2 -c `pkg-config --libs --cflags gtk+-3.0` resources.c |
11:44:14 | Araq | fails for me |
11:44:33 | Araq | vlad1777d: doesn't seem to be my issue |
11:46:22 | * | [ui] quit (Quit: Connection closed for inactivity) |
11:47:59 | Araq | Salewski: 3.18.9-1ubuntu3.1 |
11:48:29 | Salewski | Araq, please see script make_it, there is a line commented out with gmodule-export-2.0, please try that. |
11:48:52 | * | pregressive quit (Ping timeout: 256 seconds) |
11:49:13 | Salewski | Indeed I had a very hard time to get that script working, did a lot google search... |
11:50:10 | vlad1777d | Araq, header files are in -dev package, have you installed it? |
11:50:31 | Araq | "Perhaps you should add the directory containing `gtk+-3.0.pc' |
11:50:33 | Araq | to the PKG_CONFIG_PATH environment variable" |
11:50:37 | Araq | Salewski: same problem |
11:50:59 | vlad1777d | I use linux mint with the same version of GTK from Ubuntu Xenial, it compiled well. |
11:51:42 | Araq | I don't know, synaptic know no libgtk3 package to begin with |
11:52:05 | Salewski | Araq, I am really sorry that I am wasting your time. I will try to find a solution, it may take some time... |
11:52:36 | * | gangstacat quit (Quit: Ĝis) |
11:53:28 | vlad1777d | Araq, apt install libgtk-3-dev |
11:55:15 | Araq | vlad1777d: that's it, thanks :-) |
11:55:26 | Salewski | Great! |
11:55:56 | vlad1777d | The one problem I see - libgtk-3-dev has no gio.h inside |
11:56:02 | vlad1777d | libglib2.0-dev has |
11:56:13 | vlad1777d | But all that compiled for me today |
11:57:41 | vlad1777d | And Ned does not highlight syntax with my version of gtksourceview. Or I cannot turn it on. |
11:58:01 | vlad1777d | I use Atom now. |
11:58:27 | FromGitter | <nigredo-tori> @Araq, does documentation mention the fact that instantiations of the same generic type (not an alias) are compared structurally, rather than by type argument lists? E.g. ⏎ ⏎ ```type F[A] = object ⏎ echo F[int] is F[string] # This is true``` ⏎ ⏎ Manual section on type equality doesn't mention generics at all. [https://gitter.im/nim-lang/Nim?at=58591ce37a3f79ef5d7c139e] |
11:58:45 | Salewski | Yes, Kruxx told us. We have to do: |
11:59:06 | Salewski | cp nimdark1.xml /usr/share/gtksourceview-3.0/styles/ |
11:59:27 | Salewski | cp nim.lang /usr/share/gtksourceview-3.0/language-specs/ |
12:00:08 | vlad1777d | Salewski, thank you =) |
12:00:16 | Salewski | As root. I am not sure about destination directories, you have to see where the other files live. |
12:00:24 | Araq | nigredo-tori: that is what the compiler does but with the 'sighashes' branch we can do it differently |
12:00:58 | Araq | I think we shouldn't document this, but instead change it and then document it |
12:01:05 | vlad1777d | Ok, I'll find, I thought that it does not work because of version incompatibility, but if it's missing style file - I'll correct it. |
12:01:15 | Salewski | I have already asked at gtk list for better solutions and got a few answers, will update instructions soon. |
12:01:18 | FromGitter | <nigredo-tori> @Araq, thanks for the tip, I'll take a look at sighashes. |
12:01:38 | Araq | no need to look into it, I'm merging it now |
12:01:48 | Araq | since all my tests work with it, including GTK3 |
12:02:41 | vlad1777d | Salewski, I cannot use Ned now because there are no tabs, I need to edit several files, but when there is lack of free space on screen - I cannot do this. |
12:03:08 | * | stisa quit (Remote host closed the connection) |
12:03:10 | vlad1777d | So for now I'll use Atom (Aporia highlights tabs with red color, it's very disturbing) |
12:03:18 | Salewski | There are tabs of course! |
12:03:32 | vlad1777d | Maybe I'll get used with Nim and will correct all this |
12:04:15 | vlad1777d | Salewski, but how to open it? |
12:04:45 | Salewski | Just open a new file, it will show up inn new tab. And tiled view horizontal and vertical is great, including viewing same file in two views! |
12:05:29 | Salewski | You see all that in the picture in the manual. |
12:05:52 | vlad1777d | Salewski, thank you =) I had not thought about it ) |
12:06:39 | vlad1777d | I got used to Xed's (old Gedit's) style, there was a button for this. Here it was absent - I thought that it's impossible to use tabs |
12:08:11 | Salewski | And open the preferences menu -- you can hide tabs, hide scrollbars, show line numbers and much more. All what I need. Well not really, for some stuff I may use vim. |
12:10:24 | vlad1777d | Strange, but there is no preferences menu with this... https://pp.vk.me/c638428/v638428447/15465/6yzkzG2KPR4.jpg |
12:12:28 | Salewski | Preferences Menu is not in NEd window, but on top of the screen! |
12:13:00 | Salewski | That location is used by all GTK3 programs for preferences! |
12:14:26 | Salewski | At least when you are using Gnome shell windows manager. It may be different for other window managers or KDE desktop. |
12:15:09 | Salewski | See where other GTK3 programs have preferences menu. |
12:15:53 | * | bjz joined #nim |
12:16:48 | Araq | top of the screen menus are bullshit, thanks OSX. |
12:17:46 | * | bjz_ quit (Ping timeout: 256 seconds) |
12:17:52 | * | gangstacat joined #nim |
12:17:55 | Araq | it makes no sense whatsoever, why even have overlapping windows then. |
12:18:38 | vlad1777d | I did not understood nothing =) |
12:18:51 | vlad1777d | On which top of screen =) |
12:19:07 | Salewski | Yes, I do not like the whole App style too much. But the preferences Menu is not that bad, it is not needed often. |
12:19:15 | vlad1777d | All gtk applications have preferences or in Edit > preferences |
12:19:31 | vlad1777d | Or in some other button |
12:19:32 | Salewski | Wait a moment, I will give you a link vlad |
12:19:42 | vlad1777d | thank you, ok |
12:21:28 | * | circ-user-AmuXL joined #nim |
12:21:50 | Salewski | https://developer.gnome.org/gtk3/stable/ch01s04.html#id-1.2.3.12.5 |
12:22:42 | * | circ-user-AmuXL is now known as _alexr_ |
12:22:52 | Salewski | Below the middle of that page there is a picture showing the top on screen menu. At the bottom there is a picture for fallback. |
12:23:31 | vlad1777d | I understood |
12:24:26 | * | chemist69 quit (Ping timeout: 246 seconds) |
12:24:37 | vlad1777d | Seems like Cinnamon does not have such function =) https://pp.vk.me/c638428/v638428447/1546e/AwjtwV0DhYw.jpg |
12:25:05 | * | chemist69 joined #nim |
12:25:05 | * | irrequietus joined #nim |
12:25:27 | vlad1777d | In popup menu in window list there are only actions with window (move it to other area, close, maximize) |
12:25:46 | vlad1777d | etc |
12:25:57 | vlad1777d | But I understood ) |
12:26:05 | Salewski | VLad, you have to investigate where other GTK3 tools like gedit have preferences menu. |
12:26:46 | * | _alexr_ quit (Remote host closed the connection) |
12:27:46 | Araq | bbl |
12:29:39 | vlad1777d | I understood what you mean. Cinnamon does not support this. All other apps have preferences available from buttons (mnemonics): https://pp.vk.me/c638428/v638428447/1547b/iJ5tf9bOVfE.jpg https://pp.vk.me/c638428/v638428447/15484/qS2zldxrfUE.jpg https://pp.vk.me/c638428/v638428447/1548d/_QJZAh08yRA.jpg |
12:30:21 | vlad1777d | Cinnamon provides more "traditional" way for working with apps |
12:37:50 | Salewski | VLad, try gedit. It must have app menu with preferences somewhere! |
12:39:21 | vlad1777d | ok, I'll install it |
12:41:31 | vlad1777d | It has preferences in properties > preferences: https://pp.vk.me/c638428/v638428447/15496/5vcXngWxNO4.jpg |
12:42:53 | * | ftsf_ quit (Quit: :q!) |
12:43:07 | vlad1777d | =) I understood. When I'll be on Gnome, I'll try Ned with preferences |
12:43:28 | vlad1777d | Cinnamon does not support this menus. |
12:45:50 | Salewski | Your gedit screenshot looks very different from real gedit of gnome3. May your cinnamon still using GTK2? |
12:46:45 | vlad1777d | heh, no, My Linux Mint 18 uses Gtk 3.18, in next Linux Mint 18.1, as I understood, will be Gtk 3.20 |
12:46:48 | Salewski | There should really be a way to activate the app menu in Cinnamon, but I can not find it yet. |
12:46:58 | vlad1777d | =) |
12:47:44 | Salewski | Maybe Cinnamon has patched all the GTK3 apps. But that would be strange. |
12:47:58 | vlad1777d | Maybe they'll make windowlist.js applet with support of such preferences soon ) |
12:48:29 | vlad1777d | Maybe they patched some of them. I know that they patched terminal |
12:48:41 | vlad1777d | But not system monitor and gedit |
12:51:06 | Salewski | Of course I can provide a keyboard shortcut to open preferences, when it is really a problem for Cinnamon. I have to investigate that. |
12:51:35 | * | Arrrr quit (Quit: WeeChat 1.5) |
12:51:42 | Salewski | Have to do some work, bye... |
12:51:48 | * | Salewski left #nim (#nim) |
12:52:52 | vlad1777d | bye ) |
12:58:57 | * | stisa joined #nim |
13:00:16 | FromGitter | <dom96> > but it is just very slow at first to be able to do something in the compiler ⏎ ⏎ ⏎ @andreaferretti While the compiler is very important, it's not the only thing people could be helping out with. Nimble, NimForum, a website for Nimble packages are just some ideas. [https://gitter.im/nim-lang/Nim?at=58592b5fe7bdfe4e2978f549] |
13:00:35 | vlad1777d | Where can I read about stack and heap difference ? |
13:02:49 | flyx | vlad1777d: in general, or specific to Nim? |
13:03:16 | vlad1777d | flyx, maybe both =) |
13:03:24 | vlad1777d | better specific to Nim |
13:05:29 | flyx | well the concept is the same in all programming languages |
13:05:40 | flyx | well, unless they abstract it away |
13:06:21 | vlad1777d | I want to know, how to make objects create in the heap, how on stack |
13:06:40 | vlad1777d | because seems I created all objects in stack, they're untraced |
13:07:00 | flyx | there is no need for tracing if objects are on the stack |
13:08:21 | vlad1777d | But will they be automatically removed with garbage collector? |
13:08:44 | flyx | no, there's no need. they will vanish when their stack frame is left |
13:09:23 | vlad1777d | and can I create reference to them ? |
13:09:35 | vlad1777d | I read that references point to objects in heap |
13:09:53 | flyx | yes, they do, and no, you cannot create a reference to stack objects |
13:10:27 | vlad1777d | thank you |
13:11:18 | * | stisa quit (Ping timeout: 245 seconds) |
13:11:26 | flyx | here's a good SO on the general topic: http://stackoverflow.com/questions/79923/what-and-where-are-the-stack-and-heap |
13:13:44 | vlad1777d | thank you very much ) |
13:15:26 | * | gokr joined #nim |
13:18:37 | * | mjanssen joined #nim |
13:20:26 | mjanssen | I am having problems building nim from source using Mingw64. http://pastebin.com/6k1c1E4q any ideas? |
13:30:08 | * | stisa joined #nim |
13:55:26 | Araq | mjanssen: never saw that error before but it looks like header files disagree about select? |
13:58:43 | mjanssen | Araq: looks like it. Seems to be an issue with 64 bit only. Will try with a clean mingw install |
14:03:49 | mjanssen | ok false alarm, was using 32 bit headers with 64 bit gcc. Mingw installation error |
14:13:05 | federico3 | are non-comments ignored by the syntax parser? Any way around it? |
14:14:24 | Araq | non-comments ignored, what? |
14:18:45 | federico3 | ahem, sorry, non-documentation comments: # foo (instead of ## foo) |
14:25:26 | * | Salewski joined #nim |
14:26:50 | Salewski | VLad, your problem with missing application menu in Cinnamon seems to be confirmed, see https://mail.gnome.org/archives/gtk-list/2016-December/msg00048.html |
14:27:18 | Salewski | I will see how I can better support Cinnamon. |
14:27:59 | Salewski | Bye. |
14:30:53 | * | Salewski left #nim (#nim) |
14:40:14 | * | chemist69 quit (Ping timeout: 246 seconds) |
14:43:06 | * | gokr quit (Read error: Connection reset by peer) |
14:44:48 | * | chemist69 joined #nim |
14:47:25 | Araq | federico3: there is no way around it. they used to be part of the AST but people complained about the rigid commenting rules |
14:50:15 | federico3 | pity, I was using parser+generator as a linter. It works with everything else but it's removing comments |
14:51:45 | Araq | what is parser+generator? |
14:51:56 | Araq | what kind of linter? what about 'nim check'? |
14:53:36 | Araq | ah you mean parser+renderer |
14:54:18 | Araq | checkout the 'nimfix' tool please |
14:54:20 | federico3 | it currently uses the compiler's parser and the renderer but I could switch the latter to a different implementation to do more mangling |
14:54:40 | federico3 | nimfix? |
14:55:02 | federico3 | found it |
14:56:13 | federico3 | thanks Araq |
14:57:53 | Araq | it needs to be patched to use the latest compiler version |
15:00:18 | Araq | there you go. |
15:27:49 | * | stisa quit (Ping timeout: 260 seconds) |
15:28:17 | * | marchelzo joined #nim |
15:28:22 | * | stisa joined #nim |
15:31:44 | * | subsetpark joined #nim |
15:32:36 | * | stisa quit (Ping timeout: 240 seconds) |
15:39:51 | * | pregressive joined #nim |
15:44:14 | vlad1777d | I have some questions. 1. I declared variable: "var x: myTypeObjec", it's placed in Stack with "nil" values, right? |
15:45:05 | vlad1777d | 2. If I'll make "x = new(val1 = 's', val2 = 323)", than will it be removed from stack and placed to heap ? |
15:50:04 | euantor | Is myTypeObjec an object or an object ref? |
15:50:06 | FromGitter | <andreaferretti> no, it doesn't work like that |
15:50:25 | FromGitter | <andreaferretti> the fact that a value lives in the heap is tracked in the type |
15:50:43 | FromGitter | <andreaferretti> if type myTypeObject = ref something |
15:50:51 | FromGitter | <andreaferretti> then myTypeObject is a reference type |
15:50:59 | FromGitter | <andreaferretti> and x lives in the heap |
15:51:07 | FromGitter | <andreaferretti> otherwise, on the stack |
15:51:35 | FromGitter | <andreaferretti> the `new` operator, for reference types, allocates the relevant space in the heap |
15:52:29 | FromGitter | <andreaferretti> If you see here |
15:52:30 | FromGitter | <andreaferretti> http://nim-lang.org/docs/system.html#new,ref.T |
15:52:41 | FromGitter | <andreaferretti> `new` only exists for reference types |
15:53:33 | FromGitter | <andreaferretti> for a reference type, when you write `x: myTypeObject`, x is initialized to a nil pointer |
15:54:09 | FromGitter | <andreaferretti> when you use `new`, x points to an area of the heap where there is room to write the content of x |
15:59:59 | * | stisa joined #nim |
16:09:32 | * | stisa quit (Ping timeout: 268 seconds) |
16:13:19 | * | dddddd joined #nim |
16:17:17 | vlad1777d | auantor, object |
16:19:12 | * | PMunch joined #nim |
16:20:31 | vlad1777d | oh, I errored, euantor =) |
16:30:04 | * | pregressive quit (Remote host closed the connection) |
16:30:40 | * | pregressive joined #nim |
16:35:02 | * | pregressive quit (Ping timeout: 256 seconds) |
16:40:44 | * | yglukhov_ joined #nim |
16:41:12 | * | Andris_zbx quit (Remote host closed the connection) |
16:44:17 | * | yglukhov quit (Ping timeout: 240 seconds) |
16:44:50 | * | yglukhov_ quit (Ping timeout: 246 seconds) |
16:50:47 | * | yglukhov joined #nim |
16:55:10 | * | yglukhov quit (Ping timeout: 268 seconds) |
16:58:52 | * | yglukhov joined #nim |
17:01:45 | * | pregressive joined #nim |
17:02:04 | * | brson joined #nim |
17:03:05 | * | yglukhov quit (Ping timeout: 258 seconds) |
17:08:27 | * | Trustable joined #nim |
17:11:03 | * | space-wizard joined #nim |
17:11:57 | * | rokups quit (Quit: Connection closed for inactivity) |
17:33:13 | * | yeeve quit (Remote host closed the connection) |
17:38:38 | * | pie_ joined #nim |
17:49:25 | * | space-wizard quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
17:49:46 | * | space-wizard joined #nim |
17:50:12 | * | space-wizard quit (Client Quit) |
17:50:34 | * | space-wizard joined #nim |
17:51:00 | * | space-wizard quit (Client Quit) |
17:51:23 | * | space-wizard joined #nim |
17:51:48 | * | space-wizard quit (Client Quit) |
17:52:11 | * | space-wizard joined #nim |
17:52:36 | * | space-wizard quit (Client Quit) |
17:52:58 | * | space-wizard joined #nim |
17:53:24 | * | space-wizard quit (Client Quit) |
17:53:47 | * | space-wizard joined #nim |
17:54:12 | * | space-wizard quit (Client Quit) |
17:54:35 | * | space-wizard joined #nim |
17:55:00 | * | space-wizard quit (Client Quit) |
17:55:23 | * | space-wizard joined #nim |
17:55:48 | * | space-wizard quit (Client Quit) |
17:56:10 | * | space-wizard joined #nim |
17:56:36 | * | space-wizard quit (Client Quit) |
17:56:58 | * | space-wizard joined #nim |
17:57:24 | * | space-wizard quit (Client Quit) |
17:57:46 | * | space-wizard joined #nim |
17:57:49 | * | yglukhov joined #nim |
17:58:12 | * | space-wizard quit (Client Quit) |
17:58:35 | * | space-wizard joined #nim |
17:59:00 | * | space-wizard quit (Client Quit) |
17:59:10 | dom96 | Araq: why was 'map' renamed to 'apply'? |
17:59:52 | FromGitter | <andreaferretti> uh? when did it happen? |
18:02:08 | * | yglukhov quit (Ping timeout: 258 seconds) |
18:03:06 | dom96 | oh wait |
18:03:11 | dom96 | 'apply' is in-place |
18:03:15 | dom96 | map returns a new seq |
18:03:24 | dom96 | that's cool |
18:03:39 | Araq | good |
18:03:49 | * | Trustable quit (Remote host closed the connection) |
18:09:31 | dom96 | andreaferretti: is andreaTP your colleague? |
18:12:37 | Araq | now there is some action here, can we decide on an import syntax quickly? |
18:12:47 | Araq | import compiler/foo, compiler/bar, compiler/baz is annoying |
18:12:53 | dom96 | indeed |
18:13:02 | Araq | import compiler[foo, bar, baz] # proposal |
18:13:19 | dom96 | import compiler/[foo, bar, baz] |
18:13:35 | dom96 | or import compiler/(foo, bar, baz) |
18:13:42 | dom96 | or import compiler/{foo, bar, baz} |
18:13:46 | dom96 | or import compiler.[foo, bar, baz] |
18:13:47 | dom96 | etc |
18:15:28 | dom96 | I wouldn't be surprised if there is an issue for this, I suggested this since Nimble's inception :P |
18:20:11 | Araq | I still want foo.bar to be different from foo/bar |
18:20:53 | Araq | but that ship has sailed I guess -.- |
18:21:22 | Araq | it suggests we like to keep the '/' in there though |
18:21:50 | Araq | import compiler/{foo, bar, baz} |
18:23:05 | * | confundus joined #nim |
18:24:12 | Araq | import compiler/[foo, bar, baz] |
18:24:20 | dom96 | different in what way? |
18:24:42 | Araq | different semantics: foo/bar # import bar from foo directory |
18:24:52 | Araq | foo.bar # import bar from foo *package* |
18:25:38 | Araq | plus some mechanism to tell the compiler how to find package foo |
18:25:54 | vlad1777d | maybe it would be good to make: "from compiler import foo, bar, baz" |
18:26:06 | Araq | that already means something else |
18:27:07 | vlad1777d | I mean that to use some word to specify directory, than to write import and names with comma |
18:27:24 | vlad1777d | Because that slash\scopes looks not very clear and implicit |
18:28:33 | Araq | slashes give you the right idea though, it's about paths |
18:29:42 | dom96 | Araq: directories and packages are already conflated |
18:30:08 | dom96 | plus, you can't write: compiler/foo/bar.func() |
18:32:09 | * | Matthias247 joined #nim |
18:32:20 | * | rokups joined #nim |
18:32:58 | Araq | yeah |
18:33:31 | Araq | let's just go with import compiler/[foo, bar, baz] |
18:34:32 | dom96 | and import compiler.[foo, bar, baz] |
18:34:58 | Araq | why? |
18:35:08 | dom96 | also, wouldn't {} make more sense, since the directories have to be unique? :) |
18:35:30 | Araq | the dot is much harder to support, that would require a grammar/parser change |
18:35:30 | dom96 | because I can write either 'import compiler/foo' or 'import compiler.foo' right now AFAIK |
18:35:42 | vlad1777d | that's Perl-way =) |
18:35:47 | Araq | yes but 'import compiler.foo' should go away |
18:36:50 | * | space-wizard joined #nim |
18:37:27 | vlad1777d | maybe to think about word to specify directory from where import modules ?) It's your task and thought, but for me, as for Python user it would be much better to understand ) |
18:37:44 | dom96 | Araq: But then it's not consistent with writing 'compiler.foo.blah()' in code |
18:38:10 | dom96 | but maybe that's okay? |
18:41:04 | Araq | you cannot write compiler.foo.blah() |
18:42:00 | Araq | there is no notion of <directory>.<module>.name in the compiler, it's just a special case in 'import' |
18:42:00 | dom96 | vlad1777d: what syntax would you suggest? :) |
18:42:38 | Araq | dom96: I'd argue that a list of modules follows, not a 'set' |
18:42:42 | dom96 | Araq: hrm, you can write that in Python though |
18:42:47 | vlad1777d | dom96, some_word_instead_of_from_which_is_busy compiler import foo, bar, baz |
18:43:11 | Araq | Python maps directories to Python identifiers via some mechanism that escapes me |
18:43:14 | Araq | we don't. |
18:43:18 | dom96 | vlad1777d: finding that word is the difficult part :) |
18:43:35 | dom96 | Araq: why don't we? |
18:43:45 | Araq | existance of an __init__.py file within the dir or something. |
18:43:51 | vlad1777d | dom96, but it would be better by result.. |
18:44:05 | Araq | because I find Python's import mechanism an abomination |
18:44:22 | dom96 | Araq: and we instead have existence of a .nimble file :P |
18:44:26 | vlad1777d | + for Python's import mechanism is bad |
18:44:33 | dom96 | and yet it's even more subtle for us |
18:44:41 | vlad1777d | maybe to change from to using |
18:44:42 | Araq | never worked for me and the "easy" packages choose a single Python file distribution |
18:44:58 | dom96 | because this .nimble file isn't required, until our compilation starts failing because there are two modules with the same name |
18:45:18 | vlad1777d | "using" keyword is used in many languages for that purposes, for which it's used in Nim and Python now |
18:45:33 | vlad1777d | (for example, in C#) |
18:45:43 | Araq | that's a nice feature, dom96. package.module.symbol SHOULD be unique |
18:46:21 | Araq | I don't want to live in your world of "everything is more elegant when it has the same name" |
18:47:16 | dom96 | shouldn't every directory be a package? |
18:47:36 | Araq | what kind of package is 'source'? |
18:48:27 | Araq | plus it causes other problems: /Users/araq/projects/nim/compiler/foo.nim |
18:48:45 | Araq | what is part of the relative path that we're interested in? |
18:49:10 | Araq | or should we base everything on absolute paths causing the builds to be completely path dependent? |
18:50:27 | * | confundus quit (Quit: leaving) |
18:51:53 | dom96 | I don't understand that problem unfortunately. |
18:52:43 | dom96 | The compiler has a list of paths, and you are always importing something from them. |
18:52:56 | dom96 | So let's say "/Users/araq/projects/nim/" is in your path |
18:53:07 | dom96 | You try to import "compiler/foo" and it works |
18:55:02 | * | chemist69 quit (Ping timeout: 258 seconds) |
18:59:25 | vlad1777d | as for me, if "using compiler import foo" will specify what to use without explict full qualification, and "from compiler import foo, bar, other" will import foo, bar, other from compiler |
18:59:47 | vlad1777d | will be better ) |
19:00:14 | vlad1777d | but I agree with your opinion - you have more experience |
19:03:55 | Araq | dom96: we need to generate code. something like modulenameInit() |
19:04:17 | Araq | but oh, that's not unique so we use package_modulenameInit() |
19:04:46 | Araq | now if package is not unique either the name needs to be full_path_to_moduleInit() |
19:05:11 | Araq | but that's an absolute path encoded here, bad for all kind of reasons |
19:05:30 | Araq | for example: we have tests that check the produced C code |
19:05:48 | Araq | now that C code depends on the full path. which can differ from test machine to test machine... |
19:12:58 | * | [ui] joined #nim |
19:13:18 | dom96 | so the only reason is because of tests? |
19:13:20 | * | chemist69 joined #nim |
19:13:37 | dom96 | surely you can improve the tests to take this into account |
19:15:36 | Araq | that's just one example. |
19:15:54 | Araq | you can have your 'nimcache' on a shared server |
19:16:55 | Araq | generated code should not depend on absolute paths. |
19:20:18 | dom96 | okay, so why is an absolute path necessary? |
19:20:43 | Araq | well with the current setup, it isn't. |
19:20:43 | dom96 | You've got `import compiler/foo` in the source code, `compiler/foo` is unique |
19:20:52 | Araq | it is with your proposal. |
19:21:04 | Araq | no, 'compiler/foo' is ambiguous. |
19:21:24 | Araq | first interpretation is relative to the file it was written in. |
19:22:08 | * | space-wizard quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
19:22:21 | Araq | 'compiler/foo' can exist in lots of different Nimble packages |
19:26:26 | dom96 | Okay, I get it. |
19:27:22 | dom96 | The question is, how do other languages solve it? |
19:30:08 | * | pie_ quit (Ping timeout: 256 seconds) |
19:31:20 | Araq | I don't know what's so bad about "unique name per nimble package" |
19:32:45 | dom96 | the need to create a .nimble file is not ideal |
19:33:33 | dom96 | The problem is that it's not immediately obvious that it's necessary |
19:34:59 | dom96 | Nimble enforcing these files does solve it |
19:37:52 | Araq | the compiler gives a nice error message for this nowadays |
19:38:18 | Araq | (ignoring the reported module rename bug that the compiler doesn't catch yet) |
19:39:09 | Araq | in Python you need to create an __init__.py file instead. |
20:02:15 | * | yglukhov joined #nim |
20:04:02 | * | djellemah_ joined #nim |
20:06:16 | * | djellemah quit (Disconnected by services) |
20:06:19 | * | djellemah_ is now known as djellemah |
20:17:14 | * | yglukhov quit (Remote host closed the connection) |
20:17:50 | * | yglukhov joined #nim |
20:18:37 | * | abeaumont quit (Ping timeout: 265 seconds) |
20:21:56 | * | yglukhov quit (Ping timeout: 240 seconds) |
20:32:08 | * | derlafff quit (Remote host closed the connection) |
20:38:55 | * | brson quit (Ping timeout: 258 seconds) |
20:42:00 | * | derlafff joined #nim |
20:50:16 | * | yglukhov joined #nim |
20:51:57 | * | rokups quit (Quit: Connection closed for inactivity) |
20:54:27 | * | brson joined #nim |
20:55:51 | renesac_ | when I use --passL:"-static" to compile my program, it will crash with SIGSEGV immediatedly uppon launching in my system, but will run fine in a remote one with a different glib |
20:56:20 | renesac_ | if I don't use that flag, it will run perfectly in my system, but not run in the remote one |
20:57:57 | renesac_ | when compiling with that flag I get: ~/nimcache/stdlib_system.o: In function `nimLoadLibrary': |
20:57:58 | renesac_ | stdlib_system.c:(.text+0x732a): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking |
20:58:16 | renesac_ | any idea? |
21:04:23 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
21:14:12 | Araq | renesac_: I don't know about -static but I would try muslimC for static linking |
21:14:32 | Araq | musl, or whatever, can never remember its name |
21:14:51 | renesac_ | ok, I read that just by passing that it would link the glibc, and I didn't care about the binary size |
21:15:07 | renesac_ | but I may use one of those mini libcs |
21:16:16 | * | irrequietus quit () |
21:16:23 | * | [ui] quit (Quit: Connection closed for inactivity) |
21:16:26 | marchelzo | muslimC haha |
21:16:51 | marchelzo | someone should make a libc called muslim |
21:18:27 | marchelzo | Araq: it's pronounced like "muscle" or "mussel". That should help you remember. |
21:21:24 | Araq | I don't want to remember. I want my life back. :P |
21:25:15 | * | shodan45 joined #nim |
21:25:50 | * | bjz joined #nim |
21:31:04 | Araq | ping yglukhov |
21:31:12 | yglukhov | зong |
21:31:17 | yglukhov | *pong |
21:31:50 | yglukhov | Araq |
21:31:53 | Araq | about https://github.com/nim-lang/Nim/issues/5131 |
21:32:24 | Araq | it's hard to ensure backwards compatibility with getType() |
21:33:04 | Araq | the API is fundamentally flawed, can't you use the new API instead? |
21:33:39 | yglukhov | Araq: I'm fine if you say i misused the API and there should be a way to achieve what i want. |
21:34:25 | yglukhov | i mean, in this particular case i dont mind if its a breaking change for the sake of correctness or smth. |
21:35:19 | yglukhov | what do you mean by the "new api"? did i miss anything? |
21:35:59 | Araq | getTypeImpl, getTypeInst |
21:37:37 | yglukhov | oh. interesting... |
21:38:10 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
21:38:42 | Araq | oh well, I think I fixed it. |
21:38:53 | Araq | still: a pita to maintain this strange thing |
21:39:47 | yglukhov | np, i'll rewrite my code to whatever api you suggest. just would be nice to have a couple of days to do that ;) |
21:39:48 | * | ryshys joined #nim |
21:39:54 | * | ryshys left #nim (#nim) |
21:40:23 | yglukhov | so if you can fix it easily - would be cool. if not - oh well... |
21:40:34 | Araq | the output of your example is just "vec2", right? |
21:44:00 | Araq | fixed. Someday I will rewrite it though. Now that we have a better type system internally we can do that :-) |
21:45:14 | yglukhov | yep, the output should be "vec2" |
21:45:40 | yglukhov | thanks, let me try it |
21:46:43 | * | byte512 quit (Ping timeout: 245 seconds) |
21:48:37 | * | yglukhov quit () |
21:51:11 | * | yglukhov joined #nim |
21:52:11 | vlad1777d | I have some questions. 1. I declared variable: "var x: myTypeObjec", it's placed in Stack with "nil" values, right? |
21:52:29 | vlad1777d | 2. If I'll make "x = new(val1 = 's', val2 = 323)", than will it be removed from stack and placed to heap ? |
21:52:41 | vlad1777d | I would be grateful for the answer on them ) |
21:53:34 | vlad1777d | Ah, I forgot. 3. In C++ data created on the heap will be pointed to by pointers and allocated with new or malloc. Is it right for Nim ? |
21:56:17 | * | Trustable joined #nim |
22:03:33 | renesac_ | vlad1777d: I'm not 100% sure but: |
22:03:50 | renesac_ | 1. you will have a nil pointer on the stack |
22:04:25 | renesac_ | 2. that don't seems valid nim code, but a constructor for such ref object would allocate the space on the heap and populate it |
22:05:07 | renesac_ | 3. something like that, but I'm not sure what is your doubt |
22:06:23 | renesac_ | the first answer assumes it is a ref object |
22:06:44 | vlad1777d | renesac_, thanks you, the first was the most important |
22:07:13 | vlad1777d | Yes, in second I errored, I meant "x = myType1(val1 = 's')" |
22:09:18 | yglukhov | Araq, well the getType thing might be fix (it compiles), but now the program crashes, so there's another regression i guess.. |
22:10:43 | yglukhov | the crash is in SDL_GL_CreateContext, which is foreign. any clues? |
22:11:00 | * | nsf quit (Quit: WeeChat 1.6) |
22:11:24 | yglukhov | I'm trying to diff the C sources, but I see you've merged your new mangling rules..... |
22:16:16 | yglukhov | apart from mangling, the relevant chunks of code dont differ much. |
22:30:57 | Araq | yglukhov: type info generation changed |
22:31:56 | yglukhov | hrm.. any clues how that should matter in this case? |
22:32:25 | Araq | I have a tool for diffing btw |
22:33:51 | Araq | https://gist.github.com/Araq/7ae88f36e09c3d2b0c0bda3fdc254e30 |
22:34:10 | Araq | that's what I used to debug the new codegen :-| |
22:34:27 | yglukhov | cool! |
22:34:45 | yglukhov | so i use it on the new code to get the old code, right? |
22:35:29 | Araq | it strips the suffixes, you pass a backup filename extension |
22:35:42 | Araq | nimdiff .devel |
22:35:46 | Araq | nimdiff .sighashes |
22:36:04 | Araq | and then you use WinMerge for a nice UI |
22:36:12 | Araq | or some inferior tool on OSX |
22:36:14 | Araq | :P |
22:36:22 | yglukhov | ah ok |
22:36:27 | yglukhov | lets see |
22:37:02 | Araq | if you can give me access to the project I can look into it |
22:37:20 | Araq | it's a pita to debug if you don't know what to look for |
22:38:36 | yglukhov | nimx =) |
22:39:58 | Araq | what test to run? |
22:43:44 | yglukhov | Araq: cd test && nake |
22:44:18 | yglukhov | Araq: i tried to launch it with nim, and it didnt crash |
22:45:08 | yglukhov | maybe i should do some more experiments. but the behavior definitely depends on nim version. |
22:52:38 | Araq | Compiling nakefile... |
22:52:40 | Araq | No task specified, running default task defined by nakefile. |
22:52:42 | Araq | Warning: icon was not found: build\windows\res\MyGame.ico |
22:52:43 | Araq | Traceback (most recent call last) |
22:52:45 | Araq | nake.nim(90) moduleHook |
22:52:46 | Araq | nakelib.nim(260) runTask |
22:52:47 | Araq | naketools.nim(874) :anonymous |
22:52:49 | Araq | naketools.nim(753) build |
22:52:51 | Araq | naketools.nim(527) nimbleOverrideFlags |
22:52:52 | Araq | naketools.nim(255) nimblePath |
22:52:53 | Araq | osproc.nim(1250) execCmdEx |
22:52:55 | Araq | osproc.nim(566) startProcess |
22:52:56 | Araq | os.nim(153) raiseOSError |
22:54:33 | yglukhov | Araq: reduced to nim only: nim c -r --threads:on --noMain -d:SDLStatic --passL:-lSDL2 main.nim |
22:54:40 | * | krux02 joined #nim |
22:55:19 | yglukhov | the key is that we're using "native" linkage with SDL2 instead of Nim's dylinker |
22:56:24 | yglukhov | compiling with Nim's dylinker makes this problem disappear. |
22:57:20 | yglukhov | and soon after that i see the next problem =) damn its a long chain... |
23:00:58 | krux02 | yglukhov: programming is hard, it's a marathon |
23:01:39 | * | nsf joined #nim |
23:08:10 | yglukhov | Araq: so another regression is that drawing is that some elements (fonts, images, smth that uses paths along the way?) are not drawing. if you run "nim c -r --threads:on --noMain main.nim" you will be able to compile and run nimx with both nim devel and 9099fdd8f02b83670ae0ca8a5e434499c56c9904, but devel introduces this drawing bug |
23:08:32 | yglukhov | ahh, sorry for the typos... |
23:09:15 | yglukhov | i feel like i need to better track down those bugs for you, do i? |
23:10:16 | Araq | well I get some other stack traces on linux |
23:10:39 | Araq | Exception caught: over- or underflow. |
23:10:49 | Araq | ... |
23:10:51 | Araq | font.nim(144) bakeChars |
23:10:53 | Araq | stb_ttf_glyph_provider.nim(70) bakeChars |
23:10:54 | Araq | system.nim(2562) sysFatal |
23:11:16 | Araq | a smaller example would surely be nice |
23:15:35 | yglukhov | Araq: thats interesting because stb_ttf_glyph_provider.nim(70) is as follows: let gh = y1 - y0 |
23:15:47 | yglukhov | where y1 and y0 are cint |
23:16:00 | yglukhov | do we have range checks for cints? |
23:18:17 | yglukhov | Araq: also i think SDL_GL_CreateContext could be pretty platform specific. got a mac nearby? |
23:23:06 | Araq | sure |
23:27:01 | yglukhov | Araq: ok sorry gotta go, will do some more testing tomorrow. |
23:27:08 | yglukhov | see you |
23:27:11 | Araq | bye |
23:27:11 | * | ftsf_ joined #nim |
23:27:19 | * | Matthias247 quit (Read error: Connection reset by peer) |
23:27:28 | * | yglukhov quit (Remote host closed the connection) |
23:30:05 | FromGitter | <zetashift> @dom96, will the Nim in Action book go on sale this holiday season I want to buy it but kinda poor at the moment |
23:31:16 | Araq | .nimble/pkgs/nimx-0.1/nimx/cursor.nim(70, 42) Error: undeclared identifier: 'SystemCursor' |
23:31:22 | * | Araq sighs |
23:31:43 | dom96 | zetashift: no idea i'm afraid |
23:33:08 | FromGitter | <zetashift> ah okay, I'll just save up some more thanks! |
23:42:35 | * | nsf quit (Quit: WeeChat 1.6) |
23:43:48 | * | yglukhov joined #nim |
23:48:21 | * | yglukhov quit (Ping timeout: 248 seconds) |
23:51:38 | * | Trustable quit (Remote host closed the connection) |