00:00:03 | skrylar | that would make the current gtk bindings more useful |
00:00:52 | Trixar_za | I know the feeling |
00:01:10 | skrylar | we could totally use tcl/tk or fltk \o/ |
00:01:14 | * | skrylar ducks |
00:01:14 | Trixar_za | Qt on the other hand is a dream |
00:01:18 | * | skyfex joined #nimrod |
00:01:20 | * | io2 quit () |
00:01:36 | Trixar_za | Well, unless you want to use QtWebKit |
00:01:47 | Trixar_za | Then it's an ugly ho |
00:02:10 | skrylar | i've never liked TCL; when i touched it, it didn't understand the concept of "strings which do not break out in to tcl code" for me |
00:02:23 | skrylar | and TK is kinda ugly, though there are apparently ways you can force it to look better |
00:02:49 | * | Demos quit (Quit: Leaving) |
00:03:43 | Trixar_za | tcl is nice if you have to use it with eggdrops |
00:03:47 | Trixar_za | but otherwise I avoid it |
00:03:50 | Varriount | skrylar: GTK is eeeeevil |
00:04:04 | Varriount | Or at least, its' build process is. |
00:04:34 | skrylar | anything that uses gobject is |
00:04:38 | skrylar | because gobject requires itself to build |
00:04:56 | Varriount | skrylar: Well, that's not uncommon - look at nimrod. |
00:04:58 | skrylar | Trixar_za: i touched tcl by playing with eggdrop, and thats where i ran in to issues escaping lists |
00:05:08 | skrylar | Varriount: it requires itself in a horrible way though |
00:05:11 | vbtt | Araq: ok if everything is already proceeding as smoothly as possible then i have nothing to say. |
00:05:19 | Varriount | skrylar: Oh? Howso |
00:05:26 | vbtt | but you implied that adding new features is breaking stuff. |
00:05:41 | skrylar | "oh you need THIS pkg-config and THIS version of a GNU runtime which all require each other to build" |
00:05:51 | * | skyfex quit (Ping timeout: 260 seconds) |
00:05:52 | Araq | vbtt: lots of mistakes have been made |
00:06:09 | Araq | but recovering from them takes a while |
00:06:29 | Varriount | We live and learn |
00:06:37 | EXetoC | it'll be sweet when we get back on track |
00:07:15 | Varriount | http://grooveshark.com/s/Live+And+Learn/36mDQh?src=5 |
00:07:27 | Araq | and the hard facts remain: we don't have the resources to fix bugs and implement features at the same time |
00:07:53 | Varriount | "Features" being mainly compiler/language features |
00:09:46 | vbtt | which features need to be implemented to 1.0? |
00:10:08 | Araq | my concurrency stuff |
00:10:16 | vbtt | ..and do you think it's doable given the current resources? |
00:11:52 | Araq | actually, yes I think so |
00:11:57 | vbtt | ok |
00:12:22 | Araq | I picked the easy stuff that already works with our current technology |
00:12:46 | vbtt | it's nice to see the positivism from everyone and anyway i'm getting tired of ranting. |
00:13:42 | Araq | vbtt: what OS are you on? |
00:14:37 | vbtt | mixed, freebsd, linux, mac os. have access to windows too but not comfortable with development on it. |
00:15:01 | Araq | well "koch web" fails for me because I have spaces in my current directory |
00:15:11 | Araq | I think that's not your problem then? |
00:15:40 | vbtt | it was on mac os - i dont remember spaces but i'll check later. |
00:17:47 | skrylar | woot. i finally got this linebreak working |
00:17:57 | fowl | you said that hours ago skrylar |
00:18:03 | skrylar | i said it was almost working :P |
00:18:05 | vbtt | anyway, i g2g. later guys. |
00:18:13 | fowl | oh |
00:18:15 | EXetoC | when might isNil be the more efficient way to check for nil? |
00:18:18 | fowl | cya vbtt |
00:18:20 | vbtt | and that's software development right there :) |
00:18:37 | vbtt | the last 10% takes 50% of the time. |
00:18:40 | vbtt | on that note.. |
00:18:45 | * | vbtt quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
00:18:54 | skrylar | heh. yeah, annoying bug on my side with ranges |
00:19:25 | skrylar | but now i have an iterator that gives you byte coordinates for doing word wrapping, which means you can render wrapped strings without excess copying |
00:20:01 | Varriount | dom96: Any particular reason the stat() idea on the GSoC Ideas page was removed? |
00:21:04 | Araq | Varriount: the description was too lean |
00:21:29 | Varriount | Ah, ok. |
00:21:59 | Varriount | Araq: Now that I have installer generation done, what next? |
00:23:38 | Araq | what did you do with the trimcc issue? |
00:24:10 | Varriount | I ignored it. I just redownloaded mingw32 and ming64, and unchecked as many extras as possible |
00:24:37 | Araq | meh, fine I guess |
00:26:01 | Varriount | Oddly enough, mingw32 is larger than mingw64 |
00:35:53 | skrylar | i think ming64 has less libs |
00:48:26 | Varriount | Araq: So, what should I do now? |
00:50:15 | Araq | Varriount: do a PR for your niminst changes? |
00:50:42 | Araq | also please go through the list of failing test and try to decide if it's a showstopper for 0.9.4 |
00:50:43 | Varriount | Araq: Not sure if I should. The change was because I was using the unicode version of inno |
00:51:35 | Araq | Varriount: you can check for that via {$ifdef unicode} ... {$else} .. {$endif}, perhaps |
00:51:49 | Varriount | You want me to go through the list of failing tests, and determine if any are critical enough to set back the release of 0.9.4? |
00:52:00 | Varriount | For what branch, master or devel? |
00:52:04 | Araq | devel |
00:53:01 | Araq | when in doubt, add it to some list and give that to me afterwards |
00:53:57 | EXetoC | Are you gonna take a day off when we hit 1.0? |
00:54:39 | Araq | no, a month |
00:54:55 | EXetoC | :p |
00:56:43 | Varriount | Hrm. We need filwit to make a proper sidebar image for the installer |
00:57:00 | Varriount | Maybe I can use the site's sidebar asset |
01:04:06 | * | carum joined #nimrod |
01:06:31 | * | carum quit (Read error: Connection reset by peer) |
01:06:54 | * | carum joined #nimrod |
01:10:33 | Varriount | Araq: How do I escape the meta character of a source code filter ('#' by default) |
01:11:00 | Araq | I don't think you can |
01:12:22 | NimBot | Araq/Nimrod devel 78eeb19 Araq [+0 ±1 -0]: nil->discard |
01:12:22 | NimBot | Araq/Nimrod devel 269d8a0 Araq [+0 ±4 -0]: fixes #892 |
01:12:22 | NimBot | Araq/Nimrod devel 77dde00 Araq [+0 ±2 -0]: fixes #833 |
01:29:27 | NimBot | Araq/Nimrod devel 02abb0b Araq [+1 ±1 -0]: fixes #712 |
01:40:58 | * | askatasuna joined #nimrod |
01:43:24 | * | DAddYE quit (Remote host closed the connection) |
01:52:13 | * | askatasuna quit (Ping timeout: 272 seconds) |
01:55:15 | * | carum quit (Remote host closed the connection) |
01:57:04 | EXetoC | Varriount: create a default argument with the value '#', and then you can use that |
01:58:58 | EXetoC | or simply use another meta char, but that might've been broken |
01:59:44 | EXetoC | var m='#' ... $m |
02:02:02 | * | skyfex joined #nimrod |
02:06:16 | * | skyfex quit (Ping timeout: 246 seconds) |
02:10:17 | EXetoC | how's this BSON constructor syntax? %%{"x": %1, "y": %{"a": %2}). I'd define a converter, but a compiler bug prevents me |
02:12:26 | dom96 | Varriount: I couldn't figure out how to expand the description so I just removed it, sorry. |
02:12:36 | dom96 | Varriount: You can always suggest it in your proposal though ;) |
02:18:31 | * | vbtt joined #nimrod |
02:19:26 | vbtt | Araq: nimweb gives me: doc/niminst.txt(31, 1) Error: cannot open 'doc/mytest.cfg' |
02:19:52 | vbtt | running it as:$./tools/nimweb --output:/tmp web/nimrod.ini |
02:20:06 | vbtt | the file doc/mytest.cfg exists and is readable. |
02:21:03 | vbtt | it's probably using an incorrect base dir but not sure how to specify that. |
02:21:20 | dom96 | try removing the 'doc/' |
02:28:54 | vbtt | dom96: but it should work as is |
02:29:21 | dom96 | true |
02:29:55 | vbtt | with dtruss i found it is looking for 'Nimrod/doc/niminst.txt' but then printing an error saying cannot open 'doc/mytest.cfg' |
02:31:04 | vbtt | not going to dig into this bug further, looks like a RST library issue |
02:31:37 | vbtt | k, later. |
02:31:42 | * | vbtt quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
02:46:07 | * | brson quit (Quit: leaving) |
02:46:35 | * | brson joined #nimrod |
03:26:34 | * | brson quit (Quit: leaving) |
03:27:00 | * | brson joined #nimrod |
03:47:15 | * | xenagi quit (Quit: Leaving) |
03:49:44 | * | darkf quit (Ping timeout: 265 seconds) |
03:51:46 | * | darkf joined #nimrod |
03:58:52 | * | ddl_smurf quit (Quit: ddl_smurf) |
04:02:49 | * | skyfex joined #nimrod |
04:07:02 | * | skyfex quit (Ping timeout: 246 seconds) |
04:10:11 | * | Demos joined #nimrod |
04:10:48 | Demos | is there a way to get c2nim to print out the line it failed on with #defs expanded? |
04:15:49 | Discoloda | not at the moment |
04:19:28 | * | askatasuna joined #nimrod |
04:28:26 | Demos | c2nim seems to fail on c style type func(void) style function |
04:53:02 | Varriount | Demos: c2nim is finicky |
04:53:47 | Varriount | Demos: I'm having fun looking through the process memory of a flash VM wrapped by chrome, running an old online game I like. |
04:54:14 | Varriount | I'm finding interesting strings. :D |
04:56:17 | * | askatasuna quit (Ping timeout: 260 seconds) |
04:56:30 | Demos | oh dear |
04:57:13 | Demos | I know c2nim is wierd, I am writing a wrapper for libpng.... I am now going through the libpng(3) manpage and just writing function prototypes myself |
04:59:22 | Varriount | Demos: I'm doing it for fun. |
04:59:41 | Varriount | I want to see if there are any certain parts that were left out of the game |
04:59:59 | Varriount | Btw, the game is called "Spybot: The Nightfall Incident" |
05:00:57 | Demos | well I wrote a raytracer in nimrod for fun, then realized I had no way to write out the images |
05:01:32 | skrylar | welp, time to write a TGA exporter :) |
05:02:07 | skrylar | those are actually really trivial to do, depending on your buffers |
05:02:13 | skrylar | its literally a tiny C struct and then dump the buffer |
05:02:42 | skrylar | also fail of the day: Blender's cmake says not to do an in-source build. Not doing an in-source build breaks installer. Good job. |
05:03:22 | Varriount | -_- |
05:03:24 | Demos | skrylar: yeah I really should just use tga, I have some c++ code that I could just copy but w/e |
05:03:37 | Demos | having a binding to libpng is a good thing anyway |
05:04:03 | * | askatasuna joined #nimrod |
05:07:42 | Varriount | Anyone have an idea of what kinds of languages, either programming, configuration, etc, that use an identifier prefixed with a '#' to dentore a key, variable, entry, etc |
05:11:01 | Demos | hmmmmmm what kind of format is it? |
05:13:08 | Varriount | Demos: Like this -> http://grooveshark.com/s/Live+And+Learn/36mDQh?src=5 |
05:13:14 | Varriount | Woops, wrong link |
05:13:35 | Varriount | Demos: https://gist.github.com/Varriount/8996155 |
05:14:11 | Varriount | That's the games save file, however there are parts of strings in the process memory which look very similar |
05:31:21 | * | Demos quit (Ping timeout: 272 seconds) |
05:35:48 | * | carum joined #nimrod |
05:45:22 | cark | Varriount : dart symbols |
05:52:59 | Varriount | cark: You mean, like the javascript based language? |
05:53:41 | cark | yes, your paste looks like literal data structures from dart |
05:54:14 | cark | though the maps would be with curly braces |
05:54:48 | Varriount | cark: Odd, but I doubt that it's actual Dart structures, since the game I'm examining was coded in actionscript |
05:54:58 | Varriount | About... 8 years ago |
05:55:59 | Varriount | Still, since actionscript, javascript, and dart are all related, it's not unexpected. |
05:56:26 | cark | there must be some history behind the # symbols in dart |
05:57:12 | Varriount | On another note, one of the units in the game, which is called a "Mobile Tower" is referenced internally as a SCUD |
06:03:50 | * | skyfex joined #nimrod |
06:04:19 | * | DAddYE joined #nimrod |
06:08:43 | * | skyfex quit (Ping timeout: 272 seconds) |
06:15:01 | * | askatasuna quit (Ping timeout: 248 seconds) |
06:16:45 | * | xtagon quit (Ping timeout: 252 seconds) |
06:22:07 | * | brson quit (Quit: leaving) |
06:22:24 | * | brson joined #nimrod |
06:24:00 | * | Demos joined #nimrod |
06:27:50 | * | askatasuna joined #nimrod |
06:38:30 | * | DAddYE quit () |
06:44:07 | * | Mat3 joined #nimrod |
06:44:46 | Mat3 | hi all |
06:46:00 | * | askatasuna quit (Ping timeout: 252 seconds) |
06:54:24 | * | askatasuna joined #nimrod |
06:59:27 | fowl | Varriount, smalltalk symbols |
06:59:41 | * | skyfex joined #nimrod |
07:00:46 | Demos | what is the most up-to-date vim plugin for nimrod? is it zah's? |
07:03:43 | * | carum quit (Remote host closed the connection) |
07:08:55 | Mat3 | ok, I try to compile Nimrod from Git. That fails building koch with the error-message: "lib/system.nim(2732, 21) Error: type expected" |
07:09:16 | Mat3 | is that a knbown issue or should I try it to fix ? |
07:11:38 | Demos | I can not reproduce that error |
07:13:35 | Mat3 | the Git uploaded the wrong branch |
07:15:01 | Mat3 | ^then |
07:15:16 | Mat3 | the problematic line is: |
07:15:34 | Mat3 | type semistatic*[T] = static[T] | T |
07:18:02 | * | agd joined #nimrod |
07:18:13 | * | agd quit (Read error: Connection reset by peer) |
07:18:56 | Mat3 | I expect this can't compile because of no known type declaration. My guess is, this declaration uses some feature unknown to the Nimrod version build from csources |
07:20:11 | Mat3 | probably I should compile the last 'stable' version first (the one linked from www.nimrod-code.org) |
07:20:50 | Mat3 | ? |
07:21:47 | Mat3 | ... well, let's see |
07:27:12 | Demos | I am compileing it with the version from csources and it is working OK |
07:28:36 | Mat3 | hmm, how have you build it ? |
07:29:21 | Demos | build.sh in csources then bin/nimrod koch |
07:29:28 | Demos | sorry bin/nimrod c kochj |
07:29:32 | Demos | sorry bin/nimrod c koch |
07:33:47 | * | askatasuna quit (Ping timeout: 253 seconds) |
07:41:01 | * | askatasuna joined #nimrod |
07:43:05 | * | Demos quit (Ping timeout: 272 seconds) |
07:46:19 | skrylar | would anyone else find a module useful that calculated list bullets? (e.g. roman numeralizing, for outlines and such) |
07:50:26 | Mat3 | AsciiDoc |
07:50:55 | Mat3 | Demos: Same error as previous |
07:56:47 | * | awestroke joined #nimrod |
08:07:24 | * | skrylar quit (Quit: woop) |
08:08:34 | * | awestroke quit (Remote host closed the connection) |
08:26:39 | * | brson quit (Ping timeout: 252 seconds) |
08:36:01 | * | nande left #nimrod (#nimrod) |
08:50:01 | * | reloc0 joined #nimrod |
09:25:26 | * | q66 quit (Quit: Leaving) |
09:26:35 | * | shodan45 quit (Quit: Konversation terminated!) |
09:38:51 | * | q66 joined #nimrod |
09:38:51 | * | q66 quit (Changing host) |
09:38:51 | * | q66 joined #nimrod |
10:26:53 | * | Matthias247 joined #nimrod |
10:33:41 | * | ics quit (Ping timeout: 252 seconds) |
10:35:40 | * | ics joined #nimrod |
10:35:46 | * | surma joined #nimrod |
10:38:06 | * | iNode000 quit (Ping timeout: 252 seconds) |
10:41:16 | * | Mat3 quit (Quit: Verlassend) |
10:59:14 | * | dyu_ joined #nimrod |
11:35:27 | * | noam quit (Ping timeout: 265 seconds) |
11:39:23 | zielmicha-cloud_ | What is .compilerproc. pragma supposed to do? |
11:46:37 | Araq | hi zielmicha-cloud_ |
11:46:49 | zielmicha-cloud_ | hi |
11:47:08 | Araq | .compilerproc is a misnomer, it registers a routine to the code generator |
11:47:38 | zielmicha-cloud_ | so compilerprocs are called at compile time? |
11:47:51 | Araq | no, they are called by the code generator |
11:48:22 | * | aftersha_ joined #nimrod |
11:49:13 | Araq | 'new(foo)' for instance is translated to foo = newObj(sizeof(*foo)) and 'newObj' is a complierproc |
11:56:23 | Araq | what about your vfork fix btw? I really want that for 0.9.4 |
11:57:04 | zielmicha-cloud_ | I have it on my todo list. When do you plan 0.9.4? |
12:01:27 | Araq | well I'm going through the list of bugs that I consider essential to fix for 0.9.4 |
12:01:51 | Araq | there is still quite of few of these |
12:02:24 | Araq | hopefully by the end of february it's ready |
12:19:26 | rixx | I'm going to have holidays during the next two weeks and I'll start to look into nimrod -- it sounds pretty much like the programming language I was looking for. I guess I'll just go through the tutorials and do some small projects |
12:20:00 | * | io2 joined #nimrod |
12:20:02 | rixx | I just wanted to ask if there was anything on the project I could help with (even if it's just comments/formatting/tagging issues/looking into documentation) |
12:20:50 | Araq | rixx: hell yes, go through the examples you see, put them to some tests/ files so we can ensure at least our examples work ... |
12:21:02 | Araq | I need to go, bbl |
12:21:15 | rixx | Araq: the examples in the tutorials? |
12:21:20 | Araq | yes |
12:21:23 | rixx | I can be the test noob, no problem :) |
12:21:30 | * | aftersha_ quit (Quit: Computer has gone to sleep.) |
12:21:53 | rixx | if I want to request changes: are the tutorials in one of your repos? |
12:33:59 | * | iNode000 joined #nimrod |
12:40:35 | * | aftershave_ quit (Quit: Textual IRC Client: www.textualapp.com) |
12:41:18 | * | aftershave_ joined #nimrod |
12:44:37 | * | askatasuna quit (Ping timeout: 252 seconds) |
12:45:51 | * | isenmann quit (Quit: Leaving.) |
12:56:09 | zielmicha-cloud_ | Araq: why startProcess creates a new process group? |
13:06:24 | * | askatasuna joined #nimrod |
13:22:16 | * | darkf quit (Quit: Leaving) |
13:26:18 | * | zahary joined #nimrod |
13:32:55 | * | io2 quit () |
13:33:51 | * | surma quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
13:36:32 | * | ddl_smurf joined #nimrod |
13:48:10 | * | [1]Endy joined #nimrod |
13:48:31 | * | askatasuna quit (Quit: WeeChat 0.4.2) |
14:10:23 | * | micklat joined #nimrod |
14:15:20 | * | BitPuffin joined #nimrod |
14:17:58 | * | carum joined #nimrod |
15:00:45 | * | [2]Endy joined #nimrod |
15:04:39 | * | [1]Endy quit (Ping timeout: 260 seconds) |
15:15:57 | EXetoC | is there a generic way to get the underlying type of an enumerator? |
15:21:42 | * | carum quit (Remote host closed the connection) |
15:22:52 | * | surma joined #nimrod |
15:24:42 | * | Demos joined #nimrod |
15:25:47 | * | carum joined #nimrod |
15:41:11 | * | Boscop joined #nimrod |
15:41:11 | * | Boscop quit (Changing host) |
15:41:11 | * | Boscop joined #nimrod |
15:46:03 | * | carum quit (Remote host closed the connection) |
15:49:07 | * | dyu_ quit (Quit: Leaving) |
15:58:21 | * | surma quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
16:02:47 | * | Demos quit (Ping timeout: 272 seconds) |
16:36:53 | Araq | zielmicha-cloud_: I don't even know what you're talking about |
16:49:07 | zielmicha-cloud_ | Araq: git blamed you, but I understand that you don't remember |
16:50:29 | dom96 | hello rixx; the tutorials are in the main repo. |
16:51:04 | rixx | dom96: thanks, I'll have a look at it next week |
16:51:47 | Araq | ha, famous last words, rixx ;-) |
16:57:39 | rixx | nope, got holidays, and that's exactly what I need :P |
17:05:27 | * | zahary quit (Quit: Leaving.) |
17:13:26 | * | aftersha_ joined #nimrod |
17:14:42 | * | Roin_ quit (Ping timeout: 252 seconds) |
17:17:36 | dom96 | fowl: Could you please move sdl2 out of your nimlibs repo into a separate repo and put it on babel? |
17:25:52 | * | aftersha_ quit (Quit: Computer has gone to sleep.) |
17:41:58 | * | Roin_ joined #nimrod |
17:48:32 | * | awestroke joined #nimrod |
17:49:51 | * | aftersha_ joined #nimrod |
17:51:32 | * | aftersha_ quit (Client Quit) |
17:52:10 | * | io2 joined #nimrod |
17:53:58 | * | io2 quit (Client Quit) |
18:07:58 | * | evil_CarpNet quit (Quit: Leaving) |
18:08:52 | * | nande joined #nimrod |
18:13:03 | Matthias247 | Hi there. I just read Nimrods Tutorial and decided to play around a little bit with it. I found it quite interesting that the typeof operator also works for value types I did some tests with it. Thereby I think I have found a little issue |
18:14:18 | Matthias247 | https://gist.github.com/Matthias247/9006035 |
18:15:43 | Matthias247 | when the object is implicetly or explicetly downcast the type identifier is never adjusted. And so other functions think it's still a derived type even though it might be only a copy of the base type |
18:20:41 | * | brihat quit (Quit: Leaving.) |
18:21:03 | * | DAddYE joined #nimrod |
18:22:13 | * | brihat joined #nimrod |
18:25:05 | Araq | hi Matthias247, nice bug |
18:25:17 | * | aftersha_ joined #nimrod |
18:26:16 | * | awestroke quit (Ping timeout: 252 seconds) |
18:26:36 | * | Demos joined #nimrod |
18:26:46 | Demos | does the library define an equivalent to time_t? |
18:27:44 | Matthias247 | Araq: I guess most type won't cast value types :) |
18:27:57 | Matthias247 | ehm, most people won't |
18:28:40 | * | vbtt joined #nimrod |
18:29:57 | Matthias247 | but if you pass a pointer to such a structure to a function that will really perform upcasts depending on the type it might be really problematic |
18:30:40 | Demos | Matthias247: are you talking about sliceing? |
18:31:04 | EXetoC | Demos: times.TTime, but the target type is just an implementation detail |
18:31:17 | Matthias247 | yes, it is slicing |
18:31:24 | Demos | EXetoC: right, but is it the same type as the C compiler's time_t |
18:31:42 | Demos | and Matthias247, sliceing is pretty much the only reasonable behavior when you downcast to a value |
18:31:56 | Demos | it is sometimes what you want and when it is not there is no way to get what you want with a value type |
18:31:57 | EXetoC | Demos: pretty much: TTimeImpl {.importc: "time_t", header: "<sys/time.h>".} = int |
18:32:07 | Matthias247 | Demos: absolutely. But the type field would need to be adjusted |
18:32:20 | EXetoC | on posix |
18:32:28 | Matthias247 | The sliced type still thinks it's the orginal type |
18:32:36 | Demos | Matthias247: well the type field is probably the first field |
18:32:47 | * | aftersha_ quit (Quit: Computer has gone to sleep.) |
18:33:14 | Demos | oh, you mean for dynamic dispatch, well I don't really know how multiple disptach works |
18:33:29 | Araq | in fact the compiler should prevent slicing |
18:33:54 | Matthias247 | I think the correct fix would be to make a copy and adjust the type field for explicit slice operations |
18:34:11 | Demos | Araq: not sure how I feel about that. I think there are some situation where it is what you want. Certantly preventing it unless you ask is good |
18:34:12 | Matthias247 | and prevent implicit slice operations like the one I do in the example |
18:34:53 | Demos | I /think/ that c++ changes the vtable pointer when you slice, not sure though |
18:39:02 | Demos | OK C++ lets you assign a derived type to a base reference (so far so good, no slice) then you can assign another derived type to it using the assignment operator. The BASE assignement operator is selected after overload resolution and you get bits of Base and bits of Derived. This will have to be thought about when nimrod does `=` overloading |
18:39:53 | Demos | c++'s behavior is unexpected but quite sane from the perspective of the C memory model and the implementation of C++'s object model in it |
18:42:03 | Matthias247 | in think reassinging the type field after copying the base data should be a sufficient fix? |
18:42:46 | Matthias247 | and the requirement to copy it at all. Currently in some cases only the pointer is copied in the generated C code and not the value |
18:43:12 | Demos | afaik c++'s copy constructors bot default and user supplied do adjust the vptr, so it is a sufficient fix, but not ideal. I think this is one of those problems where there is no good solution |
18:43:18 | Demos | *both |
18:43:38 | Matthias247 | what do you think is missing? |
18:44:48 | Demos | nothing. I am saying that it is a hard problem with no real solution. You can just prohibit the regular OO casts for value types (I think D may do that) |
18:45:16 | vbtt | yeah disallow downcasts |
18:45:27 | Demos | OK so in c++ what seems to happen is that an assignment calls some copy assignment operator and since that is on a "this" of the base type you get the vptr fixup there |
18:45:57 | Demos | vbtt: right, but there are some situations where you may want them. I guess you could just use a "real" cast |
18:46:12 | vbtt | why is downcasting useful? isn't using generics better in those cases? |
18:46:28 | vbtt | give me a concrete example. |
18:48:12 | Matthias247 | It is what many C libraries use. Some common base information and a bit extra on the top for the derived types. But of course you would most likely use that in combination with reference types and value types |
18:48:44 | Demos | if I have a struct like struct foo { int someinfo; double somemoreinfo;}; and struct fooD: public foo { some real sweet content; }; I may want some functions taking a foo by value. Pardon the C. |
18:49:01 | Demos | then again nimrod does not have non-polymorphic inheratnace |
18:49:40 | Demos | and you may be able to roll it yourself with conversion stuff |
18:52:00 | vbtt | I didn't get your example |
18:52:12 | Demos | it was what Matthias247 said |
18:53:01 | Demos | the other complication with nimrod is that by default you don't know if the type a function gets is a reference or value |
18:54:17 | Demos | fooD's have some header information, if I only need that header information I am happy to accept the slice |
18:57:02 | EXetoC | Demos: when don't you know what type something is? |
18:58:11 | Demos | proc getAFoo(foo: TFoo) |
18:58:38 | Demos | TFoo could be passed as a value on the stack or as a pointer to a TFoo where the pointer resides on the stack |
18:58:50 | Demos | hence when the "values" are const |
18:58:52 | Demos | I gotta go |
18:59:08 | * | icebattle quit (Quit: leaving) |
18:59:20 | EXetoC | the proc shouldn't have to care about that |
18:59:40 | EXetoC | it's your choice if you want to dereference in order to pass in a value pointed to by a pointer |
18:59:59 | Matthias247 | the compiler does now. And therefore should be able to do either an explicit conversion or prevent it |
19:00:54 | EXetoC | sure, you can extend the language in order to deal with that, but then you should use additional qualifiers |
19:01:14 | EXetoC | that was for Demos btw |
19:01:57 | Matthias247 | i know :) |
19:03:22 | EXetoC | I'm referring to the intended behavior and not whatever happens due to some bug |
19:03:35 | * | Demos quit (Ping timeout: 260 seconds) |
19:05:31 | Matthias247 | yes. I don't know what the intented behavior is. But I think it should be either preventing slicing of value types or doing it on explicit casts and then also change the type field |
19:06:51 | EXetoC | it's only a problem with value objects, and I don't think that's too common, so requiring an explicit slice seems reasonable |
19:16:04 | EXetoC | Araq: you said you disliked the fact that you cannot know about all the derived classes, right? |
19:18:17 | EXetoC | or something similar at least, but it seems like a relatively simple extension |
19:18:40 | * | Varriount|Mobile joined #nimrod |
19:18:47 | EXetoC | just have final either apply globally or every module except the current one |
19:21:54 | * | brson joined #nimrod |
19:22:42 | vbtt | is inheritance used much in the stdlib outside of exceptions? |
19:22:49 | * | brson quit (Client Quit) |
19:22:56 | Varriount|Mobile | Not really |
19:23:27 | * | brson joined #nimrod |
19:24:17 | micklat | is there any difference between int and cint? |
19:24:53 | micklat | the low-level python API uses int rather than cint for some reason |
19:25:45 | EXetoC | int in nimrod has the same size of a pointer, and int in C is 32 bits on most platforms I think |
19:26:39 | EXetoC | so you should use cint when interfacing with C's int |
19:26:50 | micklat | thanks |
19:27:06 | EXetoC | what python API? |
19:29:45 | * | awestroke joined #nimrod |
19:31:02 | EXetoC | vbtt: only that and streams comes to mind |
19:32:19 | micklat | the low level one. The one you get with babel install python |
19:32:30 | vbtt | i just think inheritance is a misfeature |
19:33:28 | vbtt | micklat:python's ints are machine word sized so that seems correct. |
19:33:38 | * | io2 joined #nimrod |
19:33:48 | EXetoC | what else? sometimes you need it in one form and another |
19:33:54 | EXetoC | *or |
19:35:02 | vbtt | object variants or generics or type classes will cover a lot of cases. |
19:35:27 | vbtt | something simpler than inheritance could be invented to handle the rest. |
19:36:37 | EXetoC | vbtt: at least the official API documentation has 'int' in it, and that's C's int |
19:36:55 | vbtt | oh? hmm. |
19:38:26 | * | Varriount|Mobile misses gradha |
19:39:28 | vbtt | http://docs.python.org/2/c-api/int.html |
19:39:28 | EXetoC | vbtt: and in such a way that it can't be called inheritance then I suppose |
19:40:28 | EXetoC | yes that's where I looked |
19:40:40 | vbtt | PyObject* PyInt_FromLong(long ival) |
19:41:12 | vbtt | it only uses int for the 'base' parameter, unless i missed something. |
19:41:51 | EXetoC | I'm referring to int as used by the API functions, such as the return type for PyCallable_Check |
19:41:58 | micklat | vbtt: I'm referring to calls such as int PyObject_GetBuffer(PyObject *exporter, Py_buffer *view, int flags) |
19:42:14 | micklat | I figure those should be cint, according to what Araq said |
19:42:38 | vbtt | micklat:oh i see. i believe you are right. |
19:43:14 | micklat | question: did you guys consider making a more-automatic C header conversion tool? |
19:43:20 | micklat | with all due respect to c2nim... |
19:43:25 | micklat | which is very useful BTW, honest |
19:45:25 | vbtt | what's lacking in c2nim? |
19:47:18 | reactormonk | vbtt, bunch of stuff |
19:47:24 | micklat | doesn't support the whole language, I believe |
19:47:35 | EXetoC | clang was considered, but Araq stated that it had problems with macros |
19:48:30 | micklat | You can't just feed it a big nasty header and expect much |
19:49:00 | EXetoC | someone had some improvements in mind, and I recall seeing a minor patch or two, but that was a couple of weeks ago I think |
19:49:19 | micklat | what about gcc-xml? did anyone look at it? |
19:49:32 | micklat | *into it |
19:51:15 | Araq | micklat: c2nim wasnt used for the python wrapper |
19:51:21 | micklat | maybe a combination of the current technique and an outside parser? |
19:52:27 | micklat | not that I'd do it myself, but I think this would make a great GSoC contribution if someone should take it up |
19:53:03 | Araq | true |
19:53:13 | Varriount|Mobile | yes, but what would be the specific goals? |
19:53:19 | Araq | how could we forget that |
19:54:01 | Araq | "a swig backend for nimrod" |
19:54:19 | micklat | specific goal: be able to convert .h files into nimrod modules |
19:54:31 | micklat | swig is a bit different. Can't handle the whole c either, I believe |
19:55:03 | micklat | swig is also way more ambitious |
19:55:05 | Varriount|Mobile | yes, but c2nim can already do that, to a certain extent |
19:55:21 | micklat | so, I'm suggesting to increase the extent using clang or gcc-xml |
19:55:42 | micklat | c2nim handles some things well, but not all, so complement it |
19:56:24 | micklat | re: swig, it tries to create high-level bindings |
19:56:43 | Araq | micklat: what about #def vs #define though? how do you handle this with clang/gcc? |
19:56:57 | micklat | what's "#def" ? |
19:57:31 | Araq | lol |
19:57:53 | micklat | did I make a fool of myself? |
19:58:17 | Varriount|Mobile | micklat: c2nim tries to turn normal defines into templates |
19:58:35 | Varriount|Mobile | #def is for when it can't |
19:59:26 | Varriount|Mobile | #def replicates the original bahavior of #define |
20:00:18 | * | aftersha_ joined #nimrod |
20:00:36 | micklat | thanks for the clue. Now I know what #def is, but I still don't understand the question |
20:00:45 | micklat | clang/gcc should get fed preprocessed input |
20:01:08 | micklat | or it does the preprocessing itself, doesn't matter |
20:01:23 | Araq | it does matter |
20:01:41 | micklat | how |
20:02:02 | * | ics quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
20:02:38 | Araq | #define foo 9 --> const foo = 9 |
20:03:13 | Araq | preprocess it properly and this info is gone |
20:03:24 | * | aftersha_ quit (Client Quit) |
20:03:33 | micklat | so process the header twice - once with the current c2nim for macros, and then with gcc/clang |
20:04:26 | micklat | except you do it in the reverse order - clang/gcc first |
20:04:44 | Araq | or learn to use c2nim :P |
20:05:06 | micklat | good advice I suppose. But am I wrong? |
20:10:30 | Araq | sounds like less work to make c2nim more foolproof |
20:12:56 | micklat | would it help if I add it to the GSoC ideas page? |
20:13:33 | micklat | anyone would be willing to mentor it? |
20:13:43 | Araq | gist it please before changing the wiki page |
20:13:56 | micklat | ok |
20:14:01 | Araq | dunno when google reads the page |
20:14:16 | Araq | i will mentor anything |
20:15:24 | * | pmullin joined #nimrod |
20:15:40 | Araq | hi pmullin welcome |
20:16:32 | Matthias247 | should I create a github issue about the value slicing thing or will anyone remember and fix it? :) |
20:17:42 | Araq | both |
20:18:11 | vbtt | deadline to submit gsoc is today |
20:18:14 | vbtt | https://www.google-melange.com/gsoc/events/google/gsoc2014 |
20:18:29 | Araq | vbtt: yes, we know |
20:18:57 | vbtt | ok, just wanted to make sure :) |
20:19:06 | micklat | I didn't know. I'll hurry |
20:19:30 | * | micklat quit (Remote host closed the connection) |
20:20:16 | * | micklat joined #nimrod |
20:21:42 | pmullin | Araq: Hello |
20:31:31 | * | awestroke quit (Ping timeout: 245 seconds) |
20:48:22 | * | pmullin quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
20:50:33 | * | pmullin joined #nimrod |
21:01:44 | micklat | GSoC idea: https://gist.github.com/micklat/9009095 |
21:09:49 | renesac | micklat, c2nim can also produce templates from #defines |
21:10:12 | micklat | ok, you think I should mention that? |
21:10:30 | renesac | "c2nim would then process the parsed headers and produce constants, types, and proc declarations similar to those that it produces now. "<-- in that part |
21:11:52 | micklat | but that part explains what is done with C constructs, not with #defines |
21:12:23 | micklat | Ah, I see the ommission |
21:12:34 | Araq | micklat: I like it, let's see what dom96 says |
21:13:52 | micklat | it feels great to be heard, even though I'm such a newbie |
21:14:04 | micklat | and in particular, uninformed about nim2c... |
21:14:07 | micklat | c2nim, see? |
21:15:54 | Araq | hmm Jurassic Park 2 is much crappier than Jurassic Park 1 ... |
21:16:07 | Araq | but iirc the 3rd is even worse |
21:16:17 | renesac | yeah, I would love an automatic working c2nim, but Araq said me it was a pipe dream |
21:16:20 | renesac | :P |
21:16:23 | dom96 | micklat: very nice. Add it to the wiki please. |
21:16:29 | renesac | Araq, I read "much creepier" |
21:16:36 | micklat | will do |
21:17:30 | renesac | micklat, I also made a bug report "for you": https://github.com/Araq/Nimrod/issues/912 |
21:17:50 | renesac | I'm not sure if the issue you hit was the same as mine, but possibly |
21:21:00 | micklat | wiki updated |
21:33:35 | * | zahary joined #nimrod |
21:36:58 | * | pmullin quit (Quit: Textual IRC Client: www.textualapp.com) |
21:38:20 | dom96 | micklat: thanks |
21:38:35 | micklat | thank you for letting me affect the process |
21:39:40 | dom96 | http://www.google-melange.com/gsoc/org2/google/gsoc2014/nimrod :D |
21:39:58 | dom96 | gah, I knew the IRC channel was a link... |
21:40:48 | dom96 | I can still edit that, good. |
21:40:56 | Araq | cool, so we're accepted for gsoc |
21:41:13 | Araq | ... right? |
21:42:04 | dom96 | no |
21:42:15 | dom96 | We won't know until the 24th |
21:43:00 | EXetoC | but I wanna know now! |
21:44:04 | dom96 | micklat: That's what open source is all about :) |
21:45:49 | Araq | dom96: really? I thought open source means to confuse "successful system" with "well designed system" and to copy that blindly :P |
21:46:37 | micklat | araq: is this the cue for another case-sensitivity debate? ;-) |
21:46:53 | Araq | nah |
21:47:27 | Araq | I still hate unix/bsd/linux/macosx with a passion, that's all |
21:48:27 | dom96 | Araq hates everything he didn't create himself :P |
21:49:37 | Araq | be grateful, it's the reason for nimrod's existance :P |
21:50:03 | Matthias247 | that's interesting. Most open source programmers seem to hate windows with passion :) |
21:51:24 | Araq | well windows is crap too. are you happy now? |
21:51:29 | dom96 | lol |
21:52:19 | Matthias247 | yeah, now i'm fine :) |
21:56:44 | micklat | nimrod doesn't have the equivalent of const char *, right? |
21:57:02 | Araq | quite right |
21:59:21 | * | [2]Endy quit (Ping timeout: 272 seconds) |
22:02:33 | * | aftersha_ joined #nimrod |
22:02:46 | * | DAddYE quit (Remote host closed the connection) |
22:21:10 | * | sale4one joined #nimrod |
22:21:17 | sale4one | hi :) |
22:21:59 | vbtt | hi sale4one, welcome |
22:22:17 | sale4one | well I thought it was time to join the community |
22:22:21 | sale4one | as I have a question :) |
22:22:27 | vbtt | good thinking! :D |
22:22:43 | vbtt | fire away |
22:22:59 | sale4one | Anyone using emacs to write nim code ? |
22:23:05 | micklat | yes |
22:23:33 | sale4one | I just booted my new distro, and I cant get nimrod-mode working :/ |
22:23:42 | sale4one | it was all good on the last one :( |
22:24:31 | micklat | did you try emacs --debug-init? does it say anything? |
22:24:33 | sale4one | wait till I copy the message output |
22:25:32 | sale4one | it on line with (defstruct nimrod-ide ....... ) |
22:25:36 | micklat | also, please gist your init.el |
22:26:55 | sale4one | you mean .emacs ? |
22:27:13 | micklat | I suppose |
22:27:44 | sale4one | i just put (require 'nimrod-mode) |
22:27:57 | sale4one | new setup, i wanted to try nimrod first |
22:28:00 | micklat | what is the full output of --debug-init |
22:28:33 | sale4one | Debugger entered--Lisp error: (void-function defstruct) |
22:28:33 | sale4one | (defstruct nimrod-ide type namespace name signature path line column comment) |
22:28:33 | sale4one | eval-buffer(#<buffer *load*<2>> nil "/home/sasa/.emacs.d/nimrod-mode.el" nil t) ; Reading at buffer position 22826 |
22:28:33 | sale4one | load-with-code-conversion("/home/sasa/.emacs.d/nimrod-mode.el" "/home/sasa/.emacs.d/nimrod-mode.el" nil t) |
22:28:38 | sale4one | require(nimrod-mode) |
22:28:41 | sale4one | eval-buffer(#<buffer *load*> nil "/home/sasa/.emacs" nil t) ; Reading at buffer position 831 |
22:28:44 | sale4one | load-with-code-conversion("/home/sasa/.emacs" "/home/sasa/.emacs" t t) |
22:28:47 | sale4one | load("~/.emacs" t t) |
22:28:51 | sale4one | #[nil "\205\264 |
22:28:51 | sale4one | \311=\2033 |
22:28:54 | sale4one | [init-file-user system-type user-init-file-1 user-init-file otherfile source ms-dos "~" "/_emacs" windows-nt directory-files nil "^\\.emacs\\(\\.elc?\\)?$" "~/.emacs" "^_emacs\\(\\.elc?\\)?$" "~/_emacs" "/.emacs" t load expand-file-name "init" file-name-as-directory "/.emacs.d" file-name-extension "elc" file-name-sans-extension ".el" file-exists-p file-newer-than-file-p message "Warning: %s is newer than %s" sit-for 1 "default" alt |
22:28:57 | sale4one | inhibit-default-init inhibit-startup-screen] 7]() |
22:29:00 | sale4one | command-line() |
22:29:03 | sale4one | normal-top-level() |
22:29:05 | micklat | please use gist... |
22:29:07 | sale4one | :D |
22:29:07 | dom96 | sale4one: Use gist next time... |
22:29:13 | sale4one | i should have uploaded that text somewhere XD |
22:29:59 | sale4one | srry, as I said new setup, dont have it all :( |
22:29:59 | vbtt | sale4one:https://gist.github.com/ |
22:30:12 | sale4one | i havent even installed git |
22:30:53 | micklat | you don't need git to use gist. Take a look at https://gist.github.com/ |
22:31:34 | sale4one | I am already in process of doing that :D |
22:32:51 | sale4one | https://gist.github.com/anonymous/9010824 |
22:32:55 | sale4one | :) there |
22:33:22 | micklat | apparently we use different versions of nimrod-mode |
22:33:28 | micklat | I'll try your version |
22:33:38 | sale4one | i donwloaded one linked on nimrod faq |
22:33:55 | sale4one | then googled another one, all are giving the same error |
22:34:24 | Araq | hi sale4one welcome |
22:34:33 | Araq | how did you know about nimrod? |
22:34:43 | vbtt | sale4one: do you have (require 'cl) in the nimrod el file? |
22:34:46 | Araq | I'm wondering where all these new people are coming from ... |
22:35:05 | EXetoC | they found our tube |
22:35:16 | sale4one | nah I dont |
22:35:34 | sale4one | And my path to nimrod is quite complicated :) |
22:36:03 | vbtt | try inserting that at the top of nimrod-mode.el |
22:36:15 | sale4one | ok |
22:38:21 | sale4one | no error now, but I dont seem to get syntax highlighting and indentation :/ |
22:38:37 | vbtt | did you enable nimrod-mode in your buffer? |
22:38:47 | vbtt | probaby M-x nimrod-mode |
22:38:51 | micklat | what's the file extension? |
22:39:09 | sale4one | .nim extension |
22:39:40 | vbtt | don't you need to setup a hook for auto loading a mode? |
22:40:11 | micklat | nimrod-mode.el does that (in the version I use) |
22:40:26 | sale4one | nah, it should work by its own |
22:40:33 | micklat | what about M-x nimrod-mode? |
22:40:49 | sale4one | shows me message in minibuffer |
22:41:00 | sale4one | gimmie a sec to get it |
22:41:30 | sale4one | Symbol's function definition is void: prog-mode |
22:42:00 | micklat | which emacs version? |
22:43:08 | sale4one | 23.4.1 installed from Debian repositories |
22:44:00 | micklat | I can't try your version immediately because I miss other packages. |
22:44:20 | micklat | But you can try the version I use: github.com/eegg/nimrod-mode.git |
22:44:35 | sale4one | I just wanted to ask for that :) |
22:45:22 | * | carum joined #nimrod |
22:46:48 | * | aftersha_ quit (Quit: Computer has gone to sleep.) |
22:47:57 | NimBot | Araq/Nimrod devel bc997e4 Araq [+0 ±1 -0]: bugfix: 'system' on windows is sane |
22:47:57 | NimBot | Araq/Nimrod devel 1c4bebd Araq [+0 ±4 -0]: fixes #914 |
22:47:57 | NimBot | Araq/Nimrod devel 4ab417a Araq [+0 ±2 -0]: fixes #811 |
22:47:57 | NimBot | Araq/Nimrod devel e0e63a3 Araq [+0 ±1 -0]: fixes #811 |
22:47:57 | NimBot | 1 more commits. |
22:48:35 | Araq | another couple of bugfixes, another day where nimbuild doesn't tell me the diff, dom96 :P |
22:48:38 | * | carum quit (Remote host closed the connection) |
22:49:16 | micklat | sale4one: trying your version now, I get the same problem |
22:49:39 | sale4one | It looks like the old one is good :) |
22:49:52 | sale4one | Thank you :) |
22:49:57 | renesac | Araq, are you adding test cases as you fix the bugs, to make sure they won't pop up again? |
22:50:16 | micklat | sale4one: maybe our emacsen are too old for the current nimrod-mode |
22:50:32 | renesac | for a future where compiler tests are runnable, of course |
22:50:44 | Araq | huh? |
22:51:00 | Araq | firstly, I do it like this since forever |
22:51:19 | Araq | secondly, the compiler tests works just fine if you know how the tester works |
22:51:48 | renesac | you were talking about they taking too long to run, and many failing |
22:52:03 | Araq | many failing is still a problem |
22:52:21 | Araq | taking too long to run is pretty much solved, since they are now grouped by category |
22:52:23 | micklat | prog-mode got added to emacs in version 24 |
22:52:24 | * | carum joined #nimrod |
22:52:28 | micklat | we both use some version of 23 |
22:52:33 | renesac | hum, right |
22:53:23 | Araq | I asked Varriount|Mobile to go through the list of tests, but he prefers to play Monkey Island 1 instead |
22:53:24 | renesac | why did you decide on "echo" based tests instead of assert based ones? |
22:53:32 | Araq | nah, just kidding ;-) |
22:54:08 | Araq | renesac: assert might be disabled due to bugs |
22:54:16 | Araq | quite unlikely, but still |
22:54:30 | Araq | having output makes me sleep better |
22:54:37 | renesac | hum |
22:54:49 | renesac | but can't you test for this case? |
22:54:50 | renesac | :P |
22:55:03 | renesac | and then run other tests using asserts? |
22:55:32 | renesac | or you are afraid only some specific asserts are broken? |
22:56:07 | * | io2 quit () |
22:56:56 | renesac | btw, is there an "assertRaises" kind of assert? |
22:57:09 | Araq | the unittest module support that, renesac |
22:57:56 | Araq | the 'output' directive also tells the tester, to run the program, renesac |
22:58:04 | Araq | otherwise the tester only tests it compiles |
22:59:04 | renesac | hum, "expect" macro |
23:07:02 | renesac | a bit more documentation wouldn't hurt... no description of the functions at all |
23:07:14 | renesac | like, the difference between check and require |
23:08:25 | Araq | there is an issue for that |
23:10:09 | renesac | right |
23:10:15 | renesac | and is there a coverage tool for tests? |
23:11:06 | Araq | no |
23:11:07 | dom96 | This looks like it'll prove useful: http://lwn.net/Articles/584225/ |
23:15:02 | * | carum quit (Remote host closed the connection) |
23:27:45 | sale4one | hey anyone can recommend me some well commented code, not just the proc doc string, but everything, so I can see how the stuff is done in nimrod ? |
23:29:22 | Araq | do we have such a thing as "well commented code"? |
23:29:40 | Araq | hmm I think gradha produces such code |
23:29:41 | reactormonk | sale4one, just ask away, got half an hour for you |
23:30:51 | sale4one | damn, was it your repo that I donwloaded nimrod-mode ? |
23:31:28 | sale4one | okay, this is the thing, i cant seem to get hang of nimrod and how to do stuff, as I am a web dev :/ |
23:31:44 | sale4one | I just want to find some well documented code so I can read it and see how stuff is done |
23:33:48 | reactormonk | sale4one, yup, that's mine. it's got a few issues about basic emacs stuff, so if you know your way around elisp, I'd appreciate it ;-) |
23:34:03 | reactormonk | I'm waiting for nimrod serve to be fixed for nice autocomplete |
23:34:16 | reactormonk | sale4one, and I'm a webdev too ;-) |
23:35:11 | sale4one | nice, maybe we should do a remake of the docs, they seem a bit "sad" :D |
23:35:34 | sale4one | and I dont know a thing about elist :( maybe how to set vars and things i learned when configuring emacs XD |
23:35:47 | reactormonk | sale4one, kk, that's fine |
23:36:09 | reactormonk | sale4one, got anything in mind to create with nimrod? |
23:36:18 | sale4one | yeah, a big one :D |
23:36:39 | sale4one | Editor for student on science faculties |
23:37:02 | micklat | maybe it would help to read Aporia? |
23:37:04 | reactormonk | there's aporia as nimrod editor, I'm sure you can pick up some things from there |
23:37:54 | sale4one | yeahm i tried reading it but I cant get the hang of the process. I know what every proc is doing, but it's hard to get hang off the proc internal things |
23:38:04 | reactormonk | sale4one, gimme a snippet |
23:38:06 | sale4one | why did he do that, and why is it better that other |
23:38:15 | sale4one | snippet ? |
23:38:52 | micklat | I better go to bed. g'night |
23:38:59 | dom96 | Aporia probably isn't the best project to start out with. |
23:39:04 | sale4one | good night :) tnx for help |
23:39:10 | dom96 | I'd suggest babel. |
23:39:13 | * | micklat quit (Remote host closed the connection) |
23:39:35 | sale4one | I will check it :) thanks dom |
23:39:40 | sale4one | anything else I could read ? |
23:42:00 | vbtt | sale4one:what languages are you already familiar with? |
23:42:17 | sale4one | php, python, javascript |
23:42:25 | sale4one | all the ones for web |
23:42:55 | vbtt | so nimrod is the first statically typed, compiled one. |
23:43:37 | vbtt | hmm that will be a jump but you should be able to get it. there are two big things i guess - static typing and the memory model (i.e dealing with references, pointers) |
23:44:11 | sale4one | at least i wont need to learn the basics |
23:44:12 | dom96 | Would be nice for someone to write a Nimrod tutorial for Python programmers. |
23:44:21 | dom96 | Perhaps we should add that to the GSoC idea list |
23:44:27 | vbtt | and then you have things like generics.. |
23:44:33 | sale4one | yeah, most of us here should know python |
23:46:28 | vbtt | sale4one:why did you pick nimrod? |
23:48:08 | sale4one | because I liked it :) I read quite a number of articles about nimrod, read on reddit and everything and made my call :) |
23:49:04 | vbtt | sale4one:do you know any C? |
23:49:07 | vbtt | or Pascal? |
23:50:36 | sale4one | tiny bits, as I was the representative of my school when there was competions in programming (C) but still I forgot most of it (it was like 3 years ago) |
23:51:44 | Araq | ping fowl |
23:53:12 | dom96 | noooo. "Error: internal error: not unused" :( |
23:53:34 | Araq | dom96: update your compiler? |
23:53:43 | dom96 | oh it's fixed already? :O |
23:53:54 | Araq | should be |
23:54:00 | dom96 | Araq: Great. |
23:54:47 | Matthias247 | Hmm, I discovered nimrod by coincidence. Found rust in prior and decided to try out if that could get an alternative to C++ for me. And later on this heard about nimrod |
23:56:09 | vbtt | i looked into nimrod like 3-4 years ago. |
23:56:18 | sale4one | Nimrod is getting some good reviews around |
23:57:02 | vbtt | i really liked it for a few minutes and then liked it less as i read more. |
23:57:04 | Varriount|Mobile | Hey dom96, any news about the GSoC application? |
23:57:08 | vbtt | or rather - it wasn't what i was looking for. |
23:57:25 | vbtt | Varriount:they'll review applications next week. nimrod has been submitted. |
23:57:29 | dom96 | Varriount|Mobile: Its been submitted. We will know if we get accepted by the 24th. |
23:57:48 | Araq | dom96: can we still add a voucher? |
23:57:54 | dom96 | Araq: no |
23:58:08 | Araq | damn |
23:58:17 | dom96 | hrm, two new stargazers for jester. |
23:58:19 | EXetoC | sale4one: for the most part. people are hating on the indentation-sensitivity |
23:58:22 | dom96 | In the last 30 minutes |
23:58:35 | dom96 | Wonder where that's coming from |
23:58:37 | EXetoC | :-) |
23:58:38 | vbtt | EXetoC: except the python people. |
23:58:50 | Varriount|Mobile | Like me |
23:58:56 | sale4one | And I like it |
23:58:59 | EXetoC | vbtt: seems like a plausible theory |
23:59:01 | vbtt | EXetoC:perhaps you mean case/underscore insensitivy? |
23:59:31 | vbtt | EXetoC:I didn't like other things. e.g. paren less invocation, many ways to call functions etc. now it doesn't matter to me as much i guess. |
23:59:39 | EXetoC | vbtt: indentation for defining blocks, rather than { and } for example (C etc) |
23:59:43 | sale4one | it forces a bit of formating to code, and thats nice. I would like to see a formater like in Go |
23:59:51 | Araq | EXetoC: Haskell does the same and everybody loves haskell |