<< 11-12-2014 >>

00:00:05flaviuIt even causes a warning on the same line: Warning: not GC-safe: 'args' [GcUnsafe]
00:00:42Araqwell yeah, but you can ignore this warning
00:01:56flaviuI'm also getting an internal error, and I'm hoping that it'll help me isolate it.
00:02:14Araqyay
00:02:21*lbmn joined #nimrod
00:03:30EXetoCeither way, it doesn't hurt to introduce an extra line
00:03:47Araq(proc () = echo "hi")()
00:04:08Araqsince when count () as Perlish?
00:04:33EXetoCsince the recent de-obfuscation of perl
00:04:45AraqLisp is Perlish then
00:05:10*BlaXpirit quit (Quit: Quit Konversation)
00:05:23flaviuAraq: It's a joke to compare unreadable code to perl
00:06:05EXetoCis it still difficult to read other people's code if you know the language well?
00:06:37AraqEXetoC: I think the problem is that knowing Perl well is like knowing C++ well
00:06:44flaviuI've played with perl a bit because of Marpa::R2, and it seemed like a decent language
00:06:48Araqhardly anybody qualifies
00:07:11flaviuA little odd, but it's usable and mostly readable. It feels like shell.
00:07:38Araqperhaps but I loathe shells
00:07:56gokrPerl is ... awful.
00:08:04gokrOn the other hand, what is Perl these days?
00:08:06Araqbug prone as hell with all these weird quoting rules
00:08:27gokrI helped a rather big company with a huge server system written in 30 differen daemons in Perl.
00:08:37gokrIt was a nightmare.
00:08:46EXetoCwe need a shell DSL
00:09:07flaviuWell, I found the problem: const foo: seq[string] = @[] causes internal errors
00:09:08gokrPerlers tend to love sending nested hashes around. No OO tradition at all. And the scoping rules are ... well, I dunno what they are.
00:09:18flaviuAnd it looks like I've already reported it :D
00:09:20Araqldlework: oh btw you reinvented 'prelude'. include prelude and off you go.
00:10:19flaviuOh, and ldlework also reported it today!
00:11:40flaviuwait, no. That was just very similar
00:12:55Araqyes and bug #1354 is also similar
00:14:31*Matthias247 quit (Read error: Connection reset by peer)
00:16:05flaviuAraq: You said you would move the channel tonight.
00:16:28Araqflaviu: no I said dom96_ should do it
00:16:52flaviudom96, dom96_: Lets move the channel!
00:17:59EXetoCdom96!!11111oneone
00:21:30dom96_ok.
00:25:11EXetoCc(:)|<
00:25:12gokrOk, time to sleep. gnite
00:25:18dom96_Argh. I can't RDP into my desktop.
00:25:21dom96_So not today.
00:26:11flaviuldlework: The snippet page rendering is done: http://a.pomf.se/ybxrza.html
00:28:04dom96_flaviu: What's this?
00:28:08dom96_Is that your cat?
00:28:17flaviuNo, some cat I found on the imgur.
00:28:28flavius/the//
00:28:57flaviuIt's rendered from https://github.com/nimlets/nimlets.github.io/blob/master/snippets/test.nim
00:32:02lbmnhttp://www.reddit.com/r/nimrod/comments/2ox2cg/nim_advocacy_promotion_strategies/
00:32:56dom96_lbmn: Cool. Post it on the forum please!
00:33:10dom96_flaviu: What are you making?
00:35:05flaviudom96_: Something that takes a collection of files like the one I linked and renders and indexes them
00:37:13dts|pokeballmorning
00:37:19dts|pokeballeven though im leaving soon
00:38:41lbmnI think CAPTCHA on http://forum.nimrod-lang.org/register is broken.
00:39:05dts|pokeballdo the blue text
00:39:40flaviuIt seems broken to me too.
00:39:56flaviuIt's always 3+470
00:39:56dts|pokeballworks fine for m
00:39:58dts|pokeballe
00:39:58onionhammerldlework the logo flashes when you navigate because the browser doesnt cache it locally
00:41:32lbmnhttp://libman.org/img/scr/nimforum.jpg
00:42:00dts|pokeballhuh... guess im wrong
00:42:16dts|pokeballare you a bot lbmn ?
00:42:53lbmnMaybe, but one with all aspects of human self-awareness.
00:43:26flaviulbmn: Sentient AIs are not welcome either :/
00:43:41lbmnYou bigot! :P
00:43:57Araqhi lbmn wb
00:46:43dts|pokeballlbmn, see, if we let you in, then we have to let hal in, and then the depressed bot from HHGTTG, and then it becomes this whole big thing
00:49:42flaviulbmn: It's ok, I'm secretly a bot too: http://i.imgur.com/6OFpB2E.png
00:49:44dom96_dts|pokeball: We need to let Marvin in!
00:50:06dts|pokeballnever!
00:50:09dom96_lbmn: Did you fill in a password?
00:51:18lbmnYes.
00:52:16dts|pokeballthinks im a bot too
00:52:50flaviuIs this some sort of secret bot convention?
00:52:56Araqgood night
00:53:08lbmnI am seriously for AI Rights, BTW. (And against Animal Rights.) All "Rational Economic Actors" should be equal in their negative Rights. Maybe self-aware apps is something that Nim can specialize in! :P
00:53:29dts|pokeballflaviu, not that i was aware of. tbh i thought i was dts and not dtsbot
00:54:10flaviulbmn: "Rational Economic Actors". Some congressmen would be very upset..
00:54:56lbmnAs OCR libraries get better, CAPTCHA will become useless. Instead of asking if you're a bot, a phone number verification API would be a lot more useful.
00:55:15flaviulbmn: Have you seen google's new capacha?
00:55:58flaviuIt uses the same code as gmail's anti-bot system.
00:56:57flaviuAnd with google analytics all over the web, google knows for certain if you're a bot or not.
00:57:10lbmnWhen I was facing 3 years in jail for my activism, I thought about writing a computer system that could be interacted with by paper mail, which you can send / receive in unlimited quantities from jail. You write commands on paper. Mail me this book, google this, print last search result #X max Y pages, move Nf3 Nc6 in chess game B, etc.
00:58:33lbmnIf Google decides it doesn't like you (or government forces it), too many things in this world will break.
00:58:40lbmnAnyway, sorry, too much offtopic.
00:59:34dom96_hrm. Something is indeed wrong with the forum.
01:06:24*kniteli quit (Remote host closed the connection)
01:09:17*kniteli joined #nimrod
01:21:15dom96lbmn: Can you try it now?
01:26:27lbmnDon't have time to convert syntax now.
01:27:48dom96I mean. Can you try registering?
01:31:53*dom96_ quit (Read error: No route to host)
01:35:38dts|pokeballguys... nimrod looks a lot like boo
01:37:14flaviudts|pokeball: Nim looks a lot like python, and boo looks a lot like python for the CLR
01:37:34*yglukhov___ joined #nimrod
01:37:34dts|pokeballgood point
01:41:50*yglukhov___ quit (Ping timeout: 250 seconds)
01:45:16lbmnRegistration worked. http://forum.nim-lang.org/profile/Libman
01:47:07*lbmn quit (Remote host closed the connection)
02:04:46*darkf joined #nimrod
02:21:37*q66 quit (Quit: Leaving)
02:24:29*johnsoft quit (Ping timeout: 272 seconds)
02:24:44*johnsoft joined #nimrod
02:45:38*willwillson_ joined #nimrod
02:46:01*willwillson quit (Ping timeout: 272 seconds)
03:01:07*j3rky quit (Quit: Konversation terminated!)
03:05:21dts|pokeballdoes nimble build nim projects?
03:07:15*nande joined #nimrod
03:16:08*brson quit (Quit: leaving)
03:26:23*yglukhov___ joined #nimrod
03:30:55*yglukhov___ quit (Ping timeout: 264 seconds)
03:50:28*yglukhov___ joined #nimrod
03:54:52*yglukhov___ quit (Ping timeout: 245 seconds)
03:58:37*flaviu quit (Ping timeout: 255 seconds)
04:14:07*willwillson_ quit (Ping timeout: 264 seconds)
04:47:55*AMorpork is now known as AFKMorpork
04:53:00dts|pokeballAraq, ping
05:14:29dts|pokeballnim still has the irc module right?
05:19:02*ARCADIVS joined #nimrod
06:57:45*BlaXpirit joined #nimrod
07:10:51*gour joined #nimrod
07:15:38*bjz joined #nimrod
07:17:37*gokr_ quit (Ping timeout: 240 seconds)
07:18:20*gokr_ joined #nimrod
07:30:24*dts|pokeball quit (Read error: Connection reset by peer)
07:31:05*dts|pokeball joined #nimrod
07:32:08*BlaXpirit quit (Quit: Quit Konversation)
07:41:29*gokr_ quit (Remote host closed the connection)
07:42:18*gokr_ joined #nimrod
07:42:18*gokr_ quit (Read error: Connection reset by peer)
07:42:28*gokr_ joined #nimrod
07:47:24*starless quit (Quit: WeeChat 0.4.2)
07:51:05gokrdts|pokeball: Yes, "nimble --help" shows what it can do.
07:51:19dts|pokeballi figured it out
07:51:24dts|pokeballthanks though
07:54:51*dyu joined #nimrod
08:11:55dts|pokeballwelp... just got the compiler to throw an ICE. yay me
08:14:38dts|pokeballhttp://paste.ubuntu.com/9473083/ can someone tell me why this is saying: Error: internal error: (filename: compiler/ccgexprs.nim, line: 921)
08:26:44dts|pokeballif someone figures it out i would be much obliged if you could leave the answer with mesgserv. i unfortunately have to shut down
08:27:48*kniteli quit (Ping timeout: 258 seconds)
08:31:18dts|pokeballhuh... never mind... as it turns out echo cant print seq's
08:32:13*kapil__ joined #nimrod
08:32:16*matkuki joined #nimrod
08:41:01*Trustable joined #nimrod
08:48:58*milosn quit (Ping timeout: 244 seconds)
08:53:37*dts|pokeball quit (Ping timeout: 244 seconds)
09:04:45*milosn joined #nimrod
09:06:54matkukiHi, is there a way to define a proc or a proc definition within the 'type' block?
09:08:36matkukiA way to specify all of the proc's/method's that are bound to a type?
09:10:58*khmm joined #nimrod
09:14:48*kniteli joined #nimrod
09:17:09gokrmatkuki: AFAIK no. There are macros floating around, and there probably will be some standard macros eventually - but also remember that we have multidispatch here so its not necessarily only ONE type.
09:18:23gokrAraq: The bug with fields not handling inherited fields is already reported. I also note that this means ==, < and <= don't work either with inheritance. See: https://github.com/Araq/Nimrod/issues/1352
09:19:02gokrI tried following the code in compiler but... sorry, too incomprehensible to me as of yet. ;)
09:22:43matkukigokr: Can you point me to these macros you mentioned? I'm just looking for something to make the code more readable to me.
09:23:39gokrSome Nim links: http://goran.krampe.se/nim/
09:23:49gokrAnd the one you want: http://nimrod-by-example.github.io/oop_macro/
09:25:27gokrmatkuki: You might want to look at the OO articles on my site there (the first link)
09:25:49gokrI intend to write a summary article on OO too.
09:25:58matkukigokr: brilliant, just what I'm looking for, thanks!
09:26:12*nande quit (Remote host closed the connection)
09:27:19*kniteli quit (Ping timeout: 264 seconds)
09:45:37*ARCADIVS quit (Quit: ARCADIVS)
10:06:15*yglukhov___ joined #nimrod
10:26:03*bitcrusher1 joined #nimrod
10:26:13bitcrusher1is there Aporia binaries?
10:26:17*bitcrusher1 is now known as bitcrusher
10:38:07*Sembei quit (Quit: WeeChat 1.1-dev)
11:17:36bitcrushernimble build seems to work great
11:21:30bitcrusherdamn got glib 2.0 error
11:23:08*bjz quit (Ping timeout: 256 seconds)
11:25:41bitcrusherfuck windows, such a pain in the ass
11:26:20*bjz joined #nimrod
11:28:03*Araq0 joined #nimrod
11:28:22Araq0bitcrusher: the windows installer has the option of installing Aporia for you ...
11:28:30Araq0it comes with all dependencies
11:29:47Araq0it's however mostly a nicely working editor until I fixed a couple of idetools compiler bugs
11:30:25*Araq0 quit (Client Quit)
11:31:47bitcrusherdoh!
11:32:11*flaviu joined #nimrod
11:33:18bitcrushergood news is I checked the box, gonna delete all these dependencies...
11:35:03bitcrusheri got aporia running but where does aporia look for libglib-2.0-0.dll
11:36:05bitcrusheroh i see inside gtk\bin
11:40:47bitcrusherheh got my hello world running
11:43:49EXetoCawesome
11:46:34bitcrusherwill v0.100 = v1 of nim?
11:47:40bitcrusheralso whos in charge of /r/nim
11:55:53*EXetoC quit (Remote host closed the connection)
12:00:19*flaviu quit (Ping timeout: 264 seconds)
12:08:39*jux quit (Quit: Leaving)
12:15:30*matkuki quit (Ping timeout: 258 seconds)
12:29:33bitcrusherhmm is there password recovery in the nim forums?
12:48:54*repax_ joined #nimrod
12:56:00*AFKMorpork is now known as AMorpork
13:19:18*irrequietus joined #nimrod
13:30:37*BlaXpirit joined #nimrod
13:31:10*BitPuffin joined #nimrod
13:44:07*gokr_ quit (Ping timeout: 250 seconds)
13:44:38*gokr_ joined #nimrod
13:54:01*Varriount|Mobile joined #nimrod
14:22:51*Var|Mobile joined #nimrod
14:23:54*untitaker quit (Ping timeout: 256 seconds)
14:26:53*Varriount|Mobile quit (Ping timeout: 264 seconds)
14:29:09*untitaker joined #nimrod
14:31:42*EXetoC joined #nimrod
14:36:36*gour_ joined #nimrod
14:40:25*gour quit (Ping timeout: 272 seconds)
14:50:11*gour_ is now known as gour
14:56:53*gokr_ quit (Ping timeout: 258 seconds)
14:58:47*gokr_ joined #nimrod
15:01:00*repax_ is now known as repax
15:02:07*BlaXpirit quit (Ping timeout: 264 seconds)
15:03:23*brson joined #nimrod
15:24:07*Varriount|Busy joined #nimrod
15:25:43Varriount|BusyAraq: Any particular reason the streams module uses closure attributes for procedure delegation, rather than methods?
15:26:48*yglukhov___ quit (Ping timeout: 244 seconds)
15:48:11*darkf quit (Quit: Leaving)
15:55:58*nullmove joined #nimrod
15:56:06Varriount|BusyHello nullmove
15:56:27nullmovehi
15:56:39nullmovethe new site has been problematic for me the whole day
15:56:45Varriount|BusyOh? Howso?
15:57:04nullmoveoccassionally doesn't load or very slow
15:57:42Varriount|Busynullmove: Odd. Does this occur on a specific set of pages, or the entire site (including documentation)?
15:58:28nullmovethe entire site, including redirects
15:58:32Varriount|Busynullmove: Are you sure it isn't something on your end? The website loads fine for me.
15:59:03Varriount|BusyDo you have any browser extensions that could be causing problems?
15:59:32Varriount|BusyAlso, what browser are you using?
16:00:18nullmovefirefox, but let me reset the connection
16:03:53*nullmove_ joined #nimrod
16:04:31*nullmove quit (Ping timeout: 244 seconds)
16:04:38Varriount|Busynullmove_: Any luck?
16:05:03nullmove_yes loads now but quite slow still
16:07:06Varriount|Busynullmove_: Can you open the web console and look at the 'Network' section?
16:08:00Varriount|BusyRight click a part of the webpage, select 'Inspect Element', and in the box that pops up, select the 'Network' tab, and click 'Reload'
16:09:00nullmove_it stopped working again so nothing is showing up there
16:09:41nullmove_I think my connection is otherwise fine and I have been experiencing slowdown the whole day
16:11:28Varriount|BusyOdd... maybe the server doesn't like you...
16:13:58Varriount|Busynullmove_: Could you gist the output of 'traceroute nim-lang.org' and 'pring nim-lang.org'? (Use the 'tracert' command if you're on Windows)
16:17:34nullmove_Varriount|Busy, https://gist.github.com/nullmove/705471deef9d23bcb69d
16:18:12nullmove_style.css doesn't load
16:18:23*repax quit (Quit: HydraIRC -> http://www.hydrairc.com <- Organize your IRC)
16:20:43Varriount|Busynullmove_: Odd...
16:22:16Varriount|BusyIt's not like the stylesheet is even that large, it's only 20kb
16:23:24Varriount|Busynullmove_: What happens when you try to access the site via IP (178.62.143.63) ?
16:23:42nullmove_yeah, well if nobody else has reported difficulty it's probably me, still wanted to let you know
16:24:22nullmove_same, doesn't load
16:25:00Varriount|BusyHm, then it's not dns resolution issues...
16:25:21Varriount|Busynullmove_: I don't know what else to do, sorry.
16:34:28*dom96_ joined #nimrod
16:34:45dom96_Araq: I think a good idea of something to have in the ticker on the website would be our awesome stack traces.
16:37:45*superfunc joined #nimrod
16:54:51*nullmove_ quit (Ping timeout: 244 seconds)
16:59:37gokrAraq: I note that last linux64 build failed. I looked and... the t5000 binary was built at 19.14 - and the stamp of testament.db was also 19.14. My guess is that it was the last thing it was running (and timedout).
16:59:46gokrOk, gotta make ginger breads now...
17:04:59*nullmove joined #nimrod
17:06:37*dom96_ quit (Ping timeout: 246 seconds)
17:11:27*kapil__ quit (Quit: Connection closed for inactivity)
17:14:44*BitPuffin quit (Remote host closed the connection)
17:15:43*Varriount|Busy quit (Ping timeout: 246 seconds)
17:20:52*superfunc_ joined #nimrod
17:21:37*khmm quit (Ping timeout: 240 seconds)
17:22:08*kniteli joined #nimrod
17:25:18*milosn quit (Quit: Lost terminal)
17:28:16*BitPuffin joined #nimrod
17:37:57*Trustable1 joined #nimrod
17:40:34*Trustable quit (Ping timeout: 258 seconds)
17:48:06*q66 joined #nimrod
17:49:30*nullmove quit (Quit: Leaving)
17:54:23*milosn joined #nimrod
17:54:24*Varriount|Busy joined #nimrod
18:00:09Varriount|BusyThe one thing I dislike about the new forum layout is the position of the login and search box. It takes up an entire column's worth of space.
18:00:45EXetoCyeah
18:05:48AraqI still think the "users" columns is completely unnecessary
18:06:32Araqalso somebody should finally implement "password reset"
18:06:50EXetoCactually, it doesn't bother me, but the search field is too small when the browser window is less than 1000 pixels wide
18:07:06Araqthough it's amusing how many people cannot remember their password
18:07:08*Matthias247 joined #nimrod
18:07:10EXetoCthere's a lot of padding there
18:07:18Araqit's like they never used the internet :P
18:24:56*BitPuffin quit (Ping timeout: 264 seconds)
18:33:05*BlaXpirit joined #nimrod
18:44:43*dts|pokeball joined #nimrod
18:47:19*superfunc quit (Quit: Connection closed for inactivity)
18:53:00*q66 quit (Remote host closed the connection)
18:59:13*dom96_ joined #nimrod
18:59:30*AMorpork is now known as AFKMorpork
19:00:46gokrAraq: You saw? https://github.com/Araq/Nimrod/issues/1352
19:01:06gokrI did grep my way around in the compiler code - but... ;)
19:02:51*q66 joined #nimrod
19:04:26*yeye123 joined #nimrod
19:30:38Araqgokr: happy now?
19:30:56Araqmade it a showstopper bug
19:31:45gokr_:)
19:32:14dts|pokeballi found a errr bug for lack of a better word last night
19:32:33Araqdts|pokeball: you didn't. it's fixed already.
19:32:50Araqyou guys need to learn what "devel" means
19:32:53dts|pokeballwith printing sequences?
19:32:56Araqyes.
19:33:00dts|pokeballhih
19:33:02dts|pokeball**huh
19:33:14dts|pokeballnever mind then
19:37:30Araqgokr btw the priorities are there to give me an order to stick to
19:38:01Araq"medium priority" doesn't mean that's not a valid issue
19:39:00Araqbut I can't make any bug "high priority"
19:39:04Araqit then loses its meaning
19:45:03gokr_sure i get it
19:45:50yeye123I need "return" several results of different type from a proc, i read the tutorial that i can use either var parameters or return tuple, is it any practical difference?
19:45:56gokr_Just felt having inheritance not working ... was a fairly high prio thing.
19:47:24Varriount|Busyyeye123: A tuple is more idiomatic, but comes with a higher overhead (you have to allocate memory for the tuple)
19:47:35*xtagon joined #nimrod
19:47:54Varriount|BusyVar parameters are typically used when you need to mutate a parameter.
19:48:33Varriount|BusyI'd suggest using a tuple first.
19:48:33AraqVarriount|Busy: allocation for the tuple is actually free, but things can get expensive when the tuple has lots of string/seq fields
19:48:58Varriount|BusyAraq: Is a tuple a value type, or a ref type?
19:49:06Araqa value type
19:51:39*Varriount|Busy quit (Quit: Page closed)
19:52:06yeye123thanks guys, so its no big difference i guess then but is more nimrod-like if that is what you mean by idiomatic
19:52:16yeye123*tuple
19:52:22Araqnimiomatic
19:52:54yeye123oh yes nim-o-matic ;)
19:54:29yeye123why would you say its more nimomatic, just curious, it seems to me that tuples/var parameters achieves the same?
19:56:12*AFKMorpork is now known as AMorpork
19:59:34Araqtuples produce a nicer api, for speed 'var' often is preferred
19:59:56Araqin fact, once I find the time to write a book *cough*
20:00:18AraqI shall explain to you guys why functions are fundamentally flawed for high performance computing
20:00:44Araq"function" here meaning "proc with return type"
20:01:19yeye123ok, thanks ,looking forward to the book :)
20:02:10Araqpossible title: "everything that you think you know is wrong"
20:02:42Araq;-
20:02:57yeye123would buy
20:04:25Araqhrm 10 people buying my book a 50€ ....
20:06:33*Araq will be rich
20:10:12dts|pokeballwhat databases work well with nim?
20:10:25Araq sqlite, postgre, mysql, mongo
20:10:30dts|pokeballty
20:18:55Araqhey, dyu is back
20:18:59Araqwelcome!
20:19:05dyuhey Araq!
20:19:28dyuI hear you're releasing 1.0 by the end of the month?
20:19:41Araq*cough* people are against it
20:20:00Araqbut I think we should do it
20:20:12Araq"release candidate 1" or something
20:20:13*bjz quit (Read error: Connection reset by peer)
20:20:19dyurc1 sounds good
20:20:30*bjz joined #nimrod
20:20:42Araqwell the number of open bugs still is depressing :-/
20:21:06Araqon the other hand, it's pretty accurate, I think. most new bugs are duplicates
20:21:27dyuyea well ... creating a programming language is hard, especially for mostly one person :-)
20:21:49dyuwhat happend to the other guy that implemented type classes
20:22:05Araqhe is earning too much money now
20:22:21Araqbut uses it in production
20:22:27dyuwow nice
20:22:47dyuhe found new work?
20:22:53Araqyes
20:24:01dyuArawq: btw, when using {.thread.} pragma, do I have to setup something on the thread for it to work? (thread is not created by nimrod)
20:24:21Araqoooh, don't do that
20:24:36dyuyea I tried doing that and got segfault
20:24:39Araqbut if you have to, don't let the .thread proc allocate GC'ed memory
20:25:34Araqwell
20:25:45Araqyou can try to call setStackBottom I guess
20:25:47dyucan it be easily modified to use a gc collector from threadlocal?
20:26:00Araqthe gc collector is threadlocal
20:26:13Araqbut the thread needs to setup its gc properly
20:26:28dyuyea, that part ... how do I set it up?
20:26:52*repax joined #nimrod
20:26:59dyuI'm trying to use nim with lwan (http server) and the io threads is setup by the latter
20:27:52*nande joined #nimrod
20:28:52dyuworker threads*
20:29:14Araqmeh just use our http server instead :P
20:29:24dyuI've already got it to work
20:29:41Araqwell but if you want to do that
20:29:43Araqlet's see
20:29:49dyuand it gives us golang's coroutines ... in c-land
20:29:54Araqdon't use --threadVarEmulation
20:30:08EXetoCdts|pokeball: mongo does work well, assuming that you're fine with using actual bindings (no high level interface)
20:30:09dyu370k reqs/sec on my laptop
20:30:13dyubeats nginx :-)
20:30:30dyuand i've been using nginx for a few years now
20:30:44Araqso? nginx likely has more security stuff
20:30:47dyuthough its not as robust :/
20:30:49dyuyea
20:30:54dts|pokeballEXetoC, i think im gonna go with sqlite just because i dont need anything terribly big
20:31:14dyuAraq: its useful if its hidden by google's/amazon's loadbalancer
20:31:35Araqdts|pokeball: our forum runs on sqlite. it's a decent choice if you grow tired of managing postgre
20:31:52Araqand I always considered mysql a joke, so it was never even considered
20:32:08Araqbut I think today it's reasonable too
20:32:27dts|pokeballyeah ive used it before with c++ and liked it
20:34:24dts|pokeballis the best way for call backs in nim is to just have a seq of the functions?
20:35:04Araqdepends on what you mean.
20:35:25Araqand it depends on your use case. I consider a 'seq' of "listeners" a design smell :P
20:36:14dts|pokeballim writing an irc bot in nim, and when it recieves like PING for example i want it to use a function pong()
20:37:07Araqyou can use a table of procs then yeah
20:37:22Araqor simply a 'case' statement
20:37:38dts|pokeballyeah good point
20:37:57dyuAraq: invalid command line option: '--threadVarEmulation'
20:38:07Araqdyu: don't use it!
20:38:29Araqbut I think --tlsEmuation:on
20:38:31dyuby it, you mean the flag? or the .thead pragma?
20:38:44Araqthe .thread pragma is fine
20:39:15Araqdyu: well for it to work I need to expose a new API, are you on devel?
20:39:17dyu--tlsEmuation:on - got same error
20:39:19dts|pokeballAraq, do you still know a lot about how the current nim compiler works?
20:39:21dyuyes I'm on devel
20:39:44Araqdts|pokeball: I still know everything.
20:40:23*starless joined #nimrod
20:40:33dts|pokeballok, then in c++ it is generally better to use if chains than switch-case as it generates better asm. does this rule apply to nim as well?
20:40:45yeye123can i use slices or sets to interpret a bit in an int as a bool, i want to achieve for examble: mybool = (myInt1.b1 == myint2.b0)
20:40:47*gour quit (Quit: Konversation terminated!)
20:41:44Araqyeye123: no, but it's only a template `{}`(a, i): expr = a and (1 shl i) != 0 away
20:41:56*flaviu joined #nimrod
20:42:06AraqmyInt{b1} == myint{b0}
20:42:34dyuAraq: how would setStackBottom solve the problem? (I traced it the other day and TMemRegion's root was nil)
20:43:09Araqdts|pokeball: er no? switch-case generates good code, Nim allows you to use .computedGoto or .linearScanEnd to influence the codegen further
20:43:24dts|pokeballawesome ty
20:43:27yeye123ok, i havent read up on the templates yet, just tinkering, but i i understand you correctly templating in nimrod means adding new functionality to the language?
20:43:34Araqthough for string cases it already generates a near perfect hash table under the hood
20:44:38Araqyeye123: no, a template is a simple quasi-quote. that's only "adding new feature to the language" when you have no idea about formal semantics and just repeat "internet wisdom"
20:44:59dyuAraq: btw, what kind of production nim app was zach running?
20:45:19AraqI'm not sure I'm allowed to tell
20:46:48dyuok
20:51:52yeye123ok, thanks araq, i'll read a bit before i ask anymore about this :) I have a interest for low level programming asm and the like, just checking out the possibilities
20:55:32*Var|Mobile quit (Read error: Connection reset by peer)
20:57:34*Matthias247 quit (Quit: Matthias247)
21:02:19Araqdyu: exactly, I'm working on a patch for you for this very reason.
21:04:55dyuAraq: thanks!!
21:06:34*yeye123 quit (Quit: Leaving)
21:11:41*yglukhov___ joined #nimrod
21:13:54*yglukhov___ quit (Read error: Connection reset by peer)
21:14:12*yglukhov___ joined #nimrod
21:16:26*dts|pokeball quit (Quit: Leaving)
21:16:45*dts|pokeball joined #nimrod
21:21:45*matkuki joined #nimrod
21:23:31*bjz quit (Ping timeout: 255 seconds)
21:26:42matkukiIs the renaming from Nimrod to Nim official?
21:27:05Araqwhat does our website say?
21:29:45matkukiSo it's Nim then.
21:29:50matkukiJust making sure, before I change all my editor lexer comments and namings.
21:30:02Araqyay
21:30:21*dyu quit (Quit: Leaving)
21:30:57*Sembei joined #nimrod
21:31:34*quasinoxen quit (Ping timeout: 244 seconds)
21:31:55*Mat4 joined #nimrod
21:32:04Mat4hi all
21:32:51*quasinoxen joined #nimrod
21:37:30Araqweißt du nicht, wer seine Seele an die Hölle verkauft, wird immer jung sein, schön und schlank und mit flachem Bauch und ich weiß, das willst du auch.
21:38:00BlaXpiritwhat's the point of keeping different domains separate?
21:38:08BlaXpiriti think it would be much better to redirect from http://nimrod-lang.org/
21:38:35repaxand from #nimrod to #nim
21:38:40BlaXpirityeah.....
21:38:46BlaXpiritalso: click on nim logo on main page
21:38:49Araqwell yeah, we're working on it
21:39:01Mat4Araq: Und ist es auch Wahnsinn, so hat es doch Methode
21:39:04Araqbtw there still has not been a single official 'nim' release
21:39:11AraqMat4: lol
21:39:32Araqdoesn't count though.
21:39:47Araqonly lyrics from special bands are allowed
21:40:11*Matthias247 joined #nimrod
21:40:29repaxIch bin ein Schmetterling
21:40:38dts|pokeballdoes nim have sum types?
21:41:22Araqdts|pokeball: 'case objects' do count as such
21:41:43Araqand yes, I do know they are different from ML
21:41:57Araqand yes, I don't care whether you believe me, that was a concious design choice
21:41:58repaxHow about untagged unions?
21:42:10Araquse the .union pragma
21:42:22repaxI see, thanks
21:43:58matkukiWhat is the difference between using "method MyMethod(mt: MyType, ...)" and "proc MyProc(mt: MyType, ...)"?
21:44:09dts|pokeballAraq, i dont know what sum types were, so im not arguing. someone was asking about nim
21:45:14Araqdts|pokeball: http://forum.nim-lang.org/t/597#3239
21:45:27Araqhrm the forum search really IS nice
21:47:04Araqrepax: are you German?
21:47:59flaviumatkuki: method means that it dispatches on the runtime type, while proc means static dispatch
21:48:37repaxAraq, not the sligthest
21:48:47flaviumatkuki: http://nimrod-lang.org/manual.html#multi-methods , http://nimrod-by-example.github.io/oop/
21:48:47matkukiflaviu: thanks
21:49:28Araqrepax: but you're a butterfly!
21:49:52repaxonly on mondays and thursdays.. :/
21:54:11Araqand on other days you're an ordinary knife?
21:55:00repaxstory of my life..
21:56:58*nande quit (Remote host closed the connection)
21:57:08AraqMat4: got panicoverride to work?
21:57:21Mat4yes
21:57:30Araqwhat do you think of it?
21:58:02repaxpanic override is awfully cool sounding
21:58:27Araqrepax: it's only necessary when you write your own OS ;-)
21:58:52repaxOh
21:58:53Araqas somewhere these "index ouf of bounds" messages need to go
21:59:09*irrequietus quit ()
21:59:24repaxOf course
21:59:41Mat4Araq: for OS development it is only a small addition for code you want to implement anyway so it is OK
22:00:19repaxIf you make a new OS please not one more Unix
22:00:21AraqMat4: well as I said, somewhere runtime fatal errors need to go, otherwise we don't improve over C
22:00:37repaxGo for something entirely new and wild
22:01:21Araqah, somebody reads my newsletter
22:01:33Araqrepax: exactly what I'm saying for years now.
22:01:58Mat4someone want to work toward an efficient exokernel ?
22:02:07repaxyou're so right Araq
22:02:35repaxMat4, if I had the time
22:03:35Araqrepax: I was excited about Haiku until I installed it and saw the directory hierarchy and bash scripts everywhere
22:03:58repaxI truly hate human-readable formats
22:04:18repaxbash is too clumsy
22:04:43Araqlol what?
22:04:49Triplefoxi feel like "human-readable" is kind of an illusion
22:04:51Araqare you messing with me?
22:05:06repaxNot messing
22:05:13Varriountbash != human-readable
22:05:35Triplefoxlike, people exist who can read untranslated machine code for some architecture
22:05:36*dts|pokeball quit (Read error: Connection reset by peer)
22:05:42repaxIt started as a simple tool but complexity grew and got out of hand
22:06:04repaxIt is so misused today
22:06:13Araqthere is a difference between human-readable and using the fucking colon as a separator
22:06:21Araqkey: value # makes some sense
22:06:29AraqfileA:fileB:fileC # wtf?
22:07:09Araqand that's just an irrelevant nitpick
22:07:24*dts|pokeball joined #nimrod
22:07:32Mat4repax: BeOS userland is POSIX oriented. Compare this with DCL (VMS)
22:07:44*willwillson joined #nimrod
22:08:01Araqit gets worse with /urs /usr/local, /bin /sbin, /opt ...
22:08:26repaxMat4, sorry not familiar with dcl
22:09:03repaxAraq, yeah that's a mess
22:10:20repaxAlso, xwindows with its network thingy, running as root.
22:10:49Araqin practice you have to be root to be able to install anything
22:11:34VarriountOh, that reminds me. I have some ammunition to give araq wrt windows over linux.
22:11:53Araqnot that it matters, most valuable stuff is in ~ anyway which has zero protection
22:12:06Mat4repax: DCL is the command shell of VMS and derivates, take a look at the wikipedia page about it
22:12:07repaxindeed
22:12:16VarriountAraq: Did you know that Window's supports transacted series of file operations?
22:12:52*nande joined #nimrod
22:13:39repaxMat4, uhm. Do you like DCL?
22:15:18Mat4yes, it's a nice albeit somewhat unreadable shell environment
22:16:51repaxHowever, an exokernel has less need for a shell environment
22:17:03flaviuI've moved nim-by-example to the new name, unfortunately I don't think I can set up a redirect. I hope people haven't linked to it too much ;)
22:17:11Mat4repax: indeed
22:18:07repaxdeep links would be troublesome
22:18:53repaxThat is unless you use a frontend controller page
22:22:10repaxMat4, so let's see here. An exokernel implemented in nim? Pre-compiled or as an open source library for interfacing with nim programs? Is that what you are working on?
22:23:06Mat4I'm working on a native-code environment which can be used as backend for the Nim compiler
22:23:12AraqVarriount: no, but it doesn't matter since <insert_popular_unix_zealot_here> came up with reasons why they are a) not necessary b) a security problem c) buggy for some corner case
22:24:22dom96_flaviu: Can't you create a repo called 'nimrod-by-example' with a little link?
22:24:36Mat4this environment can work as kernel however
22:24:55flaviudom96_: I'd probably have to create a new organization, and I don't really have time for that atm
22:24:57repaxMat4, sounds very interesting.
22:26:11repaxMat4, what would be great for running specialised cluster nodes and also embedded programs
22:28:04repax*that would be great
22:28:24dts|pokeballis it possible to overload operator $ for seq's and make it use that instead of the normal $
22:29:46dts|pokeballactually, i guess i could make a whole new operator
22:30:27Araqdts|pokeball: it's possible if you're careful but unlikely to be a good idea
22:30:28Mat4repax: yes. However, efficient node sheduling is not easy approachable
22:30:49Mat4^approacheable
22:31:37repaxMat4, of course it depends on the purpose of the cluster.
22:32:08*perturbation joined #nimrod
22:32:27Araqperturbation!
22:32:33Araqthanks for updating the lexer
22:32:53dts|pokeballactually, before i go through the process of writing a new operator, is it possible to do this already? lets say i have var some_seq: seq[string] = @["foo", "bar", "baz"], and then print some_seq[1 .. 2], so that it looks like this: "barbaz", instead of @["bar", "baz"]
22:33:16perturbationnp Araq
22:33:38repaxdts|pokeball, "repr"?
22:33:58dts|pokeballrepax, repr printed weird
22:34:45Araqrepr ... the bad idea that is tremendously successful so I can't kill it
22:35:01AraqI think everybody uses it except me
22:35:35*matkuki quit (Quit: ChatZilla 0.9.91 [Firefox 34.0.5/20141126041045])
22:35:41repaxI only use it to sort out what mess I've created
22:35:44Araqdts|pokeball: join(s[1..2])
22:36:08dts|pokeballty
22:38:15Araqdyu: here you go, try the new system.setupForeignThreadGc
22:39:36Araqhrm my blog is really crappy. good nobody knows it
22:40:57EXetoCit.. conveys information
22:41:03EXetoCbut that's not enough these days is it :p
22:41:19repaxWhat's required these days??
22:42:43dts|pokeballis there a way for join to do this: join(ircseq[4 .. (ircseq.len - 1)], " ") where if ircseq had @["foo", "bar", "baz", "foobaz", "foobar", "barbaz"] it would make it "foobaz foobar barbaz"?
22:43:57Araqno, "join" doesn't mean "read my mind"
22:44:07Araqit only joins for now.
22:44:15dts|pokeballhmmm. ok
22:44:31repaxTha's a major setback
22:44:44EXetoCrepax: sticky menus, some javascript and pretty shadows
22:44:52*Var|Mobile joined #nimrod
22:46:13VarriountAraq: I'm testing out the new test results posting at this very moment.
22:46:44AraqVarriount: yay.
22:46:51*Araq opens another can of beer
22:47:35repaxEXetoC, yeah. Somehow content got lost along the way. One probably expects one picture for every paragraph of text, also
22:48:55Varriountrepax: Wait, a blog is supposed to have *content*? I thought blogs were just made up of exclamatory remarks and pictures of animals.
22:49:06repaxIf I drink any amount of alcohol I might as well close the text editor. No work done will be sound or even understandable the next day.
22:49:56Varriountrepax: Assuming you like the taste of alcohol.
22:50:26repaxHm, that might be the problem
22:51:02AraqVarriount: consider it a medicine if you don't like the taste :P
22:52:52repaxFamous and historical authors were all ardent drunkards
22:53:06EXetoCrepax: you don't have a ballmer peak? that's unfortunate
22:54:33repaxEXetoC, if I have one it's infinitesmimal
22:55:21repaxor half of one
22:58:24EXetoCperhaps only 5cl will do
22:58:35*Jesin quit (Quit: Leaving)
23:03:03dts|pokeballhttp://paste.ubuntu.com/9481542/ its saying main.nim(8, 15) Error: type mismatch: got (string, string) but arent both of those strings?
23:04:46Araqdts|pokeball: 1. there is no += for strings, it's &=
23:04:56dts|pokeball/facepalm
23:05:00Araq2. you use 'var seq' for join and that's clearly wrong
23:05:16dts|pokeballi used var just to see if that would fix it, based on the rest of the error
23:05:26Araq3. join with separator already exists in strutils
23:05:34dts|pokeballyou told me it doesnt!
23:06:03dts|pokeballalso, sorry, got some bad habits from c++
23:06:22Araqno, you described some weird joining where pairwise joins don't produce a separator or something like that
23:06:37Araqbut maybe I got it wrong
23:06:52dts|pokeballi probably explained it badly
23:07:43Araq4. split with ' ' instead " " might be slightly faster
23:15:17gokrThere is a really cool tool that originated in Squeak that helps you find library methods like this by a search-by-example.
23:15:32gokrSo you give it args and results - one or more examples.
23:16:12gokrAnd it brute force runs all matching methods to find the method you want. Its surprisingly efficient in finding stuff.
23:17:31Araqgokr: the Haskell guys claim to have something much better. a type based search
23:17:53Araqyou give a type like a -> a and the tool writes the identity functions for you
23:18:04Araq*function
23:18:14*yglukhov___ quit (Quit: Be back later ...)
23:19:09gokrI am not sure I understood what you meant.
23:19:53flaviugokr: lowercase letters are typically used for generic parameters in haskell
23:20:26flaviuso searching for `a -> a` searches for a function that takes an a and returns an a
23:20:26perturbationI've played around with Pharo and I was very impressed with the class browser and debugger. Unfortunately it's a bitch to get running in Debian stable so I have the VM in a VM...
23:20:48perturbationHaskell and Smalltalk are very cool but I just don't have enough time for all of these
23:21:44gokrI am a long time Smalltalker, use Pharo and Squeak a lot. But never got into Haskell, although I liked Darcs :)
23:22:20gokrflaviu: And... when you say a you mean a type, right?
23:22:40flaviuYes, I mean a type, as in 1: int
23:22:44gokrSo what's so cool about finding all functions that take an int and returns an int?
23:23:10Araqit doesn't *find* it. it *writes* it for you.
23:23:23*saml quit (Quit: Leaving)
23:24:02gokrGiven sample inputs?
23:24:56Araqno, given the *types*
23:25:02flaviugokr: In haskell-land, the program is closely related to the types.
23:25:12Mat4ciao
23:25:29*Mat4 left #nimrod (#nimrod)
23:25:36flaviuInstead of using types for verification, the types correspond almost directly to the program.
23:26:44gokrSo ok, how would it find all "functions" that given 27 and 3 gives 9? Do you express these as "types" somehow?
23:27:08flaviugokr: It'd be ridiculous even by their standards, but you could.
23:27:12gokrSidenote, Squeak 4.4 does this: MethodFinder methodFor: #( (27 3) 9) ==> '(data1 // data2) (data1 / data2) (data1 quo: data2) '
23:28:03flaviuerr, I misunderstood. I was answering "Can 27 + 3 = 9 be expressed in the type signature?"
23:28:04gokrAnd suddenly its not *that* ridiculous is it? ;)
23:28:25gokrNo, arg1 = 27, arg2 = 3, result = 9
23:28:47Araqdunno. all these () look perlish to me.
23:29:09gokrAraq: That's a string silly.
23:29:49Araqugh my eyes. it's ugly.
23:30:00gokrAlso, it doesn't matter if I use 27 3 or 3 27, it tests them in all orders.
23:30:02*cir0x joined #nimrod
23:30:04Araq(obviously I'm not serious)
23:30:10Araqhi cir0x welcome
23:30:14gokrI know ;)
23:30:23cir0xhi
23:30:25*Var|Mobile quit (Ping timeout: 250 seconds)
23:30:31gokrBut couldn't we do "one better" with nim?
23:30:59Araqdunno. last time I checked I came up with strongSpaces to fight () but you were against it
23:31:16gokrI am not talking about () - I am talking about MethodFinder.
23:31:58Araq*shrug* MethodFinder surely is possible, but it's only useful for people who don't know everything
23:32:09perturbationHow does methodfinder work without causing (potentially very bad) side effects?
23:32:21gokrNow, if you really want to talk about "()" in that oneliner I wrote. This is a nested array literal: #( (27 3) 9). The only other parens in that code is inside a string literal.
23:32:36Araqperlish!!!
23:32:44perturbationi.e., if you were looking for a proc that took TFile and returned boolean for some proc ls(TFile t): bool
23:33:02perturbationand it would evaluate also proc rm(TFile t): bool that returns true if it deletes a file?
23:33:03gokrperturbation: Its actually very simple, they just list "save methods" that it tests through.
23:33:11Araqperturbation: well Nim has this thing called .noSideEffect
23:33:20gokrBut as I said Nim could do "one better" - we have both types and effects info
23:33:33gokrBut Aray was so busy staring at parens he didn't catch on.
23:33:41gokrAraq.
23:33:59Araqhey, you annoyed me, and now you get it back
23:34:07gokrperturbation: I meant "safe methods", not save.
23:34:11gokrHa!
23:34:15perturbationgotcha - interesting
23:34:34gokrCome on, you can't seriously think that code you pasted the other day was somehow "beautiful"?
23:34:48repaxI wonder how useful that really is in practice, though..
23:34:57Araqwell 'cast' has been designed to look ugly
23:35:08gokrHehe, good point. Touché.
23:35:09Araqapart from that it's perfectly consistent
23:35:20Araqand reads from left to right
23:36:05Araqand if that's already ugly for you ... I suggest you never look at fowl's code
23:36:10EXetoCor vice versa depending on how you word it
23:36:33gokrWell, as an outsider - it did look... pretty.. Perlish. I wasn't actually trying to parse it carefully - it was just an initial feeling.
23:36:48AraqNim has not really been designed to prevent ugly code
23:36:55Araqit doesn't encourage it either though
23:36:59gokrrepax: It turns out, the richer your stdlibs get - the more useful it can be.
23:39:40repaxgokr, does it compose functions as well?
23:39:54*marketbot joined #nimrod
23:40:03dts|pokeballguys!! i wrote a bot in nim
23:40:06gokrrepax: Not sure what you mean.
23:40:08dts|pokeball,echo Hello, world!
23:40:08marketbothello, world!
23:40:26flaviu,echo ,echo marketbot
23:40:26marketbot,echo marketbot
23:40:30Araq,echo your mother .... !
23:40:30marketbotyour mother .... !
23:40:37Araqhey!
23:40:46gokrBan him!
23:40:52dts|pokeballheh
23:40:53Araqyeah I should
23:40:56repaxgokr, does it return a single function that matches the example, or does it also try to combine functions?
23:41:05gokrThe former
23:41:35*Var|Mobile joined #nimrod
23:41:39gokrrepax: It was just a rather trivial tool that's easy to do in Smalltalk since you have "full reflection".
23:41:39dts|pokeball,part #nimrod
23:41:39*marketbot left #nimrod (#nimrod)
23:41:46flaviudts|pokeball: You'll have to invite another bot. I can't abuse just a single bot!
23:42:06dts|pokeballflaviu, ill get my friend to bring his in when he joins
23:42:09flaviu!lastseen ,echo
23:42:30flaviu!seen ,echo
23:42:30NimBot_I have not seen ,echo
23:42:36*Trustable1 quit (Quit: Leaving)
23:42:39flaviu\nick ,echo
23:42:45Araqsee? that's the problem right here. The Haskell guys have a tool that tries all combinations and then writes a program to predict stock developments
23:42:55Araqand now everybody that uses Haskell is rich
23:43:21EXetoC,echo
23:43:29EXetoCoh
23:43:34Araqit also created the first working fusion reactor
23:43:51gokrrepax: I just think its worth trying to pursue more advanced tooling, and not just language features :)
23:43:53repaxKnew i should have learned haskell instead of ...
23:43:59perturbationwhat put me off working with Haskell/Elm is that cabal always seemed to be breaking stuff every 5 minutes
23:44:19repaxgokr, sure. I'm not against the idea
23:44:37perturbationbut then I think that was before I discovered sandboxes
23:44:53gokrBut that's just the "Smalltalker" in me talking. The beauty of Smalltalk is at least 50% in the tooling.
23:45:53dts|pokeballhow would i install sqlite for nim?
23:45:57repaxAs for nim, a ast-manipulation library is where the gold is
23:46:27Araqyou mean one like macros.nim already provides?
23:46:46repaxI mean like refactoring and such over codebases
23:47:04Araqwell the parser is in parser.nim, you know
23:47:23Araqand nimfix can do some renamings already
23:47:31repaxIt has great strenghts
23:47:35gokrThe AST contains everything, right? Including comments?
23:47:46Araqgokr: not anymore.
23:48:14Araqwe found it too hard to work with. that said, nimfix keeps the code as is including comments.
23:48:46gokrBut I would "lose" if I go to AST, restructure, try to generate source, right?
23:49:47repaxSuppose I'd want to write a IDE that worked on an AST model directly instead of source code TEXT, interfacing with a nim AST-library
23:50:03gokrGot this annoying itch write a Nim "IDE" in Smalltalk. ;)
23:50:06Araqgokr: yes, unless you do it how nimfix does it
23:50:18gokrIt keeps track of intervals of comments etc?
23:50:50Araqno, it just uses the original line info in every AST node
23:50:57Araqbut the result is the same
23:51:50Araqrepax: as i said, been there, tried that.
23:52:03Araqdoesn't work out too well
23:52:29*Jesin joined #nimrod
23:52:36gokrCare to elaborate?
23:52:39AraqI mean it starts with string literals:
23:52:45repaxI'm sufficiently naive to not believe that
23:52:52Araq"foo\10"
23:52:58Araqis that "foo\n"?
23:53:02cir0xWhat am I doing wrong? http://hastebin.com/cemuropidi.apache
23:53:09flaviuAraq: Yes.
23:53:17Araqon unix perhaps, on windows not.
23:53:46Araqso ... you must not translate escape sequences in string literals or you lose information
23:53:55Araqthat might be relevant for the programmer
23:54:17Araqespecially if the code really uses strings to encode x86 instructions, for instance
23:54:47flaviuAraq: Nim is odd in making '\n' platform dependent, everyone else just does \10.
23:55:09Araqflaviu: that doesn't take away anything from my point
23:55:12flaviuAraq: In that case, laugh at the programmer because he really should have thought it through.
23:55:37flaviuBut anyway: string literals are tokenized separately from newlines.
23:55:38repaxYes, fck the programmer
23:55:49Araqflaviu: everyone else also pays the price for binary vs text file modes
23:56:05Araqwhich is a non-issue for Nim as a result
23:56:40Araqand then it goes on with integer literals
23:56:52Araq0xff is that 255?
23:57:03flaviuYou know it is.
23:57:15Araqis 0xDEADBEEF the same as its decimal representation?
23:57:24fowlwrite a template so you could do obj.castTo(int)
23:57:29Araqhow does the AST renderer know?
23:57:31fowlif cast is ugly to you
23:57:36gokrWhy the obsession of skipping source?
23:57:38fowlanybody
23:58:30repaxgokr, to do proper auto inserts and refactorings
23:58:34Araqgokr: my point is that the AST really needs to be very carefully constructed in order to not lose information that's important to the programmer
23:59:00Araqand at one point you say "screw this, just modify the original buffer instead"
23:59:04gokrYes, I understand. I was merely wondering why repax wants to get rid of source completely.
23:59:30Araqeven 1 whitespace line vs 2 whitespace lines might convey some meaning
23:59:30gokrSmalltalk has both.