<<12-02-2013>>

00:00:47Araqgood night
00:21:14*Trix[a]r_za is now known as Trixar_za
00:36:36*ccssnet quit (Quit: http://atccss.net)
00:38:00*ccssnet joined #nimrod
01:22:39*Trixar_za is now known as Trix[a]r_za
01:43:09*Anaphaxeton quit (Read error: Connection reset by peer)
01:56:53*q66 quit (Quit: Quit)
03:33:31*Zor_ joined #nimrod
03:39:49*Zor quit (*.net *.split)
03:43:32*Zor_ is now known as Zor
04:49:49*XAMPP-8 joined #nimrod
04:54:33*XAMPP-8 quit (Ping timeout: 252 seconds)
05:48:03*XAMPP-8 joined #nimrod
05:52:48*XAMPP-8 quit (Ping timeout: 272 seconds)
08:15:07*gour joined #nimrod
08:21:10*Trix[a]r_za is now known as Trixar_za
09:05:11*Trixar_za is now known as Trix[a]r_za
09:05:56*gour quit (Disconnected by services)
09:05:57*gour_ joined #nimrod
09:34:38*gour_ is now known as goue
09:34:41*goue is now known as gour
10:37:26*fowl quit (Read error: Connection reset by peer)
10:56:33*fowl joined #nimrod
11:06:09*q66 joined #nimrod
11:19:37*Anaphaxeton joined #nimrod
12:42:20*Anaphaxeton quit (Quit: Αποχώρησε)
14:27:04*Anaphaxeton joined #nimrod
14:49:32*Araq_ joined #nimrod
14:52:05*Araq_ quit (Client Quit)
15:19:23*Trix[a]r_za is now known as Trixar_za
15:35:48gourtutorial-2: "There is a syntactic sugar for calling routines:" maybe it's better to s/routines/methods ?
15:41:37*Trixar_za is now known as Trix[a]r_za
15:42:04*Trix[a]r_za is now known as Trixar_za
15:58:49*Anaphaxeton quit (Quit: Αποχώρησε)
15:59:14*Anaphaxeton joined #nimrod
16:48:33*Trixar_za is now known as Trix[a]r_za
17:59:42reactormonkgour, well, we have procs and methods - not sure what the umbrella term is
18:29:06*FreeArtMan joined #nimrod
18:43:36*XAMPP-8 joined #nimrod
18:50:01*XAMPP-8 quit (Ping timeout: 245 seconds)
19:36:39*Zerathul joined #nimrod
19:49:35apotheonreactormonk: What's the definition of a Nimrod proc?
19:53:56Araqapotheon: a proc is a "procedure"
19:54:21Araqaka "function"
19:55:11apotheonrighto
19:55:20apotheonThe term "proc" gets used differently elsewhere.
19:55:42apotheonIn Ruby, for instance, it basically refers to a callback or closure wrapped in an object interface.
19:55:57apotheon. . . so I wasn't sure what you meant here.
19:56:28AraqI wanted to have "func" for functions, e.g. procedures without side effects
19:56:39apotheonDo Nimrod procs always evaluate to a return value, or can they be purely side-effect tools?
19:56:52Araqthe later
19:57:22apotheonThey can evaluate to a return value, though, I'd guess.
19:58:07apotheonHow strict are you with funcs not having side effects? Can they print to stdout?
19:59:50Araqprocs can do everything until you start using Nimrod's effect system
20:00:06Araqproc p(): int {.noSideEffect.} = 12
20:00:55Araqif you use 'noSideEffect' there is still 'debugEcho' for debugging
20:01:15Araqsimilar to haskell's UnsafeIO
20:01:15apotheoninteresting
20:01:32apotheonI'll take your word for it. I actually know Nimrod better than Haskell at this point.
20:07:50reactormonkAraq, so func => proc {.noSideEffect.} ?
20:08:21Araqreactormonk: that was the plan but there is no "func" keyword in nimrod
20:08:32reactormonkAraq, didn't you reserve it?
20:08:35Araqnope
20:08:48reactormonkAraq, damn. Deprecate it?
20:09:37Araqwhy? it is that cute and sexy?
20:09:57reactormonkAraq, huh? You intended to use func.
20:10:49Araqbut I consider it useless now that we got a more finely granular effect system
20:11:25reactormonkso we're stuck with proc ^^
20:11:42Araqyes, we're "stuck"
20:12:11reactormonkDoes it matter?
20:12:22Araqnot to me
20:12:29Araqotherwise I would take "func"
20:18:48*FreeArtMan quit (Ping timeout: 240 seconds)
20:24:23*XAMPP-8 joined #nimrod
20:45:22*reactormonk quit (Quit: WeeChat 0.3.8)
20:50:55*Zerathul_ joined #nimrod
20:52:17*Zerathul quit (Ping timeout: 256 seconds)
20:52:20*Zerathul_ is now known as Zerathul
21:03:21gourfunc could still be nice syntactic sugar
21:22:29*XAMPP-8 quit (Ping timeout: 244 seconds)
21:28:31*gradha joined #nimrod
21:29:42*fowl quit (Ping timeout: 256 seconds)
21:37:37gradhawill nimrod convert an openarray or varargs into an array? any runtime penalizations?
21:38:12*Zerathul quit (Ping timeout: 256 seconds)
21:39:10gradhaI guess it's not possible, since the array needs to know the size in advance
21:39:12*Zerathul joined #nimrod
21:40:46Araqgradha: yes
21:46:54*reactormonk joined #nimrod
21:49:06*Zerathul_ joined #nimrod
21:50:06*Zerathul quit (Ping timeout: 256 seconds)
21:50:15*Zerathul_ is now known as Zerathul
21:56:20*Zerathul quit (Ping timeout: 256 seconds)
21:59:06apotheonAraq: It's pre-1.0 software. You're allowed to make backward compatibility breaking changes.
21:59:25apotheonI'm fine with proc as the keyword, though.
21:59:37gradhamaybe nimrod should rename proc to some character which requires unicode and by annoying people gain popularity with respect to go and others
21:59:56gradhaafter many blogs are really hate venting podiums
22:00:12gradhas/after/after all/
22:00:45gradhabtw, any annoying thing in rust?
22:01:14Araqha, and I thought Nimrod is already insulting enough
22:01:32reactormonkAraq, we could use →
22:01:33apotheongradha: yes
22:01:35Araqannoying thing in rust: "the perlish type declarations"
22:01:55apotheonI find function type signatures in Rust annoying.
22:02:02Araqsee?
22:02:06apotheons/signatures/declarations/
22:02:17apotheonI'm not sure what's perlish about them, though.
22:02:24reactormonkAraq, template → = proc # valid?
22:03:04gradhato continue today's yes feeling, reactormonk: yes
22:04:15reactormonknope, not possible :-(
22:04:35gradhacome on, being positive once in a while can be fun
22:04:56reactormonktemplate → = proc
22:05:01reactormonkfoo.nim(1, 19) Error: complex statement requires indentation
22:05:10gradhasorry, coudn't resist
22:05:35Araqapotheon: I don't mind introducing new keywords but I don't see the point of 'func' anymore
22:05:41gradhathe differences I see between rust/nimrod is that proc is fn and the ending colon is ->, what's so perlish about that?
22:06:09Araqrust uses ~ @ and * iirc for its pointer types
22:06:11gradhaoh, wait, type declarations
22:06:26apotheonAraq: Like I said, I'm fine with proc as the keyword anyway.
22:06:50gradhaI like ?, I'm sure it mangles the irc log good
22:06:57apotheonOh, pointers.
22:07:05apotheonI wasn't talking about pointer types.
22:07:13apotheonI don't care about that, actually.
22:07:48apotheonI was talking about this kind of type declaration BS:
22:07:49apotheonfn is_three(num: int) -> bool {
22:07:49apotheon num % 3 == 0
22:07:50apotheon}
22:08:08apotheonWho the fuck needs to declare a return type?
22:08:12Araqwhat's wrong about it?
22:08:15reactormonkI usually do so.
22:08:17apotheonIt's cluttering.
22:08:31reactormonkJust because scala inference sucks ;-)
22:08:54gradhabut how could you forward declare without return types?
22:09:20*apotheon is drawing a blank on "forward declare".
22:09:37Araqnimrod requires a return type declarations too ...
22:09:57apotheonHm. I guess I would probably find that annoying in Nimrod, too, then.
22:09:57gradhaI wonder if you could overload % to make that function not compile
22:11:54Araqapotheon: you can use ': auto' to make nimrod infere the return type
22:11:59Araqbut it's still clutter
22:12:21apotheonOh, right, I see the return type declarations. I forgot about that.
22:12:53apotheonIt's not *quite* as distracting as "-> bool", but yeah, it's kind of annoying to me.
22:13:08apotheongradha: What is this about "forward declare"?
22:14:11gradhanot having to write the return type for a function is nice if you have the function code
22:14:29gradhabut how could you do that with C imported functions, for example?
22:14:50*Zerathul joined #nimrod
22:15:00apotheonDunno. I've never dealt with that from a language design perspectives.
22:15:09apotheons/ves/ve/
22:15:34apotheonI just find it annoying, whether it's necessary (given the language's design philosophy) or not.
22:16:15gourAraq: how to declare proc not having side-effects without using any pragma?
22:16:22gradhaAraq: is nimrod capable of compiling a binary library and distributing just that with some pseudo-header like related .nim file?
22:16:57Araqgradha: only via DLLs
22:16:59Araqgour: no
22:17:14Araqgour: you simply can't do that ;-)
22:17:49gourAraq: so how is then func not making sense any longer?
22:18:01gradhais there any example on this DLL binary compilation mechanism?
22:18:28gradhaand I guess that leaves static linking out of the question
22:18:41Araqgradha: build the stdlib as DLL, build your package as DLL and provide a .nim that imports from that DLL
22:19:08Araqbut then people will need to use the stdlib's DLL too ...
22:19:17Araqso it's rude to do that
22:19:51Araqyou can also build a static lib by hacking around with the C compiler's options
22:20:21Araqand import from that like you would from C
22:20:58Araqgour: the language is beyond the point where you can write real world programs without using pragmas anyway
22:21:47gradhaany proc to transform a varargs into seq?
22:22:02apotheonreactormonk: Why do you use Scala, by the way? Are you stuck at work using the JVM?
22:22:11gourAraq: that's ok, but that's why i still see the use of 'func' keyword
22:22:39reactormonkapotheon, a bunch of NLP stuff runs on the JVM. And https://github.com/utcompling/applied-nlp
22:22:50Araqgradha: dunno I think system.`@` can do it
22:23:04apotheonreactormonk: Ah, suck.
22:23:15reactormonkapotheon, just bought two ramsticks so I have ~8GB for the jvm
22:23:20apotheonThe JVM seems like an *awful* place to do NLP.
22:23:31reactormonkapotheon, and I gotta admit it's better than java in any way.
22:23:34reactormonkwhy so?
22:23:46*XAMPP-8 joined #nimrod
22:23:49apotheonreactormonk: Scala is better? Yeah, from what I've seen that seems highly likely.
22:24:33apotheonreactormonk: Doing natural language processing in a limited, bureaucratic language like Java seems like it would be painful; the JVM is an ugly thing that causes lots of problems; the usual complaints about Java/JVM.
22:24:51apotheonMaybe I'm missing something, though.
22:25:07apotheon. . . like the fact mobile devices use JVMs a lot.
22:25:35apotheonI guess mobile devices are places for NLP to have a lot of value, and if the JVM is the environment you have available, I guess you use it.
22:26:43apotheons/, and/ and,/
22:26:56apotheonthat'd've been better
22:27:37reactormonkapotheon, indeed. Java is waaaay to verbose. Scala makes the jvm usable again
22:28:06apotheonreactormonk: From a programming perspective, yeah. As a user, there are portability issues.
22:28:34apotheonI try to avoid saddling users with such problems, but I'll have to suck it up if/when I get into Android development, I suppose.
22:28:39reactormonkapotheon, portiability issues?
22:28:52gradhaI remember people doing pythong on java named jython, isn't python good for NLP?
22:29:22apotheonreactormonk: Java's really portable, at least across installs of the same JVM, but getting the JVM itself working is somethings a gigantic pain in the fourth point of contact.
22:30:24apotheonFor a while, for instance, the JVM port's license issues required several instances of user intervention, some of which required getting stuff from a webpage on Sun's site.
22:30:32apotheon(on FreeBSD)
22:30:39apotheon(forgot that part of the sentence)
22:31:01apotheonI'm not sure how things stand now. I haven't installed the JVM on anything in years.
22:31:13reactormonkapotheon, openjdk nowadays
22:31:27apotheonThe runtime. Whatever it was.
22:32:03apotheonThe increasing frequency and absurdity of Java runtime security issues in recent years have been pretty big turn-offs, too.
22:32:18apotheon. . . and I've never met a Java user application I liked.
22:32:44apotheonThey tend to be a bit more tolerable on Android than on more general-purpose OSes, at least.
22:34:01gourAraq: ...as sintactic sugar...will nimrod's docs stay in reST format for the foreseeable future?
22:34:19gradhaapotheon: aren't there multiple JVM vendors? with Oracle being the popular one
22:34:34apotheongradha: Kinda . . .
22:34:41Araqgour: yes. why? we can generate PDFs too
22:34:43gradhathe security problems seem to be specific to a JVM, not the language itself
22:35:01gradhaany viable alternative to oracle's jvm?
22:35:05apotheongradha: . . . which only increases the portability problem, because Java code tends to fail when used on a different runtime than the one on which you tested it, from what I've seen.
22:35:13gourAraq: just to focus on reST/Sphinx for my own docs :-)
22:35:32apotheongradha: On Android, there's Dalvik! Har.
22:36:36gradhaI seem to remember some openjava from my debian days, maybe black-something?
22:37:46gradhaso openjdk and icedtead
22:38:25gradhayes, I remember reading about gnu's classpath for something at the uni
22:38:39apotheonI remember that. Black-something. It was the "open source" alternative, but apparently was to the Sun JVM like Gnash was to Flash in those days -- which is to say, it works on hello world, but not much else.
22:39:47gradhamaybe it runs on hurd
22:42:02gradhaAraq: lately I haven't seen much bugsquashing, are you working with zahary on the gc and related stuff?
22:42:03*Zerathul quit (Ping timeout: 244 seconds)
22:42:11apotheonDamn, the name of that JVM alt is going to bug me.
22:42:26gradhaapotheon: the blackmesa one? hehe
22:42:37apotheonhar
22:42:40Araqgradha: indeed
22:42:55Araqthough I'm now back at fixing bugs
22:43:35apotheonBlackdown!
22:43:40apotheonI got it.
22:44:13apotheonHmm. It seems it wasn't open -- just a licensed port.
22:44:21gourtutorial says that "Documentation comments start with ##" any more info in regard?
22:44:51apotheonApache Harmony is probably on its way to evaporating after the whole Java Community Process FUBAR.
22:45:09gradhaapache harmony? sounds evil
22:45:41apotheonOf course it is -- they went open source, but used the Apache License 2.0, which is a bit like giving you cookies that are cyanide flavored.
22:45:51apotheon. . . and on top of that, it's Java.
22:45:56apotheon(har)
22:47:03gradhaI'd buy those cookies
22:47:28apotheonYou don't have to pay for them. Just install Flash. They're called Flash cookies.
22:49:18gradhapity, I was thinking about edible ones, amazon would make a million on them. They would run out of gift paper though.
22:54:27apotheonsure
23:03:34reactormonkgour, don't know :-/
23:03:38*gradha quit (Quit: bbl, have youtube videos to watch)
23:06:19gourreactormonk: ok...btw, my suggestion /s/routines/methods was in the context where tutorial talks specifically about the latter
23:06:33Araqbut it doesn't
23:07:11Araqx.p where 'p' is a proc is perfectly fine too
23:07:25Araqthe "method call syntax" is not restricted to methods :P
23:08:56*XAMPP-8 quit (Ping timeout: 272 seconds)
23:08:59gourwhy not naming the section then as "Routines call syntax" or something
23:09:20Araqbecause there is no such thing as a "routines call syntax"
23:10:04gourto me, it's a bit confusing mixing 'call syntax' under the 'Methods' section
23:10:21Araqit's MCS because its influence has been OO
23:10:56*XAMPP-8 joined #nimrod
23:11:31gourright, but then 'There is a syntactic sugar for calling routines' is confusing 'cause such term is never used before, iirc
23:11:44Araqhrm alright
23:11:53gournot a big deal, just short note ;)
23:14:00reactormonkgour, fork, change, request
23:14:32gourreactormonk: :-)
23:17:51gourreactormonk: did i mention that after using DVCS since 2003, now i've settled on fossil (at least, for private stuff), although i used git for some time...
23:19:18apotheongour: Fossil's nice.
23:19:29apotheonI tend to prefer Fossil and Mercurial.
23:19:34*gour nods
23:19:34apotheonGit and Bazaar don't really do it for me.
23:19:43gourbzr is dead now
23:20:16gourconsidering size of nimrod, fossil could be nice all-in-one solution
23:24:04reactormonkKlingon Code Warriors embrace Git; we enjoy arbitrary conflicts. Git is not for the weak and feeble. TODAY IS A GOOD DAY TO CODE.
23:24:13apotheongour: Dead?
23:24:34apotheonreactormonk: Klingons think prune juice is a warrior's drink, too.
23:24:45apotheonreactormonk: I'll stick to Fossil and Mercurial, thanks.
23:25:14reactormonkapotheon, that's from the fossil page
23:25:21gourapotheon: yes, the development stalled...you can check mailing list archive where e.g. martin pool wrote about 'lessons learnt'
23:25:23reactormonkIn git (or rather, the git community), the development history is part of the published aspect of the project, so it provides tools for rearranging that history so you can present what you "should" have done rather than what you actually did.
23:25:27reactormonkhmmm
23:26:22apotheongour: wow, news to me
23:27:19reactormonkapotheon, Zed Shaw loves it (this being negative is entirely subjective)
23:27:43apotheonreactormonk: Zed loves what -- Git?
23:27:47apotheonBazaar?
23:27:54apotheonFossil?
23:27:57apotheonPrune juice?
23:29:03gourreactormonk: i like and agree with the following comment written by richard hipp in regard to git vs fossil: http://thread.gmane.org/gmane.comp.version-control.fossil-scm.user/10188/focus=10356
23:30:05gourotherwise, i accept git is very powerful, but, too often, too much for my taste and everyday's needs
23:31:21apotheonhttp://article.gmane.org/gmane.comp.version-control.fossil-scm.user/10221
23:31:31apotheonThat's why I don't like Git, in a nutshell.
23:31:43apotheonThat, and the provincial smugness of its proponents, but that's another story.
23:32:13gour:-)
23:34:26gouri like that fossil is single binary, no fiddling with extensions etc.
23:34:36apotheongour: The comment I see there is yours, by the way.
23:34:43apotheon(given the URI you provided)
23:34:55gourahh..it's late here..forgive me :-)
23:35:30reactormonkgour, well, with git <something> you have the single binary feeling
23:35:35*gour wanted to paste URL provided by apotheon
23:36:21gourreactormonk: ok, but that's not the main reason i use fossil ;)
23:38:07gourbefore fossil, i liked darcs the most
23:39:06apotheonreactormonk: What is this about a single binary feeling?
23:40:40reactormonkapotheon, don't bother too much
23:41:53Araqthe nimrod compiler is a single binary ...
23:42:00apotheonDoes it feel like one?
23:42:04apotheonI'd like to poke one.
23:42:17apotheonMaybe I'd see what "single binary feeling" means, then.
23:43:28Araqno it doesn't feel like once because it's useless without system.nim
23:43:36Araqs/once/one
23:45:51apotheonah