<< 08-10-2013 >>

00:00:14*MFlamer quit (Ping timeout: 240 seconds)
00:00:17BitPuffinfowl: you didn't
00:00:41fowlwhy are you checking if something == nil btw, use isNil()
00:00:59BitPuffinfowl: oh really?
00:01:13fowlyea
00:03:34BitPuffinfowl: why isn't isNil mentioned in the manual :(
00:06:56fowli dunno
00:06:59gdosyea why not?
00:07:13fowlits probably mentioned in the tutorial, maybe
00:07:29BitPuffinpossibly
00:08:04BitPuffinI thought I had read something like that
00:08:08BitPuffinI even searched the manual for it
00:09:57BitPuffinnot mentioned in tutorial either
00:10:43BitPuffinhmm
00:10:46BitPuffinwell now I am stuck
00:11:02*gurug33k quit (Remote host closed the connection)
00:11:37fowlstuck where
00:11:49BitPuffinwith the dom stuff
00:12:04BitPuffinI am trying to write this js line in nimrod
00:12:09BitPuffinsigninLink.onclick = function() { navigator.id.request(); };
00:12:34fowlreactormonk has experience with JS
00:12:53BitPuffinbut the function getElementById apparently returns a TNode
00:12:58BitPuffinwhich apparently doesn't have onclick
00:13:13BitPuffineven though an anchor element does have an onclick
00:13:15BitPuffinso uh
00:13:21BitPuffinreactormonk: save me barry
00:14:37BitPuffinhttp://youtu.be/03535JulkYA
00:18:56*fowl quit (Quit: Leaving)
00:21:58*Demos_ joined #nimrod
00:38:54*Demos_ quit (Ping timeout: 268 seconds)
00:40:58BitPuffinmeh will deal with that tomorrow
00:41:02BitPuffinnight y'all!
00:45:50*BitPuffin quit (Ping timeout: 264 seconds)
01:01:07*gdos quit (Ping timeout: 246 seconds)
01:23:47*Demos_ joined #nimrod
01:50:48*Demos_ quit (Ping timeout: 240 seconds)
01:51:10*Demos_ joined #nimrod
01:52:17*DAddYE quit (Ping timeout: 268 seconds)
01:58:35*gdos joined #nimrod
02:00:48*Demos_ quit (Quit: Konversation terminated!)
02:03:39*Demos joined #nimrod
02:17:06*cablehead quit (Remote host closed the connection)
02:17:42*cablehead joined #nimrod
02:20:57*Demos quit (Quit: Konversation terminated!)
02:21:05*Demos joined #nimrod
02:21:58*cablehead quit (Ping timeout: 246 seconds)
02:23:07*MFlamer joined #nimrod
02:48:36*DAddYE joined #nimrod
02:54:57*DAddYE quit (Ping timeout: 240 seconds)
02:56:16*Endy joined #nimrod
03:02:08*gdos quit (Quit: *GONE*)
03:41:10*OrionPK quit (Quit: Leaving)
03:51:38*DAddYE joined #nimrod
03:52:44*dyu_ joined #nimrod
03:58:13*DAddYE quit (Ping timeout: 246 seconds)
04:03:13*Associat0r quit (Quit: Associat0r)
04:06:16*Endy quit (Ping timeout: 245 seconds)
04:19:23*cablehead joined #nimrod
04:27:13*DAddYE joined #nimrod
04:29:01Demoscan I get a non-GC'd sequence? I often find I can garentee unique ownership on many heap allocated objects
04:33:41*DAddYE quit (Remote host closed the connection)
04:35:45*cablehead quit (Remote host closed the connection)
04:36:11*cablehead joined #nimrod
04:40:26*cablehead quit (Ping timeout: 245 seconds)
05:23:03*shodan45 quit (Ping timeout: 245 seconds)
05:27:19*isenmann1 joined #nimrod
05:34:50*DAddYE joined #nimrod
05:41:01*DAddYE quit (Ping timeout: 245 seconds)
06:01:57*MFlamer quit (Ping timeout: 250 seconds)
06:04:54*Demos quit (Quit: Konversation terminated!)
06:37:42*DAddYE joined #nimrod
06:44:12*DAddYE quit (Ping timeout: 256 seconds)
06:55:26*shodan45 joined #nimrod
06:56:40*shodan45 quit (Client Quit)
07:10:05*Araq_ joined #nimrod
07:20:25Araq_hi isenmann1 welcome
07:40:53*DAddYE joined #nimrod
07:47:26*DAddYE quit (Ping timeout: 240 seconds)
07:50:01*gurug33k joined #nimrod
07:53:55*q66 joined #nimrod
08:14:35*Araq_ quit (Quit: ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258])
10:09:54*dyu_ quit (Ping timeout: 256 seconds)
10:41:11*dyu_ joined #nimrod
10:44:50*DAddYE joined #nimrod
10:45:02*Associat0r joined #nimrod
10:45:02*Associat0r quit (Changing host)
10:45:02*Associat0r joined #nimrod
10:51:16*DAddYE quit (Ping timeout: 245 seconds)
12:14:23*HappyClappy joined #nimrod
12:14:24HappyClappyhi
12:26:39shevylol
12:26:43shevythat is the best nick I have ever read
12:27:06*shevy is now known as ClappyHappy
12:27:11ClappyHappyHappyClappy my brother! how are you
12:34:24HappyClappyI'm alright actually my parents have gone out and I got the house to myself
12:39:24*ClappyHappy is now known as shevy
12:48:26*DAddYE joined #nimrod
12:51:48*Ricky_Ricardo joined #nimrod
12:54:46*DAddYE quit (Ping timeout: 246 seconds)
12:55:57*wlhlm joined #nimrod
13:02:33*io2 joined #nimrod
13:39:22*Varriount joined #nimrod
13:39:41Varriountclear
13:40:38VarriountSo, I offered on the forums to host a build bot for windows. I was told to contact dom96?
13:51:23*DAddYE joined #nimrod
13:58:00*DAddYE quit (Ping timeout: 252 seconds)
13:59:55*Varriount quit (Ping timeout: 250 seconds)
14:02:54*Varriount joined #nimrod
14:06:37*Ricky_Ricardo quit (Quit: Ricky_Ricardo)
14:23:38*HappyClappy quit ()
14:27:00*Endy joined #nimrod
14:32:05*[1]Endy joined #nimrod
14:34:58*Endy quit (Ping timeout: 240 seconds)
14:34:58*[1]Endy is now known as Endy
14:54:28*DAddYE joined #nimrod
15:01:15*DAddYE quit (Ping timeout: 252 seconds)
15:07:50*gdos joined #nimrod
15:10:30*gdos quit (Read error: Connection reset by peer)
15:27:49*MFlamer joined #nimrod
15:30:06dom96Varriount: I am here now
15:39:12*Endy quit (Ping timeout: 252 seconds)
15:43:01*sdff joined #nimrod
15:43:23*sdff quit (Client Quit)
15:53:33*dyu_ quit (Quit: Leaving)
15:53:39*whospal joined #nimrod
15:54:00whospalHi
15:55:04whospalI'm new to nimrod. After having learn Python & play with Go, find Nimrod is rather refreshing as a programming language. Combining the strength of compilation with Python like programming ease.
15:55:17whospalOne feedback:
15:55:19dom96hello whospal
15:55:39whospalHello
15:56:42whospalI find the syntax doesn't seem to be consistant.
15:57:19*DAddYE joined #nimrod
15:57:21whospalEg. Arrays. Why use "array[0..5, int]"?
15:58:06*MFlamer quit (Remote host closed the connection)
15:58:21whospalShouldn't it be "array[0..5]: int"? since the type of a variable seems to be followed with
15:58:31whospal": <type>"?
16:00:05whospalSame for Sets. Shouldn't it be "set[]: char" instead of "set[char]"?
16:01:03whospalFor Enum, using "type TDirection = enum north, east, south, west" seems weird.
16:01:42Trixar_zaTry both. Generally the syntax is pretty flexible even though the documentation doesn't always list it as such.
16:01:54whospalShouldn't it be "type TDirection = enum[north, east, south, west" or "... enum{north, east, south, west}"
16:02:36whospalI think these suggestions would be more consistant & intuitive.
16:02:52whospalI see.
16:03:09dom96It wouldn't be consistent with the way generics work
16:03:14*DAddYE quit (Ping timeout: 264 seconds)
16:03:20whospalI don't mind helping to update the document if the language has good potential. ;)
16:03:29whospalI'm a bit of a perfectionist.
16:03:34dom96it makes perfect sense. the stuff in the [] is the arguments to the type if you wanna call it that.
16:04:40*Endy joined #nimrod
16:05:06dom96Same way as in C++ you would have: vector<char>
16:05:13dom96in Nimrod it's: seq[char]
16:06:20whospalIt can be confusing to newbies because [] is usually for [index] referencing. Perhaps <> is a better choice then?
16:06:52whospalAnyway, thanks for explaining with reference to C++.
16:07:20whospalI just find the syntax for array & enum not intuitive.
16:07:37dom96If we designed Nimrod for newbies then we would have made everything as close as possible to some other existing language, but then what would be the point?
16:08:12whospalWell, the point is that it'll be easier for others to pick up.
16:08:16whospal;)
16:08:19dom96And Araq has good reasons for not using <>
16:08:29whospalI see.
16:08:54whospalI just think that enum x, y, z is not that intuitive.
16:09:41*fowl joined #nimrod
16:09:47dom96why?
16:09:51whospal"array[0..5, int]" too. "array[0..5]: int" would be better.
16:10:34dom96And how would that look with multi-dimensional arrays?
16:10:53dom96:P
16:11:04whospalusing just "enum x,y,z" , when reading, people may missed the "space". Using "enum(x,y,z)" seems clearer.
16:12:35whospalPerhaps for multi-dim arrays, use "array[0..5][0..2]:int"? or as the Tutorial #1, use nested arrays.
16:13:22whospalJust for Araq's consideration.
16:13:38dom96how would you nest the types with your proposed syntax though?
16:14:08whospalMHO is that a good programming language should be intuitive, clear & consistant. That's why python is getter popular.
16:14:43whospalTo me, although Golang has it's strength, it's syntax is too C like.
16:14:48dom96I don't think what you propose would be much clearer.
16:15:29whospaltype TDirection = enum (n, e, s, w)
16:15:55fowlwhospal, you know that syntax is the most minor detail of a language right
16:16:04dom96As for the enum syntax, there should be a newline after the 'enum'
16:16:46whospalTBlinkLights = enum (off, on, sBlink, mBlink, fBlink)
16:17:02fowlwhospal, also there is a mechanism for using alternative syntaxes, you just have to write a parser
16:17:21dom96the parenthesis and indentation based syntax don't mix.
16:17:28dom96IMO
16:17:29whospalEr.. think I'm typing too much.
16:17:32whospalSorry,
16:17:44whospalFor multi-array... how about:
16:19:07whospaltype TLightTower = array[1..10]: array[n..w] :TBlinkLights
16:19:47dom96you're assuming that both arrays will have the same type.
16:20:28whospalSo, Nimrod will check that 'enum' must have a newline?
16:20:40dom96I don't see how that syntax makes things clearer tbh
16:20:52dom96Not sure, I think it might
16:21:11whospaler... what is tbh?
16:21:14dom96to be honest
16:21:19whospalhaha
16:21:22whospali c
16:21:43whospaltoo long I've not use IRC to chat...
16:21:45fowltype TFoo=enum a,b,c works fine
16:23:41whospalWill play with nimrod more. fowl's suggestion to try the parser is interesting. I'll look into that.
16:24:33whospalI just start with Tutorial#1. haha... Perhaps will understand Nimrod's design better with Tutorial #2.
16:25:17whospalSo, how many are in the dev team for nimrod?
16:26:44Araqping Varriount, dom96
16:26:53dom96Araq: sup
16:27:01dom96whospal: 3 I guess
16:27:13Araqtalk with Varriount, he likes to setup a windows tester
16:27:15whospalWow.
16:27:37dom96Araq: I know, I think he's AFK.
16:27:50whospal3 only. Golang seems to have 6 or more as the core team?
16:29:29dom96Yes, Golang also has Google behind it...
16:29:38whospalAdmire all the good effort. Got to go. Nice chatting with you guys. Thanks for the responses.
16:30:18Araqand
16:30:27Araqwe're doing it on our spare time
16:30:57whospalI like python. Very easy to pick up. But for big project, it's slow to start up. :( That's why I look into Golang.
16:31:17whospalCool! You guys rocks!
16:31:41whospalReally got to go. Passed midnight... got to zzz.
16:31:45whospalBye!
16:31:49dom96bye whospal
16:32:07*whospal quit (Quit: irc2go)
16:33:47*DAddYE joined #nimrod
16:35:56*gdos joined #nimrod
16:40:11VarriountIs there any specific method to running the nimrod compiler tests? The method I'm using seems to show quite a lot of test errors...
16:40:46Araqkoch tests
16:41:12Araqruns the test suite
16:56:14*gdos quit (Read error: Connection reset by peer)
16:57:44VarriountHm, is the pcre.dll included with Nimrod built for 32, or 64 bit machines
16:59:06Araq32 bits
17:03:08*gdos joined #nimrod
17:04:30*brson joined #nimrod
17:36:14VarriountWow, the test program is actually making use of multiple cores. That's a surprise for me.
17:38:04Araqit doesn't, the compiler itself does
17:47:04*Varriount gives a cookie to Araq
17:47:48Araqer ... thanks. I guess
17:51:19*Varriount quit (Ping timeout: 250 seconds)
18:00:45fowltwist: its a tracking cookie
18:04:04Araqhey fowl
18:04:59Araqhow's that kick-ass 3d engine doing?
18:06:02fowlnot well
18:08:47Araqaww why not
18:11:22*d34th quit (Quit: Deleted System32)
18:11:29*cablehead joined #nimrod
18:11:33*cablehead quit (Remote host closed the connection)
18:11:49*cablehead joined #nimrod
18:12:18dom96hello cablehead
18:12:49Araqhi cablehead welcome
18:12:49cableheadhi dom96
18:14:18cableheadHi Araq, you've created an amazing thing
18:14:46Araqyeah and the best parts are not even documented nor implemented :P
18:16:35cableheadwhat are your thoughts on getting Nimrod to critical mass?
18:16:50cableheadare there small ways user's can help out?
18:17:31Araqwell finding and fixing bugs in particular is desperately needed
18:18:16Araqunfortunately not many are able to dig into the compiler's source code
18:19:35Araqwhat's really needed to get critical mass is commercial support tbh
18:19:51Araq3 guys working on it in their spare time hardly cuts it
18:19:56fowlAraq, i need to take some math classes or something, learn matrix math and stuff like that
18:22:46Araqfowl: nah you only have to translate ~300K LOC of C++ into Nimrod ;-)
18:23:14fowlthat sounds a lot easier
18:23:19fowlwhat project is that
18:23:25dom96all you need is wikipedia
18:23:27Araqwe have c++2nim now
18:23:39Araqbut it's still called c2nim
18:23:50fowlneat
18:24:27cableheadAraq: is there much commercial interest? We'd be very interesting in switch from Go to Nimrod here, but yeah, it's daunting that if you guys disappear, the project would stall
18:26:41Araqfortunately there is some interest, yes
18:39:34dom96cablehead: Nice to hear that you are interested in Nimrod. I'm sure if you hired the core devs then the project would not stall :P
18:41:44gurug33klol
18:49:39fowlAraq, what c++ project were you talking about
18:50:00fowli cant think of anything to write, so porting sounds doable --_-
18:50:13Araq"source" engine? doom 3's engine? I dunno
18:51:52Araqjust start the project in nimrod and reddit it
18:52:10Araqand soon you'll have all the fame and lots of contributors
18:53:04fowlh8 reddit
18:56:54*[1]Endy joined #nimrod
18:57:14*Endy quit (Ping timeout: 264 seconds)
18:57:14*[1]Endy is now known as Endy
19:10:34dom96cablehead: Out of curiosity why are you thinking of leaving Go?
19:10:55cableheaddom96: have you spent much time with Go?
19:11:05dom96not really
19:11:06cableheadjust trying to gauge where to pitch the answer
19:12:06cableheadAlso, just double checking, does Nimrod allow optional manual memory management?
19:14:17fowlyes
19:15:08cableheadSoo yeah, I think it was a mistake for Go not to allow manual memory management, and in addition to that, it's GC is a mess
19:15:32cableheadIt's hard to describe just why, but coding in Go is constantly slow and awkward
19:15:47cableheadkind of like working with lego pieces that don't quite fit together
19:15:50dom96oh, I wasn't aware that Go does not allow manual memory management.
19:17:05cableheadthe tools it gives to compose libraries are good in theory.. but in practice, it's hard to libs to abstract away tedious repetitive code
19:17:14cablehead*hard to create
19:17:27orbitzinteresting since the crazy on the nets is how writingin Go is quick and unawkward
19:17:31cablehead50% of go code is if err != nil
19:17:33cablehead{
19:17:48orbitzerror handling in Go seems pretty abysmal
19:18:10cableheadencouraging c style immediate checking of errors is good for system code
19:18:31cableheadbut it's really tedious a lot of the time, and not always safer
19:18:59orbitzI think yo udon't want to encourage, you want to enforce
19:19:13orbitzWhich would be rather easy if Go had ADTs
19:19:15dom96That has been my prediction when I first saw Go's error handling, that most of the code would just be checking the return values of each function.
19:19:26*Endy quit (Ping timeout: 264 seconds)
19:19:29dom96or just ignoring the return value which sounds much worse.
19:19:33orbitzheh yes
19:20:05orbitzIn my ocaml code i have an error monad that gives exception-like flow but gives me typechecking on handler errors
19:20:11cableheaddom96: yeah, there's a lot of juggling variables just to continually track error handling
19:24:04Araqcablehead: we not only have exception handling but also "exception tracking" so the compiler can prove for you you didn't miss to handle an exception. best of all worlds imo.
19:27:40cableheadAraq: yes, it's really nice
19:38:19*Endy joined #nimrod
19:50:46cableheadWhat's Nimrods outlook on green threads or coroutines?
19:51:24cableheadQuickly skimming, I got the impression they might already be provided by Nimrod's iterators?
19:51:49Araqyeah that are misnomed as "closure iterators"
19:52:08Araqand are the base for nimrod's new async stuff that's quite like C#'s
19:53:47cableheadinteresting .. I was thinking about composing them into a mini-framework with scheduling etc, that might look familiar for say gevent users, as a weekend project
19:54:55cableheadif it makes sense to use "closure iterators" in that way?
19:56:27Araqthe manual has an example that does that
19:56:52Araqunfortunately it turned out closure iterators are the buggiest feature of 0.9.2 and I still haven't found the time to fix them
19:58:03cableheadgotcha
19:58:47*d34th joined #nimrod
20:07:28*Endy quit (Ping timeout: 240 seconds)
20:26:58*Endy joined #nimrod
20:28:08*fowl quit (Ping timeout: 256 seconds)
20:35:06*Endy quit (Ping timeout: 252 seconds)
20:41:29*fowl joined #nimrod
20:54:40*wlhlm quit (Ping timeout: 260 seconds)
21:05:35*Boscop quit (Read error: Connection reset by peer)
21:05:54*Boscop joined #nimrod
21:24:51*comex is now known as dumbledore
21:49:05cableheadsorry, super basic question, is there a power operator? e.g. 2^3 or 2**3 ?
21:49:49dom96math.pow: http://build.nimrod-code.org/docs/math.html#134
21:50:05dom96I don't think an operator has been added yet
21:51:11Araqtemplate `^`*(a, b: expr): expr = pow(a, b)
21:51:30Araqtemplate `**`*(a, b: expr): expr = pow(a, b)
21:51:56cableheadthanks
21:53:42*Demos_ joined #nimrod
21:54:43Demos_I have proc foo[A](e: bar) : var A and the compiler just says "cannot instantiate 'A'" if I remove var it works, anthing I should be aware of
21:55:23AraqDemos_: the current implementation GCs seqs, but since they too have value semantics there is no need for that; so I'd simply relax and wait until they are optimized more
21:56:40AraqDemos_: do you instantiate explicitly via foo[int](x) ?
21:58:24Demos_that was ... interesting timing ... but thanks!
21:59:59Araqmaybe I read the logs
22:02:37Demos_I am instanciateing as ent.foo[int] which come to think of it, looks a lot like an array access
22:03:34fowlcant use dot notation with explicit instantiation
22:03:46Demos_ahhhh, allright
22:06:57cableheadif I wanted a version of pow that worked with ints, instead of floats, what would be the best approach to take?
22:07:01cablehead e.g. proc pow*(x, y: int): int
22:10:34Araqproc pow(a, b: int): int =
22:10:35Araq var a = a
22:10:37Araq var b = b
22:10:38Araq result = 1
22:10:40Araq while true:
22:10:41Araq if (b and 1) == 1:
22:10:43Araq result *= a
22:10:44Araq b = b shr 1
22:10:46Araq if b == 0: break
22:10:47Araq a *= a
22:11:20Araqthere are better algorithms iirc but I'd go with this one
22:12:01dom96how about just reusing the float version? proc pow(x, y: int): int = pow(x.float, y.float).int
22:13:03cableheadtemplate `^`*(a, b: expr): expr = math.pow(a.float, b.float).int
22:13:11cableheadhad no joy with ^^
22:13:20cableheadrror: constant expression expected
22:14:07dom96Works for me.
22:15:13*dumbledore is now known as comex
22:15:18dom96How are you using it?
22:15:46*Amrykid quit (Changing host)
22:15:46*Amrykid joined #nimrod
22:16:15cableheadhttps://gist.github.com/cablehead/e18bf5cb2ae25d147802
22:16:24Araqdom96: reusing the float version seems like a bad idea
22:17:15Araqcablehead: well for "const" you request compile time evaluation
22:17:35Araqand guess what "math.pow" is a thin C wrapper which the compiler cannot evaluate at compile time
22:17:47cableheadoops, sorry, that shouldn't have been a const
22:17:54cableheadsorry, undo buffer when awry
22:17:55Araqunless perhaps with -d:useFFI
22:20:16Demos_wait if I have proc foo[A](e: bar) : var A can I just implicitly instanciate it based on the return type?
22:20:25Demos_I will try it
22:20:43Araqyou can't
22:20:47Demos_:(
22:20:56Araqthere is 'auto' for return types though
22:21:10Demos_yeah, but I know the return type
22:21:27Demos_presumably you can overload on the return type though
22:21:56Demos_sometimes I miss teh haskellz
22:22:02Araqno you can't
22:22:07Araqit's often requested
22:22:15Araqbut won't happen before 1.0
22:22:18Araqis out
22:22:51Demos_oh, I figured that discard was kinda designed for that
22:23:51*OrionPK joined #nimrod
22:24:24Araqdiscard was designed to annoy "omg I need to chain everywhere" c++ users
22:25:19Demos_chaining becomes pretty pointless with names params though
22:25:23Demos_and macros
22:25:54Demos_hm I figured it was to prevent people from ignoring error codes and to enable overloading on return values
22:26:18Araqactually it's here to prevent bugs
22:26:23Araqand it does
22:27:10Araqeven though rndbit doesn't believe it
22:27:35Demos_well yeah the error codes, still return value overloading would be a neat little perk
22:29:00Araqfor instance recently I typed a == 3 instead of a = 3 and got an error "value needs to be discarded"
22:29:39Araqit's not only about you shouldn't ignore error codes
22:49:10fowlxlib.nim doesnt compile with -d:macros
22:49:45Araqfowl: then fix it
22:49:51fowli am
22:49:55fowlbut its a lot of work just so u know
22:50:03*Varriount joined #nimrod
22:54:50Araqwhile you're at it, change the MACROS name into something more meaningful
22:54:53Araqplease
22:55:07Araqit's confusing
22:57:25Araqgood night
22:57:35fowlcan i just remove it since it comes with xlib and used a lot in X11 code
22:58:05fowlgood night
23:00:25Araqyeah removing it is fine with me
23:00:27Araqbye
23:01:44fowlciao
23:02:06VarriountUnder what circumstances would the creation of an AsyncSocket fail?
23:04:10fowlVarriount, dom96 is the asyncio guy
23:04:28VarriountAnd he's asleep -_-
23:04:51VarriountGrr, I have a love/hate relationship with Windows.
23:06:19*Demos_ quit (Ping timeout: 268 seconds)
23:07:28*io2 quit ()
23:08:45cableheadit feels a little weird to use and, or etc for bitwise operations
23:08:52cableheadinstead of | &
23:09:21fowlweird as typing shr/shl instead of >>/<<
23:09:29cableheadyes
23:09:41cableheadand shr/shl are weird too :)
23:18:02*Demos_ joined #nimrod
23:19:00Varriountcablehead, you could always make aliases, like `<<<' and '>>>'
23:21:24fowlugh this needs pointer arithmetic
23:22:56*q66 quit (Quit: Leaving)
23:25:45cableheadVarriount: I'm concerned if aliasing is encouraged, there will wind up being a ton of ways to do everything
23:29:06VarriountTrue
23:30:28VarriountPart of Nimrod I find really fascinating is the fact that there is little distinction between 'methods' and 'functions', eg, functions bound to a class, vs functions not bound to a class
23:31:04cableheadYeah, that's really nice
23:32:21*Demos_ quit (Ping timeout: 248 seconds)
23:34:24*Demos_ joined #nimrod
23:43:21*Demos_ quit (Ping timeout: 245 seconds)
23:46:49fowlVarriount, methods are not bound, they are functions which use multiple dispatch
23:47:51fowlif you want bound methods you can use a vtable pattern like streams.nim uses
23:48:40Varriountfowl, what I mean is, "Hello".len() and len("Hello") are the same.
23:49:51fowloh
23:49:58fowlyou dont need the empty ()s btw
23:51:54VarriountI know. But the Python/Java in me demands I must.