<< 22-04-2014 >>

00:03:31renesacreactormonk, you that criticized my pull request in the past for using "return X"
00:03:40flaviuI like return X
00:03:54renesacI too, but I don't have strong preferences
00:04:01flaviuin some cases though, result = x might be clearer
00:04:05dom96I prefer quit x
00:04:07dom96:P
00:04:21flaviuWhatever is clearer is what I'd use
00:04:27renesacdom96, at least on C, that has another meaning
00:05:18renesacflaviu, Araq says to use 'return' only when it's "goto" flow control powers are needed
00:06:12dom96renesac: what meaning does it have in C?
00:06:21flaviuThat's basically when I use them anyway
00:06:49renesacoh, it's exit
00:06:59renesacin C
00:07:36dom96good night
00:07:46renesacfor nimrod
00:07:50renesacit quits the interpreter
00:07:51renesac:P
00:12:05flaviuI'm really enjoying reading http://llvm.lyngvig.org/Articles/Mapping-High-Level-Constructs-to-LLVM-IR
00:18:40reactormonkrenesac, change it!
00:29:54Skrylarhuh
00:30:05Skrylari 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:17Skrylaroh, thats the difference
00:38:37Skrylarapparently critbits are good for huge datasets and crap for caches, hashtables are good for caches and crap for huge datasets
00:46:42brsoncongrats on the release, folks
00:47:33Demosit was out "before new years"!
00:47:45DemosI guess we never said which new year
00:47:46brsonpretty 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:49EXetoCAraq: ok so maybe I need to do a range check in semExprWithType, and relevant code seems to be in getConstExpr
01:41:49EXetoCit's slightly more fun when you have any idea what's going on
01:42:00EXetoCbye
01:43:19OrionPKso
01:43:24OrionPKwhich branch is 0.9.4 now
01:43:41EXetoCmaster
01:43:59EXetoCpretty sure. there's a tag too
01:44:40renesacreactormonk, change what?
01:49:23flaviuHas anyone made a pattern matching module?
01:49:52EXetoCI think dom96 said he wanted to work on that
01:50:49flaviuIt should be straightforward, just make `of` an operator that returns a maybe
02:00:34Skrylarok, 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:04OrionPKyep
02:05:15OrionPKshould probably submit that bug about my templates lib
02:05:16OrionPK:D
02:05:23OrionPKmaybe tonight...
02:06:37*nande joined #nimrod
02:26:38*BitPuffin joined #nimrod
02:34:53*Jesin quit (Ping timeout: 276 seconds)
03:03:16renesacI can't do tuple unpacking unless I'm declaring new variables?
03:03:48renesac'var (x, y) = divmod(8,5)' works
03:03:56renesacbut if I declare x, y first, it don't
03:05:41*Kelet joined #nimrod
03:05:50KeletCongrats on the new release!
03:06:41fowlrenesac, correct
03:07:20renesacwhy this limitation?
03:07:21renesac:/
03:08:22fowldunno :)
03:09:39reactormonkKelet, \o/
03:09:46reactormonkKelet, show me your most complicated nimrod code
03:10:07reactormonkrenesac, bug report
03:10:26fowlthere is an issue for it already
03:10:51reactormonkgood
03:10:57Keletreactormonk: echo("Hello, reactormonk!")
03:10:58Kelet:)
03:11:03reactormonkKelet, pfft
03:11:13BitPuffinwait did we release?
03:11:18reactormonkBitPuffin, apparently
03:11:23renesacyeah, 1 year ago
03:11:33reactormonkKelet, did some NLP homework with nimrod (+SQL) recently
03:11:34BitPuffinbut there was stuff commited and I didn't give dom96 another build
03:11:36BitPuffinerr
03:11:39renesacthe feature request
03:11:40*ehaliewicz joined #nimrod
03:11:57fowlBitPuffin, too late
03:12:00BitPuffinreactormonk: is your fork of nimrod-mode a continuation of some abandoned thing?
03:12:02BitPuffinfowl: lol
03:12:04BitPuffinxD
03:12:31KeletInteresting, 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:57KeletThe JS backend is also very interesting, although I've not yet tried it.
03:15:00flaviuKelet: You can use your own parser if you'd like
03:15:17reactormonkBitPuffin, indeed
03:15:50KeletI 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:08reactormonkKelet, 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:13renesacKelet, I was going to point you to my unfinished faq:
03:16:13renesachttps://github.com/Araq/Nimrod/wiki/Whitespace-FAQ
03:16:32renesacindentation guy here
03:16:56flaviuKelet: 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:58flaviu:P
03:17:32Keletlol
03:18:16BitPuffinreactormonk: good to know
03:19:10KeletI 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:55BitPuffinperhaps
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:53reactormonkBitPuffin, there's a few issues with nimrod-mode which I need to fix :-/
03:27:03BitPuffinreactormonk: ah
03:27:07BitPuffinreactormonk: well I'm trying out emacs
03:27:10BitPuffinso that's why I'm asking
03:30:38*DAddYE quit (Ping timeout: 240 seconds)
03:30:47reactormonkBitPuffin, you like vim?
03:31:58BitPuffinreactormonk: yep, gonna try emacs + evil mode
03:32:14BitPuffinreactormonk: I kinda find it appealing with an editor that has a good scripting language
03:32:50reactormonkBitPuffin, but no C api
03:33:23BitPuffinreactormonk: hmm?
03:34:12reactormonkBitPuffin, there's ruby/python/perl APIs for vim. You don't have that for emacs.
03:34:20reactormonkbecause there is no way to link C code in emacs.
03:35:44BitPuffinah
03:35:56BitPuffinreactormonk: well yeah but with those vim has to be built with it I think
03:36:13BitPuffinreactormonk: and that's true, but elisp is probably pretty good
03:36:16BitPuffinsince lisp is awesome
03:36:58reactormonkBitPuffin, it's.... strange. Because you do stuff rather stateful, with a buffer somewhere.
03:37:29reactormonkand nimrod idetools is gonna suck as long as #804 is open
03:38:48BitPuffinreactormonk: 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:22reactormonkBitPuffin, elisp doesn't
03:44:55BitPuffinreactormonk: hrm
03:51:29BitPuffinreactormonk: well there is no harm in trying :) it's not like vim is going anywhere
03:53:30reactormonkBitPuffin, I still use vim to edit my emacs config in case I fucked up again :d
03:54:50BitPuffinreactormonk: :P
03:54:58BitPuffinreactormonk: why not just start emacs with the ignore config flag?
04:00:08BitPuffinreactormonk: I wonder if it is the same case in autolisp and script fu etc
04:04:16reactormonkBitPuffin, because then I don't have my evil
04:06:54BitPuffinreactormonk: fair point
04:20:11*DAddYE joined #nimrod
04:34:14Skrylari went back to vim from sublime
04:34:19Skrylari always forgot to use the snippets anyway
04:35:36renesacand I'm using kate with filwit's syntax highlighting
04:35:57renesacand aporia for quick snippets
05:06:50*isenmann joined #nimrod
05:14:53Skrylari looked in to kerning
05:15:03Skrylarit looks like simple kerning isn't that bad of a thing
05:21:43renesacif it wasn't hard there wouldn't be a xkcd commic about keming nor a 'fuckyeahkeming' webpage
05:21:47renesac^^'
05:22:56renesachttp://fuckyeahkeming.com/
05:24:02renesacoh, 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:35fowlThe compiler can now warn about "uninitialized" variables. (There are no real uninitialized variables in Nimrod as they are initialized to binary zero)
06:29:43fowllame 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:10EXetoCI 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:36EXetoCI figured out how
13:46:26*faassen quit (Remote host closed the connection)
14:07:18*wombawomba joined #nimrod
14:13:15Araqhi wombawomba welcome
14:13:28Araqhi untitaker welcome
14:27:31renesacfowl, it would be less lame if it mentioned {.noInit.}
14:27:33renesac:P
14:27:54Araqhi Xuerian welcome
14:28:12Araqrenesac: the problem with default 'gcsafe' for proc types is 'map'
14:28:38renesacwhy?
14:29:16Araqmap is gcsafe when the passed proc is
14:29:38Araqwe deal with this in the effect system via a special rule for proc type parameters
14:30:51Araqnow, we could introduce 'gcagnostic' to deal with this ... but that's inconsistent with how the rest of the effect system works
14:31:22Araqthe default is "unconstrainted" and then you add tags and raises annotations etc.
14:31:30Araq*unconstrained
14:31:49Araqdefault 'gcsafe' breaks the consistency
14:32:36*Jesin joined #nimrod
14:34:36renesacbut I only need to care about adding those 'gcsafe' if I plan to 'spawn' that proc?
14:34:57Araqwell
14:35:12Araqtake the async dispatcher for example
14:35:27Araqit's an object with lots of callbacks that clients need to provide
14:35:52Araqthese callbacks all need to be 'gcsafe' otherwise the dispatcher itself is not gcsafe either
14:36:25Araqthe library has to decide for you but it can't know really
14:36:57Araqwe can make 'gcsafe' a "do nothing" annotation for --threads:off
14:37:30renesacI'm more concerned with the noise and verbosity that it will cause when writing new procs
14:37:50Araqnew procs are inferred for you to be either gcsafe or not
14:38:13Araqproc *types* are affected for the most part
14:38:30renesachum
14:39:32renesacwhat causes a proc to be 'gcunsafe'? Only using some global state?
14:41:54Araqusing global variables that contain GC'ed memory (ref, seq, string, closures)
14:42:19Araqor calling a gcunsafe proc
14:42:49renesacright, so a lot of procs can indeed be inferred
14:43:42Araqit works like a tag: [gcunsafe] that's propagated
14:44:11renesacyeah
14:44:18Araqbut not quite :P
14:45:21Araqer, screw that, it's exactly the same
14:50:12renesacadding 'noSideEffect' includes being 'gcsafe'?
14:50:30Araqyes, exactly
14:50:47Araqit's beautiful, noSideEffect implies gcsafe
14:54:34renesac:D
14:54:51renesacyeah, looking at your commit fixing the stdlib to be gcsafe, it seems tolerable indeed
14:56:32renesacbut are you sure that random will not return repeated numbers to different threads?
15:01:42Araqrandom really shouldn't use global GC'ed memory
15:02:07Araqoh btw 'importc' implies gcsafe too as C doesn't use Nimrod's GC
15:06:40Araq'gcsafe' already found a bug, the gCookies variable needs to be a .threadvar
15:07:49renesacnice
15:16:10Araqwow our docgen is documented now
15:16:19Araqcompletely forgot about this PR
15:18:19Araqand we have "see source" for every piece of code in the stdlib ...
15:18:49Araqthat means I have to use longer variable names ...
15:19:00Araqnah ;-)
15:21:20dom96No love for us on HN :\
15:25:07NimBotAraq/Nimrod devel 15bd91a Grzegorz Adam Hankiewicz [+0 ±1 -0]: Adds example of custom object types used as table key.
15:25:07NimBotAraq/Nimrod devel 49ce36a Simon Hafner [+0 ±1 -0]: Merge pull request #1133 from gradha/pr_adds_tables_example... 2 more lines
15:33:16reactormonkAraq, pfft
15:43:42*Demos joined #nimrod
15:59:29*untitaker quit (Ping timeout: 252 seconds)
16:00:19*redertyuioprgita joined #nimrod
16:01:54OrionPKaraq, for that templates bug, did you want me to try to narrow down a small reproduceable snippet?
16:02:14Demoswait 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:21DemosWHAT COULD GO WRONG
16:02:37*redertyuioprgita quit (Client Quit)
16:02:45OrionPKaraq 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:41OrionPKaraq 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:40OrionPKaraq 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:42Demosdoes 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:10AraqOrionPK: just make sure that I don't have to download dependencies, in fact make a PR and add it to tests/
16:39:57Araqsmall reproducable snippets are nice but often I can do that better than you ;-)
16:42:22Araqbut symbol lookup rules changed for templates with 0.9.4
16:42:36Araqwhich might be the cause of the breakage
16:46:03OrionPKaraq alright, I'll try to get that done today.. but might take til tomorrow
16:47:02wandom96: 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:33Araqgah, I take it back, reduce it please
16:47:46Araqyou have lots of compile-time stuff going on here
16:47:56Araqand not 'templates'
16:47:58OrionPKyeah, it is all compile time stuff
16:48:48OrionPKreducing it will take me longer, since i dont have much time atm
16:49:34*darithorn joined #nimrod
16:58:53Araqhi darithorn welcome (back?)
16:59:58darithornHi. 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:28Araqbbl
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:50reactormonkAraq, gotta write an IRC bot that msg's you if someone new enters the channel >:)
18:08:43milosncurrent git doesnt build?
18:08:49milosnor is it just me
18:09:37fowlmilosn, hi, ill check it out and see if itworks for me
18:09:57OrionPKim really excited about those experimental features :)
18:10:05OrionPKthat sample chat server is nice
18:10:35fowlmilosn, try the devel branch, tis newer
18:11:40dom96milosn: master and devel should both build, what error are you getting?
18:13:14*kuzy_ joined #nimrod
18:14:50milosnrestarted the build not ... let me get to that bit
18:15:00milosns/not/now
18:16:29*brson joined #nimrod
18:17:11milosnill be rude and paste 3-4 lines, they dont warrant a pastebin :)
18:17:13milosnHint: system [Processing]
18:17:13milosnlib/system/inclrtl.nim(25, 7) Error: undeclared identifier: 'appType'
18:17:13milosn==> ERROR: A failure occurred in build(). Aborting...
18:17:17milosnthere you go
18:18:02milosnits on Arch Linux building from AUR (user contributed repository of packages)
18:19:50VarriountThat may be out of date.
18:20:09dom96yeah, try following the instructions here: http://nimrod-lang.org/download.html#source
18:20:10dom96bbl
18:20:23milosnVarriount: its GIT package
18:20:45milosnso it builds, from what i understand, from GIT checkout
18:21:29milosndom96: 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:01milosnlet me try building as normal user, ive seen packages failed to build when i do it as root
18:22:41OrionPKso couldnt there be an implicit converter for int and TPort dom96?
18:23:00renesacyeah, the latest devel git compiles for me
18:23:58milosnrenesac: i am checking out as normal user now ... ill check the build script after, maybe its checking out branch or something
18:24:00fowlmilosn, you shouldnt use AUR as superuser
18:24:01milosnyou never know :)
18:24:10milosnfowl: i know, i know :)
18:24:23fowlmilosn, btw if you build it yourself, installation is easy, just symlink the nimrod binary into your path
18:24:36fowldont bother with `koch install`
18:24:45milosnthat easy? cool ... ill have a look after
18:24:58milosnanyway this is gonna take a while again to download 300M of sources
18:25:04reactormonkmilosn, uuuh
18:25:07milosni am gone to the gym, catch you later
18:25:16fowlit should only be like 40mb >_>
18:25:22reactormonkmilosn, use a sparse git checkout
18:25:28reactormonkmilosn, --depth 1
18:25:49milosnComment by Schala (2013-05-24 02:13)
18:25:50milosnI 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:53milosn:)
18:26:14reactormonkmilosn, hmmm
18:26:28milosnits not my package
18:26:48reactormonkmilosn, I'm on arch, but I just messed with my PATH because I update it rather often
18:26:58reactormonklemme get nimrod-git
18:27:12vegaiwouldn't it be better if the package in community was up-to-date?
18:28:07reactormonklet's see who's the maintainer
18:28:25reactormonkPackager : Alexander Rødseth <[email protected]>
18:28:38fowlvegai, it shouldnt need to be updated since it works off git
18:28:53vegaifowl: community/nimrod 0.9.2-4?
18:28:58reactormonkfowl, nah, we actually got a package in the community, not via AUR
18:29:04reactormonkI'll give him a short ping
18:29:23vegaithere *was* a 0.9.3 released too, wasn't there?
18:29:26vegaiand not very recently
18:29:43reactormonkvegai, nah, 0.9.3 would be unstable
18:29:51fowloh
18:29:52vegaiah, you go with the even releases
18:29:52OrionPKodd numbers are unstabke
18:30:14fowlmy next project will use fibonacci release numbers
18:30:27fowljk, i never release anything :(
18:30:28reactormonkvegai, it's flagged OOD already, should do
18:30:39vegaireactormonk: roger
18:30:49reactormonkdone... yesterday.
18:32:21vegaiI could just upgrade it myself right now, but perhaps I won't needlessly step on his toes
18:33:58EXetoCAraq: so, "var x = int16(y)" generates an nkCall while "echo int16(y)" generates nkHiddenStdConv
18:43:25EXetoCok nkCall is turned into nkConv
18:58:26*kuzy_ quit (Read error: Connection reset by peer)
19:21:29*Mat3 joined #nimrod
19:21:38Mat3good afternoon
19:21:45EXetoChola
19:23:40Mat3hi EXetoC
19:27:04Araqmilosn: I broke -d:createNimRtl ... yay
19:27:12Araqthe fix is very easy
19:27:20Mat3hi Araq
19:27:25Araqhi Mat3
19:28:18*io2 joined #nimrod
19:29:10*BitPuffin joined #nimrod
19:30:34Araqso ... what's our policy for 0.9.4 master?
19:30:54Araqshould I push to master and keep the version 0.9.4 or is it 0.9.5 ?
19:31:35reactormonkAraq, it's 0.9.4, backport fixes if you feel like it. The devel branch is 0.9.5 rolling
19:31:59Araqbackporting fixes is the whole point of the devel vs master split
19:33:07Araqso people can get a 0.9.4 that's not 0.9.4 but 0.9.4.1 ?
19:33:30reactormonklooks like you just slap a tag on master each X weeks
19:34:08Araqoh well people can always compare the build date I guess
19:34:13*foodoo joined #nimrod
19:34:36reactormonkAraq, git tag isn't too hard to operate
19:34:54VarriountAraq: I'll volunteer to help backport fixes and the like.
19:35:25AraqVarriount: good. In fact, I already thought you're the top candidate for this. :-)
19:35:30Varriount:D
19:37:55VarriountOh cool, I just found that you can selectively exclude windows from alerting you in xchat.
19:40:43nequitansI've been using CIRC, but I wish i could increase font sizes in IRC like non-desktop chrome apps let you.
19:40:47NimBotAraq/Nimrod devel 71e1c8d Araq [+0 ±2 -0]: website updates
19:40:47NimBotAraq/Nimrod devel 9979c36 Araq [+0 ±1 -0]: devel is version 0.9.5
19:40:47NimBotAraq/Nimrod devel a146d6b Araq [+0 ±2 -0]: building of nimrtl.dll should work again
19:40:47NimBotAraq/Nimrod devel e37d72f Araq [+0 ±1 -0]: Merge branch 'devel' of https://github.com/Araq/Nimrod into devel
19:46:15VarriountI mentioned Nimrod in a reddit thread discussing make/build systems for various languages.
19:49:16*andreroquem joined #nimrod
19:50:12Araqhi andreroquem welcome
19:50:33andreroquemhi
19:50:41AraqI don't know why your building of a static lib fails, but the commands you list look fishy
19:51:14Araqgcc -g -static teste.c -L. -ltestec.nim -ldl -o testenim
19:51:25Araq-ltestec.nim ?
19:51:33Araqthat can't be right
19:51:36andreroquemow, sorry
19:51:41andreroquemforgot one line
19:52:04andreroquemar rcs libtestehello.a testehello.o
19:52:11andreroquemoops
19:52:29andreroquemno, that's right
19:52:39andreroquemfirst I compiled the nim file to static lib
19:52:58andreroquemwith nimrod c --app:staticlib ... and so on
19:53:11andreroquemthat got me a libtestec.nim.a file
19:53:37andreroquemthen, I pass -L. and -ltestec.nim to gcc so that it can find the static library and static link it
19:53:44andreroqueminto the final executable
19:53:49Araq libtestec.nim.a ?
19:53:53andreroquemyes
19:54:00Araqthat's a bug
19:54:09andreroquemoops
19:54:23Araqit should be libtestec.a of course
19:54:31Araqbut anyway, that's not critical
19:55:15andreroquemyes
19:55:33andreroquemwhen I create the nim proc without any arguments, it works
19:57:35VarriountCould it be something to do with calling conventions?
19:58:01andreroquembtw 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:00filwit72 eh?
19:59:28andreroquemI'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:46andreroquemI'll try put cdecl and see if it works
20:00:13filwitandreroquem, i just tried your test and added cdecl to the pragmas, didn't work
20:00:56filwitbut i noticed that gcc gave a warning about using dlopen() with static libs
20:01:01andreroquemwould compile it now, thanks
20:01:43andreroquemyes, 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:58andreroquembut maybe it is relevant, I'm not sure
20:02:11VarriountOh hi filwit
20:02:18filwithey Varriount
20:03:50filwitandreroquem, 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:08Araqandreroquem: if you're on linux the calling convention is irrelevant they are mapped to C's calling convention
20:04:17andreroquemI'm on linux
20:04:21andreroquemubuntu
20:06:31filwitbtw, 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:41VarriountAnyone know a reliable way to the path of a directory, relative to another directory?
20:06:44andreroquemI made another test
20:06:56andreroquemI've added an echo before
20:07:02andreroquemthat doesn't use the variable
20:07:06andreroquemand it printed
20:07:14VarriountI'm trying to copy a directory heirarchy from one location to another.
20:07:15andreroquemso the function is being called
20:08:15*Jesin quit (Remote host closed the connection)
20:09:27filwitandreroquem: also, i tried with cint instead of cstring and it still segfaults
20:09:44Araqfilwit: 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:03AraqVarriount: no and the compiler really needs this feature too, so please implement it
20:10:32filwitAraq: not trying to use you as google, but are region ptrs useful for much outside of OS dev?
20:11:04Araqthe example shows how to improve type safety when wrapping Python
20:11:15Araqso yes, of course they are useful for lots of things
20:11:44VarriountAraq: 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:02filwitAraq: 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:25Araqin fact, I have no idea whether they are useful for OS development :P
20:13:02filwitVarriount: hack it to make it more useful :P
20:13:09AraqI bet it's academic and doesn't help for OSes, but hey, we can try
20:13:32VarriountAraq: Windows has a PathRelativeToPath procedure call. :D
20:13:47VarriountI don't know if Posix has an equivalent though...
20:14:00filwitAraq: or maybe this was the only thing holding Linus back from porting Linux entirely to Nimrod :P
20:14:28AraqC programmers do not understand static typing, filwit
20:14:49filwiter... what, why do you say that?
20:14:49Araqthe language started as an untyped one
20:15:03filwitreally... did not know that
20:15:17filwitstill.. it's been a static-typed language for decades now
20:15:55Demosturns out that dynamic value types are a real PITA
20:16:11Araqit still uses pervasive implicit type conversions all over the place, filwit
20:16:30Demosoh my god why does cairo not use CMake
20:16:53filwitDemos: 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:18Demosjavascript does not have dynamic value types afaik
20:17:26DemosI am talking about like FORTRAN 77 and BCPL
20:20:56Araqfilwit: 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:48filwitAraq: 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:51filwitAraq: 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:08Araqnot sure what you mean
20:23:13Araqthe write tracking?
20:23:23filwit* expose, + readonly
20:23:31Araqah
20:23:46AraqI dunno, can't hurt, can it?
20:24:06filwityeah i just realized your syntax for it makes more sense, since it doesn't break anything
20:24:26Araqhey, of course my syntax makes sense :P
20:24:47filwitit'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:27filwiti 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:39filwitAraq: 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:05Araqfilwit: dom96 said he would quit though if I add this feature :P
20:28:19filwitAraq: lol
20:28:49filwitAraq: 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:34filwitAraq: 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:10flaviuLLVM 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:15Araqwell andreroquem_ I can't help you sorry. I'm busy with other things.
20:43:02andreroquem_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:23Mat3ciao
20:47:37*Mat3 quit (Quit: Verlassend)
20:50:05milosnAraq: ah
20:50:09milosnso it was broken??
20:50:23*milosn back
20:50:46DemosYAYAYAYAYAY my code builds on windows! finally
20:50:51Demosscrew 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:20flaviuAraq: Have you seen the reception on reddit? Its really excellent, we're almost as high up as scala 2.11
20:58:49AraqVarriount: so please merge the 'appType' fix into master
20:59:05*[2]Endy quit (Ping timeout: 264 seconds)
20:59:14nequitansflaviu: awesome!
20:59:42flaviuYep. And the discussion is good, not just arguing with one guy over c interop
21:01:02nequitansyea!
21:05:12dom96The discussion could be better.
21:05:43dom96It could easily be worse too, no one made any jokes about the name yet.
21:07:07dom96wan: You seem to know a lot about HN. Perhaps you could try posting to HN about Nimrod?
21:07:38nequitansWhen 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:54flaviuportmapreduction 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:14renesacdom96, you should answer flaviu post about asyncio
21:09:36renesac*vocalbit post
21:09:53dom96what's there to answer?
21:09:54flaviudom96: You need an interesting title to get clicks, your HN title is too bland
21:10:16flaviudom96: Confirmation I guess?
21:10:20renesacyeah
21:12:16dom96done
21:12:23dom96flaviu: Perhaps you're right.
21:13:01dom96What would have helped is if you guys all upvoted the HN post as soon as it was posted.
21:13:12dom96So that it made its way to the front page.
21:13:49flaviuYes, that would have helped significantly too
21:16:16flaviuI made an account on hacker news, I can upvote next time
21:16:49dom96someone else should submit it this time, otherwise I may get banned for spamming heh
21:19:31flaviudom96: That doesn't seem to be against the rules
21:20:22dom96oh. Should I submit it then?
21:20:46flaviuOh, the same link? I don't think thats a good idea then.
21:23:22flaviuI can submit, give a little while
21:23:35dom96Submit: http://nimrod-lang.org/news.html
21:23:45dom96I submitted that with the anchor last time
21:23:58dom96I think we should find at least 3-4 people to upvote immediately
21:24:00dom96before we submit
21:24:05dom96Any volunteers?
21:25:44nequitansi'll upvote
21:27:02flaviuShould we wait for another person?
21:27:13andreroquemI'll upvote
21:27:36dom96ok, with me that's 3
21:27:51NimBotAraq/Nimrod devel 8d6ed94 Araq [+0 ±1 -0]: make getAppFilename work when there is no procfs
21:27:51NimBotAraq/Nimrod devel e128f48 Araq [+0 ±1 -0]: minor tweak to the manual
21:27:57dom96will that be enough?
21:28:01flaviuSure
21:29:15flaviuhttps://news.ycombinator.com/item?id=7630584
21:29:41flaviuI 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:00nequitanshmmm -- nothing shows up for me at that link
21:30:05andreroquemneither for me
21:30:22dom96same here
21:30:31flaviuNot for me if I log out
21:30:46flaviuWas I shadow-banned already?
21:30:59dom96what's you nick?
21:31:03dom96*your
21:31:07flaviuhttps://news.ycombinator.com/user?id=flaviu2
21:31:30dom96odd
21:31:39dom96Maybe you can't submit right after creating an account?
21:31:50dom96or maybe mods have to review it?
21:32:24dom96It's not listed in https://news.ycombinator.com/newest
21:32:29nequitanswhen i submitted my blog post, it worked right after i created the account
21:32:48flaviuMy account is 16 min old
21:33:03dom96maybe you crashed HN? lol
21:33:37dom96maybe it detected that this link was submitted recently
21:33:43dom96(or a similar link)
21:40:26*wombawomba joined #nimrod
21:41:01dom96flaviu: Could you try again?
21:41:41flaviuI think I'm banned
21:42:23dom96any ideas why?
21:42:43nequitansthat's pretty harsh, banned the first time you create an account and submit a link that's already been submitted?
21:43:11flaviuWell, I subitted 16 min after
21:43:19flaviuI probably look like a spam account
21:46:54nequitansbut when i submitted my blog post, it was like a few mins after i created my account
21:47:05nequitansand that worked ok
21:59:08*andreroquem quit (Quit: Page closed)
22:01:02*wombawomba quit (Ping timeout: 255 seconds)
22:06:09Araqhmm I think commits that are to be merged into master should all contain 'fix' or 'bugfix'
22:07:16NimBotAraq/Nimrod devel 5aa8278 Araq [+0 ±2 -0]: Haiku build works again
22:07:47Araqmilosn: I fixed your issue, but I don't know when it will arrive in master
22:15:29*wade_ joined #nimrod
22:15:40Araqhi wade_ welcome
22:23:21Araqgood night
22:23:31*wade_ quit (Ping timeout: 252 seconds)
22:29:29NimBotAraq/Nimrod devel 3851ee2 Araq [+0 ±1 -0]: DLL generation works again
22:34:01milosnAraq: milosn@t420s ~ $ nimrod
22:34:02milosnNimrod Compiler Version 0.9.5 (2014-04-22) [Linux: amd64]
22:34:09milosnAraq: it arrived
22:34:55milosnthanks :)
22:35:07milosntoo late to play with it tonight
22:35:27milosnsomething to do next few days and for weekend
22:41:32dom96glad 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:17reactormonkmilosn, cool
22:59:22*Matthias247 quit (Quit: Matthias247)
22:59:31reactormonkhaiku? interesting.
23:00:45fowlreactormonk, error: insufficient syllables
23:02:54KeletNimrod 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:23flaviudom96: Your macro is just sugar for a regular closure, right?
23:12:35dom96yes
23:13:15flaviuSomeone on reddit asked, I wanted to make sure I don't give out misleading information
23:18:15*xenagi joined #nimrod
23:22:00dom96good night
23:22:04wandom96: 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:40wanHoney badgers need to write more of those
23:23:04dom96When 0.9.2 was released I posted about it to HN and it stayed on the front page for quite some time.
23:23:31dom96I think the interest is definitely there, we just need good momentum at the start
23:24:00wanAnd better titles
23:24:06flaviudom96: Have you considered writing about nimos? The latest fad is making OSes in Rust
23:24:45dom96flaviu: There is plenty to write about, the problem is time.
23:26:59dom96wan: true, but I see 'X vx.x.x released' on HN all the time
23:27:25dom96But I was wrong, my previous "0.9.2 released" post failed heh
23:27:32Keletdom96: Do you know if Aporia ~master compiles on the latest Nimrod release now?
23:27:36dom96But IIRC someone else posted it again and it got lots of points
23:28:16dom96Kelet: It should. But I'm not sure if Araq's new gcsafe stuff affects it
23:28:29dom96Kelet: please try it, if it doesn't work let me know
23:28:42Keletgcsafe?
23:30:23dom96http://build.nimrod-lang.org/docs/manual.html#gc-safety
23:32:05renesacdom96, 'gcsafe' test is disabled, at least on master branch
23:32:05Keletdom96: 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:15Keletor is it more monolithic than that
23:32:27renesacit only recognizes the pragma
23:32:34dom96ahh, good. Then Aporia should work.
23:33:04dom96Kelet: Not really. It's integrated into GTK pretty deeply.
23:34:21VarriountKelet: We also have IDE plugins for sublime text and vim
23:35:17KeletVarriount: Do they use the Nimrod IDE Integration?
23:35:25KeletSeems like a cool thing to have in a compiler
23:35:31Keletor rather
23:35:33Kelet'idetools'
23:35:34VarriountKelet: Sorta. The IDE integration is a bit broken at the moment.
23:35:48KeletIn the compiler or in the plugins?
23:36:10VarriountI, OrionPK, and Matthias work on the Sublime Text plugin.
23:36:36VarriountKelet: We have some buggy integration with idetools, and full integration with Nimrod's 'check' command.
23:37:51KeletVarriount: 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:34dom96Windows installers are now available for download. Thanks go to Varriount for creating them!
23:43:14dom96good night
23:43:33Trixar_zaGoodnite dom96
23:44:00NimBotAraq/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