00:00:11 | filwit | Araq: about the exposure thing.. what i mean is I want to use the same exposure symbol in {.immediate.} macros, but the parser expects a symbol after the * symbol |
00:00:22 | filwit | Araq: so i cant do `part Foo*: ...` |
00:00:22 | BitPuffin | you can't always dictate over filwit |
00:00:25 | BitPuffin | that would be rude |
00:00:27 | BitPuffin | and evil |
00:00:52 | filwit | yes.. |
00:00:55 | filwit | very evil |
00:01:05 | filwit | wait wut r you talking about? |
00:01:24 | BitPuffin | breadcrumbs |
00:02:07 | filwit | i will add breadcrumbs.. but only if we collectively agree to henceforth call them 'cakecrumbs' instead |
00:02:34 | BitPuffin | it's a bit too late for that I am afraid |
00:02:35 | filwit | Araq: anyways, i was just wondering if you had any thoughts on the exposure symbol for immediate macros |
00:02:54 | BitPuffin | damn it cat, stop being so dramatic |
00:03:28 | Araq | filwit: no, I'll think about it |
00:04:23 | filwit | Araq: k. it's not a huge issue right now cause my OOP stuff is targeted to stuff which is always designed to be "exposed", but for general purpose OOP macros it would be nice to have a solution which felt familiar to the rest of the syntax |
00:04:28 | * | Jesin joined #nimrod |
00:04:55 | BitPuffin | filwit: how's your part thing going? |
00:05:05 | filwit | haven't worked on it in awhile |
00:05:09 | filwit | been doing other stuff |
00:05:22 | BitPuffin | aha |
00:05:44 | BitPuffin | Araq: so should we be doing a vnug bugsprint this weekend or nay |
00:06:11 | flaviu | Shouldn't `array[1..6, string]` allow me to index from 1, not 0? |
00:06:13 | filwit | besides, all these AAA game-engines are starting to add linux support and stuff, and Unreal Engine 4 basically has all my "node design, barely code" ideas |
00:06:27 | filwit | they even said the editor was coming to linux native, so yeah |
00:07:09 | filwit | i'm still working on a bunch of stuff for that, but i'm going to focus on the site-design and stuff for the moment |
00:09:50 | Araq | flaviu: the VM doesn't support 1..N, known bug |
00:10:10 | BitPuffin | cat, stop cutting yourself on my monitor |
00:11:43 | flaviu | Araq: It doesn't seem to be on github, should I report? |
00:12:09 | Araq | ok |
00:12:26 | Araq | you can fix it |
00:12:52 | * | DAddYE quit (Remote host closed the connection) |
00:13:02 | Araq | vmgen.nim, array indexing needs a subtraction if the lower bound is not 0 |
00:16:49 | EXetoC | ååäöåöäåöä |
00:17:00 | Araq | EXetoC: you can do that too, I'm sure |
00:17:51 | flaviu | Ok, I'll try to do a pull request. I reported the bug at #1110 |
00:23:07 | * | DAddYE joined #nimrod |
00:23:44 | Varriount|Mobile | Araq: Did Mingw-w64 have what you want? |
00:24:41 | Araq | Varriount|Mobile: the installer crashed |
00:25:05 | Varriount|Mobile | -_- |
00:25:25 | Varriount|Mobile | It never crashed for me :/ |
00:29:51 | xenagi | ^ said every programmer ever |
00:30:10 | Varriount|Mobile | Araq: Here's the link to the compressed installation |
00:30:13 | Varriount|Mobile | http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/4.8.2/threads-win32/sjlj/x86_64-4.8.2-release-win32-sjlj-rt_v3-rev3.7z/download |
00:38:21 | Demos | http://sourceforge.net/projects/msys2/ |
00:38:25 | Demos | ^better |
00:39:09 | Demos | has both msys32 and 64 avalible in a real package manager (pacman!) |
00:41:35 | EXetoC | nananana pacman |
00:43:05 | Demos | https://www.khronos.org/webcl/ <--- just what we need! |
00:44:29 | xenagi | idk Demos |
00:44:42 | Demos | that was sarcasm btw |
00:44:46 | xenagi | oh ok lol |
00:45:16 | xenagi | I like the Web and I'm all for it, but I'm not ready to relinquish all of my computer's resources to it lol |
00:45:48 | Demos | it is just sad |
00:46:31 | xenagi | in what way? |
00:47:02 | Demos | like is installing applications such a burden that we need to take reimplement all our OS services in our web browsers? |
00:47:38 | Demos | did we really screw up windowing so badly that HTML/CSS/JS is actually better? |
00:48:48 | xenagi | there's that too |
00:49:01 | Demos | s/take// |
00:51:07 | EXetoC | what do you mean? |
00:51:16 | EXetoC | people don't want to install stuff for one |
00:51:30 | xenagi | it's not hard to install stuff |
00:51:52 | Demos | there are systems where you could just like run something over the network |
00:51:57 | xenagi | there shouldn't be a barrier to it, enough that we redevelop applications inside a DOM |
00:52:03 | * | DAddYE quit (Remote host closed the connection) |
00:52:05 | Demos | (this was not "secure" I guess) |
00:52:45 | Demos | I guess if you had content that you wanted to put up you could get that done before adding any of the "hard" code |
00:53:17 | renesac | if you install stuff it is harder to spy on what you are doing |
00:53:31 | Demos | renesac: not really |
00:53:43 | renesac | and the application provider also can't easily uninstall your application |
00:54:12 | Demos | you could default to having only signed apps run and the provider could revoke the cert |
00:54:18 | * | brson quit (Ping timeout: 240 seconds) |
00:55:22 | Demos | but anyway. I guess some "webapps" are OK, but like I would be totally OK with facebook as a desktop app |
00:56:15 | Demos | like maybe you could tell your OS "yo! I wanna run this app over here, why dont you ask it for my user data and download the executable" |
00:56:18 | * | brson joined #nimrod |
00:58:03 | xenagi | if its run faster as a desktop application, which it probably would, then i would be for it |
01:00:21 | * | Jesin quit (Quit: Leaving) |
01:00:22 | Demos | this kind of thing has been attempted, but in the end people valued the easiness of the web over simpler and faster solutions |
01:00:33 | Demos | at least that is what seems to be the case |
01:03:06 | Demos | but then again, the interen/www seems to be useful to a whole lot of people. So although the tech is a bit strange it may be a good thing. I guess we do not really know what makes software "good". |
01:04:39 | BitPuffin | installing things is easy with a package manager + repository |
01:05:23 | Demos | easy for you. You would be suprised how much trouble people have. Even on OSX where installation is more or less standardized and quite sane |
01:05:24 | BitPuffin | which is why app stores are so popular I guess |
01:05:36 | Demos | true |
01:05:49 | Demos | even then it needs to work without being root |
01:05:50 | BitPuffin | since app stores are basically repositories |
01:05:58 | BitPuffin | why? |
01:06:03 | BitPuffin | well |
01:06:09 | BitPuffin | I guess installing as local user should be fine |
01:06:22 | BitPuffin | but I don't think becoming root is much of a barrier |
01:06:30 | Demos | because if I am on a lab/school/co-worker's computer I do not want to need root for check my email |
01:06:51 | BitPuffin | yeah |
01:06:53 | BitPuffin | and you don't |
01:06:57 | BitPuffin | so wtf are you talking about xD |
01:07:39 | Demos | if www worked by distributeing programs and having a data synch type deal instead of distributeing a bunch of scripts |
01:07:54 | Demos | well distributeing IR |
01:08:03 | Demos | or C |
01:08:39 | BitPuffin | distributing |
01:08:40 | Demos | then again we tried that with java and it was not really ideal |
01:08:45 | BitPuffin | haha |
01:08:46 | BitPuffin | oh java |
01:09:00 | Demos | yeah, fast typing |
01:09:27 | BitPuffin | IR? |
01:10:06 | flaviu | Like assembler, but a bit higher level |
01:10:28 | flaviu | Intermediate Representation IIRC |
01:10:45 | BitPuffin | ah |
01:10:51 | BitPuffin | so in other words bytecode |
01:10:55 | Demos | yes |
01:11:02 | BitPuffin | I've been arguing for a web bytecode for a long long time |
01:11:08 | flaviu | Yes, but .Net and I think python use the words IR |
01:11:14 | Demos | same as what happens with stuff like HLSL bytecode |
01:11:18 | flaviu | BitPuffin: asm.js |
01:11:24 | Demos | NOOOOOOOPE |
01:11:51 | BitPuffin | flaviu: that's not bytecode at all |
01:12:21 | BitPuffin | asm.js is just (kinda) javascript with types done ugly |
01:12:29 | BitPuffin | it's not as low level as it name implies |
01:12:34 | BitPuffin | its |
01:12:45 | flaviu | Its as close as you can get and still be runnable without any special processing |
01:12:47 | Demos | BitPuffin: well we generate C, and god knows our C looks like IR |
01:13:13 | BitPuffin | mmmmmm |
01:13:15 | BitPuffin | yeah |
01:13:41 | BitPuffin | I guess asm.js is defiling javascript as much as we are defiling C |
01:13:51 | BitPuffin | however javascript is defiled by definition already |
01:13:53 | BitPuffin | so it's aight |
01:14:05 | Demos | and the idea of having a standard set of calls and behaviors is nice.... except in javascript they are not standard! |
01:14:35 | flaviu | I've been using --embedsrc when compiling, its occasionally helpful |
01:14:40 | BitPuffin | javascript is pain and suffering |
01:15:10 | Demos | http://research.microsoft.com/pubs/154698/Atlantis-SOSP.pdf |
01:16:37 | Demos | althought that paper is coming dangerously close to being Plan 9 from microsoft labs |
01:17:06 | Demos | anyway the idea is to let web "pages" distribute the whole layout engine and even perhaps a kernel |
01:17:25 | flaviu | Have you seen Roslyn? |
01:18:22 | flaviu | I think that nimrod is pretty close to it, at least closer than any other compiler I've heard of |
01:18:52 | Demos | I would love to be able to use the nimrod compiler as a library |
01:19:17 | flaviu | An embedded scripting language! |
01:20:05 | Demos | well sorta, but yeah! You can actually do this in haskell, but you end up with 150MB executables |
01:20:08 | BitPuffin | Demos: you and I think alike, I've been whining about that for months and months |
01:20:17 | flaviu | According to the irc logs, the reason that nimrod switched from GPL to MIT is because they were planning on having eval be a central feature |
01:20:54 | Demos | all this stuff is a bit dangerous, you gotta be sure not to destroy dead code elim |
01:22:04 | BitPuffin | Demos: well I only want it during development |
01:22:26 | BitPuffin | the release version would merely be the binary |
01:22:30 | BitPuffin | no compiling on the fly |
01:23:35 | Demos | well hotloading is what really makes that worth it, and that is /really hard/ with static types I think |
01:23:55 | flaviu | 12-01-2013 16:36:52 Araq: well the planned runtime.eval feature requires the compiler to become at least LGPL |
01:24:02 | fowl | Demos, my compiler is 2mb |
01:24:16 | Demos | fowl: right, but your compiler is also not haskell |
01:24:22 | * | filwit quit (Quit: Leaving) |
01:24:33 | fowl | oh |
01:24:33 | Varriount|Mobile | flaviu: Wait, why lgpl? |
01:26:24 | flaviu | Varriount|Mobile: IDK, but that's from 2013, and I think everything is licensed MIT now. |
01:29:12 | Varriount|Mobile | Personally, GPL makes me uncomfortable. It might be fine for certain pieces of software - like a compiler - but it restricts usage quite a bit |
01:33:13 | * | psquid_ quit (Ping timeout: 250 seconds) |
01:33:29 | Demos | http://mollyrocket.com/jacs/jacs_0004_0008.html <--- epic rant on inner platform and stupid complexity |
01:34:12 | * | psquid_ joined #nimrod |
01:38:07 | * | zezba9000 left #nimrod (#nimrod) |
01:38:55 | Varriount|Mobile | Seems to me likena rant against steve jobs |
01:39:06 | Demos | it gets into software later on |
01:40:59 | Varriount|Mobile | I have to agree with them a bit on Steve Jobs - He got things done, to a certain extent, but no-one could ever call him "nice" |
01:42:15 | Demos | he was cat herding, although I am not srue he was as good at it as Linus |
01:42:55 | Varriount|Mobile | Programmers are cats... thats actually a pretty accurate statement. |
01:43:18 | Varriount|Mobile | Or maybe they're like Republican Bees? |
01:44:13 | Varriount|Mobile | There's a certain mindset that tends to characterize programmers, in any case. |
01:51:32 | * | nande quit (Ping timeout: 265 seconds) |
01:52:12 | flaviu | I personally hate how the GPL says it doesn't restrict your freedoms, even when it does so significantly. Much less than an EULA, but still some |
01:59:45 | Varriount|Mobile | Any library that uses the GPL can say goodbye to any large amount of use - people avoid such things, in case they want to make their endeavors commercial. |
02:06:12 | reactormonk | Varriount|Mobile, that's what the LGPL is good for |
02:06:40 | reactormonk | albeit I saw a guy stopping by in the spring channel (RTS engine) to ask if he could add some code to encrypt his data files |
02:09:35 | flaviu | is there any way to get repr to avoid the `$` method? |
02:11:01 | flaviu | I'm dealing with AST nodes and their $ method does pretty printing and the treeRepr method doesn't give me all the posible information |
02:11:21 | reactormonk | flaviu, overload the `$` method maybe? |
02:11:43 | reactormonk | Araq, any way to override a method in the current scope? |
02:12:06 | flaviu | I want to override it to never being defined |
02:13:15 | flaviu | Not even `from macros import treeRepr, children` works, I guess I'll just write my own printing |
02:13:38 | reactormonk | :-/ |
02:16:36 | * | Demos_ joined #nimrod |
02:19:46 | NimBot | Araq/Nimrod devel 23e9ed8 Simon Hafner [+0 ±1 -0]: added `continue` to errStmtInvalidAfterReturn |
02:27:59 | * | q66 quit (Quit: Leaving) |
02:43:26 | Demos_ | wow I am looking at the style guide for the programming class I am taking next year, People bitch about it but it is like the most basic stlye guide ever! |
02:48:10 | fowl | Demos, java or c++? |
02:50:53 | Demos_ | c++ |
02:51:51 | Demos_ | it is called "Object-Oriented and Advanced Programming", but it is not some kind of insane OOP is great you should have everything OOP because it totally makes code better here is zero data to prove it" |
02:53:22 | flaviu | I seems like repr only handles some loops. That or the object I'm looking at is over 200 levels deep. |
03:02:18 | EXetoC | I bet it's the latter |
03:04:39 | * | Demos_ quit (Ping timeout: 250 seconds) |
03:09:52 | fowl | flaviu, repr shouldnt be used for cyclic things |
03:10:26 | flaviu | Is there an alternative, especially for PNodes? |
03:10:33 | EXetoC | you can always have a limit |
03:12:16 | flaviu | EXetoC: How? |
03:12:16 | flaviu | fowl: I guess thats a bug in the docs then? "It works even for complex data graphs with cycles" |
03:13:47 | fowl | flaviu, idk, if it works for you then it works |
03:26:06 | * | xenagi quit (Quit: Leaving) |
03:40:19 | * | brson quit (Ping timeout: 252 seconds) |
03:42:02 | * | brson joined #nimrod |
03:53:15 | * | brson quit (Ping timeout: 240 seconds) |
04:11:22 | * | Varriount_ joined #nimrod |
04:11:24 | * | Varriount||Mobil joined #nimrod |
04:12:48 | * | Varriount quit (Ping timeout: 245 seconds) |
04:13:07 | * | Varriount|Mobile quit (Ping timeout: 250 seconds) |
04:15:05 | * | BitPuffin quit (Ping timeout: 265 seconds) |
04:24:02 | * | flaviu quit (Remote host closed the connection) |
04:29:39 | * | psquid joined #nimrod |
04:30:03 | * | psquid_ quit (Ping timeout: 276 seconds) |
05:03:52 | * | Technicality joined #nimrod |
05:15:27 | Technicality | what is the best place to paste code? |
05:16:40 | * | Demos quit (Read error: Connection reset by peer) |
05:25:09 | * | Demos joined #nimrod |
05:28:14 | reactormonk | Technicality, nothing special, I use lpaste |
05:28:34 | reactormonk | Technicality, and naturally, gist @ github |
05:29:51 | * | nequitans quit (Ping timeout: 276 seconds) |
05:35:45 | Skrylar | sdl.. why you do dis |
05:35:56 | Skrylar | it stores gestures in global tables |
05:36:03 | Skrylar | but everything else in sdl is properly reentrant |
05:41:30 | * | nequitans joined #nimrod |
05:45:31 | * | Technicality quit (Ping timeout: 258 seconds) |
06:17:43 | * | Varriount||Mobil quit (Read error: Connection reset by peer) |
06:18:06 | * | nequitans quit (Ping timeout: 258 seconds) |
06:20:05 | * | Demos quit (Ping timeout: 250 seconds) |
06:27:41 | * | DAddYE joined #nimrod |
06:37:32 | reactormonk | remind me, how again do you splice strings... |
06:45:45 | * | EXetoC quit (Quit: WeeChat 0.4.3) |
06:47:38 | Varriount_ | reactormonk: splice? as in join? |
06:47:44 | * | Varriount_ is now known as Varriount |
06:52:08 | * | [1]Endy joined #nimrod |
06:57:58 | reactormonk | Varriount, nah, [0..]-1 |
06:58:03 | reactormonk | ehh [0..-1] |
07:02:46 | * | DAddYE quit (Remote host closed the connection) |
07:03:17 | * | DAddYE joined #nimrod |
07:07:44 | reactormonk | Varriount, hmm, how do I do pointer arithmetics again, do you remember? |
07:08:07 | * | DAddYE quit (Ping timeout: 265 seconds) |
07:11:51 | Skrylar | reactormonk: easy answer is "you don't", more difficult answer is fowl's github has a module for that |
07:13:36 | reactormonk | Skrylar, well, some C api requires it |
07:19:32 | * | DAddYE joined #nimrod |
07:34:42 | reactormonk | got (TDbConn, string, cstring, cstring), (db: TDbConn, model: string, a: string, b: string): float |
07:34:45 | reactormonk | hum |
07:36:03 | * | Mordecai joined #nimrod |
07:36:08 | reactormonk | hum |
07:36:21 | * | Mordecai is now known as Guest16039 |
07:37:06 | * | psquid quit (Ping timeout: 240 seconds) |
07:47:26 | * | io2 joined #nimrod |
08:18:08 | * | DAddYE quit (Remote host closed the connection) |
08:18:34 | * | DAddYE joined #nimrod |
08:23:04 | * | DAddYE quit (Ping timeout: 258 seconds) |
09:21:27 | * | [2]Endy joined #nimrod |
09:24:15 | * | [1]Endy quit (Ping timeout: 250 seconds) |
09:26:46 | Araq | reactormonk: how about fixing $ for floats? |
09:30:52 | reactormonk | Araq, all in due time |
09:31:07 | Araq | we will release tomorrow |
09:32:21 | reactormonk | ah fuck |
09:33:34 | reactormonk | Araq, in doubt, just revert my changes |
09:34:35 | Araq | you can do that too ;-) |
09:36:37 | reactormonk | I doubt you want to help me with some sql |
10:04:36 | reactormonk | Araq, gotta say "expression has no address" isn't too informative |
10:10:14 | * | Matthias247 joined #nimrod |
10:22:30 | Araq | ok, so make it "expression is no L-value" :P |
10:34:30 | Varriount | Good morning! |
10:42:30 | Varriount | Hm.. So it appears that, at least within the past year, preliminary tests have shown that gcc compiled programs run more slowly than vcc compiled ones. |
10:42:58 | Varriount | On the one hand, faster is good. On the other hand, I rarely deal with the "X is not fast enough" argument. |
10:44:47 | Varriount | Araq: You'll be happy to know that, at the moment, I'm re-testing the installer infrastructure I have set up, so that shiny new nimrod installations can be produced. |
10:57:14 | dom96 | 'morning |
10:58:31 | dom96 | Araq: where are we with async? |
11:02:53 | * | Guest16039 is now known as psquid |
11:05:16 | reactormonk | Araq, l-value? |
11:05:37 | reactormonk | dom96, btw, I allowed myself a slight change in the sqlite3 module |
11:05:59 | dom96 | ok, why are you telling me this specifically? |
11:06:27 | reactormonk | because I had some slight association you were maintaining that |
11:07:02 | dom96 | nope |
11:17:05 | * | uvelichitel joined #nimrod |
11:17:27 | dom96 | hello uvelichitel |
11:21:37 | uvelichitel | hi there. My lang of choice today is Go. I learn recently about nimrod. It looks nice. I mostly interested in net programming, so i looks for generic server and async IO and sockets in nimrod stdlib |
11:25:37 | uvelichitel | Does nimrod uses system processes for threads, or own? Can I read somewhere about concurrency model? Some tutorials, explanation materials? Precisely about server programming. |
11:26:19 | Araq | uvelichitel: we have c# inspired async+await which is *almost* ready |
11:27:01 | Araq | we also have async sockets which are useful today :-) |
11:27:20 | Araq | since we compile to C, we use OS level threads |
11:28:20 | * | io2_ joined #nimrod |
11:28:36 | * | io2 quit (Ping timeout: 258 seconds) |
11:29:59 | * | io2_ quit (Client Quit) |
11:30:33 | Araq | I don't think we have a threading tutorial yet. Nimrod uses thread local heaps and so is not as convenient as Go. For now. ;-) |
11:31:59 | uvelichitel | Araq: Thanks. Can't googling much tutorials about nimrod idiomatic usage to get feet wet. Manual quite readable but some incomplete. Where should I start? Reading stdlib source? |
11:32:48 | Araq | hmm nimforum uses the async stuff iirc |
11:43:21 | reactormonk | Araq, gotta say I would prefer some variable-length float :-/ |
11:43:32 | reactormonk | but I got no idea how to do that. |
11:43:46 | Araq | what's a variable length float? |
11:43:49 | uvelichitel | Araq: nimforum use Jester. Jester imports httpserver and asyncio from stdlib, as far as I can understand. So all magic in stdlib? |
11:44:08 | Araq | uvelichitel: afaik, yes |
11:45:55 | reactormonk | Araq, variable length float $ |
12:08:41 | * | runvnc1 joined #nimrod |
12:11:54 | * | q66 joined #nimrod |
12:11:54 | * | q66 quit (Changing host) |
12:11:54 | * | q66 joined #nimrod |
12:14:54 | * | runvnc quit (*.net *.split) |
12:14:55 | * | phI||Ip_ quit (*.net *.split) |
12:17:17 | * | phI||Ip joined #nimrod |
12:39:07 | * | Enumerate joined #nimrod |
12:41:09 | Araq | hi Enumerate welcome |
12:43:41 | Enumerate | hello. do functions already exist that convert sequences to strings? |
12:44:54 | Varriount | Enumerate: Sequences of what? |
12:45:44 | Enumerate | when split is used in strutils it becomes a sequence |
12:45:48 | Enumerate | to rejoin them to strings |
12:46:36 | Varriount | Enumerate: strutils.join |
12:48:37 | Enumerate | ok so openarray[string] and seq are similar |
12:57:35 | * | runvnc1 quit (Quit: WeeChat 0.4.1) |
13:14:07 | Enumerate | is there an inbuilt function that will return multiple positions found in a string such as find "hat" in "the hat was the best hat ever" that will return both positions of "hat". at pos 4 and 16? |
13:15:16 | * | BitPuffin joined #nimrod |
13:16:05 | * | Skrylar quit (Ping timeout: 250 seconds) |
13:21:23 | dom96 | Enumerate: Don't think so, you should be able to create one yourself with the help of the find proc in strutils. |
13:34:35 | * | EXetoC joined #nimrod |
13:38:30 | Enumerate | worked out good |
13:40:34 | * | darkf quit (Quit: Leaving) |
13:54:48 | * | Enumerate quit (Remote host closed the connection) |
14:36:02 | * | Jesin joined #nimrod |
14:36:26 | * | Jesin quit (Read error: Connection reset by peer) |
14:42:04 | * | Jesin joined #nimrod |
14:57:05 | * | Mordecai joined #nimrod |
14:57:24 | * | Mordecai is now known as Guest46329 |
14:59:32 | * | psquid quit (Ping timeout: 245 seconds) |
15:16:25 | * | Matthias247 quit (Read error: Connection reset by peer) |
15:57:30 | * | Demos joined #nimrod |
16:06:33 | * | Jesin quit (Remote host closed the connection) |
16:06:50 | * | xenagi joined #nimrod |
16:11:37 | * | [2]Endy quit (Ping timeout: 252 seconds) |
16:32:02 | * | flaviu joined #nimrod |
16:36:31 | flaviu | Araq: What does ABC and ABI mean in the VM? |
16:53:00 | * | Demos quit (Ping timeout: 276 seconds) |
16:59:08 | * | nequitans joined #nimrod |
17:54:23 | * | Jesin joined #nimrod |
17:56:44 | * | io2 joined #nimrod |
18:06:55 | * | ehaliewicz joined #nimrod |
18:22:36 | * | vendethiel quit (Remote host closed the connection) |
18:22:50 | * | vendethiel joined #nimrod |
18:25:22 | * | Demos joined #nimrod |
18:29:30 | * | nequitans quit (Ping timeout: 258 seconds) |
18:39:36 | * | Demos quit (Ping timeout: 276 seconds) |
18:46:02 | * | superfunc joined #nimrod |
18:54:31 | * | nequitans joined #nimrod |
19:04:43 | * | [1]Endy joined #nimrod |
19:07:42 | * | Demos joined #nimrod |
19:17:00 | Demos | it seems that 1.0/2.0 in the VM is 0.0 |
19:17:07 | Demos | or maybe that is just nimrod i |
19:17:44 | flaviu | Demos: I think thats reactormonk's fault |
19:17:45 | flaviu | https://github.com/Araq/Nimrod/issues/1109 |
19:17:46 | dom96 | Demos: likely this issue https://github.com/Araq/Nimrod/issues/1109 |
19:18:26 | Demos | ugh I gotta reboot |
19:22:46 | * | Demos_ joined #nimrod |
19:23:04 | * | Demos quit (Read error: Connection reset by peer) |
19:23:10 | Demos_ | I am pretty sure the latest KDE update changed the ABI of the libs or something |
19:23:35 | Demos_ | or at least changed a version string that caused konq to refuse to start |
19:29:37 | * | Demos_ quit (Ping timeout: 250 seconds) |
19:30:24 | * | Matthias247 joined #nimrod |
19:32:01 | flaviu | `let a = c.genx(n.sons[0], flags)` isn't very readable :/ |
19:33:59 | xenagi | is that from somewhere? |
19:34:20 | flaviu | Yes, https://github.com/Araq/Nimrod/blob/devel/compiler/vmgen.nim#L1182 |
19:43:23 | fowl | flaviu, the compiler needs documentation badly |
19:43:34 | fowl | and better variable names >_> |
19:44:25 | flaviu | How about a warning on 1 char variables? |
19:44:56 | flaviu | except i, I guess |
19:45:19 | fowl | i,j,k,L,a,b,.. |
19:45:58 | flaviu | fowl: read vmgen, a and b shouldn |
19:46:06 | flaviu | 't be whitelisted |
19:53:36 | flaviu | How do I create an AST that subtracts? newNode(nkInfix, info, @[newIdentNode(getIdent("-"), info), a,b]) crashes the VM code generator. |
19:58:38 | fowl | newIdentNode is from macros? |
19:58:52 | flaviu | No, from ast |
19:59:26 | * | Demos joined #nimrod |
20:08:22 | Demos | oh, it is just an issue with `$`, well that is not world-ending |
20:22:18 | * | Demos quit (Ping timeout: 276 seconds) |
20:22:42 | * | nequitans quit (Ping timeout: 240 seconds) |
20:32:37 | * | Demos joined #nimrod |
21:01:40 | reactormonk | Demos, still kinda nasty |
21:05:10 | NimBot | Araq/Nimrod devel 6ee1717 Grzegorz Adam Hankiewicz [+0 ±1 -0]: Mentions jsondoc in compiler advanced help. |
21:05:10 | NimBot | Araq/Nimrod devel 1f9f34b Simon Hafner [+0 ±1 -0]: Merge pull request #1111 from gradha/pr_mentions_jsondoc_command... 2 more lines |
21:13:01 | * | Demos quit (Ping timeout: 252 seconds) |
21:16:01 | * | Demos joined #nimrod |
21:16:15 | * | [1]Endy quit (Ping timeout: 276 seconds) |
21:20:22 | flaviu | reactormonk: Can you pull 1113? |
21:21:06 | Demos | if you forward declare a proc with a doc comment and then have a doc comment on the definition of the proc what does docgen do? |
21:23:07 | BitPuffin | Demos: commit suicide |
21:23:19 | BitPuffin | Demos: I'd imagine it only shows the public one |
21:23:59 | fowl | lol |
21:25:11 | BitPuffin | what word does nimbros prefer, exported, or public |
21:28:35 | fowl | pubic |
21:29:43 | flaviu | BitPuffin: exported, see http://build.nimrod-lang.org/docs/docgen.html |
21:42:25 | dom96 | this is pretty cool: http://autocomplete.redis.io/ |
21:43:18 | * | Varriount|Mobile joined #nimrod |
21:44:25 | Varriount|Mobile | Anyone here have a Hacker News account? |
21:44:42 | dom96 | yes |
21:44:52 | BitPuffin | dom96: not sure what it's for tho |
21:45:08 | dom96 | BitPuffin: it's just a demo |
21:45:12 | BitPuffin | dom96: ah |
21:45:14 | BitPuffin | yeah |
21:45:16 | BitPuffin | it's nice |
21:45:18 | * | superfunc quit (Ping timeout: 240 seconds) |
21:46:14 | dom96 | Varriount|Mobile: Why do you ask? |
21:46:18 | Varriount|Mobile | dom96: There's an article on the front page about "Why Delphi won't Die", and the comments feature positive things about Delphi and Pascal |
21:46:35 | dom96 | Varriount|Mobile: I already commented there. |
21:46:38 | BitPuffin | I know a guy who works with Delphi |
21:46:48 | BitPuffin | LOL dom96 |
21:46:50 | BitPuffin | nerd |
21:46:54 | xenagi | hey guys, i know of a way to help (a patch?) and contribute, but I don't know where to start in the codebase |
21:46:58 | Varriount|Mobile | Since nimrods syntax is very Pascal-like, it might be a good opportunity to comment on nimrod |
21:47:05 | * | foodoo joined #nimrod |
21:47:09 | BitPuffin | xenagi: check the issue list |
21:47:18 | xenagi | basically, all REPLs and shells terminate with CTRL+D (End of Transmission) |
21:47:26 | dom96 | BitPuffin: stfu |
21:47:28 | xenagi | BitPuffin, already had something in mind, just need some pointers |
21:47:40 | BitPuffin | xenagi: and start with poking around with the bug, look at the stack trace and stuff |
21:47:41 | EXetoC | flaviu: "c: PCtx" for example appears a gazillion times so that's fine imo, but "genx" is indeed pretty obscure. any idea what it might mean? :p |
21:47:44 | xenagi | but "nimrod i" does not |
21:47:47 | BitPuffin | xenagi: you should read through the ast module though |
21:47:53 | Varriount|Mobile | And if the issues list overwhelms you, look at the Google Summer of Code ideas page on the github wiki |
21:47:54 | BitPuffin | dom96: </3 |
21:47:56 | BitPuffin | ok |
21:47:56 | fowl | xenagi, try bootstrapping with --d:useGnuReadline |
21:47:59 | * | BitPuffin abandons nimrod |
21:48:03 | xenagi | lol |
21:48:05 | xenagi | thanks fowl |
21:48:08 | xenagi | and BitPuffin |
21:48:24 | * | BitPuffin is not allowed to talk anymore |
21:48:24 | flaviu | xenagi: Don't take the PRNG from the GSOC, that's my module |
21:48:35 | flaviu | :P |
21:48:49 | xenagi | :/ well, damn... NOW what do i do :P |
21:48:52 | * | BitPuffin downloads ocaml and haskell |
21:49:05 | BitPuffin | dom96: do you see what you have DONE?! |
21:49:49 | Varriount|Mobile | xenagi: Doc-u-men-ta-tion |
21:50:03 | xenagi | I could do that... |
21:50:10 | dom96 | xenagi: There are soooo many libraries you could be implementing in pure Nimrod. |
21:50:14 | xenagi | I do find it quite lacking tbh |
21:50:28 | BitPuffin | xenagi: if you do docs, we will all hug you at nimcon |
21:50:33 | flaviu | xenagi: The macro docs should be straightforward, if you want to work on them |
21:50:38 | xenagi | theres a nimcon?? lol |
21:50:46 | BitPuffin | one day yeah |
21:50:50 | foodoo | where? |
21:50:50 | Varriount|Mobile | And if you get bored with standard library documentation, you could always try documenting the compiler internals >:D |
21:50:54 | fowl | xenagi, yes, its at your house, next week |
21:51:01 | BitPuffin | foodoo: there hasn't been one yet |
21:51:04 | xenagi | -.- |
21:51:13 | flaviu | xenagi: For maximum fun, document the VM internals! |
21:51:24 | foodoo | There is a VM? |
21:51:47 | dom96 | For example, re implemented in pure nimrod would be fun :P |
21:51:49 | flaviu | foodoo: Yes, it powers `nimrod i` and all compile-time execution |
21:52:08 | Varriount|Mobile | Considering how spatially spread-out the developers are, we would probably have to host a convention by skype or google hangout |
21:52:17 | BitPuffin | foodoo: yeah |
21:52:17 | BitPuffin | foodoo: for running interpreted nimrod |
21:52:17 | BitPuffin | xenagi: alternatively you can fix my bugs with generics |
21:52:17 | BitPuffin | dom96: or haskell |
21:52:37 | dom96 | BitPuffin: I bet one already exists in pure haskell |
21:52:58 | dom96 | If you do it in Nimrod no one will accuse you of reinventing the wheel :P |
21:54:04 | flaviu | And with compile-time compilation of the regexes |
21:54:05 | dom96 | flaviu: In regards to PR #1113 it's probably best to ask Araq about it before getting reactormonk to pull it. |
21:54:42 | dom96 | ^^ yes |
21:54:51 | dom96 | I wonder how hard it would be to copy the Go implementation. |
21:54:57 | flaviu | dom96: Ok, I'll wait for him then. Initially, my changes were a bit more limited. |
21:55:17 | renesac | xenagi, if you want something that must be done now: fix the $ for floats |
21:55:21 | Varriount|Mobile | flaviu: If I recall correctly the compiler files are meant to be independent from the standard library |
21:55:35 | BitPuffin | dom96: well you told me to stop using nimrod so whaddaIdo |
21:55:52 | Varriount|Mobile | Also see my comment on the pendx.nim |
21:56:13 | flaviu | xenagi: D-style scope macros |
21:56:15 | dom96 | BitPuffin: I did no such thing |
21:56:50 | flaviu | Varriount|Mobile: I responded, the file is really basic and does nothing, and if its needed git still has a copy. |
21:57:43 | flaviu | Varriount|Mobile: The compiler uses the stdlib in many places, I think that was only the case in the pascal days because the compiler was in pascal and stdlib in nimrod. |
21:59:22 | dom96 | flaviu: It's possible that the compiler version also has some optimisations which the stdlib can't have. |
21:59:50 | Varriount|Mobile | flaviu: Then you may as well open an issue to deduplicate the compiler's ropes module |
22:00:01 | dom96 | It's more likely that no one bothered to rewrite the code so that it uses the stdlib though. |
22:00:15 | dom96 | So a PR would be much better :P |
22:00:51 | * | Demos quit (Ping timeout: 250 seconds) |
22:01:04 | flaviu | dom96: parsecfg is never used, `grep -r 'parsecfg' ./compiler ` returns nothing |
22:01:20 | * | brson joined #nimrod |
22:01:50 | flaviu | Also, is anyone planning on deleting newtempl, vm2, vm2_2, newasync, and newparser? They've already been merged into master. |
22:04:21 | * | superfunc joined #nimrod |
22:05:03 | flaviu | Varriount: Ok, bug #1115 |
22:07:26 | BitPuffin | flaviu: what's it aboot? |
22:07:57 | flaviu | Bug 1115? The stdlib has a ropes module and the compiler has its own separate ropes module |
22:08:14 | BitPuffin | lol |
22:18:07 | Araq | flaviu: ABC # takes registers A, B, C |
22:18:22 | Araq | ABI # takes registers A, B and an Immediate |
22:19:13 | dom96 | Araq: You need to write a compiler/vm cheatsheet/reference |
22:19:38 | flaviu | Thanks, that makes sense |
22:20:31 | flaviu | I would appreciate it if the VM used more verbose names though |
22:21:34 | Araq | I think it's documented in vmdef.nim |
22:22:08 | EXetoC | and the x in genx? |
22:22:14 | Araq | and I disagree, these names are used all over the place |
22:22:48 | Araq | the 'x' stands for "I allocate the register, you better ensure to free it afterwards" |
22:24:12 | flaviu | Araq: Can you go through the VM and place comments like that? I would make it easier to understand. |
22:25:09 | Araq | you could also read what it does ... |
22:25:24 | Araq | it's not like it's hidden from you or something, you know |
22:25:42 | Araq | iirc genx is a 4 line shell around 'gen' |
22:26:21 | Araq | btw Lua uses the same ABC, ABI convention ... |
22:44:25 | * | uvelichitel quit (Quit: Textual IRC Client: www.textualapp.com) |
22:58:37 | * | silven quit (Remote host closed the connection) |
23:05:03 | * | psquid joined #nimrod |
23:06:27 | * | Guest46329 quit (Ping timeout: 240 seconds) |
23:06:46 | flaviu | Araq: So if I understand correctly, genABC takes the A and B registers, applies the opc operation to them, and stores them into register C? |
23:08:15 | Araq | no regA is the destination register |
23:09:59 | * | foodoo quit (Quit: happy easter) |
23:17:20 | * | Skrylar joined #nimrod |
23:19:09 | * | Reasonable joined #nimrod |
23:19:27 | Araq | hi Reasonable welcome (back?) |
23:20:25 | NimBot | Araq/Nimrod devel b961e47 Araq [+1 ±12 -0]: new concurrency model: first steps; shared is not a keyword anymore |
23:20:25 | NimBot | Araq/Nimrod devel 8e08ff5 Araq [+0 ±9 -0]: first version of 'spawn' |
23:20:25 | NimBot | Araq/Nimrod devel 3b69a8d Araq [+1 ±22 -0]: New concurrency model: next steps |
23:20:25 | NimBot | Araq/Nimrod devel 9a27040 Araq [+0 ±1 -0]: marked markAndSweep GC thread safe |
23:20:25 | NimBot | 1 more commits. |
23:21:12 | Skrylar | time for another glorious day of yak shaving |
23:21:16 | BitPuffin | Araq: woa |
23:21:20 | BitPuffin | lol yak shaving |
23:21:29 | Araq | reactormonk: this is how to break things :P |
23:21:36 | Araq | it doesn't even bootstrap. yay. |
23:21:40 | BitPuffin | hahaha |
23:21:41 | flaviu | Which yaks are we shaving? |
23:21:42 | BitPuffin | and you commit? |
23:21:52 | Araq | BitPuffin: it bootstraps for me :P |
23:21:56 | Skrylar | flaviu: me shaving yaks so i can have a gui |
23:21:57 | BitPuffin | ah |
23:22:00 | BitPuffin | well fair enough then |
23:22:02 | BitPuffin | Araq: let me guess |
23:22:04 | BitPuffin | mac os x |
23:22:11 | Araq | no |
23:22:16 | BitPuffin | netbsd? |
23:22:34 | flaviu | Haiku OS? |
23:22:38 | BitPuffin | haha |
23:22:43 | BitPuffin | haiku didn't bootstrap before |
23:22:45 | BitPuffin | well it does |
23:22:47 | BitPuffin | if you disable |
23:22:49 | BitPuffin | uh |
23:22:57 | BitPuffin | caas |
23:22:57 | Araq | cyclic dependencies between system.nim and the compiler |
23:22:58 | xenagi | openbsd :D |
23:23:23 | Araq | I patch the compiler and then system.nim and then nothing works with an old compiler |
23:23:24 | xenagi | (i thought we were naming OSs we liked lol) |
23:23:51 | Skrylar | haiku.. |
23:23:53 | * | Demos joined #nimrod |
23:23:57 | Skrylar | its a shame that OS will never amount to anything :( |
23:23:58 | BitPuffin | Skrylar: is fucking awesome |
23:24:01 | Skrylar | i heard Be was really well architected |
23:24:07 | BitPuffin | it is |
23:24:14 | Skrylar | AMOS was too |
23:24:14 | xenagi | how so? |
23:24:19 | * | darkf joined #nimrod |
23:24:27 | BitPuffin | xenagi: extremely multithreaded |
23:24:27 | xenagi | BitPuffin, if Plan 9 couldn't make it... :/ |
23:24:32 | Skrylar | xenagi: because for an OS to succeed it has to have heoric amounts of marketing |
23:24:39 | * | Reasonable quit (Ping timeout: 252 seconds) |
23:24:44 | Skrylar | Microsoft has screwed up enough times that if anyone was on their game, they could have moved in |
23:24:49 | Skrylar | But nobody is actually organized enough to do it |
23:25:02 | BitPuffin | I love haiku |
23:25:05 | BitPuffin | it's my fav os |
23:25:50 | xenagi | extreme concurrency is appealing... |
23:25:58 | flaviu | Have people seen http://dlang.org/library/std/bitmanip.html ? |
23:26:34 | EXetoC | yes |
23:26:36 | BitPuffin | xenagi: and things are just really really simple |
23:26:37 | flaviu | Well, http://dlang.org/phobos/std_bitmanip.html is a better link |
23:26:48 | BitPuffin | xenagi: for example the applications menu is just showing a directory |
23:26:56 | BitPuffin | so to get something to show up in the menu you just put it there |
23:27:22 | Demos | BitPuffin well that is how it works in windows, except there are like 18 different directories all named in misleading ways |
23:27:23 | BitPuffin | this is more of a #nimrod-offtopic though and Araq is kinda trigger happy when it comes to me so if you wanna talk more haiku do it there |
23:27:33 | BitPuffin | Demos: pff, windows |
23:27:35 | BitPuffin | get outaheee |
23:27:42 | Demos | Araq I think you broke bootstraps with the {.gcsafe.} annotations |
23:27:50 | BitPuffin | Demos, Varriount|Mobile, dom96: I'm disappoint in you all |
23:27:57 | Skrylar | BitPuffin: lol araq never told anyone to make that channel xD |
23:28:07 | Demos | what channel? |
23:28:11 | Skrylar | offtopic |
23:28:13 | BitPuffin | #nimrod-offtopic |
23:28:34 | dom96 | BitPuffin: what why? I wasn't following the discussion? |
23:28:52 | BitPuffin | Because it's been lonely as fuck in the vnug the past days 3': |
23:30:18 | Araq | so ... it turns out 'uses' tracking is quite useless |
23:30:32 | Araq | ofc I found out after having implemented it |
23:30:49 | BitPuffin | dom96: well at least Demos joined, but where you at |
23:30:54 | Skrylar | Araq: lol |
23:31:01 | Skrylar | Araq: what were you expecting it to do? |
23:31:10 | dom96 | BitPuffin: You've been in the VNUG for the past 3 days!? |
23:31:11 | Araq | Skrylar: what 'gcsafe' now does |
23:31:53 | BitPuffin | dom96: yeah |
23:32:54 | dom96 | BitPuffin: Well, i'm always just sitting there listening and barely ever talking so meh |
23:33:36 | BitPuffin | dom96: well you should be there |
23:37:10 | * | brson quit (Quit: leaving) |
23:39:36 | flaviu | So all the top 127 registers are temporary registers? |
23:40:45 | Araq | no a register either holds a local variable a parameter or a temporary |
23:40:51 | Araq | 0 is always result |
23:40:55 | Araq | 1 is the first param |
23:41:00 | Araq | 2 the 2nd etc. |
23:41:27 | Araq | and then the rest is used for locals and temporaries |
23:41:53 | flaviu | Ok, but I'm not sure what imm+byteExcess is doing |
23:42:14 | Araq | it's encoded in "excess K" |
23:42:49 | flaviu | I googled that, but why do you need signed registers? |
23:43:15 | Araq | immediate values are immediate and no registers |
23:43:48 | Araq | it's a constant directly encoded in the instruction |
23:44:06 | flaviu | Oh, that makes sense, thanks. |
23:44:26 | Araq | and I like to have negative constants so 'x = -1' produces tiny code |
23:45:15 | flaviu | I understand, I thought imm was intermediate, not immediate |
23:48:24 | * | nande joined #nimrod |
23:59:05 | * | nande quit (Remote host closed the connection) |
23:59:43 | Araq | if there is no result, register 0 is not used |