<< 22-09-2014 >>

00:00:31*dapz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
00:06:29*dapz joined #nimrod
01:03:20*q66 quit (Quit: Leaving)
01:14:20*rg4 joined #nimrod
01:26:09*xenagi quit (Quit: Leaving)
01:31:30*Sht0 joined #nimrod
01:44:36*whatdat joined #nimrod
02:16:45*demilichsd is now known as disambivalence
02:44:42*dapz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
02:55:41*Jesin quit (Ping timeout: 260 seconds)
02:59:50*saml_ joined #nimrod
03:26:23*kshlm joined #nimrod
03:33:43*edayo joined #nimrod
03:38:16*BitPuffin joined #nimrod
03:46:03*whatdat quit (Quit: I'm out...)
04:02:19*saml_ quit (Quit: Leaving)
04:11:46*Jesin joined #nimrod
04:14:08*flaviu1 quit (Ping timeout: 272 seconds)
04:24:03*Jessin joined #nimrod
04:24:16*Jesin quit (Ping timeout: 272 seconds)
04:24:31*Jessin is now known as Jesin
04:24:51*Jesin quit (Read error: Connection reset by peer)
04:25:11*Jesin joined #nimrod
04:27:13*Jesin quit (Read error: Connection reset by peer)
04:27:15*edayo quit (Quit: Leaving)
04:28:34*Jesin joined #nimrod
04:28:42*dapz joined #nimrod
04:30:57*BitPuffin quit (Ping timeout: 260 seconds)
04:58:03*ARCADIVS joined #nimrod
05:02:01*tillzy joined #nimrod
05:10:13*tillzy quit (Quit: tillzy)
05:12:17*tillzy joined #nimrod
05:14:49*tillzy quit (Client Quit)
05:38:07*fowlmouth quit (Ping timeout: 272 seconds)
05:41:36*Sht0 quit ()
05:59:50*spectator joined #nimrod
06:19:31*ARCADIVS quit (Quit: WeeChat 0.4.3)
06:19:58*ARCADIVS joined #nimrod
06:30:28*BlaXpirit joined #nimrod
06:39:51*gsingh93 quit (Quit: Connection closed for inactivity)
07:00:43*tillzy joined #nimrod
07:13:20*Varriount_ joined #nimrod
07:15:24*Varriount quit (Ping timeout: 246 seconds)
07:21:59*tillzy quit (Quit: tillzy)
07:26:05*dapz quit (Quit: Textual IRC Client: www.textualapp.com)
07:32:33*untitaker quit (Ping timeout: 246 seconds)
07:38:46*untitaker joined #nimrod
08:21:12*[CBR]Unspoken2 joined #nimrod
08:22:53*[CBR]Unspoken quit (Ping timeout: 260 seconds)
08:31:42*rg4 quit (Ping timeout: 246 seconds)
10:03:57*Fr4n quit (Ping timeout: 245 seconds)
10:05:37*dirkk0 joined #nimrod
10:07:51*jasondotstar joined #nimrod
10:10:18*BlameStross1 joined #nimrod
11:41:32*ARCADIVS quit (Quit: WeeChat 0.4.3)
11:42:42*kuzy000_ joined #nimrod
12:09:16*bjz joined #nimrod
12:43:53*fowl joined #nimrod
12:44:13*wan quit (Ping timeout: 260 seconds)
12:57:32*wan joined #nimrod
13:08:22*fowl quit (Ping timeout: 240 seconds)
13:16:22*Jesin quit (Ping timeout: 240 seconds)
13:23:42*darkf quit (Quit: Leaving)
13:32:21*Pisuke joined #nimrod
13:33:41*MyMind quit (Ping timeout: 260 seconds)
13:38:45*wan quit (Quit: WeeChat 1.0)
13:55:53*bjz quit (Ping timeout: 240 seconds)
13:56:42*kokozedman joined #nimrod
13:56:53kokozedmanhi
14:00:15*kshlm quit (Quit: Konversation terminated!)
14:01:10*dirkk0 quit (Quit: This computer has gone to sleep)
14:08:48kokozedmanis there an existing work on Google Protobuf for Nim?
14:09:31*saml joined #nimrod
14:12:37*bjz joined #nimrod
14:17:38kokozedmanI'm trying to compile babel, and I get this: /babel/src/babelpkg/version.nim(37, 26) Error: undeclared identifier: 'String'
14:17:57*askatasuna joined #nimrod
14:26:54Araqkokozedman: yeah well babel doesn't work with bigbreak yet
14:27:25Araqfor weeks I'm telling people to update their packages, or test "nimfix" on babel packages but nothing happens
14:29:47Araqit's trivial to fix, please fix it and make a PR
14:35:25*spectator quit (Remote host closed the connection)
14:50:53*kshlm joined #nimrod
14:51:01*kshlm quit (Changing host)
14:51:01*kshlm joined #nimrod
15:22:33*tillzy joined #nimrod
15:23:24*tillzy quit (Client Quit)
15:29:51*dirkk0 joined #nimrod
15:31:39*dirkk0 quit (Client Quit)
15:52:54*io2 joined #nimrod
15:59:25*Matthias247 joined #nimrod
16:09:01*starless joined #nimrod
16:09:45*starless quit (Client Quit)
16:10:53*rg4 joined #nimrod
16:20:14*brson joined #nimrod
16:53:44*Fr4n joined #nimrod
16:55:56*kshlm quit (Quit: Konversation terminated!)
17:10:27*q66 joined #nimrod
17:13:39*rg4 quit (Ping timeout: 258 seconds)
17:42:32*Trustable joined #nimrod
17:54:32*kemet joined #nimrod
18:03:02*kemet quit (Quit: Instantbird 1.5 -- http://www.instantbird.com)
18:03:47*kemet joined #nimrod
18:13:45*francisl joined #nimrod
18:45:30*Ven joined #nimrod
18:52:07*EXetoC joined #nimrod
19:07:47*francisl quit (Quit: francisl)
19:16:23*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
19:23:12*Jesin joined #nimrod
19:30:57*francisl joined #nimrod
19:45:38*Jehan_ joined #nimrod
19:49:03*flaviu1 joined #nimrod
19:55:57*kemet quit (Ping timeout: 246 seconds)
20:01:16*wkoch joined #nimrod
20:10:13*disambivalence quit (Ping timeout: 272 seconds)
20:23:59*disambivalence joined #nimrod
20:29:02*disambivalence quit (Quit: Leaving)
20:30:27*io2 quit (Quit: ...take irc away, what are you? genius, billionaire, playboy, philanthropist)
20:32:45*wkoch quit (Quit: wkoch)
20:34:00*wkoch joined #nimrod
20:38:13*Ven joined #nimrod
20:39:58TrustableHi, is it possible to forward-declare a type?
20:40:57reactormonkTrustable, should be
20:42:48Trustablereactormonk, how is the syntax?
20:47:10AraqTrustable: yeah but they all have to be in the same 'type' section
20:47:24Araqthere is no syntax, you simply access it
20:48:24Trustableok, I will try
20:51:06TrustableAraq: Danke :)
20:54:13*Fr4n quit (Ping timeout: 260 seconds)
20:54:37AraqTrustable: you're welcome
20:54:52AraqJehan_: just fyi I decided that locking levels are worth it :-)
20:54:56*Fr4n joined #nimrod
20:55:04Araqthe effect system naturally leads to them anyway
20:55:04Jehan_Araq: Heh.
20:55:19Jehan_As I said, I don't think there's really a "right" or "wrong" answer to that question.
21:02:42Araqwell runtime mechanisms add overhead and in practice what people do is to use locking levels
21:03:26Jehan_I really have to see how it can be used in practice in order to judge it fully.
21:04:40Jehan_One problem that I've found with many compile-time mechanisms for concurrency is that they often add a lot of boilerplate.
21:07:35Jehan_Interesting that someone found it worthwhile to post about the name change to HN.
21:08:34Araquh oh
21:09:05Araqdoes that mean more distractions for us? ;-)
21:10:43Jehan_It'll probably drop off the frontpage in a few hours.
21:11:07Jehan_I'm mostly just surprised that this type of news gathered enough interest to make the frontpage.
21:11:47*superfunc joined #nimrod
21:17:40dom96hello guys
21:17:42dom96yay, HN
21:18:33*kuzy000_ quit (Ping timeout: 246 seconds)
21:19:32TrustableHi dom96
21:23:53superfuncsup dom
21:25:35*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
21:26:52EXetoCis the google network slow for anyone else?
21:27:30superfuncnot really
21:28:40*jasondotstar quit (Quit: Leaving)
21:30:42dom96hey Trustable and superfunc.
21:30:51dom96Just started Uni.
21:31:04Trustable1. semester?
21:31:51dom96yes
21:32:10EXetoCstrange
21:32:11Trustablewhat subject do you study?
21:32:50dom96Computer Science
21:34:01Trustablenice :)
21:35:19TrustableI wish you fun and success.
21:36:20TrustableI finished studies 2 years ago.
21:39:26*bob_ joined #nimrod
21:39:49superfuncteaching Java is slowly draining my soul
21:39:52reactormonkA google recruiter just called me. He told me to learn Java...
21:40:01superfunc^ (what timing)
21:40:07reactormonk^^
21:40:13EXetoCwell have fun
21:40:50dom96Trustable: Thank you :)
21:40:52Araqhi bob_ welcome
21:42:21reactormonksuperfunc, how come btw?
21:43:46*bob_ quit (Ping timeout: 246 seconds)
21:44:49*bob_ joined #nimrod
21:46:09superfuncThey force me to teach with eclipse, and enforce the awful(my opinion) notion that everything possible should be a class. That coupled with teaching freshman.
21:47:48superfuncMore than that, Java has so much fluff around it, I feel like teaching in a language like python, lua, nim, scheme would be much easier
21:47:52superfuncfor the students
21:50:44dom96That sucks.
21:50:51bob_is nimrod production ready
21:50:57dom96I'll be taught Java soon too unfortunately.
21:51:05Triplefoxwhen i took cs i was forced to write in java but i did assignments in python
21:51:10Triplefoxfirst
21:51:15Triplefoxthen i redid them
21:51:28dom96I guess the lecturers are stuck in their old ways.
21:54:22*superfunc quit (Ping timeout: 272 seconds)
21:54:52flaviu1I know I promised a FFI page, but I'm sorry to say I've lost interest. I made a diff with the little I have completed, if anyone wants it: https://gist.github.com/905a526218fc8e4e686f
21:55:01Araqbob_: if you know which features to avoid for now, yes
21:55:20bob_which features are those?
21:55:37flaviu1oh, and http://www.reddit.com/r/programming/comments/2h5gzf/nimrod_is_being_renamed_to_nim/ has some comments on the name change
21:55:45flaviu1bob_: Mostly typeclasses and macros
21:56:34Araqstatic T, type classes, overly ambitious compile time evaluation
21:57:13Araqflaviu1: what can we do to motivate you to finish it?
21:57:52flaviu1Make me less lazy? :P
21:58:27Araqwell I'm planning to throw out the tutorial for your stuff!
21:59:10flaviu1sounds nice, the license is very permissive :D
22:04:41dom96flaviu1: work on something more fun for a while? Perhaps a compile and run nim code as a service website? :P
22:07:53*francisl quit (Ping timeout: 260 seconds)
22:09:53flaviu1dom96: Good idea, although I've always liked the idea of my own language... :P
22:16:20flaviu1Oh, btw you can get an estimate of the monthly searches for a keyword in google: http://i.imgur.com/Z0CgEHk.png
22:16:41flaviu1Sign up for adwords and it's the second page of the form
22:17:24dom96flaviu1: do it then. But write it in Nim :P
22:19:10flaviu1Nah, nim wouldn't be ideal. A combination of perl (Marpa::R2) and Ocaml (pattern matching, ADTs) I think would be perfect.
22:23:00Jehan_If you need much more than LL(k) to parse your language, your grammar is probably too complex for a human being. :)
22:24:06bob_what is broken with macros? isn't it used everywhere in the standard library?
22:24:54flaviu1Jehan_: The thing is, parsing is black magic to me. I don't want to deal with weird error messages, I just want a thing that is BNF -> Program
22:25:26Jehan_flaviu1: I'd just use a PEG parser with a conventional lexer.
22:25:40Jehan_For any reasonable language, you can just implement the PEG part with recursion + backtracking.
22:26:15flaviu1bob_: Well, the macros use the CTFE, which uses the internal VM. The VM had several bugs last time I used it, a couple months ago.
22:27:16dom96I think macros are pretty stable now. They can handle my async await stuff.
22:27:25dom96Which isn't exactly trivial.
22:28:24Jehan_I think it's not that you can't use them, but that this is one of the places where you can run into unexpected behavior.
22:29:46bob_so any use of macros could potentially cause bugs
22:30:25Jehan_The more likely event is that the compiler gets confused.
22:30:36flaviu1Well, the bugs I've seen are mostly explode-in-your-face-at-compiletime
22:30:56flaviu1Although I haven't tested for any other sort
22:31:24AraqI've yet to see a single macro bug that causes weird runtime behaviour, bob_
22:32:41bob_will the language break backwards compatibility before 1.0? I heard there was a big break branch or something
22:34:02*Trustable quit (Quit: Leaving)
22:34:04Araqyes
22:35:20Araqbut it's very easy to write code that works with 0.9.4 as well as with the upcoming releases
22:36:02Araqwe also have a tool to mitigate migration issues
22:36:06Araq"nimfix"
22:37:22Araqflaviu1: IMO parsing is the easiest thing that a compiler needs to do
22:37:56Jehan_What Araq said.
22:39:07Jehan_By the way, there are pros and cons to OCaml for compiler writing.
22:39:23flaviu1\_o_/
22:39:23flaviu1I still can't get a intuitive understanding of it, I dunno why
22:40:02Jehan_In my experience, the biggest issue is that you often do need mutable state (because passes often incrementally augment your IR instead of completely transforming it).
22:40:18Jehan_Luckily, OCaml is a lot more pragmatic about mutable state than some other functional languages.
22:40:19*askatasuna quit (Quit: WeeChat 1.0)
22:40:28Jehan_But it can still be annoying at times.
22:41:21flaviu1My idea is to stick all the mutable stuff into one structure, although I'll see how that turns out, given I know nothing about this
22:41:30Jehan_Heh. :)
22:44:26Jehan_The advantage of using OCaml of course is that it's an extremely robust, battle-tested language with competitive speed.
22:45:04Jehan_And, like Nim, you can bundle the compiler with your software fairly easily.
22:46:01bob_is there an eta to 1.0? and also a recommended web framework?
22:46:04dom96bob_: you can checkout the bigbreak branch now and that means that you won't need to run nimfix on your code, unless you've already written some code.
22:46:14bob_I haven't started yet
22:46:34dom96bob_: what are you thinking of writing?
22:46:35bob_I have been researching the language
22:47:11bob_I don't have anything particular in mind right now
22:47:42dom96As for web frameworks I recommend my own: jester, but I'm biased of course.
22:47:50dom96There aren't really any other ones I don't think
22:48:02dom96there is nawak but I think it's largely based on jester
22:51:27Araqbob_: eta for 1.0 is still december 2014
22:51:30bob_I took a look at the techempower benchmarks and they seem to be rather low for a compiled language except for nawak, but I don't know anyone that uses mongrel2
22:52:03bob_is it because of the web server implementation?
22:53:53Araqit is because it doesn't run multi-threaded, I think
22:54:19dom96it's because I didn't have time to properly optimise it
22:54:28dom96I spawned 16 processes
22:54:39dom96I couldn't do so dynamically
22:54:59dom96so no matter how many cores the machine it was running on had it only used 16 cores.
22:55:11dom96also, that's the old select() implementation
22:55:19dom96that's where the new async await comes in :)
22:55:53*Matthias247 quit (Read error: Connection reset by peer)
22:57:22*Jehan_ quit (Quit: Leaving)
22:58:31flaviu1dom96: Have you benchmarked it?
22:59:15dom96flaviu1: A bit. But I don't trust my results just yet.
23:02:10dom96I will try to do some more optimisations before the release if I get a change though.
23:02:16dom96*chance
23:02:20flaviu1Too bad jehan left, I wanted to show him this article: http://jeffreykegler.github.io/Ocean-of-Awareness-blog/individual/2014/02/semantic_ws.html
23:03:53flaviu1I don't think recursive descent can do that
23:09:51dom96That spike in traffic https://github.com/Araq/Nimrod/graphs/traffic
23:11:29flaviu1dom96: You've got to screenshot it
23:11:35flaviu1only contributers can see
23:12:10dom96yeah, better get contributing :P
23:13:11flaviu1lol, nice
23:15:14*fowl joined #nimrod
23:15:55Araqflaviu1: I think recursive descent can do that, but I only skimmed it
23:16:05bob_does async/await only use 1 core?
23:16:34dom96currently yes
23:19:00bob_I am also considering go but it doesn't have generics
23:19:53*darkf joined #nimrod
23:20:28*wan joined #nimrod
23:24:00Araqbob_: you can easily use 'spawn' from async await though
23:24:59*t0ryzal joined #nimrod
23:27:03*t0ryzal left #nimrod (#nimrod)
23:33:34Araqgood night
23:40:10*francisl joined #nimrod
23:44:07*BlaXpirit quit (Quit: Quit Konversation)
23:46:54bob_where is the sleep function?
23:47:47bob_oh never mind it was in os instead of thread
23:48:24*bjz quit (Read error: Connection reset by peer)
23:48:45*bjz joined #nimrod