<< 12-02-2014 >>

00:00:15*io2 quit (Ping timeout: 250 seconds)
00:01:01Araqdom96: report it please
00:01:32dom96Trying to reproduce it.
00:04:11dom96argh, i'll have to do it tomorrow.
00:05:48Araqok, good night
00:06:32dom96bye
00:12:17*vbtt quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
00:15:25*xenagi joined #nimrod
00:25:48*darkf joined #nimrod
00:34:36VarriountHi xenagi, darkf
00:34:46darkfhi
00:49:59*carum quit (Remote host closed the connection)
00:57:27*carum joined #nimrod
01:08:51*skyfex joined #nimrod
01:09:13VarriountHi skrylar
01:09:23Varriount*skyfex
01:11:45VarriountAraq: Does niminst generate installers for just the nimrod compiler, or for arbitrary nimrod projects?
01:12:41VarriountDemos: ping
01:13:11*skyfex quit (Ping timeout: 245 seconds)
01:13:52*brihat1 joined #nimrod
01:15:11*brihat quit (Ping timeout: 245 seconds)
01:32:31*carum quit (Read error: Connection reset by peer)
01:32:50*carum joined #nimrod
01:35:52*doomrobo joined #nimrod
01:36:31xenagihi Varriount
01:36:54*AndChat|206976 quit (Read error: Connection reset by peer)
01:37:02*vbtt joined #nimrod
01:39:24*vbtt quit (Client Quit)
01:39:25*DAddYE quit (Remote host closed the connection)
01:57:41*carum quit (Remote host closed the connection)
02:08:51*dmac joined #nimrod
02:15:18*ics quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
02:17:09*BitPuffin quit (Ping timeout: 272 seconds)
02:21:09*dmac quit (Disconnected by services)
02:21:29*dmac joined #nimrod
02:21:44*dmac quit (Disconnected by services)
02:28:02*dmac joined #nimrod
02:32:14DemosVarriount, pong
02:32:33Demosyeah I know way to respond right
02:32:38*dmac quit (Disconnected by services)
02:46:41*carum joined #nimrod
02:47:39*doomrobo quit (Quit: Leaving)
02:49:08VarriountDemos: Rats, I forgot what I was going to ask you
02:51:15*carum quit (Ping timeout: 260 seconds)
02:51:28VarriountDemos: Oh yes, now I remember. Have you ever built nimrod with the intel or vcc compilers?
03:00:13*dmac joined #nimrod
03:00:46reactormonkxenagi, o/
03:06:28xenagihi
03:08:20DemosVarriount, I have tried with both, I got it to build in debug mode with intel
03:09:47*skyfex joined #nimrod
03:14:47*skyfex quit (Ping timeout: 272 seconds)
03:26:23*brson quit (Quit: leaving)
03:39:14*aftersha_ joined #nimrod
03:53:06*aftersha_ quit (Quit: Computer has gone to sleep.)
03:54:14*ics joined #nimrod
04:22:14*carum joined #nimrod
04:24:29*Worm_in_a_Box joined #nimrod
05:10:33*skyfex joined #nimrod
05:10:52*DAddYE joined #nimrod
05:15:07*skyfex quit (Ping timeout: 272 seconds)
05:59:14*xtagon quit (Read error: Connection reset by peer)
06:05:48AraqVarriount: 'niminst' is for arbitrary nimrod projects
06:05:59*xenagi quit (Quit: Leaving)
06:06:22AraqDemos: you could write a bug report for this, you know
06:09:51fowlError: internal error: invalid kind for first(tyOrdinal)
06:09:52fowlNo stack traceback available
06:09:55fowl>:\
06:19:22*Worm_in_a_Box quit (Quit: Ex-Chat)
07:11:26*skyfex joined #nimrod
07:16:01*skyfex quit (Ping timeout: 260 seconds)
07:24:41*Demos quit (Read error: Connection reset by peer)
07:40:19*skyfex joined #nimrod
07:42:48*skyfex quit (Client Quit)
07:53:26*skrylar wonders how well nimrod would take to being shoved in a DSSI instrument
07:53:37skrylari don't see a particular reason why it couldn't work
07:54:59*vbtt joined #nimrod
07:55:11vbtthello
07:55:31vbttso golang's gc will be precise in 1.3. you probably noticed.
07:57:12skrylaryay GCs that do their jobs \o/ ;)
08:01:39skrylarsorry, i get that conservative GCs have their use; i just think its silly to confuse integers with pointers in languages where the compiler knows its emitting to a GC platform
08:04:14vbtteven nimrod's gc does is not precise for stack data, i believe.
08:06:24skrylarisn't the default gc just a reference counter right no?
08:06:27skrylars/no/now
08:06:31vbttskrylar: no
08:06:43skrylari thought i saw that mentioned in the 0.9.2 release docs
08:07:03vbttit's a gc that uses a deferred refcounting technique. different than what's commonly thought of as a reference counter.
08:09:00fowlhow do i get the devel branch?
08:09:07vbttit also has cycle detection
08:10:53vbttfowl: git checkout?
08:11:30vbttfowl:https://github.com/Araq/Nimrod
08:11:34fowlit doesnt seem to do anything
08:11:55vbttfowl:new to git?
08:12:01vbtttry a tutorial
08:12:33Araqfowl 'git branch' tells you what branch you're in, maybe you're already on 'devel'
08:12:37vbtthttps://github.com/Araq/Nimrod
08:12:43vbttgit clone https://github.com/Araq/Nimrod
08:12:52fowl* (detached from origin/master)
08:13:29vbttdo a fresh checkout - it's probably easiest.
08:13:38vbtti mean fresh 'clone'
08:17:15vbttgit often has me confused, btw. i don't really like it.
08:17:44vbttmercurial is much better from a usability point of view.
08:18:23skrylarfowl: detached means you aren't on anything, do "checkout master" to get back to a known area
08:18:30Araqvbtt: I believe you without ever trying mercurial ;-)
08:19:07vbtthaha
08:19:13skrylari like git :/
08:19:35skrylarFossil would be nice but they insist rebase is evil
08:20:40vbttit's not the features, it's the command line ui that i dislike about git. seems to be designed to be particularly hard to remember, overly exposes internals and error prone.
08:20:51skrylarheh
08:20:55skrylarwell git has the traditional linux mindset
08:21:02vbttbut other's have said it better: http://stevelosh.com/blog/2013/04/git-koans/
08:21:06skrylar"if you can't use it its obviously because you're just stupid"
08:21:46vbttnot a huge fan of linux either (though I don't think linux mindset is particularly bad)
08:21:56vbttFreeBSD ftw!
08:22:22skrylari'm trying to stomach linux more because I don't care about Windows 8+ and their attempt to force everyone in to locked down tablet PCs
08:22:33skrylarbut I still miss my macbook pretty much weekly
08:24:07skrylara lot of the mac devs have a big emphass on "if it doesn't work or we can't document it yet, we leave it out" which gives the impression that some programs are worse than other platforms but they're really straightforward to use when they finally do get them; linux... you end up with tha 300 bin monstrocity known as Git which you have to refer to man pages that sometimes help :)
08:25:35skrylarmy linux machine still crashes on occasion because i plug in a keyboard
08:26:15vbttreally? in my experience linux is a pretty solid workstation (but i use a laptop).
08:26:30vbtti use linux mint. seems well designed for desktop use.
08:26:35skrylarwell, X11 locks up
08:26:55skrylarand there was an ubuntu bug that broke any opengl based KDE app
08:27:37vbttagree that mac apps are usually nice. whatever they do, they do really well and integrate nicely with the rest of the system.
08:27:57skrylarwell pre-iOS there was a central direction
08:28:10vbttlinux doesn't seem to believe in good integration (that's why i prefer freebsd where i can use it)
08:28:32skrylartheres the human interface guidelines for free, they used to have design awards to promote good UI
08:29:32vbttanyway, g2g. have fun guys. hopefully nimrod will get accepted to gsoc.
08:29:37*vbtt quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
08:29:41skrylarbesafe
08:38:44fowl:( lib/pure/dynlib.nim(58, 20) Error: undeclared identifier: 'CString'
08:40:49skrylarI seem to remember having that problem; you have to go in the file and change it to 'cstring' which worked for me IIRC
08:40:57skrylarI'm not sure why the case mattered
08:41:30skrylari should see if the compilers been updated since i installed it; though i don't know if anything breaking has gotten pushed through as of late
08:42:05*DAddYE quit (Remote host closed the connection)
08:42:40*DAddYE joined #nimrod
08:47:19*DAddYE quit (Ping timeout: 260 seconds)
08:51:54fowlweird
08:52:02fowlits like its case-sensitive
08:57:52Araqcompiler/nimrod.nimrod.cfg contains cs:partial so we notice case inconsistencies
08:58:01Araqthat's in devel, not in master
08:58:13Araqremove it and it works
09:00:11fowlty
09:04:22*ddl_smurf quit (Quit: ddl_smurf)
09:16:07skrylari think i'm the only one who does it, but vim fold markers are really nice :(
09:16:29skrylarespecially with the Voom extension installed, you can jump around huge modules pretty easily
09:26:45*dmac quit (Ping timeout: 265 seconds)
09:36:10*carum quit (Remote host closed the connection)
09:43:38*skyfex joined #nimrod
09:47:46*skyfex quit (Ping timeout: 245 seconds)
10:20:43*io2 joined #nimrod
10:32:21*ics quit (Ping timeout: 245 seconds)
10:35:24*ics joined #nimrod
10:55:26*zahary_ joined #nimrod
10:57:37zahary_I've added my "make Nimrod a GC research platform" idea to the list:
10:57:38zahary_https://github.com/Araq/Nimrod/wiki/GSoC-2014-Ideas
10:58:25zahary_can someone, who is a native speaker look over the english?
11:13:18*BitPuffin joined #nimrod
11:44:29*skyfex joined #nimrod
11:48:53*skyfex quit (Ping timeout: 248 seconds)
13:03:51*ics quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
13:13:36*BitPuffin quit (Ping timeout: 245 seconds)
13:22:04*BitPuffin joined #nimrod
13:44:34*darkf quit (Quit: Leaving)
13:45:23*skyfex joined #nimrod
13:49:43*skyfex quit (Ping timeout: 260 seconds)
13:59:56*noam joined #nimrod
14:02:47*noam_ quit (Ping timeout: 260 seconds)
14:04:34OrionPKzahary_ the GC isnt embedded in the exe if you choose boehm right?
14:06:22OrionPKI would get rid of the comma in "groups and individuals, without requiring", and "GC roots marking strategies" maybe would be "root marking strategies"
14:07:59OrionPKzahary_ overall it looks good though
14:14:34*ub1k joined #nimrod
14:19:50Araqhi ub1k welcome
14:21:11ub1khi Araq :) thanks
14:25:24zahary_OrionPK, right (although, there probably is a static lib version of boehm)
14:36:06*noam_ joined #nimrod
14:37:31*noam quit (Ping timeout: 272 seconds)
14:43:05*carum joined #nimrod
15:12:10*zahary1 joined #nimrod
15:42:18*micklat joined #nimrod
15:43:05micklatIs Araq serious about dropping prefixes?
15:43:16micklathe said so on the forum, but I don't see that he carried through this intention in the stdlib
15:45:39OrionPKi think it's more of a long term goal
15:45:53EXetoCso, what about the prefixes other than T? I'd ask on the forum, but I can't log in
15:46:14*skyfex joined #nimrod
15:47:56*zahary2 joined #nimrod
15:47:58EXetoC*apps* hungarian!
15:48:01*zahary3 joined #nimrod
15:50:39*[Pete_27] joined #nimrod
15:50:45*skyfex quit (Ping timeout: 260 seconds)
15:51:59*skrylar_ joined #nimrod
15:55:09*epsylon` joined #nimrod
15:56:40*zahary1 quit (*.net *.split)
15:56:41*brihat1 quit (*.net *.split)
15:56:42*epsylon quit (*.net *.split)
15:56:43*zahary quit (*.net *.split)
15:56:43*skrylar quit (*.net *.split)
15:56:43*pe7ed27 quit (*.net *.split)
15:57:03*renesac quit (Ping timeout: 252 seconds)
16:02:40dom96hello
16:04:05*zahary2 quit (Quit: Leaving.)
16:04:19*ddl_smurf joined #nimrod
16:04:27*brihat joined #nimrod
16:06:25OrionPKahoy dom96
16:06:41dom96zahary_: looks good. Are you happy with the mentor allocation?
16:06:47dom96howdy OrionPK
16:08:59zahary_dom96, sure, but have you guys discussed CAAS yesterday and did you come up with these points
16:09:00zahary_* Allow the compiler to either track more than one project at a time, or not track any project at all.
16:09:30dom96No. I think Varriount (or someone else) just added that.
16:09:50OrionPKwhy would it need that
16:09:53dom96Is that even possible? I presume CAAS needs that info?
16:10:00OrionPKeach request to the CAAS should be independent from the last
16:10:02zahary_This would be extremely large change to the current compiler - I've given up on supporting it in the short term - that's why I use single Nimrod process per project in vim and light table
16:10:39dom96Yeah, that's what I thought.
16:10:47dom96We can remove that then.
16:10:57dom96Any ideas what else CAAS needs?
16:11:00*[1]Endy joined #nimrod
16:11:10dom96I think the macro execution/eval would be very nice.
16:11:16dom96Unless that is already possible?
16:14:17*Mat3 joined #nimrod
16:14:21Mat3hi all
16:15:07zahary_making CAAS to work in general is not as simple as imagined in this description - you'll need to know a lot about how the compiler goes through the code and then how it uses its cached results (this touches on almost most areas of the compiler). macro expansion and evaluation are more newbie-friendly goals indeed. building look-up tables for semantic highlighting is another easier thing
16:16:38dom96zahary_: Can you edit it to whatever you think is viable then please?
16:16:55zahary_I'll will when I get home
16:17:06dom96Alright. Thanks.
16:18:02*carum quit (Read error: Connection reset by peer)
16:18:34*carum joined #nimrod
16:20:35fowli had to switch back from devel because it has problems with generics
16:22:06dom96Bug report.
16:23:20Mat3what's the opinion here about support for the ARM V8 ISA (the 64 bit one) ?
16:23:55*carum quit (Read error: Connection reset by peer)
16:24:31*carum joined #nimrod
16:25:26*[2]Endy joined #nimrod
16:25:51dom96Varriount: What do you mean by "Reduce the number of assumptions the Nimrod builder makes about its host system, in order to reduce configuration restrictions. Assumptions include location and usage of external tools, such as git."?
16:27:35*ics joined #nimrod
16:28:41*[1]Endy quit (Ping timeout: 265 seconds)
16:28:44*Demos joined #nimrod
16:31:41Demosdoes the builder still fail on BSDs
16:32:55*carum_ joined #nimrod
16:33:08dom96Demos: No idea. You wanted to donate a machine right?
16:34:00*carum quit (Ping timeout: 265 seconds)
16:34:08Demoserm, not really. Not a BSD box in any case
16:34:46Demossomeone was talking about the builder for GSoC. I have been planning to test the boot process on a bsd vm for a while, never gotten to it
16:42:23NimBotnimrod-code/packages master 1aa6717 Micky Latowicki [+0 ±1 -0]: add NimBorg, a package for interfacing with lua and python
16:42:23NimBotnimrod-code/packages master 120d012 Micky Latowicki [+0 ±1 -0]: fix typos in NimBorg's descriptor
16:42:23NimBotnimrod-code/packages master b1d0b8f Dominik Picheta [+0 ±1 -0]: Merge pull request #46 from micklat/master... 2 more lines
16:43:16*zahary joined #nimrod
16:51:43*micklat quit (Remote host closed the connection)
16:56:31*zahary quit (Quit: Leaving.)
17:00:59*Demos quit (Quit: Textual IRC Client: www.textualapp.com)
17:12:57*ics quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
17:14:48EXetoCif we do get a container interface one day (with the help of user-defined type classes), will 'yield' still be a necessity?
17:15:25*ics joined #nimrod
17:20:04EXetoCand is that what the feature will be called? because we already have 'type classes', and aren't they user-defined too?
17:22:16skrylar_whats wrong with yield Oo
17:22:42fowlwhats yield have to do with type classes/
17:26:24*brson joined #nimrod
17:27:06fowlmy generic issues: https://github.com/Araq/Nimrod/issues/907
17:30:41EXetoCfowl: there'd be a potential overlap in that case, unless I'm missing some additional benefits of 'yield'
17:34:38fowlEXetoC, yield returns a value from an iterator
17:41:15*askatasuna joined #nimrod
17:45:01*icebattle joined #nimrod
17:46:02icebattlenice write up in dr dobbs: http://goo.gl/N8Mwdx
17:46:52dom96oh yeah. It's now "officially" released.
17:47:02EXetoCfowl: yes, and there are other ways to go about it
17:47:05*skyfex joined #nimrod
17:47:11icebattleexcellent
17:47:30EXetoCunnecessary or not, it'll be a nice way to test if the UDTC feature works in practice
17:47:55dom96Perhaps we should try submitting it to HN again.
17:48:00EXetoCbut I do like the idea of just checking for interface conformity, after which the 'for' loop is translate to a 'while' loop and a couple of calls and something like that
17:48:14*shodan45 joined #nimrod
17:51:13EXetoCand then you can just call those functions manually if you want: echo stuff.iter.pop()
17:51:37*skyfex quit (Ping timeout: 260 seconds)
17:51:49fowli dont get it
17:51:56fowlbut that doesnt mean you should stop dreaming
17:52:29*renesac joined #nimrod
17:52:38EXetoCfowl: similar to ranges in D, just without some of the problems
17:53:28EXetoCsuch as the issues regarding D's approach to interfaces, and then the fact that it doesn't work at all with const
17:54:49dom96I also don't get how typeclasses relate to 'yield' at all.
18:00:41*BitPuffin quit (Ping timeout: 245 seconds)
18:06:33EXetoCdom96: it would just be a syntactic rewrite, from 'for' to 'while' plus a couple of calls for advancing, popping and determining if the iterator has been exhausted
18:06:47EXetoCdom96: they are not related, but this approach would be more viable with something like UDTC's
18:07:14*DAddYE joined #nimrod
18:09:19EXetoCand you might even get away with a 'for' macro/template then
18:09:51EXetoCwasn't that discussed 1-2 days ago? I can't remember any details though
18:10:27EXetoCis the plan to have UDTC's ready for 0.9.4?
18:14:30*vbtt joined #nimrod
18:17:40fowlEXetoC, inline iterators are already transformed like that..
18:24:41EXetoCok so there's one similarity
18:45:18*vbtt quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
18:45:28*vbtt joined #nimrod
18:45:45VarriountHello guys!
18:46:33VarriountAraq: I was able to get koch to generate the installer (I had to change a string in the inno script to an ansistring, because I'm using a unicode version of inno)
18:48:58*fowl quit (Ping timeout: 265 seconds)
18:55:18VarriountAraq: I also did some searching into C implementations of coroutines, and found a couple of links -> https://gist.github.com/Varriount/8962092
18:55:41*fowl joined #nimrod
18:56:03VarriountCurrently, all the links in that gist were found on wikipedia, I'll look for more once I get the inno installer fully working
18:56:09VarriountHi fowl
18:56:54*BitPuffin joined #nimrod
18:57:36*vendethiel quit (Quit: q+)
18:58:17VarriountAre the libcurl and pdcurses dll's still needed for the base nimrod installation?
19:03:46vbttVarriount:that's a good list
19:07:23Varriountvbtt: I did most of the work this morning, while in bed
19:08:28Varriountvbtt: I also found that the definition of "coroutine" is a bit.. fuzzy. Technically, the generator in python 2.6 and higher are a sort of coroutine, as they can be sent information once started through their send() method
19:08:52VarriountAnd they can start other coroutines through "yield from"
19:09:35*zahary joined #nimrod
19:12:26*aftersha_ joined #nimrod
19:12:32VarriountOn an off note, I wonder if the hidden environment parameter passed to closure iterators should be accessable at all.
19:12:50VarriountIt might be helpful for C/C++ interoperability
19:13:12vbttVarriount:it's true coroutines are somewhat fuzzy but the imporant thing is they are like userspace threads.
19:13:36vbttand they often have cooperative multitasking (rather than preemptive multitasking as with system threads)
19:14:12vbttit's probably useful to write some nimrod code that shows how coroutines *will* work and describe it's semantics.
19:14:42vbtti think you should just play around with lua coroutines because they are easy to use and you'll see how it's different from generators
19:14:57vbtt(lua doesn't use 'yield from')
19:15:47reactormonkdom96, add difficulty to babel
19:15:47vbttC coroutines will be harder to understand.
19:16:08dom96reactormonk: oh, nice catch. I missed that.
19:17:22reactormonkdom96, did you sign up for it?
19:17:29dom96reactormonk: not yet
19:17:59reactormonkdom96, do it before it's too late
19:18:11reactormonkdom96, also make sure you can agree with the FAQ
19:18:21vbttVarriount:are you comfortable with multithreaded programming?
19:21:04Varriountvbtt: Somewhat. I've used threads before, however not on a large or complex scale
19:21:47Varriountvbtt: However I have used python generators extensively (they are useful when working with the twisted networking framework)
19:22:35Varriountvbtt: However, I have some theoretical knowledge of how threads work
19:22:37vbttanother way to think about coroutines (perhaps I should have started with this) is that they are like threads. the difference being that they are implemented entire in user space (i.e. the OS is not aware of them) and that they are often cooperatively scheduled (i.e. the os can suspend and resume threads at will, but coroutines are suspended expli
19:22:37vbttcitly in code)
19:22:51dom96reactormonk: Still got two days
19:22:59Varriountvbtt: That's a good explanation
19:23:23Varriountvbtt: Would you be willing to help implement coroutines as well?
19:23:26vbttVarriount:before considering implemenation, I'm suggesting you try and understand how coroutines are *used*
19:23:34vbttpython generators are only one example.
19:23:41vbtt(and not the best for coroutines, IMO)
19:23:46reactormonkdom96, better safe than sorry
19:23:58vbttif you're comfortable with python, look at greenlet or stackless.
19:24:09dom96reactormonk: I know but I want to wait until Araq fixes his ideas.
19:24:10vbttthose are much better examples of coroutines.
19:24:57Varriountvbtt: Data parsers are one good use for coroutines (or at least, for a single coroutine)
19:24:59vbttVarriount:also if you've used twised, try using gevent and see how good coroutines make writing code cleaner.
19:25:08reactormonkdom96, point taken.
19:29:34vbttVarriount:not sure how data parsers are a good coroutines use case
19:38:06*vendethiel joined #nimrod
19:38:30Araqdom96: what do you mean "fix" my ideas?
19:38:50dom96Araq: Do what I asked, expand them.
19:40:31vbttdom96:can you please re paste link to the proposal?
19:40:54dom96You mean the ideas list? https://github.com/Araq/Nimrod/wiki/GSoC-2014-Ideas
19:41:10vbttyes, thanks.
19:47:54*skyfex joined #nimrod
19:48:16*vendethiel quit (Quit: q+)
19:49:00vbttsuggesion: dont mention closure iterators in section for coroutines.
19:49:03*surma joined #nimrod
19:49:32Araqhi surma welcome
19:49:41Araqvbtt: why?
19:49:58surmahey everyone. I have problems running `koch install <dir>` under Ubuntu. It says it can't find libzip_all.o
19:50:17vbttAraq:requires too much nimrod specific knowledge to understand what the project is about.
19:50:26*carum_ quit (Remote host closed the connection)
19:50:43*carum joined #nimrod
19:51:14*carum quit (Remote host closed the connection)
19:52:09dom96Araq: Figured out why the C gen error happens when capturing the var in my iterator: because I am capturing a genSym'd var.
19:52:29*skyfex quit (Ping timeout: 260 seconds)
19:54:11*brson quit (Ping timeout: 260 seconds)
19:54:20Araqsurma: I've never heard of that one before
19:56:25Araqsurma: try to run './install.sh <dir>' instead
19:56:44surmaAraq: Well, everything runs fine including `./koch boot -d:release`. Directly after, `./koch install <dir>` fails because it cant find `nimrod`, so I add $PWD/bin to the $PATH and then the above happens
19:57:15surmaAraq: I don't have a `install.sh` anywhere
19:57:25*brson joined #nimrod
19:57:28surmaAraq: I am compiling from source, maybe that's relevant?
19:57:28*brson quit (Client Quit)
19:58:59Araqsurma: do you use "git master"?
19:59:52surmaAraq: uhm, is that a command I don't know? I am on the master branch, if that's what you mean
20:00:20Araqyeah that was my question
20:02:25*brson joined #nimrod
20:02:40Araqsurma: libzip_all.o comes from $nimrod/lib/wrappers/zip/libzip_all.c
20:05:10Araqedit koch.nim around line 70, remove the -d:useLipzipSrc and try again please
20:05:11EXetoCanother indentation hater
20:05:38EXetoC"I want it to be CLEAR where my control blocks are, and not to need to guess..." when do you need to guess? when you don't know it enough?
20:08:41AraqEXetoC: maybe he should simply try it
20:09:03Araqit stopped being weird after 10 minutes
20:09:10Araqwhen I started with python
20:10:13surmaAraq: Error remains :( I just noticed the path tho: `gcc: error: tools/niminst/nimcache/libzip_all.o: No such file or directory`
20:11:14EXetoCthough I do think that 2 spaces per indent can be a little hard to read, but it's still logical
20:15:23surmaAraq: my bad, only recompiled `nimrod`, not `koch`, brb
20:17:34surmaAraq: At least it's another error now ^^ `could not load: libzip(|2).so(|.2|.1|.0)`
20:18:41*vendethiel joined #nimrod
20:20:05*aftersha_ quit (Quit: Computer has gone to sleep.)
20:20:32Araqsurma: please install libzip with ubuntu's package manager
20:20:35surmaAraq: Okay, so I installed libzip from the Ubuntu Repos. `koch install` works now
20:20:38surmaHa :D
20:21:00surmaThanks for your effort mate, now I can get started :)
20:21:06*brson quit (Ping timeout: 245 seconds)
20:21:47*carum joined #nimrod
20:26:23*carum quit (Ping timeout: 260 seconds)
20:36:00Mat3surma: Which Ubuntu version do you use ?
20:41:30surmaMat3: 13.10
20:42:15Mat3thanks, I try to build Nimrod from Git beside work here
20:42:34Mat3also 13.10
20:43:44*BitPuffin quit (Quit: WeeChat 0.4.2)
20:43:57surmaSo, is there anything in the core library to open an UDP server for example or do I have to look for/write a wrapper?
20:44:03*BitPuffin joined #nimrod
20:44:28dom96surma: sockets module
20:45:56surmadom96: well... i feel dumb now
20:46:11surmaI ctrl+f'd for a lot, but not sockets. Oh well, thanks :)
20:46:38dom96hehe, no worries.
20:50:45*awestroke joined #nimrod
20:55:19*xtagon joined #nimrod
20:55:41*[2]Endy quit (Ping timeout: 245 seconds)
21:13:34Mat3ciao
21:13:50*Mat3 quit ()
21:21:59*skyfex joined #nimrod
21:22:42*carum joined #nimrod
21:24:22*brson joined #nimrod
21:25:41NimBotAraq/Nimrod newasync a9d3551 Simon Hafner [+0 ±2 -0]: removed explicit return in the documentation
21:25:41NimBotAraq/Nimrod newasync 21b0eba Simon Hafner [+0 ±3 -0]: tracked down a few more returns
21:25:41NimBotAraq/Nimrod newasync 4e0759b Araq [+0 ±5 -0]: fixes 'newSeq[T]' instantiation bug
21:25:41NimBotAraq/Nimrod newasync d449117 Araq [+0 ±1 -0]: fixes #882; fixes #853
21:25:41NimBot22 more commits.
21:27:09NimBotAraq/Nimrod devel 491bd65 Dominik Picheta [+0 ±1 -0]: newProc can now be used to construct iterator defs.
21:29:12NimBotAraq/Nimrod newasync 491bd65 Dominik Picheta [+0 ±1 -0]: newProc can now be used to construct iterator defs.
21:29:12NimBotAraq/Nimrod newasync 902ef5c Dominik Picheta [+0 ±1 -0]: Merge branch 'devel' into newasync
21:30:10*shodan45 quit (Quit: Konversation terminated!)
21:31:14*zahary quit (Read error: Connection reset by peer)
21:31:20*zahary1 joined #nimrod
21:36:48surmaI can call TSocket.send() without problems and the data gets send. TSocket.recv(string, size) however fails with SIGSEGV. Does the string parameter need some kind of initialization?
21:38:22dom96surma: Yes: var data = "" # should be enough.
21:40:21surmadom96: Interesting. That works just declaring `var data : string` is not enough. Could you explain why this is (I get it for non-primitive types)
21:40:45surmaI'm coming from golang, so maybe I'm making some wrong assumptions here
21:41:30dom96Because strings are initially set to 'nil'
21:41:38dom96For efficiency I believe.
21:41:40*skyfex quit (Read error: No route to host)
21:41:58surmaBut strings are immutable, aren't they?
21:41:58*awestroke quit (Remote host closed the connection)
21:42:09dom96No. Strings in Nimrod are mutable.
21:42:23dom96Unless you use 'let'
21:42:28surmaah,, gotta unlearn that ;)
21:42:54surmaBut they would still be passed by-value unless the parameter has `var`, right?
21:43:23EXetoCusually it's only the data that's immutable, to be pedantic
21:43:43*skyfex joined #nimrod
21:43:47dom96They may be passed either way as it's up to the compiler to decide.
21:43:53surmayeah, I get that
21:43:53fowlsurma, they are passed as const, probably by reference
21:44:13surmaOh right! I forgot that! ty
21:44:26dom96'var' essentially means "I want to be able to edit whatever variable is passed to my function"
21:44:45fowlstring/seq also has value semantics, despite being nullable, s2 = s1 is a copy
21:44:47surmayeah, I forgot about all parameters being const. Which is an assumption I like very much
21:45:12surmawhat would be the manual way of initializing a string variable?
21:45:36surmabecause `new` wouldn't work, right
21:45:54EXetoCvar x = "x"
21:45:59EXetoCthere's also newString
21:46:00fowl"" or newString(len) or newStringOfLen(len)
21:46:09fowlnewstringofcap*
21:47:12surmaty very much
21:48:05VarriountAraq: How do you want the pdcurses dll built for the nimrod installer?
21:48:42VarriountI have to re-build the dlls for the 64 bit installer, and I need to know what configuration options the dlls are expected to be built with.
21:49:12EXetoCfowl: >> for streams? awesome
21:49:40VarriountI've gotten the sqlite and pcre dll's built, all that remains are the libcurl and pdcurses dll's
21:50:16*skyfex quit (Ping timeout: 245 seconds)
21:52:11fowlEXetoC, need it to read some old bitmap format
21:52:33*carum quit (Remote host closed the connection)
21:57:28EXetoCok
22:00:57*skyfex joined #nimrod
22:10:54skyfexhm, ast.nim define consts "routineKinds" and "skProcKinds", and they seem to be exactly the same
22:11:22fowlskyfex, write some docs while you're in the compiler plz
22:12:08skyfexI suppose I should
22:12:45skyfexeven funnier, initCandidate uses both skProcKinds and routineKinds
22:13:05fowlwheres that
22:13:17Araqskyfex: yeah well 2 compiler devs, 2 names :P
22:13:22skyfexin sigmatch.nim
22:13:25AraqVarriount: I dunno
22:13:36Araqwe need a 32 and 64bit version
22:13:44*zahary1 quit (Quit: Leaving.)
22:15:56NimBotAraq/Nimrod devel 3829faa Simon Hafner [+1 ±0 -1]: moved tsets test to collections/
22:25:05*skyfex quit (Ping timeout: 260 seconds)
22:29:31*skyfex joined #nimrod
22:34:26*zahary3 quit (Read error: Operation timed out)
22:40:02vbttAraq:the is 'stack switching' the only implementation you'll accept for coroutines?
22:40:47vbttif not, perhaps leave that choice tbd for the gsoc project.
22:41:32vbttgolang uses segmented stacks and is going to use a form of segmented stacks + copying for the new version
22:42:10Araqmeh, I don't mind either way
22:42:31vbttalso, you dont think coroutines can be implemented purely using setjump/longjump or some other techinique using minimal assembly?
22:43:48*skyfex quit (Quit: Computer has gone to sleep.)
22:45:29vbtti think copying will have issues because address of objects on the stack changes.
22:46:14vbtti'm guessing the address of values on the stack is used often in the generated c code
22:50:49Araqvbtt: you can do lots of things
22:51:16AraqI'm also thinking about a shadow stack for precise stack marking
22:51:46Araqwith a shadow stack, you can in fact allocate most things there and use the stack only for return addresses
22:53:12vbtti'm not sure what you mean by shadow stack.
22:53:24vbttoh wait
22:53:28vbttyou just explained it :)
22:53:42vbttcreepy, i had the same idea.
22:53:52vbttor rather, similar idea.
22:54:14Araqthen you reserve like 16K for a stack and still support a calling depth of 512
22:54:23vbtti though you could use the stack for return addresses and exactly one local var - a pointer to a struct which holds the local vars.
22:54:30vbtt*thought
22:55:04vbtti really like the shadow stack idea because i also enables precise marking, and makes decisions easier (each function call is same size on stack)
22:55:32Araqyou still have good C interop this way
22:55:39Araqand good interop with the OS
22:55:54Araqand you can have tens of thousands of those tiny stacks
22:56:16vbttyup. the issue might be yielding from a c callback, which can be disallowed if hard.
22:56:59vbttright, and its easier to make it work with the gc because the gc already understands the shadow stacks?
22:57:24vbttalso, you wont need any assembly, is that correct?
22:57:47surmaHm... `undeclared identifier: 'TChannel'` How can that be if the package is imported by `system`?
22:58:43vbttI'm not sure how normal performance is affected by shadow stacks.
22:59:00dom96zahary_: ping
23:02:22Araqsurma: use --threads:on
23:02:46Araqand know that nimrod's concurrency model is very different from Go's
23:03:11VarriountAraq: Ok, the only dll that's left is libCurl
23:03:37AraqVarriount: libCurl is irrelevant now I think
23:03:45Araqwe have our own http stuff
23:04:14VarriountThank you.
23:05:33EXetoCI should finish my redirection patch
23:05:46VarriountAraq: Out of all of the libs, pdcurses was the hardest to compile into a shared library. It used a plain makefile, and used a combination of msys tools and windows tools to merge things together
23:06:21VarriountAnd for some reason, sh.exe was intercepting a particular command "type" (which reads a file to stdout)
23:06:41surmaAraq: I figured as much, but thanks for the heads up :)
23:07:35Araqsurma: read my blog about the planned features for concurrency
23:09:10EXetoCit's an alright blog, despite the lack of CSS3 effects
23:09:14surmalol
23:09:18fowlVarriount, in unix it does something like which
23:09:51surmaMy first test case for polymer was a polyfill for the blink tag. Every blog should have a blink tag
23:10:19*Demos joined #nimrod
23:11:26Varriountfowl: That explains it.
23:13:35VarriountAraq: Did you get my links on coroutine implementations?
23:14:41*BitPuffin quit (Ping timeout: 265 seconds)
23:15:35EXetoC"copyright 2012"
23:15:52EXetoChow significant is the listed years?
23:18:09renesacnot much, as with current laws it will probably stay copyrighted well beyond 2100
23:18:16renesac:P
23:18:22EXetoCthat's neat
23:18:33renesacI don't think so...
23:19:29renesacand the licence on Nimrod compiler is basically trying to put copyright out of the way as much as possible, anyway
23:20:04AraqVarriount: no, sorry, I'm busy with gsoc
23:20:12*io2 quit ()
23:22:52Varriountsurma: Polyfill?
23:23:28surmaVarriount: Since browsers dont support <blink> anymore, I wrote a custom element emulation that behavior using CSS3 ;)
23:23:38surmaemulating*
23:24:03VarriountOne of these days I need to learn website development.
23:24:08fowlwitchcraft
23:24:23surmaVarriount: Dont do that to yourself
23:24:37surmaVarriount: Although I have to say it has gotten *better* over the last 2 years or so
23:24:45surmaIt's still ugly and broken, but not as bad ;)
23:26:43Varriountsurma: What, web development?
23:30:01surmayeah
23:30:22VarriountHow am I not supposed to do web development by myself?
23:32:02fowlto yourself
23:32:20VarriountOh.
23:32:33fowlVarriount, i dislike it because its an ever-moving target and there are too many new things
23:32:38fowl<- afraid of change
23:32:38EXetoCCSS is a beep
23:32:57Varriountfowl: You're the reason the GNu websites look so ugly
23:33:02EXetoCthough you can always use a framework and google specific stuff
23:33:03Varriount*GNU
23:33:13fowllol
23:33:39vbttwho designed the current nimrod site, btw?
23:33:49fowlwell if i had my way a css file would contain one line: body { color: white; background: black; }
23:34:18Araqvbtt: fliwit. he is here from time to time.
23:34:40EXetoCfowl: so you are one of those "content over design" people huh
23:34:57vbttAraq:yeah i've seen him.
23:35:06VarriountEXetoC: This is fowl -> http://flex.sourceforge.net/
23:35:22fowlEXetoC, i think that proper html looks fine by itself, yes
23:35:45vbttfowl:that's black on white, not white on black
23:35:55Demoshttp://motherfuckingwebsite.com
23:36:04fowlvbtt, it is?
23:36:25EXetoCglued banners suck
23:36:31vbttfowl:your css rule didn't apply is what i meant.
23:36:46fowlwhy not?
23:36:56vbtti can do webdev work if nimrod needs it, btw.
23:37:53vbttI do think the website should show more activity. so it should be easy to update the news.
23:37:58Varriountvbtt: You should have seen the nimrod website before dom got it a proper url, and filwit updated it's look
23:38:08vbttit could probably show the latest forum comment titles.
23:38:20vbttVarriount:actually I did :)
23:38:21Varriountvbtt: And the download page should make the latest builds more apparent
23:38:30vbttright and the docs should match the style of the website.
23:38:50dom96GSoC has a vouching system.
23:38:51Araqvbtt: go for it
23:39:04VarriountMy computer shouldn't be cranking out whole builds of nimrod for nothin'
23:39:06Araqthe site is in nimrod/web
23:39:09dom96I don't suppose there are any people here who could vouch for us?
23:39:19vbttAraq: ok i'll take a look
23:39:30fowlvbtt, the css works on w3schools.org
23:39:40fowlyou made me doubt myself :(
23:40:29surmaOkay guys, I'm gonna call it day! Thanks for helping me get started. I'm officially hooked ;)
23:40:53vbttfowl:what i meant is your css doesn't match your website (website is black on white but css says white on black)
23:41:38EXetoCpaths on the command-line don't have the highest priority?
23:41:39fowlthe flex site?
23:41:48vbttyes
23:41:57*surma quit (Quit: leaving)
23:42:02fowlthats because they're too lazy to put in the one line of css
23:42:41fowlwhite backgrounds are blinding, idk whos idea it was to make black on white the default style
23:42:54EXetoCFFFFFF sux. eye protector for greasemonkey to the rescue
23:43:28vbttI just keep the brightness on my monitor low.
23:45:43VarriountAraq: Are you sure that mingw should be included with the nimrod installer?
23:46:05*darkf joined #nimrod
23:46:27VarriountI mean, it's not like gcc is the only compiler that works with nimrod. Perhaps we should only put a link to a mingw download in the installer?
23:47:08AraqVarriount: we have the .zip for people who can install the hard way
23:47:20Araqand the installer for people who know nothing
23:47:32Araqand downloading the right mingw is a pita anyway
23:47:38Araqso yes, I'm sure
23:47:39VarriountTrue.
23:47:50Araqand I'm fed up with changing our build processes
23:48:15Araqcause these things cause regressions. every single time.
23:48:45VarriountIt doesn't help that to get msys working with mingw64, you have to install both in seperate directories, carefully uncheck any gcc-related features in msys, and the copy msys over to mingw64
23:49:32Araqyeah, exatly what I'm talking about
23:51:21EXetoCwanna create nimrod-code/nim-mongo?
23:51:28EXetoCyou don't want all engines in the same place?
23:51:58VarriountAraq: It get's even better, since installing git with things further complicates matters.
23:52:16EXetoCI prefer the prefix, because someone might create a package for arch or whatever, necessary or not
23:52:35Varriountnimbadger
23:53:05AraqEXetoC: the modern name is mongo.nim
23:55:26EXetoCAraq: modern? anyway, I meant the package name, which would go in the nimrod-code organization. I haven't changed the names of mongo.nim and db_mongo.nim yet
23:56:52*reactormonk quit (Ping timeout: 265 seconds)
23:58:55AraqI was referring to "node.js" but w/e
23:59:11EXetoCwut