00:00:47 | Araq | good 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:48 | gour | tutorial-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:42 | reactormonk | gour, 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:35 | apotheon | reactormonk: What's the definition of a Nimrod proc? |
19:53:56 | Araq | apotheon: a proc is a "procedure" |
19:54:21 | Araq | aka "function" |
19:55:11 | apotheon | righto |
19:55:20 | apotheon | The term "proc" gets used differently elsewhere. |
19:55:42 | apotheon | In Ruby, for instance, it basically refers to a callback or closure wrapped in an object interface. |
19:55:57 | apotheon | . . . so I wasn't sure what you meant here. |
19:56:28 | Araq | I wanted to have "func" for functions, e.g. procedures without side effects |
19:56:39 | apotheon | Do Nimrod procs always evaluate to a return value, or can they be purely side-effect tools? |
19:56:52 | Araq | the later |
19:57:22 | apotheon | They can evaluate to a return value, though, I'd guess. |
19:58:07 | apotheon | How strict are you with funcs not having side effects? Can they print to stdout? |
19:59:50 | Araq | procs can do everything until you start using Nimrod's effect system |
20:00:06 | Araq | proc p(): int {.noSideEffect.} = 12 |
20:00:55 | Araq | if you use 'noSideEffect' there is still 'debugEcho' for debugging |
20:01:15 | Araq | similar to haskell's UnsafeIO |
20:01:15 | apotheon | interesting |
20:01:32 | apotheon | I'll take your word for it. I actually know Nimrod better than Haskell at this point. |
20:07:50 | reactormonk | Araq, so func => proc {.noSideEffect.} ? |
20:08:21 | Araq | reactormonk: that was the plan but there is no "func" keyword in nimrod |
20:08:32 | reactormonk | Araq, didn't you reserve it? |
20:08:35 | Araq | nope |
20:08:48 | reactormonk | Araq, damn. Deprecate it? |
20:09:37 | Araq | why? it is that cute and sexy? |
20:09:57 | reactormonk | Araq, huh? You intended to use func. |
20:10:49 | Araq | but I consider it useless now that we got a more finely granular effect system |
20:11:25 | reactormonk | so we're stuck with proc ^^ |
20:11:42 | Araq | yes, we're "stuck" |
20:12:11 | reactormonk | Does it matter? |
20:12:22 | Araq | not to me |
20:12:29 | Araq | otherwise 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:21 | gour | func 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:37 | gradha | will nimrod convert an openarray or varargs into an array? any runtime penalizations? |
21:38:12 | * | Zerathul quit (Ping timeout: 256 seconds) |
21:39:10 | gradha | I guess it's not possible, since the array needs to know the size in advance |
21:39:12 | * | Zerathul joined #nimrod |
21:40:46 | Araq | gradha: 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:06 | apotheon | Araq: It's pre-1.0 software. You're allowed to make backward compatibility breaking changes. |
21:59:25 | apotheon | I'm fine with proc as the keyword, though. |
21:59:37 | gradha | maybe nimrod should rename proc to some character which requires unicode and by annoying people gain popularity with respect to go and others |
21:59:56 | gradha | after many blogs are really hate venting podiums |
22:00:12 | gradha | s/after/after all/ |
22:00:45 | gradha | btw, any annoying thing in rust? |
22:01:14 | Araq | ha, and I thought Nimrod is already insulting enough |
22:01:32 | reactormonk | Araq, we could use → |
22:01:33 | apotheon | gradha: yes |
22:01:35 | Araq | annoying thing in rust: "the perlish type declarations" |
22:01:55 | apotheon | I find function type signatures in Rust annoying. |
22:02:02 | Araq | see? |
22:02:06 | apotheon | s/signatures/declarations/ |
22:02:17 | apotheon | I'm not sure what's perlish about them, though. |
22:02:24 | reactormonk | Araq, template → = proc # valid? |
22:03:04 | gradha | to continue today's yes feeling, reactormonk: yes |
22:04:15 | reactormonk | nope, not possible :-( |
22:04:35 | gradha | come on, being positive once in a while can be fun |
22:04:56 | reactormonk | template → = proc |
22:05:01 | reactormonk | foo.nim(1, 19) Error: complex statement requires indentation |
22:05:10 | gradha | sorry, coudn't resist |
22:05:35 | Araq | apotheon: I don't mind introducing new keywords but I don't see the point of 'func' anymore |
22:05:41 | gradha | the differences I see between rust/nimrod is that proc is fn and the ending colon is ->, what's so perlish about that? |
22:06:09 | Araq | rust uses ~ @ and * iirc for its pointer types |
22:06:11 | gradha | oh, wait, type declarations |
22:06:26 | apotheon | Araq: Like I said, I'm fine with proc as the keyword anyway. |
22:06:50 | gradha | I like ?, I'm sure it mangles the irc log good |
22:06:57 | apotheon | Oh, pointers. |
22:07:05 | apotheon | I wasn't talking about pointer types. |
22:07:13 | apotheon | I don't care about that, actually. |
22:07:48 | apotheon | I was talking about this kind of type declaration BS: |
22:07:49 | apotheon | fn is_three(num: int) -> bool { |
22:07:49 | apotheon | num % 3 == 0 |
22:07:50 | apotheon | } |
22:08:08 | apotheon | Who the fuck needs to declare a return type? |
22:08:12 | Araq | what's wrong about it? |
22:08:15 | reactormonk | I usually do so. |
22:08:17 | apotheon | It's cluttering. |
22:08:31 | reactormonk | Just because scala inference sucks ;-) |
22:08:54 | gradha | but how could you forward declare without return types? |
22:09:20 | * | apotheon is drawing a blank on "forward declare". |
22:09:37 | Araq | nimrod requires a return type declarations too ... |
22:09:57 | apotheon | Hm. I guess I would probably find that annoying in Nimrod, too, then. |
22:09:57 | gradha | I wonder if you could overload % to make that function not compile |
22:11:54 | Araq | apotheon: you can use ': auto' to make nimrod infere the return type |
22:11:59 | Araq | but it's still clutter |
22:12:21 | apotheon | Oh, right, I see the return type declarations. I forgot about that. |
22:12:53 | apotheon | It's not *quite* as distracting as "-> bool", but yeah, it's kind of annoying to me. |
22:13:08 | apotheon | gradha: What is this about "forward declare"? |
22:14:11 | gradha | not having to write the return type for a function is nice if you have the function code |
22:14:29 | gradha | but how could you do that with C imported functions, for example? |
22:14:50 | * | Zerathul joined #nimrod |
22:15:00 | apotheon | Dunno. I've never dealt with that from a language design perspectives. |
22:15:09 | apotheon | s/ves/ve/ |
22:15:34 | apotheon | I just find it annoying, whether it's necessary (given the language's design philosophy) or not. |
22:16:15 | gour | Araq: how to declare proc not having side-effects without using any pragma? |
22:16:22 | gradha | Araq: is nimrod capable of compiling a binary library and distributing just that with some pseudo-header like related .nim file? |
22:16:57 | Araq | gradha: only via DLLs |
22:16:59 | Araq | gour: no |
22:17:14 | Araq | gour: you simply can't do that ;-) |
22:17:49 | gour | Araq: so how is then func not making sense any longer? |
22:18:01 | gradha | is there any example on this DLL binary compilation mechanism? |
22:18:28 | gradha | and I guess that leaves static linking out of the question |
22:18:41 | Araq | gradha: build the stdlib as DLL, build your package as DLL and provide a .nim that imports from that DLL |
22:19:08 | Araq | but then people will need to use the stdlib's DLL too ... |
22:19:17 | Araq | so it's rude to do that |
22:19:51 | Araq | you can also build a static lib by hacking around with the C compiler's options |
22:20:21 | Araq | and import from that like you would from C |
22:20:58 | Araq | gour: the language is beyond the point where you can write real world programs without using pragmas anyway |
22:21:47 | gradha | any proc to transform a varargs into seq? |
22:22:02 | apotheon | reactormonk: Why do you use Scala, by the way? Are you stuck at work using the JVM? |
22:22:11 | gour | Araq: that's ok, but that's why i still see the use of 'func' keyword |
22:22:39 | reactormonk | apotheon, a bunch of NLP stuff runs on the JVM. And https://github.com/utcompling/applied-nlp |
22:22:50 | Araq | gradha: dunno I think system.`@` can do it |
22:23:04 | apotheon | reactormonk: Ah, suck. |
22:23:15 | reactormonk | apotheon, just bought two ramsticks so I have ~8GB for the jvm |
22:23:20 | apotheon | The JVM seems like an *awful* place to do NLP. |
22:23:31 | reactormonk | apotheon, and I gotta admit it's better than java in any way. |
22:23:34 | reactormonk | why so? |
22:23:46 | * | XAMPP-8 joined #nimrod |
22:23:49 | apotheon | reactormonk: Scala is better? Yeah, from what I've seen that seems highly likely. |
22:24:33 | apotheon | reactormonk: 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:51 | apotheon | Maybe I'm missing something, though. |
22:25:07 | apotheon | . . . like the fact mobile devices use JVMs a lot. |
22:25:35 | apotheon | I 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:43 | apotheon | s/, and/ and,/ |
22:26:56 | apotheon | that'd've been better |
22:27:37 | reactormonk | apotheon, indeed. Java is waaaay to verbose. Scala makes the jvm usable again |
22:28:06 | apotheon | reactormonk: From a programming perspective, yeah. As a user, there are portability issues. |
22:28:34 | apotheon | I 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:39 | reactormonk | apotheon, portiability issues? |
22:28:52 | gradha | I remember people doing pythong on java named jython, isn't python good for NLP? |
22:29:22 | apotheon | reactormonk: 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:24 | apotheon | For 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:32 | apotheon | (on FreeBSD) |
22:30:39 | apotheon | (forgot that part of the sentence) |
22:31:01 | apotheon | I'm not sure how things stand now. I haven't installed the JVM on anything in years. |
22:31:13 | reactormonk | apotheon, openjdk nowadays |
22:31:27 | apotheon | The runtime. Whatever it was. |
22:32:03 | apotheon | The increasing frequency and absurdity of Java runtime security issues in recent years have been pretty big turn-offs, too. |
22:32:18 | apotheon | . . . and I've never met a Java user application I liked. |
22:32:44 | apotheon | They tend to be a bit more tolerable on Android than on more general-purpose OSes, at least. |
22:34:01 | gour | Araq: ...as sintactic sugar...will nimrod's docs stay in reST format for the foreseeable future? |
22:34:19 | gradha | apotheon: aren't there multiple JVM vendors? with Oracle being the popular one |
22:34:34 | apotheon | gradha: Kinda . . . |
22:34:41 | Araq | gour: yes. why? we can generate PDFs too |
22:34:43 | gradha | the security problems seem to be specific to a JVM, not the language itself |
22:35:01 | gradha | any viable alternative to oracle's jvm? |
22:35:05 | apotheon | gradha: . . . 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:13 | gour | Araq: just to focus on reST/Sphinx for my own docs :-) |
22:35:32 | apotheon | gradha: On Android, there's Dalvik! Har. |
22:36:36 | gradha | I seem to remember some openjava from my debian days, maybe black-something? |
22:37:46 | gradha | so openjdk and icedtead |
22:38:25 | gradha | yes, I remember reading about gnu's classpath for something at the uni |
22:38:39 | apotheon | I 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:47 | gradha | maybe it runs on hurd |
22:42:02 | gradha | Araq: 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:11 | apotheon | Damn, the name of that JVM alt is going to bug me. |
22:42:26 | gradha | apotheon: the blackmesa one? hehe |
22:42:37 | apotheon | har |
22:42:40 | Araq | gradha: indeed |
22:42:55 | Araq | though I'm now back at fixing bugs |
22:43:35 | apotheon | Blackdown! |
22:43:40 | apotheon | I got it. |
22:44:13 | apotheon | Hmm. It seems it wasn't open -- just a licensed port. |
22:44:21 | gour | tutorial says that "Documentation comments start with ##" any more info in regard? |
22:44:51 | apotheon | Apache Harmony is probably on its way to evaporating after the whole Java Community Process FUBAR. |
22:45:09 | gradha | apache harmony? sounds evil |
22:45:41 | apotheon | Of 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:51 | apotheon | . . . and on top of that, it's Java. |
22:45:56 | apotheon | (har) |
22:47:03 | gradha | I'd buy those cookies |
22:47:28 | apotheon | You don't have to pay for them. Just install Flash. They're called Flash cookies. |
22:49:18 | gradha | pity, I was thinking about edible ones, amazon would make a million on them. They would run out of gift paper though. |
22:54:27 | apotheon | sure |
23:03:34 | reactormonk | gour, don't know :-/ |
23:03:38 | * | gradha quit (Quit: bbl, have youtube videos to watch) |
23:06:19 | gour | reactormonk: ok...btw, my suggestion /s/routines/methods was in the context where tutorial talks specifically about the latter |
23:06:33 | Araq | but it doesn't |
23:07:11 | Araq | x.p where 'p' is a proc is perfectly fine too |
23:07:25 | Araq | the "method call syntax" is not restricted to methods :P |
23:08:56 | * | XAMPP-8 quit (Ping timeout: 272 seconds) |
23:08:59 | gour | why not naming the section then as "Routines call syntax" or something |
23:09:20 | Araq | because there is no such thing as a "routines call syntax" |
23:10:04 | gour | to me, it's a bit confusing mixing 'call syntax' under the 'Methods' section |
23:10:21 | Araq | it's MCS because its influence has been OO |
23:10:56 | * | XAMPP-8 joined #nimrod |
23:11:31 | gour | right, but then 'There is a syntactic sugar for calling routines' is confusing 'cause such term is never used before, iirc |
23:11:44 | Araq | hrm alright |
23:11:53 | gour | not a big deal, just short note ;) |
23:14:00 | reactormonk | gour, fork, change, request |
23:14:32 | gour | reactormonk: :-) |
23:17:51 | gour | reactormonk: 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:18 | apotheon | gour: Fossil's nice. |
23:19:29 | apotheon | I tend to prefer Fossil and Mercurial. |
23:19:34 | * | gour nods |
23:19:34 | apotheon | Git and Bazaar don't really do it for me. |
23:19:43 | gour | bzr is dead now |
23:20:16 | gour | considering size of nimrod, fossil could be nice all-in-one solution |
23:24:04 | reactormonk | Klingon 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:13 | apotheon | gour: Dead? |
23:24:34 | apotheon | reactormonk: Klingons think prune juice is a warrior's drink, too. |
23:24:45 | apotheon | reactormonk: I'll stick to Fossil and Mercurial, thanks. |
23:25:14 | reactormonk | apotheon, that's from the fossil page |
23:25:21 | gour | apotheon: yes, the development stalled...you can check mailing list archive where e.g. martin pool wrote about 'lessons learnt' |
23:25:23 | reactormonk | In 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:27 | reactormonk | hmmm |
23:26:22 | apotheon | gour: wow, news to me |
23:27:19 | reactormonk | apotheon, Zed Shaw loves it (this being negative is entirely subjective) |
23:27:43 | apotheon | reactormonk: Zed loves what -- Git? |
23:27:47 | apotheon | Bazaar? |
23:27:54 | apotheon | Fossil? |
23:27:57 | apotheon | Prune juice? |
23:29:03 | gour | reactormonk: 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:05 | gour | otherwise, i accept git is very powerful, but, too often, too much for my taste and everyday's needs |
23:31:21 | apotheon | http://article.gmane.org/gmane.comp.version-control.fossil-scm.user/10221 |
23:31:31 | apotheon | That's why I don't like Git, in a nutshell. |
23:31:43 | apotheon | That, and the provincial smugness of its proponents, but that's another story. |
23:32:13 | gour | :-) |
23:34:26 | gour | i like that fossil is single binary, no fiddling with extensions etc. |
23:34:36 | apotheon | gour: The comment I see there is yours, by the way. |
23:34:43 | apotheon | (given the URI you provided) |
23:34:55 | gour | ahh..it's late here..forgive me :-) |
23:35:30 | reactormonk | gour, well, with git <something> you have the single binary feeling |
23:35:35 | * | gour wanted to paste URL provided by apotheon |
23:36:21 | gour | reactormonk: ok, but that's not the main reason i use fossil ;) |
23:38:07 | gour | before fossil, i liked darcs the most |
23:39:06 | apotheon | reactormonk: What is this about a single binary feeling? |
23:40:40 | reactormonk | apotheon, don't bother too much |
23:41:53 | Araq | the nimrod compiler is a single binary ... |
23:42:00 | apotheon | Does it feel like one? |
23:42:04 | apotheon | I'd like to poke one. |
23:42:17 | apotheon | Maybe I'd see what "single binary feeling" means, then. |
23:43:28 | Araq | no it doesn't feel like once because it's useless without system.nim |
23:43:36 | Araq | s/once/one |
23:45:51 | apotheon | ah |