00:03:31 | renesac | reactormonk, you that criticized my pull request in the past for using "return X" |
00:03:40 | flaviu | I like return X |
00:03:54 | renesac | I too, but I don't have strong preferences |
00:04:01 | flaviu | in some cases though, result = x might be clearer |
00:04:05 | dom96 | I prefer quit x |
00:04:07 | dom96 | :P |
00:04:21 | flaviu | Whatever is clearer is what I'd use |
00:04:27 | renesac | dom96, at least on C, that has another meaning |
00:05:18 | renesac | flaviu, Araq says to use 'return' only when it's "goto" flow control powers are needed |
00:06:12 | dom96 | renesac: what meaning does it have in C? |
00:06:21 | flaviu | That's basically when I use them anyway |
00:06:49 | renesac | oh, it's exit |
00:06:59 | renesac | in C |
00:07:36 | dom96 | good night |
00:07:46 | renesac | for nimrod |
00:07:50 | renesac | it quits the interpreter |
00:07:51 | renesac | :P |
00:12:05 | flaviu | I'm really enjoying reading http://llvm.lyngvig.org/Articles/Mapping-High-Level-Constructs-to-LLVM-IR |
00:18:40 | reactormonk | renesac, change it! |
00:29:54 | Skrylar | huh |
00:30:05 | Skrylar | i wonder the critbit module could be pushed in to using numeric keys |
00:30:31 | * | Skrylar is curious about the performance between a hopscotch table and the critbit tree for retrieving font glyphs |
00:38:17 | Skrylar | oh, thats the difference |
00:38:37 | Skrylar | apparently critbits are good for huge datasets and crap for caches, hashtables are good for caches and crap for huge datasets |
00:46:42 | brson | congrats on the release, folks |
00:47:33 | Demos | it was out "before new years"! |
00:47:45 | Demos | I guess we never said which new year |
00:47:46 | brson | pretty amazing that you've got a package manager and async i/o already |
00:50:17 | * | jturner left #nimrod (#nimrod) |
00:55:30 | * | Demos quit (Ping timeout: 265 seconds) |
01:05:37 | * | q66 quit (Quit: Leaving) |
01:06:53 | * | BitPuffin quit (Ping timeout: 264 seconds) |
01:09:17 | * | brson quit (Ping timeout: 264 seconds) |
01:24:56 | * | DAddYE quit (Remote host closed the connection) |
01:40:49 | EXetoC | Araq: ok so maybe I need to do a range check in semExprWithType, and relevant code seems to be in getConstExpr |
01:41:49 | EXetoC | it's slightly more fun when you have any idea what's going on |
01:42:00 | EXetoC | bye |
01:43:19 | OrionPK | so |
01:43:24 | OrionPK | which branch is 0.9.4 now |
01:43:41 | EXetoC | master |
01:43:59 | EXetoC | pretty sure. there's a tag too |
01:44:40 | renesac | reactormonk, change what? |
01:49:23 | flaviu | Has anyone made a pattern matching module? |
01:49:52 | EXetoC | I think dom96 said he wanted to work on that |
01:50:49 | flaviu | It should be straightforward, just make `of` an operator that returns a maybe |
02:00:34 | Skrylar | ok, looked up the apis.. its a bit derpy but i think i have enough links to make a bridge module to use gdi/freetype for getting fonts |
02:05:04 | OrionPK | yep |
02:05:15 | OrionPK | should probably submit that bug about my templates lib |
02:05:16 | OrionPK | :D |
02:05:23 | OrionPK | maybe tonight... |
02:06:37 | * | nande joined #nimrod |
02:26:38 | * | BitPuffin joined #nimrod |
02:34:53 | * | Jesin quit (Ping timeout: 276 seconds) |
03:03:16 | renesac | I can't do tuple unpacking unless I'm declaring new variables? |
03:03:48 | renesac | 'var (x, y) = divmod(8,5)' works |
03:03:56 | renesac | but if I declare x, y first, it don't |
03:05:41 | * | Kelet joined #nimrod |
03:05:50 | Kelet | Congrats on the new release! |
03:06:41 | fowl | renesac, correct |
03:07:20 | renesac | why this limitation? |
03:07:21 | renesac | :/ |
03:08:22 | fowl | dunno :) |
03:09:39 | reactormonk | Kelet, \o/ |
03:09:46 | reactormonk | Kelet, show me your most complicated nimrod code |
03:10:07 | reactormonk | renesac, bug report |
03:10:26 | fowl | there is an issue for it already |
03:10:51 | reactormonk | good |
03:10:57 | Kelet | reactormonk: echo("Hello, reactormonk!") |
03:10:58 | Kelet | :) |
03:11:03 | reactormonk | Kelet, pfft |
03:11:13 | BitPuffin | wait did we release? |
03:11:18 | reactormonk | BitPuffin, apparently |
03:11:23 | renesac | yeah, 1 year ago |
03:11:33 | reactormonk | Kelet, did some NLP homework with nimrod (+SQL) recently |
03:11:34 | BitPuffin | but there was stuff commited and I didn't give dom96 another build |
03:11:36 | BitPuffin | err |
03:11:39 | renesac | the feature request |
03:11:40 | * | ehaliewicz joined #nimrod |
03:11:57 | fowl | BitPuffin, too late |
03:12:00 | BitPuffin | reactormonk: is your fork of nimrod-mode a continuation of some abandoned thing? |
03:12:02 | BitPuffin | fowl: lol |
03:12:04 | BitPuffin | xD |
03:12:31 | Kelet | Interesting, programming languages are kind of a spectator sport for me. Before I seriously try Nimrod it'll probably be another year or three, but I really like the concept even if I'm more of a curly brace guy :) |
03:12:57 | Kelet | The JS backend is also very interesting, although I've not yet tried it. |
03:15:00 | flaviu | Kelet: You can use your own parser if you'd like |
03:15:17 | reactormonk | BitPuffin, indeed |
03:15:50 | Kelet | I actually agree with the Python-style indentation more idealogically, but my brain recognizes the brackets automatically. I think if I programmed enough Nimrod it wouldn't matter as much. |
03:16:08 | reactormonk | Kelet, originally nimrod was supposed to accept { } too, but the indent parser was the most complicated thing, so that's what was written first... |
03:16:13 | renesac | Kelet, I was going to point you to my unfinished faq: |
03:16:13 | renesac | https://github.com/Araq/Nimrod/wiki/Whitespace-FAQ |
03:16:32 | renesac | indentation guy here |
03:16:56 | flaviu | Kelet: If you'd like, you can program in C in nimrod so you can take advantage of the bugs and tooling: https://gist.github.com/flaviut/10515205/c6a84964da32847f4bd8ab9d4f52fbe1f6241e57 |
03:16:58 | flaviu | :P |
03:17:32 | Kelet | lol |
03:18:16 | BitPuffin | reactormonk: good to know |
03:19:10 | Kelet | I wonder if I can get that Nimrod IDE to build now that there has been a new release :3 |
03:19:53 | * | xenagi quit (Quit: Leaving) |
03:19:55 | BitPuffin | perhaps |
03:20:13 | * | flaviu quit (Quit: Night) |
03:21:13 | * | Arcanum_za joined #nimrod |
03:21:22 | * | Arcanum_za quit (Remote host closed the connection) |
03:26:23 | * | DAddYE joined #nimrod |
03:26:53 | reactormonk | BitPuffin, there's a few issues with nimrod-mode which I need to fix :-/ |
03:27:03 | BitPuffin | reactormonk: ah |
03:27:07 | BitPuffin | reactormonk: well I'm trying out emacs |
03:27:10 | BitPuffin | so that's why I'm asking |
03:30:38 | * | DAddYE quit (Ping timeout: 240 seconds) |
03:30:47 | reactormonk | BitPuffin, you like vim? |
03:31:58 | BitPuffin | reactormonk: yep, gonna try emacs + evil mode |
03:32:14 | BitPuffin | reactormonk: I kinda find it appealing with an editor that has a good scripting language |
03:32:50 | reactormonk | BitPuffin, but no C api |
03:33:23 | BitPuffin | reactormonk: hmm? |
03:34:12 | reactormonk | BitPuffin, there's ruby/python/perl APIs for vim. You don't have that for emacs. |
03:34:20 | reactormonk | because there is no way to link C code in emacs. |
03:35:44 | BitPuffin | ah |
03:35:56 | BitPuffin | reactormonk: well yeah but with those vim has to be built with it I think |
03:36:13 | BitPuffin | reactormonk: and that's true, but elisp is probably pretty good |
03:36:16 | BitPuffin | since lisp is awesome |
03:36:58 | reactormonk | BitPuffin, it's.... strange. Because you do stuff rather stateful, with a buffer somewhere. |
03:37:29 | reactormonk | and nimrod idetools is gonna suck as long as #804 is open |
03:38:48 | BitPuffin | reactormonk: hmm, that's weird. Generally lisp encourages statelessness |
03:39:03 | * | saml_ joined #nimrod |
03:41:41 | * | saml_ quit (Remote host closed the connection) |
03:43:22 | reactormonk | BitPuffin, elisp doesn't |
03:44:55 | BitPuffin | reactormonk: hrm |
03:51:29 | BitPuffin | reactormonk: well there is no harm in trying :) it's not like vim is going anywhere |
03:53:30 | reactormonk | BitPuffin, I still use vim to edit my emacs config in case I fucked up again :d |
03:54:50 | BitPuffin | reactormonk: :P |
03:54:58 | BitPuffin | reactormonk: why not just start emacs with the ignore config flag? |
04:00:08 | BitPuffin | reactormonk: I wonder if it is the same case in autolisp and script fu etc |
04:04:16 | reactormonk | BitPuffin, because then I don't have my evil |
04:06:54 | BitPuffin | reactormonk: fair point |
04:20:11 | * | DAddYE joined #nimrod |
04:34:14 | Skrylar | i went back to vim from sublime |
04:34:19 | Skrylar | i always forgot to use the snippets anyway |
04:35:36 | renesac | and I'm using kate with filwit's syntax highlighting |
04:35:57 | renesac | and aporia for quick snippets |
05:06:50 | * | isenmann joined #nimrod |
05:14:53 | Skrylar | i looked in to kerning |
05:15:03 | Skrylar | it looks like simple kerning isn't that bad of a thing |
05:21:43 | renesac | if it wasn't hard there wouldn't be a xkcd commic about keming nor a 'fuckyeahkeming' webpage |
05:21:47 | renesac | ^^' |
05:22:56 | renesac | http://fuckyeahkeming.com/ |
05:24:02 | renesac | oh, I forgot about a xkcd comic about kerning too: http://xkcd.com/1015/ |
05:54:50 | * | shodan45 quit (Quit: Konversation terminated!) |
05:57:11 | * | DAddYE quit () |
06:29:35 | fowl | The compiler can now warn about "uninitialized" variables. (There are no real uninitialized variables in Nimrod as they are initialized to binary zero) |
06:29:43 | fowl | lame feature |
06:40:32 | * | Xuerian joined #nimrod |
07:10:04 | * | nande quit (Remote host closed the connection) |
08:36:37 | * | CarpNet joined #nimrod |
09:16:35 | * | vegai joined #nimrod |
09:42:02 | * | BitPuffin quit (Ping timeout: 240 seconds) |
09:59:23 | * | faassen joined #nimrod |
11:48:35 | * | untitaker joined #nimrod |
11:58:58 | * | ehaliewicz quit (Ping timeout: 240 seconds) |
12:09:04 | * | noam quit (Read error: Connection reset by peer) |
12:10:15 | * | noam joined #nimrod |
12:57:31 | * | nande joined #nimrod |
13:20:39 | * | [1]Endy joined #nimrod |
13:21:10 | * | darkf quit (Quit: Leaving) |
13:22:10 | EXetoC | I can have a var named int16? then I guess I'll have to determine what it applies to in the current context |
13:26:17 | * | [2]Endy joined #nimrod |
13:30:44 | * | [1]Endy quit (Ping timeout: 276 seconds) |
13:32:36 | EXetoC | I figured out how |
13:46:26 | * | faassen quit (Remote host closed the connection) |
14:07:18 | * | wombawomba joined #nimrod |
14:13:15 | Araq | hi wombawomba welcome |
14:13:28 | Araq | hi untitaker welcome |
14:27:31 | renesac | fowl, it would be less lame if it mentioned {.noInit.} |
14:27:33 | renesac | :P |
14:27:54 | Araq | hi Xuerian welcome |
14:28:12 | Araq | renesac: the problem with default 'gcsafe' for proc types is 'map' |
14:28:38 | renesac | why? |
14:29:16 | Araq | map is gcsafe when the passed proc is |
14:29:38 | Araq | we deal with this in the effect system via a special rule for proc type parameters |
14:30:51 | Araq | now, we could introduce 'gcagnostic' to deal with this ... but that's inconsistent with how the rest of the effect system works |
14:31:22 | Araq | the default is "unconstrainted" and then you add tags and raises annotations etc. |
14:31:30 | Araq | *unconstrained |
14:31:49 | Araq | default 'gcsafe' breaks the consistency |
14:32:36 | * | Jesin joined #nimrod |
14:34:36 | renesac | but I only need to care about adding those 'gcsafe' if I plan to 'spawn' that proc? |
14:34:57 | Araq | well |
14:35:12 | Araq | take the async dispatcher for example |
14:35:27 | Araq | it's an object with lots of callbacks that clients need to provide |
14:35:52 | Araq | these callbacks all need to be 'gcsafe' otherwise the dispatcher itself is not gcsafe either |
14:36:25 | Araq | the library has to decide for you but it can't know really |
14:36:57 | Araq | we can make 'gcsafe' a "do nothing" annotation for --threads:off |
14:37:30 | renesac | I'm more concerned with the noise and verbosity that it will cause when writing new procs |
14:37:50 | Araq | new procs are inferred for you to be either gcsafe or not |
14:38:13 | Araq | proc *types* are affected for the most part |
14:38:30 | renesac | hum |
14:39:32 | renesac | what causes a proc to be 'gcunsafe'? Only using some global state? |
14:41:54 | Araq | using global variables that contain GC'ed memory (ref, seq, string, closures) |
14:42:19 | Araq | or calling a gcunsafe proc |
14:42:49 | renesac | right, so a lot of procs can indeed be inferred |
14:43:42 | Araq | it works like a tag: [gcunsafe] that's propagated |
14:44:11 | renesac | yeah |
14:44:18 | Araq | but not quite :P |
14:45:21 | Araq | er, screw that, it's exactly the same |
14:50:12 | renesac | adding 'noSideEffect' includes being 'gcsafe'? |
14:50:30 | Araq | yes, exactly |
14:50:47 | Araq | it's beautiful, noSideEffect implies gcsafe |
14:54:34 | renesac | :D |
14:54:51 | renesac | yeah, looking at your commit fixing the stdlib to be gcsafe, it seems tolerable indeed |
14:56:32 | renesac | but are you sure that random will not return repeated numbers to different threads? |
15:01:42 | Araq | random really shouldn't use global GC'ed memory |
15:02:07 | Araq | oh btw 'importc' implies gcsafe too as C doesn't use Nimrod's GC |
15:06:40 | Araq | 'gcsafe' already found a bug, the gCookies variable needs to be a .threadvar |
15:07:49 | renesac | nice |
15:16:10 | Araq | wow our docgen is documented now |
15:16:19 | Araq | completely forgot about this PR |
15:18:19 | Araq | and we have "see source" for every piece of code in the stdlib ... |
15:18:49 | Araq | that means I have to use longer variable names ... |
15:19:00 | Araq | nah ;-) |
15:21:20 | dom96 | No love for us on HN :\ |
15:25:07 | NimBot | Araq/Nimrod devel 15bd91a Grzegorz Adam Hankiewicz [+0 ±1 -0]: Adds example of custom object types used as table key. |
15:25:07 | NimBot | Araq/Nimrod devel 49ce36a Simon Hafner [+0 ±1 -0]: Merge pull request #1133 from gradha/pr_adds_tables_example... 2 more lines |
15:33:16 | reactormonk | Araq, pfft |
15:43:42 | * | Demos joined #nimrod |
15:59:29 | * | untitaker quit (Ping timeout: 252 seconds) |
16:00:19 | * | redertyuioprgita joined #nimrod |
16:01:54 | OrionPK | araq, for that templates bug, did you want me to try to narrow down a small reproduceable snippet? |
16:02:14 | Demos | wait what the fuck.... !?!, windows has a setting where you can give a list of dlls that the loader will load for /every/ application run in a given session |
16:02:21 | Demos | WHAT COULD GO WRONG |
16:02:37 | * | redertyuioprgita quit (Client Quit) |
16:02:45 | OrionPK | araq I might have time to do that some time this week, but for the 30 or 40 minutes I spent trying to figure out what was up, i couldnt figure it out. |
16:03:41 | OrionPK | araq but there is a test suite that worked on master up until 0.9.4, if you just run https://github.com/onionhammer/onion-nimrod/tree/master/templates with nimrod c -r templates.nikm |
16:04:23 | * | untitaker joined #nimrod |
16:04:40 | OrionPK | araq im just asking if I have enough info gathered to actually submit a bug or if you want me to investigate further before submitting something. |
16:21:42 | Demos | does nimrod always try and link with LIBCMT.lib on windows or something, I am having some trouble getting it to link with LIBCMTD |
16:39:10 | Araq | OrionPK: just make sure that I don't have to download dependencies, in fact make a PR and add it to tests/ |
16:39:57 | Araq | small reproducable snippets are nice but often I can do that better than you ;-) |
16:42:22 | Araq | but symbol lookup rules changed for templates with 0.9.4 |
16:42:36 | Araq | which might be the cause of the breakage |
16:46:03 | OrionPK | araq alright, I'll try to get that done today.. but might take til tomorrow |
16:47:02 | wan | dom96: There are things you can do when you want to optimize promotion on HN. First, post when the americans have breakfast, take coffee or when they have a good chance of reading HN. Second, have several +1 and comments quickly after posting: it makes HN's ranking algorithm think that the post has a good chance of being interesting (high start ratio of +1 per minute), and gets the discussion rolling. Good comments can be trollish to attract |
16:47:33 | Araq | gah, I take it back, reduce it please |
16:47:46 | Araq | you have lots of compile-time stuff going on here |
16:47:56 | Araq | and not 'templates' |
16:47:58 | OrionPK | yeah, it is all compile time stuff |
16:48:48 | OrionPK | reducing it will take me longer, since i dont have much time atm |
16:49:34 | * | darithorn joined #nimrod |
16:58:53 | Araq | hi darithorn welcome (back?) |
16:59:58 | darithorn | Hi. Yeah, it's been a while since I've been on the channel |
17:00:30 | * | Matthias247 joined #nimrod |
17:01:59 | * | wombawomba quit (Ping timeout: 276 seconds) |
17:02:28 | Araq | bbl |
17:08:52 | * | DAddYE joined #nimrod |
17:10:16 | * | Matthias247 quit (Quit: Matthias247) |
17:13:07 | * | Matthias247 joined #nimrod |
17:20:56 | * | q66 joined #nimrod |
17:20:56 | * | q66 quit (Changing host) |
17:20:56 | * | q66 joined #nimrod |
17:23:58 | * | milosn joined #nimrod |
17:35:07 | * | nequitans joined #nimrod |
17:49:14 | * | bjz quit (Ping timeout: 240 seconds) |
17:55:30 | * | wombawomba joined #nimrod |
17:56:50 | reactormonk | Araq, gotta write an IRC bot that msg's you if someone new enters the channel >:) |
18:08:43 | milosn | current git doesnt build? |
18:08:49 | milosn | or is it just me |
18:09:37 | fowl | milosn, hi, ill check it out and see if itworks for me |
18:09:57 | OrionPK | im really excited about those experimental features :) |
18:10:05 | OrionPK | that sample chat server is nice |
18:10:35 | fowl | milosn, try the devel branch, tis newer |
18:11:40 | dom96 | milosn: master and devel should both build, what error are you getting? |
18:13:14 | * | kuzy_ joined #nimrod |
18:14:50 | milosn | restarted the build not ... let me get to that bit |
18:15:00 | milosn | s/not/now |
18:16:29 | * | brson joined #nimrod |
18:17:11 | milosn | ill be rude and paste 3-4 lines, they dont warrant a pastebin :) |
18:17:13 | milosn | Hint: system [Processing] |
18:17:13 | milosn | lib/system/inclrtl.nim(25, 7) Error: undeclared identifier: 'appType' |
18:17:13 | milosn | ==> ERROR: A failure occurred in build(). Aborting... |
18:17:17 | milosn | there you go |
18:18:02 | milosn | its on Arch Linux building from AUR (user contributed repository of packages) |
18:19:50 | Varriount | That may be out of date. |
18:20:09 | dom96 | yeah, try following the instructions here: http://nimrod-lang.org/download.html#source |
18:20:10 | dom96 | bbl |
18:20:23 | milosn | Varriount: its GIT package |
18:20:45 | milosn | so it builds, from what i understand, from GIT checkout |
18:21:29 | milosn | dom96: cheers thanks, ill have a look ... but i am reluctant to install anything that i can not remove in a single command :D |
18:22:01 | milosn | let me try building as normal user, ive seen packages failed to build when i do it as root |
18:22:41 | OrionPK | so couldnt there be an implicit converter for int and TPort dom96? |
18:23:00 | renesac | yeah, the latest devel git compiles for me |
18:23:58 | milosn | renesac: i am checking out as normal user now ... ill check the build script after, maybe its checking out branch or something |
18:24:00 | fowl | milosn, you shouldnt use AUR as superuser |
18:24:01 | milosn | you never know :) |
18:24:10 | milosn | fowl: i know, i know :) |
18:24:23 | fowl | milosn, btw if you build it yourself, installation is easy, just symlink the nimrod binary into your path |
18:24:36 | fowl | dont bother with `koch install` |
18:24:45 | milosn | that easy? cool ... ill have a look after |
18:24:58 | milosn | anyway this is gonna take a while again to download 300M of sources |
18:25:04 | reactormonk | milosn, uuuh |
18:25:07 | milosn | i am gone to the gym, catch you later |
18:25:16 | fowl | it should only be like 40mb >_> |
18:25:22 | reactormonk | milosn, use a sparse git checkout |
18:25:28 | reactormonk | milosn, --depth 1 |
18:25:49 | milosn | Comment by Schala (2013-05-24 02:13) |
18:25:50 | milosn | I updated it as you asked, but as for git --depth 1, I don't know how to override the way Pacman executes git. If you know, please let me know so I can update it again |
18:25:53 | milosn | :) |
18:26:14 | reactormonk | milosn, hmmm |
18:26:28 | milosn | its not my package |
18:26:48 | reactormonk | milosn, I'm on arch, but I just messed with my PATH because I update it rather often |
18:26:58 | reactormonk | lemme get nimrod-git |
18:27:12 | vegai | wouldn't it be better if the package in community was up-to-date? |
18:28:07 | reactormonk | let's see who's the maintainer |
18:28:25 | reactormonk | Packager : Alexander Rødseth <[email protected]> |
18:28:38 | fowl | vegai, it shouldnt need to be updated since it works off git |
18:28:53 | vegai | fowl: community/nimrod 0.9.2-4? |
18:28:58 | reactormonk | fowl, nah, we actually got a package in the community, not via AUR |
18:29:04 | reactormonk | I'll give him a short ping |
18:29:23 | vegai | there *was* a 0.9.3 released too, wasn't there? |
18:29:26 | vegai | and not very recently |
18:29:43 | reactormonk | vegai, nah, 0.9.3 would be unstable |
18:29:51 | fowl | oh |
18:29:52 | vegai | ah, you go with the even releases |
18:29:52 | OrionPK | odd numbers are unstabke |
18:30:14 | fowl | my next project will use fibonacci release numbers |
18:30:27 | fowl | jk, i never release anything :( |
18:30:28 | reactormonk | vegai, it's flagged OOD already, should do |
18:30:39 | vegai | reactormonk: roger |
18:30:49 | reactormonk | done... yesterday. |
18:32:21 | vegai | I could just upgrade it myself right now, but perhaps I won't needlessly step on his toes |
18:33:58 | EXetoC | Araq: so, "var x = int16(y)" generates an nkCall while "echo int16(y)" generates nkHiddenStdConv |
18:43:25 | EXetoC | ok nkCall is turned into nkConv |
18:58:26 | * | kuzy_ quit (Read error: Connection reset by peer) |
19:21:29 | * | Mat3 joined #nimrod |
19:21:38 | Mat3 | good afternoon |
19:21:45 | EXetoC | hola |
19:23:40 | Mat3 | hi EXetoC |
19:27:04 | Araq | milosn: I broke -d:createNimRtl ... yay |
19:27:12 | Araq | the fix is very easy |
19:27:20 | Mat3 | hi Araq |
19:27:25 | Araq | hi Mat3 |
19:28:18 | * | io2 joined #nimrod |
19:29:10 | * | BitPuffin joined #nimrod |
19:30:34 | Araq | so ... what's our policy for 0.9.4 master? |
19:30:54 | Araq | should I push to master and keep the version 0.9.4 or is it 0.9.5 ? |
19:31:35 | reactormonk | Araq, it's 0.9.4, backport fixes if you feel like it. The devel branch is 0.9.5 rolling |
19:31:59 | Araq | backporting fixes is the whole point of the devel vs master split |
19:33:07 | Araq | so people can get a 0.9.4 that's not 0.9.4 but 0.9.4.1 ? |
19:33:30 | reactormonk | looks like you just slap a tag on master each X weeks |
19:34:08 | Araq | oh well people can always compare the build date I guess |
19:34:13 | * | foodoo joined #nimrod |
19:34:36 | reactormonk | Araq, git tag isn't too hard to operate |
19:34:54 | Varriount | Araq: I'll volunteer to help backport fixes and the like. |
19:35:25 | Araq | Varriount: good. In fact, I already thought you're the top candidate for this. :-) |
19:35:30 | Varriount | :D |
19:37:55 | Varriount | Oh cool, I just found that you can selectively exclude windows from alerting you in xchat. |
19:40:43 | nequitans | I've been using CIRC, but I wish i could increase font sizes in IRC like non-desktop chrome apps let you. |
19:40:47 | NimBot | Araq/Nimrod devel 71e1c8d Araq [+0 ±2 -0]: website updates |
19:40:47 | NimBot | Araq/Nimrod devel 9979c36 Araq [+0 ±1 -0]: devel is version 0.9.5 |
19:40:47 | NimBot | Araq/Nimrod devel a146d6b Araq [+0 ±2 -0]: building of nimrtl.dll should work again |
19:40:47 | NimBot | Araq/Nimrod devel e37d72f Araq [+0 ±1 -0]: Merge branch 'devel' of https://github.com/Araq/Nimrod into devel |
19:46:15 | Varriount | I mentioned Nimrod in a reddit thread discussing make/build systems for various languages. |
19:49:16 | * | andreroquem joined #nimrod |
19:50:12 | Araq | hi andreroquem welcome |
19:50:33 | andreroquem | hi |
19:50:41 | Araq | I don't know why your building of a static lib fails, but the commands you list look fishy |
19:51:14 | Araq | gcc -g -static teste.c -L. -ltestec.nim -ldl -o testenim |
19:51:25 | Araq | -ltestec.nim ? |
19:51:33 | Araq | that can't be right |
19:51:36 | andreroquem | ow, sorry |
19:51:41 | andreroquem | forgot one line |
19:52:04 | andreroquem | ar rcs libtestehello.a testehello.o |
19:52:11 | andreroquem | oops |
19:52:29 | andreroquem | no, that's right |
19:52:39 | andreroquem | first I compiled the nim file to static lib |
19:52:58 | andreroquem | with nimrod c --app:staticlib ... and so on |
19:53:11 | andreroquem | that got me a libtestec.nim.a file |
19:53:37 | andreroquem | then, I pass -L. and -ltestec.nim to gcc so that it can find the static library and static link it |
19:53:44 | andreroquem | into the final executable |
19:53:49 | Araq | libtestec.nim.a ? |
19:53:53 | andreroquem | yes |
19:54:00 | Araq | that's a bug |
19:54:09 | andreroquem | oops |
19:54:23 | Araq | it should be libtestec.a of course |
19:54:31 | Araq | but anyway, that's not critical |
19:55:15 | andreroquem | yes |
19:55:33 | andreroquem | when I create the nim proc without any arguments, it works |
19:57:35 | Varriount | Could it be something to do with calling conventions? |
19:58:01 | andreroquem | btw I've came to the IRC channel because I just saw you strange loop presentation, didn't think you would be here answering my question on the forum, thanks |
19:58:41 | * | filwit joined #nimrod |
19:59:00 | filwit | 72 eh? |
19:59:28 | andreroquem | I'm starting with nimrod and just trying to follow the docs I've found googling, and I saw calling conventions but for dynlibs. Does it apply to static libs too? |
19:59:46 | andreroquem | I'll try put cdecl and see if it works |
20:00:13 | filwit | andreroquem, i just tried your test and added cdecl to the pragmas, didn't work |
20:00:56 | filwit | but i noticed that gcc gave a warning about using dlopen() with static libs |
20:01:01 | andreroquem | would compile it now, thanks |
20:01:43 | andreroquem | yes, I've mentioned the warning. but I didn't think it's relevant since I've got the same warning with the working version, without arguments |
20:01:58 | andreroquem | but maybe it is relevant, I'm not sure |
20:02:11 | Varriount | Oh hi filwit |
20:02:18 | filwit | hey Varriount |
20:03:50 | filwit | andreroquem, yeah idk.. sorry i gave up, and am not a GCC expert. But just thought i'd tell you it fails for me too under devel (arch linux, gcc 4.8.2) |
20:04:08 | Araq | andreroquem: if you're on linux the calling convention is irrelevant they are mapped to C's calling convention |
20:04:17 | andreroquem | I'm on linux |
20:04:21 | andreroquem | ubuntu |
20:06:31 | filwit | btw, the new region ptrs look good (syntax wise). I'm not familiar with this sort of thing enough to know, but wasn't this one area Rust had over Nimrod before? |
20:06:41 | Varriount | Anyone know a reliable way to the path of a directory, relative to another directory? |
20:06:44 | andreroquem | I made another test |
20:06:56 | andreroquem | I've added an echo before |
20:07:02 | andreroquem | that doesn't use the variable |
20:07:06 | andreroquem | and it printed |
20:07:14 | Varriount | I'm trying to copy a directory heirarchy from one location to another. |
20:07:15 | andreroquem | so the function is being called |
20:08:15 | * | Jesin quit (Remote host closed the connection) |
20:09:27 | filwit | andreroquem: also, i tried with cint instead of cstring and it still segfaults |
20:09:44 | Araq | filwit: Rust still is way ahead when it comes to that stuff afaict. Will Nimrod get the same pointer model? Perhaps but I'm not familiar with Rust's to say for sure. |
20:10:03 | Araq | Varriount: no and the compiler really needs this feature too, so please implement it |
20:10:32 | filwit | Araq: not trying to use you as google, but are region ptrs useful for much outside of OS dev? |
20:11:04 | Araq | the example shows how to improve type safety when wrapping Python |
20:11:15 | Araq | so yes, of course they are useful for lots of things |
20:11:44 | Varriount | Araq: os.copyDir implements a simplistic version, but not very reliable (won't work unless source and dest paths are of the same "style") |
20:12:02 | filwit | Araq: yeah, sorry, i'm just not familiar with that domain at all. I'm wondering more like "useful for large bank apps with extreme security requirements" |
20:12:25 | Araq | in fact, I have no idea whether they are useful for OS development :P |
20:13:02 | filwit | Varriount: hack it to make it more useful :P |
20:13:09 | Araq | I bet it's academic and doesn't help for OSes, but hey, we can try |
20:13:32 | Varriount | Araq: Windows has a PathRelativeToPath procedure call. :D |
20:13:47 | Varriount | I don't know if Posix has an equivalent though... |
20:14:00 | filwit | Araq: or maybe this was the only thing holding Linus back from porting Linux entirely to Nimrod :P |
20:14:28 | Araq | C programmers do not understand static typing, filwit |
20:14:49 | filwit | er... what, why do you say that? |
20:14:49 | Araq | the language started as an untyped one |
20:15:03 | filwit | really... did not know that |
20:15:17 | filwit | still.. it's been a static-typed language for decades now |
20:15:55 | Demos | turns out that dynamic value types are a real PITA |
20:16:11 | Araq | it still uses pervasive implicit type conversions all over the place, filwit |
20:16:30 | Demos | oh my god why does cairo not use CMake |
20:16:53 | filwit | Demos: especially if they're coupled with a dynamic prototype object system which adds members if you misspell instead of giving compile-time errors (aka, javascript blows) |
20:17:18 | Demos | javascript does not have dynamic value types afaik |
20:17:26 | Demos | I am talking about like FORTRAN 77 and BCPL |
20:20:56 | Araq | filwit: turns out I was wrong and nimrod's macro system really helps for *safe* parallelism too. :-) So whether we need Rust-like pointers or instead can come up with something entirely different is really an open question. |
20:21:48 | filwit | Araq: well i'm not familiar with Rust at all (or these sorts of fancy pointer security issues), so I can't comment really |
20:22:51 | filwit | Araq: btw, about the "readonly by default" thing we talked about before, I'm wondering if you have plans to actually implement that, or if it was just musings |
20:23:08 | Araq | not sure what you mean |
20:23:13 | Araq | the write tracking? |
20:23:23 | filwit | * expose, + readonly |
20:23:31 | Araq | ah |
20:23:46 | Araq | I dunno, can't hurt, can it? |
20:24:06 | filwit | yeah i just realized your syntax for it makes more sense, since it doesn't break anything |
20:24:26 | Araq | hey, of course my syntax makes sense :P |
20:24:47 | filwit | it's just an additional feature you can add.. i like the idea a lot, it would help remove a lot of boilerplate for those not using OOP macros :) |
20:26:00 | * | nande quit (Remote host closed the connection) |
20:26:27 | filwit | i was asking because i was thinking about it from my suggestion standpoint (eg, + expose, - hidden, default readonly).. but your way makes more sense and is a "get to eventually thing". |
20:27:39 | filwit | Araq: also, i know i recanted before on this, but the submodule thing might be kinda nice for module-level constants with OOP macros |
20:28:05 | Araq | filwit: dom96 said he would quit though if I add this feature :P |
20:28:19 | filwit | Araq: lol |
20:28:49 | filwit | Araq: i'm sure he just needs to hear a reasoned argument for them, which I could demonstrate |
20:29:23 | * | foodoo quit (Remote host closed the connection) |
20:30:34 | filwit | Araq: although they might need to be a bit more thoughtout from what i originally remember, i was just thinking about it going over my OOP stuff |
20:32:21 | * | andreroquem left #nimrod (#nimrod) |
20:32:27 | * | flaviu joined #nimrod |
20:33:10 | flaviu | LLVM supports integers of up to 2^23 bits :O |
20:34:23 | * | andreroquem joined #nimrod |
20:37:16 | * | flaviu quit (Remote host closed the connection) |
20:37:26 | * | flaviu joined #nimrod |
20:41:42 | * | andreroquem is now known as andreroquem_ |
20:42:15 | Araq | well andreroquem_ I can't help you sorry. I'm busy with other things. |
20:43:02 | andreroquem_ | ok. I'm at work now. When I get home I'll download the development version of nimrod and try to debug some more. thanks a lot. |
20:45:36 | * | andreroquem_ is now known as andreroquem |
20:47:23 | Mat3 | ciao |
20:47:37 | * | Mat3 quit (Quit: Verlassend) |
20:50:05 | milosn | Araq: ah |
20:50:09 | milosn | so it was broken?? |
20:50:23 | * | milosn back |
20:50:46 | Demos | YAYAYAYAYAY my code builds on windows! finally |
20:50:51 | Demos | screw cairo's build system |
20:51:32 | * | brson quit (Ping timeout: 252 seconds) |
20:52:03 | * | brson joined #nimrod |
20:54:14 | * | Demos quit (Read error: Connection reset by peer) |
20:55:20 | flaviu | Araq: Have you seen the reception on reddit? Its really excellent, we're almost as high up as scala 2.11 |
20:58:49 | Araq | Varriount: so please merge the 'appType' fix into master |
20:59:05 | * | [2]Endy quit (Ping timeout: 264 seconds) |
20:59:14 | nequitans | flaviu: awesome! |
20:59:42 | flaviu | Yep. And the discussion is good, not just arguing with one guy over c interop |
21:01:02 | nequitans | yea! |
21:05:12 | dom96 | The discussion could be better. |
21:05:43 | dom96 | It could easily be worse too, no one made any jokes about the name yet. |
21:07:07 | dom96 | wan: You seem to know a lot about HN. Perhaps you could try posting to HN about Nimrod? |
21:07:38 | nequitans | When I'm done obtaining the results from my current project, I was thinking that some of the modules I have made could be worked on more to turn into proper Babel packages. Also, after learning Nimrod for various tasks, I also thought it might be cool to have a collection of "nimrod recipes/chronicles" for common tasks. Haven't thought too much about the latter, but have a 'mental' list of examples |
21:07:54 | flaviu | portmapreduction makes some good points, and people are interested in the language and asking questions. |
21:08:51 | * | Jesin joined #nimrod |
21:09:08 | * | Jesin quit (Read error: Connection reset by peer) |
21:09:14 | renesac | dom96, you should answer flaviu post about asyncio |
21:09:36 | renesac | *vocalbit post |
21:09:53 | dom96 | what's there to answer? |
21:09:54 | flaviu | dom96: You need an interesting title to get clicks, your HN title is too bland |
21:10:16 | flaviu | dom96: Confirmation I guess? |
21:10:20 | renesac | yeah |
21:12:16 | dom96 | done |
21:12:23 | dom96 | flaviu: Perhaps you're right. |
21:13:01 | dom96 | What would have helped is if you guys all upvoted the HN post as soon as it was posted. |
21:13:12 | dom96 | So that it made its way to the front page. |
21:13:49 | flaviu | Yes, that would have helped significantly too |
21:16:16 | flaviu | I made an account on hacker news, I can upvote next time |
21:16:49 | dom96 | someone else should submit it this time, otherwise I may get banned for spamming heh |
21:19:31 | flaviu | dom96: That doesn't seem to be against the rules |
21:20:22 | dom96 | oh. Should I submit it then? |
21:20:46 | flaviu | Oh, the same link? I don't think thats a good idea then. |
21:23:22 | flaviu | I can submit, give a little while |
21:23:35 | dom96 | Submit: http://nimrod-lang.org/news.html |
21:23:45 | dom96 | I submitted that with the anchor last time |
21:23:58 | dom96 | I think we should find at least 3-4 people to upvote immediately |
21:24:00 | dom96 | before we submit |
21:24:05 | dom96 | Any volunteers? |
21:25:44 | nequitans | i'll upvote |
21:27:02 | flaviu | Should we wait for another person? |
21:27:13 | andreroquem | I'll upvote |
21:27:36 | dom96 | ok, with me that's 3 |
21:27:51 | NimBot | Araq/Nimrod devel 8d6ed94 Araq [+0 ±1 -0]: make getAppFilename work when there is no procfs |
21:27:51 | NimBot | Araq/Nimrod devel e128f48 Araq [+0 ±1 -0]: minor tweak to the manual |
21:27:57 | dom96 | will that be enough? |
21:28:01 | flaviu | Sure |
21:29:15 | flaviu | https://news.ycombinator.com/item?id=7630584 |
21:29:41 | flaviu | I noticed that the closure macro wasn't a big talking point, so I didn't mention that |
21:29:47 | * | wombawomba quit (Ping timeout: 276 seconds) |
21:30:00 | nequitans | hmmm -- nothing shows up for me at that link |
21:30:05 | andreroquem | neither for me |
21:30:22 | dom96 | same here |
21:30:31 | flaviu | Not for me if I log out |
21:30:46 | flaviu | Was I shadow-banned already? |
21:30:59 | dom96 | what's you nick? |
21:31:03 | dom96 | *your |
21:31:07 | flaviu | https://news.ycombinator.com/user?id=flaviu2 |
21:31:30 | dom96 | odd |
21:31:39 | dom96 | Maybe you can't submit right after creating an account? |
21:31:50 | dom96 | or maybe mods have to review it? |
21:32:24 | dom96 | It's not listed in https://news.ycombinator.com/newest |
21:32:29 | nequitans | when i submitted my blog post, it worked right after i created the account |
21:32:48 | flaviu | My account is 16 min old |
21:33:03 | dom96 | maybe you crashed HN? lol |
21:33:37 | dom96 | maybe it detected that this link was submitted recently |
21:33:43 | dom96 | (or a similar link) |
21:40:26 | * | wombawomba joined #nimrod |
21:41:01 | dom96 | flaviu: Could you try again? |
21:41:41 | flaviu | I think I'm banned |
21:42:23 | dom96 | any ideas why? |
21:42:43 | nequitans | that's pretty harsh, banned the first time you create an account and submit a link that's already been submitted? |
21:43:11 | flaviu | Well, I subitted 16 min after |
21:43:19 | flaviu | I probably look like a spam account |
21:46:54 | nequitans | but when i submitted my blog post, it was like a few mins after i created my account |
21:47:05 | nequitans | and that worked ok |
21:59:08 | * | andreroquem quit (Quit: Page closed) |
22:01:02 | * | wombawomba quit (Ping timeout: 255 seconds) |
22:06:09 | Araq | hmm I think commits that are to be merged into master should all contain 'fix' or 'bugfix' |
22:07:16 | NimBot | Araq/Nimrod devel 5aa8278 Araq [+0 ±2 -0]: Haiku build works again |
22:07:47 | Araq | milosn: I fixed your issue, but I don't know when it will arrive in master |
22:15:29 | * | wade_ joined #nimrod |
22:15:40 | Araq | hi wade_ welcome |
22:23:21 | Araq | good night |
22:23:31 | * | wade_ quit (Ping timeout: 252 seconds) |
22:29:29 | NimBot | Araq/Nimrod devel 3851ee2 Araq [+0 ±1 -0]: DLL generation works again |
22:34:01 | milosn | Araq: milosn@t420s ~ $ nimrod |
22:34:02 | milosn | Nimrod Compiler Version 0.9.5 (2014-04-22) [Linux: amd64] |
22:34:09 | milosn | Araq: it arrived |
22:34:55 | milosn | thanks :) |
22:35:07 | milosn | too late to play with it tonight |
22:35:27 | milosn | something to do next few days and for weekend |
22:41:32 | dom96 | glad to hear you got it working :) |
22:44:22 | * | io2 quit (Quit: ...take irc away, what are you? genius, billionaire, playboy, philanthropist) |
22:48:08 | * | nequitans quit (Ping timeout: 252 seconds) |
22:52:34 | * | Jesin joined #nimrod |
22:59:17 | reactormonk | milosn, cool |
22:59:22 | * | Matthias247 quit (Quit: Matthias247) |
22:59:31 | reactormonk | haiku? interesting. |
23:00:45 | fowl | reactormonk, error: insufficient syllables |
23:02:54 | Kelet | Nimrod works on Haiku? Wow. I used Haiku on my netbook for a long time. I think I was mainly programming in REBOL or something. |
23:03:32 | * | xtagon joined #nimrod |
23:07:29 | * | wombawomba joined #nimrod |
23:12:23 | flaviu | dom96: Your macro is just sugar for a regular closure, right? |
23:12:35 | dom96 | yes |
23:13:15 | flaviu | Someone on reddit asked, I wanted to make sure I don't give out misleading information |
23:18:15 | * | xenagi joined #nimrod |
23:22:00 | dom96 | good night |
23:22:04 | wan | dom96: I'm not sure re-posting it would attract that much more attention. The post feels a little like a list of features/changelog, which might be difficult to promote to the HN crowd (especially since Nimrod is not enough well-known). Personal blog posts demonstrating aspects of the language or mini-projects are more interesting |
23:22:40 | wan | Honey badgers need to write more of those |
23:23:04 | dom96 | When 0.9.2 was released I posted about it to HN and it stayed on the front page for quite some time. |
23:23:31 | dom96 | I think the interest is definitely there, we just need good momentum at the start |
23:24:00 | wan | And better titles |
23:24:06 | flaviu | dom96: Have you considered writing about nimos? The latest fad is making OSes in Rust |
23:24:45 | dom96 | flaviu: There is plenty to write about, the problem is time. |
23:26:59 | dom96 | wan: true, but I see 'X vx.x.x released' on HN all the time |
23:27:25 | dom96 | But I was wrong, my previous "0.9.2 released" post failed heh |
23:27:32 | Kelet | dom96: Do you know if Aporia ~master compiles on the latest Nimrod release now? |
23:27:36 | dom96 | But IIRC someone else posted it again and it got lots of points |
23:28:16 | dom96 | Kelet: It should. But I'm not sure if Araq's new gcsafe stuff affects it |
23:28:29 | dom96 | Kelet: please try it, if it doesn't work let me know |
23:28:42 | Kelet | gcsafe? |
23:30:23 | dom96 | http://build.nimrod-lang.org/docs/manual.html#gc-safety |
23:32:05 | renesac | dom96, 'gcsafe' test is disabled, at least on master branch |
23:32:05 | Kelet | dom96: Is aporia made in a modular way so that another frontend could be made for it without modifying a large amount of internals? |
23:32:15 | Kelet | or is it more monolithic than that |
23:32:27 | renesac | it only recognizes the pragma |
23:32:34 | dom96 | ahh, good. Then Aporia should work. |
23:33:04 | dom96 | Kelet: Not really. It's integrated into GTK pretty deeply. |
23:34:21 | Varriount | Kelet: We also have IDE plugins for sublime text and vim |
23:35:17 | Kelet | Varriount: Do they use the Nimrod IDE Integration? |
23:35:25 | Kelet | Seems like a cool thing to have in a compiler |
23:35:31 | Kelet | or rather |
23:35:33 | Kelet | 'idetools' |
23:35:34 | Varriount | Kelet: Sorta. The IDE integration is a bit broken at the moment. |
23:35:48 | Kelet | In the compiler or in the plugins? |
23:36:10 | Varriount | I, OrionPK, and Matthias work on the Sublime Text plugin. |
23:36:36 | Varriount | Kelet: We have some buggy integration with idetools, and full integration with Nimrod's 'check' command. |
23:37:51 | Kelet | Varriount: Cool, I may use Sublime for now then. I typically use an editor called TextAdept and if I find some time I may try to implement something similar for that. |
23:40:33 | * | bjz joined #nimrod |
23:42:34 | dom96 | Windows installers are now available for download. Thanks go to Varriount for creating them! |
23:43:14 | dom96 | good night |
23:43:33 | Trixar_za | Goodnite dom96 |
23:44:00 | NimBot | Araq/Nimrod devel e3c2441 Dominik Picheta [+0 ±1 -0]: Windows installer links for website. |
23:46:29 | * | wombawomba quit (Ping timeout: 264 seconds) |
23:50:42 | * | Demos joined #nimrod |
23:51:48 | * | wombawomba joined #nimrod |