00:28:47 | * | fowl joined #nimrod |
01:26:20 | * | q66 quit (Quit: Quit) |
03:00:43 | * | SchalaZeal joined #nimrod |
03:05:29 | SchalaZeal | I took a look at the Nimrod iOS examples and... rather curious... if importobjc is supposed to call [Foo bar:5 baz:"hi"], why gradha would need to explicitly call {.emit: "[Foo bar:`bar` baz:`baz`]".}?? |
03:09:15 | SchalaZeal | *? (darn repeat delay) |
03:10:55 | * | Amrykid is now known as dallbee |
03:11:01 | * | dallbee quit (Disconnected by services) |
03:11:09 | * | Amrykid joined #nimrod |
03:11:30 | * | Amrykid quit (Changing host) |
03:11:30 | * | Amrykid joined #nimrod |
03:39:13 | * | XAMPP-8 joined #nimrod |
05:11:04 | * | XAMPP-8 quit (Read error: Operation timed out) |
05:17:54 | * | SchalaZeal quit (Quit: Konversation terminated!) |
06:01:16 | * | gour joined #nimrod |
08:01:21 | * | Araq_ joined #nimrod |
08:36:39 | * | Araq_ quit (Quit: ChatZilla 0.9.90 [Firefox 18.0.2/20130201065344]) |
09:01:23 | * | gour quit (Ping timeout: 245 seconds) |
09:15:42 | * | fowl quit (Quit: Leaving) |
09:32:45 | * | gour joined #nimrod |
09:59:54 | * | SchalaZeal joined #nimrod |
11:40:39 | * | SchalaZeal quit (Quit: Konversation terminated!) |
12:14:32 | * | q66 joined #nimrod |
13:19:35 | * | Trix[a]r_za is now known as Trixar_za |
13:47:01 | * | zahary quit (Ping timeout: 248 seconds) |
14:41:09 | gour | user-defined operators can only use 'special' characters or can be keyword-based as well? |
15:00:34 | gour | the way to define one's own iterator (iterator keyword) is really cool |
15:26:43 | * | Anaphaxeton quit (Remote host closed the connection) |
15:27:34 | * | Anaphaxeton joined #nimrod |
16:00:16 | * | Trixar_za is now known as Trix[a]r_za |
16:19:37 | dom96 | hello |
16:19:40 | dom96 | gour: good question |
16:19:53 | dom96 | gour: Just try and see if it works :) |
17:00:55 | reactormonk | gour, "user-defined operators"? Stuff like + ? |
17:02:51 | dom96 | I think he wants: |
17:03:01 | dom96 | 45 >blah> 23 |
17:03:11 | dom96 | operators + words |
17:06:12 | reactormonk | `>blah>` |
17:08:08 | reactormonk | ... wait. So it's possible to write xml literals? >:) |
17:11:27 | dom96 | I believe so. The need for the `` is a bit ugly though. |
17:13:01 | dom96 | we already have a nice htmlgen module though |
17:13:41 | q66 | reactormonk, http://www.mr-edd.co.uk/blog/xsmell_awesomer_xml |
17:14:45 | dom96 | This guy seems to be quite a douche: http://blog.carlsensei.com/post/42828735125 |
17:15:29 | q66 | why such a lengthy article. |
17:15:34 | q66 | everybody knows Go is obviously crap. |
17:16:03 | dom96 | People in #go-nuts would beg to differ :P |
17:18:28 | q66 | dom96, I don't give a damn :P |
17:18:36 | dom96 | Good :D |
17:18:39 | q66 | from a language design standpoint, Go is crap |
17:18:52 | q66 | that's not subjective in any way ;) |
17:24:24 | dom96 | lol |
17:27:36 | reactormonk | Unicode strings, variable length arrays (called “slices” in Go), and hash tables (called “maps”). Languages that don’t provide those types at a syntax level cannot be called modern anymore. |
17:28:52 | q66 | o rly |
17:28:54 | q66 | cool story bro |
17:29:13 | q66 | "And what’s up with all the languages that claim all you need are linked lists? I’m sorry, this is not 1958, and you are not John McCarthy." |
17:29:16 | q66 | oh what a fag |
17:29:41 | reactormonk | scala uses a linked list if you create a 4-element map |
17:29:43 | gour | dom96: now i've tried and it works :-) |
17:29:57 | dom96 | gour: cool |
17:33:54 | q66 | reactormonk, I would welcome a proper syntax for ADTs in Scala :P |
17:34:04 | q66 | case classes serve a similar purpose but it's verbose (a lot) |
17:35:50 | * | dom96 piggybacks on the reddit thread to advertise Nimrod ;) |
17:36:27 | reactormonk | q66, well, the adt in nimrod isn't glorious either |
17:43:10 | dom96 | reactormonk: I bet you could cook up something fancy with Nimrod's macros though |
17:58:57 | * | gour upvotes dom96 |
17:59:04 | dom96 | :D |
18:03:28 | reactormonk | dom96, hmm, not sure if I'd rather wait for Araq and zahary to clean up the macro api |
18:04:59 | Araq | "Finally, Go doesn’t have operator overloading, function/method overloading, or keyword arguments. You can see why—those features are bad for performance" ... |
18:05:06 | Araq | omg |
18:05:45 | Araq | yeah features with 0 runtime cost are "bad" for performance |
18:05:57 | Araq | what a fool |
18:08:47 | dom96 | hello Araq |
18:09:50 | reactormonk | Araq, I like the interface inference though |
18:10:31 | Araq | reactormonk: of course you do |
18:11:39 | reactormonk | Araq, and the inference is evil because... ? |
18:11:48 | Araq | interfaces are evil |
18:11:54 | Araq | the inference is irrelevant |
18:15:26 | dom96 | Guys, upvote this please: http://www.reddit.com/r/IAmA/comments/18bhme/im_bill_gates_cochair_of_the_bill_melinda_gates/c8dbzco |
18:16:03 | reactormonk | Araq, object foo: proc( ... ) is an interface as well ;-) |
18:17:19 | Araq | I know, but it helps to discourage them a bit ;-) |
18:18:11 | Araq | otherwise people start to use them everywhere and think it's "clean code" |
18:19:52 | Araq | you know these people ... people how do faith based debugging instead of proper analyses ;-) |
18:20:03 | reactormonk | Araq, also known as static analysis? |
18:20:23 | reactormonk | On an unrelated sidenote, got that yesterday: http://sprunge.us/bGSP |
18:20:32 | Araq | is there any other kind? :P |
18:21:02 | reactormonk | ... true again |
18:21:24 | q66 | dom96, alrite, have an upboat |
18:21:33 | dom96 | q66: cheers :) |
18:22:06 | q66 | it's growing so fucking fast though :P |
18:22:20 | dom96 | yeah, my comment will get buried I guess :\ |
18:22:25 | q66 | yep |
18:26:36 | * | ccssnet quit (Quit: http://atccss.net) |
18:29:42 | Araq | dom96: please fix the documentation link for nimbuild |
18:29:52 | Araq | lib.html is the wrong starting point |
18:29:53 | dom96 | huh? |
18:29:57 | * | ccssnet joined #nimrod |
18:30:05 | dom96 | what do you want it to be? |
18:30:21 | * | ccssnet quit (Client Quit) |
18:30:27 | Araq | overview.html |
18:30:48 | dom96 | ok |
18:30:51 | dom96 | you have to fix jester though |
18:31:43 | Araq | working on it |
18:31:51 | Araq | well I'm answering the guy on the forum first |
18:32:16 | * | ccssnet joined #nimrod |
19:07:16 | * | gour is continuing reading tutorial |
19:08:16 | gour | Anaphaxeton: nimrod's syntax is so cool & clean like pseudocode, so you can try translate knuth's algorithms straight from the book(s) |
19:15:34 | Anaphaxeton | that is very good to hear |
19:15:55 | Anaphaxeton | not for knuth |
19:15:58 | Anaphaxeton | in general |
19:16:07 | Anaphaxeton | i was actually willing to use mmix code |
19:16:26 | reactormonk | Araq, what are the -d:<stuff> called? |
19:16:33 | Anaphaxeton | which of course means in need to learn asm pretty soon |
19:16:43 | reactormonk | defines? Can i add them? |
19:16:57 | gour | Anaphaxeton: ohh, you've quite a full plate with C(++) already on it :-D |
19:17:06 | Araq | reactormonk: yes, in fact you don't even have to add anything |
19:17:15 | Araq | when defined(foo): echo "hi" |
19:17:24 | Araq | compile with -d:foo and it's defined |
19:17:31 | Anaphaxeton | i dont know about C++ |
19:17:39 | Anaphaxeton | my C is ok |
19:17:43 | Anaphaxeton | just not great |
19:17:51 | gour | then just skip over to nimrod ;) |
19:18:39 | Anaphaxeton | i am still trying to figure out which language is best for which part. what i have to code myself. what is already there |
19:18:50 | reactormonk | Araq, well, -d:JS => -d:Ecmascript |
19:19:14 | Araq | reactormonk: grep for "ecmascript" in compiler/*.nim to see how the compiler does it |
19:19:17 | Anaphaxeton | and of course what API and language the user will want to use |
19:19:42 | reactormonk | Araq, what if other people rely on it? |
19:19:47 | Araq | and then add 'defineSymbol("js")' to that branch so that 'js' is a de-facto alias |
19:20:00 | gour | reactormonk: 'other people' ? how many? |
19:20:04 | reactormonk | gour, no idea. |
19:20:11 | reactormonk | gour, I've seen code2go use nimrod ;> |
19:20:31 | * | gour believes now is still the time to suit the language |
19:21:01 | reactormonk | Araq, ah, I see |
19:31:13 | gour | Anaphaxeton: good luck in finding the right one...since yesterday, i do belong here now. :-) |
19:31:28 | Anaphaxeton | how come since yesterday? |
19:31:41 | Anaphaxeton | and how was your trip to ocaml? |
19:33:36 | gour | Anaphaxeton: i did some analysis (divination) asking what is the most appropriate language for my project amongst {ada, fpc/lazarus, nimrod and ocaml} and nimrod won in tie-break with ocaml :-) |
19:34:43 | Anaphaxeton | and what is your project? |
19:36:41 | reactormonk | Araq, http://stackoverflow.com/questions/8017172/why-is-ocamls-not-polymorphic/9616681#9616681 |
19:37:00 | gour | Anaphaxeton: it should be something like: http://saravali.de/maitreya.html but without 'western' part |
19:38:34 | Anaphaxeton | it seems something that needs an expressive language indeed |
19:38:52 | * | gour nods |
19:39:23 | gour | decent lib support, speed gui...nimrod is really fine language evolving into wonderful platform |
19:40:06 | Anaphaxeton | i need something more rapid and with a square logic |
19:40:14 | Anaphaxeton | lua looks great for that |
19:40:23 | Anaphaxeton | i have scripted in lua |
19:40:29 | Anaphaxeton | and i like it a lot |
19:40:39 | Anaphaxeton | i think it can grow bigger in what i am trying to do |
19:54:42 | gour | there is fast JIT for lua, right...i thought i'd use lua as scripting language in my project, but maybe it won't be needed |
19:55:49 | gour | reactormonk: what do you think about that SO stuff? |
19:56:00 | reactormonk | gour, SO stuff? |
19:56:14 | gour | reactormonk: stackoverflow question |
19:56:43 | reactormonk | gour, well, procs are resolved at compiletime. methods at runtime. Take your pick. |
19:57:42 | gour | reactormonk: i havent's arrived at methods (yet) |
19:59:40 | reactormonk | gour, there's no difference to proc except they're resolved at compiletime. |
19:59:46 | reactormonk | err runtime |
19:59:57 | gour | :-) |
20:00:36 | gour | i've already read nimrod docs, but then i was not sure I'd use it...now i read more carefully :-) |
20:03:15 | gour | natural type - another cool thing |
20:55:46 | gour | tutorial says: "Each module has a special magic constant isMainModule that is true if the module is compiled as the main file." maybe it would be good to add explanation how to do it? (-m, --mainmodule:FILE) |
20:56:34 | dom96 | nimrod c app.nim |
20:56:40 | dom96 | app.nim is now the main file. |
21:10:27 | gour | for the import there are no namespaces mechanisms ala python? it looks very clean |
21:11:11 | Araq | every module has its namespace |
21:11:29 | Araq | the default of 'import' is however to import every public symbol |
21:11:39 | Araq | like python's "from x import *" |
21:11:54 | gour | but there is no things like: import x.y.z ? |
21:12:24 | gour | *are no |
21:12:46 | reactormonk | gour, nope, not so far |
21:12:47 | Araq | import x/y/z |
21:12:57 | Araq | reactormonk: you're not up to date ;-) |
21:13:01 | gour | hmm |
21:13:08 | Araq | however, 'x' and 'y' are only directory names |
21:13:17 | gour | good...clean design |
21:13:25 | Araq | not symbols you can use |
21:14:04 | gour | end of tut1...tomorrow we're heading towards part2 |
21:14:32 | gour | it's always fun to see that Dijkstra'a quote |
21:15:28 | Araq | thanks ;-) |
21:16:13 | gour | have you seen this: http://www.reddit.com/r/programming/comments/18bso4/javascript_becoming_default_language_for_gnome/ |
21:17:06 | Araq | of course |
21:18:22 | gour | it's good while we still have Xfce |
21:21:47 | Araq | yeah that's what I'm using |
21:22:36 | gour | :-) |
21:24:30 | reactormonk | Araq, oh. |
21:25:35 | reactormonk | Despite the fact that JavaScript will be the recommended way to write GNOME applications # whut? |
21:32:22 | gour | what are the main language features 0.9.2 is bringing to the end-users? |
21:36:02 | gour | "Multiple inheritance is currently not supported." is it planned or it would just make things too complicated? |
21:38:13 | Araq | gour: I don't know ;-) |
21:38:37 | gour | Araq: fair-enough ;) |
21:39:12 | gour | we'll end up reading with 'composition vs inheritance' to re-read some things which we forgot |
21:50:45 | * | Zerathul joined #nimrod |
22:10:50 | * | gradha joined #nimrod |
22:11:13 | * | gour quit (Quit: WeeChat 0.4.0) |
22:19:03 | * | Zerathul quit (Quit: ChatZilla 0.9.90 [Firefox 18.0.2/20130201065344]) |
22:43:50 | gradha | SchalaZeal: the reason I use emit is because you can't use importobjc for class methods, only for instance methods. I did open https://github.com/Araq/Nimrod/issues/265 requesting improvement and realized I would need to learn macros to fix it myself. Still haven't. |
22:44:35 | Araq | gradha: it's possible if you do: |
22:45:46 | Araq | proc Foo(args) {.importcpp: "Foo".} |
22:45:56 | Araq | where Foo is the class name |
22:46:04 | Araq | or isn't it? |
22:48:37 | gradha | if I write "proc NSMutableArray(arrayWithCapacity: int): NSMutableArray", won't the compiler dislike the return type being the same as the name of the proc? |
22:48:59 | Araq | the compiler supports that |
22:49:04 | Araq | but that's not the point |
22:49:29 | Araq | you can easily import Foo as type TFoo and as proc Foo at the same time |
22:49:56 | Araq | the compiler doesn't check the string literals in importc/importcpp pragmas |
22:52:08 | gradha | it fails on the C compilation stage due to redefinition as different kind of symbol |
22:52:35 | Araq | add 'nodecl' to it |
22:52:39 | gradha | the generated code is "static N_INLINE(NSMutableArray*, NSMutableArray)(NI arraywithcapacity)" |
22:53:03 | Araq | header: "xyz.h" |
22:53:09 | Araq | or 'nodecl' do the trick |
22:54:06 | gradha | it compiles |
22:54:29 | gradha | unfortunately generates wrong code and crashes sending messages to wrong objects |
22:54:56 | Araq | good |
22:55:04 | gradha | the line "result = [g_149010.Todos->Sup.len NSMutableArray];" was generated, which doesn't make much sense |
22:55:29 | Araq | that looks like a different problem |
22:55:34 | gradha | the nimrod version is "result = NSMutableArray(g.todos.len)" |
22:56:08 | gradha | which is what was calling my previous newNSMutableArray emit version |
22:56:30 | Araq | ah now I remember |
22:56:47 | Araq | the dreaded class methods need a different syntax |
22:57:05 | Araq | ugh objective C is such a bad joke ... |
22:58:23 | gradha | yes, that was the reason behind the issue, it has a different syntax so you need either a different importobjc or a clever macro to parse proc names and generate different emit blocks |
22:58:47 | gradha | or at least that's the conclusion I reached, it's all frozen until I conquer the world through argument parsing |
22:59:21 | gradha | SchalaZeal: feel free to have a go at it while I look elsewhere in the meantime |
22:59:36 | * | Araq has a nice hack in mind |
23:00:00 | gradha | SchalaZeal: if you feel like it the changes I made following this irc conversation are at http://pastebin.com/p49tXF29 |
23:00:47 | Araq | why is fetchTodos discardable? |
23:01:31 | gradha | sideeffects, mainly for caching stuff in a global variable |
23:03:03 | gradha | the returned objects are converted form nimrod into native objc ones, and I thought it would be nice to cache them and avoid tedious regeneration |
23:04:42 | Araq | 'caching' is always dubious |
23:04:57 | gradha | well, it's a silly mini example anyway, overengineered |
23:05:54 | gradha | the overengineering was part of my plan to test nimrod->objc communication |
23:07:38 | Araq | hm yeah |
23:09:03 | gradha | the nimrod global variable was beginning to be a test of maintaining nimrod logic and serializing it, so you could exit the app, return and recover everything as is, both UI and logic |
23:10:16 | Araq | alright alright, I'm not critizing your beautiful examples |
23:11:11 | gradha | not that I mind, I'm too busy planning what to do with real life while I escape into http://www.roadtovr.com/2013/02/11/project-holodeck-demo-interview-director-nathan-burba-video-2915 |
23:15:02 | gradha | this stuff is amazing, finally you will be able to deal with ugly people, just put your helmet on and change the avatar you see |
23:15:49 | Araq | hah |
23:15:58 | Araq | and I always used beer for that |
23:16:33 | gradha | I don't understand why it's frowned upon to use alcohol for reality enhacement |
23:19:22 | gradha | sometimes I even manage to find the Ballmer peak |
23:19:44 | gradha | or so do I tell myself, hehe |
23:25:45 | * | fowl joined #nimrod |
23:46:32 | * | gradha quit (Quit: bbl, have youtube videos to watch) |
23:47:30 | Araq | fowl: I forgot to tell ya, the compiler should compile 'keineschweine' again |
23:47:38 | Araq | well some older version of it |