<< 03-09-2013 >>

00:00:32*DAddYE joined #nimrod
00:12:05MFlameractually, maybe bindSym is what I'm looking for....
00:13:03*EXetoC quit (Quit: WeeChat 0.4.1)
00:18:43NimBotAraq/Nimrod master d65fcf1 Zahary Karadjov [+0 ±3 -0]: parsing of user defined type classes
00:18:43NimBotAraq/Nimrod master e17c32d Zahary Karadjov [+0 ±1 -0]: fix parsing of ``proc foo(x: distinct Type)``
00:18:43NimBotAraq/Nimrod master 4b6fd90 Zahary Karadjov [+0 ±7 -0]: working code for simple cases of user-defined type classes
00:18:43NimBotAraq/Nimrod master 4d5b9c5 Zahary Karadjov [+0 ±4 -0]: prevent eval crashes due to PContext-dependent ops not being available in evalConstExpr
00:18:43NimBot10 more commits.
00:25:29BitPuffinzahary do you have commit access to nimrod?
00:27:30zaharyyep
00:27:58zaharyI know the compiler pretty well by now
00:28:37BitPuffinthat's nice
00:29:11BitPuffindid what you just push fix the regression mentioned earlier?
00:29:53zaharynope, that's another set of feature I've working on lately
00:30:06BitPuffinthe thing you pushed?
00:30:10zaharyI'll try to get back to bug fixing in the next few days
00:30:39zaharydoh, it's late: * features I've been *
00:30:57BitPuffindidn't even notice that haha
00:31:03BitPuffinI read it correctly
00:31:12BitPuffingood thing it is late for both of us hehe
00:31:35zaharythe swizzle thing is in these commits btw
00:31:43BitPuffinwhaaaat!!
00:31:56zaharylook for the latest manual for the delegator pragma
00:32:12BitPuffinyou should have screamed that at me immediately
00:32:34BitPuffinin doc?
00:33:16zaharyhttps://github.com/Araq/Nimrod/blob/7f5bd9539571d4c63f319948f4475aeacb1f3d6f/doc/manual.txt#L4503
00:37:14BitPuffinniice
00:37:14BitPuffina.b(c, d) => delegator("b", a, c)
00:37:18BitPuffinwhat happened to d there?
00:38:04zaharyoops, another case of "it's too late"
00:38:15BitPuffinit feels like ordering is a bit strange. Isn't usually the object you are operating on passed as the first parameter?
00:38:39BitPuffinlike proc add(a: T, b; TNumber) or whatever
00:38:48BitPuffinthen you'd do a.add(2)
00:39:08BitPuffina.b => delegator("b", a) here it becomes the reverse
00:39:35BitPuffinI guess it doesn't matter too much. But it feels a bit inconsistent. But maybe there is a good reason for it
00:39:44BitPuffinI might be reading in to it a bit wrong too
00:39:47BitPuffinit is late after all :)
00:41:10BitPuffinreally really awesome feature though
00:41:20BitPuffinthis will be implemented into linagl almost immediately
00:41:32BitPuffinalthough I can't really work on linagl until the regression is fixed
00:41:34BitPuffinhowever though
00:41:35zaharyit's a bit unusual, but I didn't want to give more weight to the first param, because full overload resolution is taking place and all of the params are relevant when matching the signature
00:41:37BitPuffini still have a bit to read
00:41:57zaharyand then a(b,c,d) would have been reversed in the other scenario
00:42:37BitPuffinyeah I could kind of see how with a b, c, d the "traditional" order of parameter kind of falls apart in the delegate signature
00:45:56BitPuffinand with myunknownthingy(a, b, c)
00:46:03BitPuffinthen the parameter order really makes sense
00:47:52zaharyand it's an advanced feature that should be used rarely so more confusing interface adds the right "scary" effect :)
00:48:14BitPuffinhaha!
00:48:21BitPuffinWell I guess that is not entirely false :)
00:48:39BitPuffinI will feel like the nimrod master when I am using it
00:48:49BitPuffinoh crap now I feel like it is a rush with linagl
00:49:05BitPuffinbecause I suddenly want to be the first using it to do something useful lol
01:13:09*DAddYE quit (Remote host closed the connection)
01:15:42*MFlamer quit (Quit: Page closed)
01:29:15*DAddYE joined #nimrod
01:30:10*MFlamer joined #nimrod
01:39:34*DAddYE quit (Remote host closed the connection)
01:40:01*DAddYE joined #nimrod
01:44:20*DAddYE quit (Ping timeout: 240 seconds)
02:01:23*q66 quit (Quit: Leaving)
02:26:22Associat0r"all popular languages are imperative, although unfortunately slowly they are giving in to lambda terrorists"
02:27:54Associat0rhttp://www.reddit.com/r/programming/comments/1ll22o/nimrod_the_return_of_pascal/cc0e3ub
02:43:23OrionPKlol, lambda terrorists..
03:23:44*g0m joined #nimrod
03:24:07g0mhello
03:49:05*g0m quit (Quit: Page closed)
03:57:04*fowl joined #nimrod
03:59:14*OrionPK quit (Quit: Leaving)
04:23:39*ltbarcly_ joined #nimrod
04:28:54*ltbarcly_ quit (Ping timeout: 264 seconds)
04:29:34*fowl quit (Quit: Leaving)
04:29:41*ltbarcly_ joined #nimrod
04:42:06*ltbarcly_ quit (Ping timeout: 264 seconds)
04:43:44*ltbarcly_ joined #nimrod
04:48:03*ltbarcly_ quit (Ping timeout: 245 seconds)
06:30:17vegaicould anyone answer this? https://news.ycombinator.com/item?id=6319257
06:30:24vegaihe's asking for macro examples
06:42:44*DAddYE joined #nimrod
07:03:00*DAddYE quit (Remote host closed the connection)
07:08:14*Associat0r quit (Quit: Associat0r)
07:13:26*Araq_ joined #nimrod
07:31:57*MFlamer quit (Ping timeout: 250 seconds)
08:47:09*Endeg joined #nimrod
09:17:29*Araq_ quit (Quit: ChatZilla 0.9.90.1 [Firefox 23.0.1/20130814063812])
09:52:08*q66 joined #nimrod
10:03:06*faassen joined #nimrod
10:08:39*Associat0r joined #nimrod
10:08:39*Associat0r quit (Changing host)
10:08:39*Associat0r joined #nimrod
10:09:02*EXetoC joined #nimrod
10:10:44*Associat0r quit (Client Quit)
10:40:55*EXetoC quit (Quit: WeeChat 0.4.1)
13:21:56*faassen left #nimrod (#nimrod)
13:22:17*faassen joined #nimrod
13:24:10*faassen left #nimrod (#nimrod)
13:24:35*faassen joined #nimrod
13:28:56*Associat0r joined #nimrod
13:28:56*Associat0r quit (Changing host)
13:28:56*Associat0r joined #nimrod
14:08:54*ltbarcly_ joined #nimrod
14:09:55*ltbarcly quit (Ping timeout: 260 seconds)
14:23:22BitPuffinit's quiet here today!
14:24:31BitPuffinzahary zahary_ tell me when the regression is fixed will you? :)
14:24:58zahary_ok, but you know that there is an easy work-around, right?
14:25:14BitPuffinthere is?
14:25:18zahary_just remove the range constraint
14:25:26BitPuffinwill passing a range still work?
14:25:30zahary_yes
14:25:36BitPuffinI see!
14:25:38BitPuffinwell good
14:25:41BitPuffinbut still notify me
14:25:45BitPuffinso I can add it back later
14:25:55zahary_sure
14:29:13BitPuffinzahary_ that seems to break it too
14:32:46BitPuffinhmm actually no sorry
14:32:53BitPuffinthat was just me writing ranges like 0..2
14:32:59BitPuffininstead of range[0..2]
14:33:07BitPuffinwhich worked with the range constraint but not without
14:34:31BitPuffinoohhh
14:34:32BitPuffincrap
14:34:40BitPuffinI have added a range constraint on like everything
14:34:53BitPuffinalthough actually I intend to refactor all this to not use ranges anymore with your feature anyways
14:34:59BitPuffinso I guess it doesn't matter haha
14:35:11zahary_try using the expt[int] stuff
14:35:23BitPuffinexpt[int]?
14:35:24zahary_it has some more compicated tests
14:35:54zahary_expr[int] means compile-time int value. it also indicates int parameters for the generics
14:36:12zahary_type Matrix[T; N, M: expr[int]]
14:36:24zahary_Matrix[float, 3, 3]
14:36:29BitPuffinoooh
14:36:33BitPuffincan't you also do
14:36:40BitPuffinint{expr} or something
14:37:23zahary_nope. this has a slightly different semantics. it merely matches a real literal value appearing in the code
14:37:39BitPuffinbut what is int{expr} then?
14:37:49zahary_expr[int] will try to evaluate static functions calls and more complex expressions
14:38:29BitPuffinoh wait
14:38:36zahary_Matrix[float, ("xzz".len + 10) * 2]
14:38:36BitPuffinI mean int{lit} I think
14:38:55BitPuffinbut expr[int] is much better
14:38:59BitPuffinbecause it's not strictly literal
14:39:22BitPuffindoesn int{expr} even exist? lol
14:40:26zahary_int{lit} is only supported in proc signatures too
14:40:50BitPuffinbut not in generics?
14:40:53zahary_yes
14:40:56BitPuffinwhy not?
14:42:45zahary_I guess it would be a bit more confusing. because within the generics, [T: int], doesn't mean "accept an int value, it means "matches specifically only the int type" - something like typedesc[int] when it comes to procs
14:43:15BitPuffinhm
14:43:25zahary_so the difference between int and int{lit} will be greater than it is for procs
14:46:02zahary_although the same can be said for int vs expr[int] so the other answer may that we just lazy :)
14:46:55BitPuffinhehe :)
14:51:57*faassen quit (Quit: Leaving.)
14:52:27*nihathrael left #nimrod (#nimrod)
14:52:33*nihathrael joined #nimrod
14:52:45*nihathrael left #nimrod (#nimrod)
15:16:39dom96hello
15:16:56Trixar_zaHello dom96
15:17:18Trixar_zahttp://user.gigirc.com:81/~brenton/slow_rise.mp3 <--- look at what I made playing with fractals
15:19:52dom96cool, how did you make it?
15:23:28Trixar_zaUsing an old windows program called MusiNum: http://reglos.de/musinum/#download
15:24:14Trixar_zaThen I converted it to a mp3 with http://solmire.com/ and edited it with Audacity
15:24:55Trixar_zaI tried finding a proper convertor program, but it's either shareware, commericial or just plain bad
15:25:18Trixar_zaFound a bunch of python scripts that can do the same, so I'm playing with them later
15:27:30dom96This happens on Ubuntu now too? :\ https://github.com/nimrod-code/Aporia/issues/41
16:00:29zahary_hmm, I changed the garbage collector used for Nimrod itself - this fixes the mac build of Aporia for me
16:01:05zahary_these kind of crashes seem to be prematurely freed memory
16:05:14NimBotAraq/Nimrod master 29329cb Mark Flamer [+0 ±2 -0]: Add arity typetrait
16:05:14NimBotAraq/Nimrod master ac3cf3d zah [+0 ±2 -0]: Merge pull request #586 from mflamer/master... 2 more lines
16:29:20*Mat2 joined #nimrod
16:29:23Mat2hi all
16:32:18BitPuffinhey there Mat2
16:36:06Mat2hi BitPuffin
16:37:07Mat2one question. How can I get the address (I mean the memory address) of an array ?
16:37:33reactormonkMat2, addr <array>
16:37:38reactormonkunsafe.
16:40:57Mat2thanks
16:41:57Mat2nice, error: expression has no address
16:42:33reactormonkO.o
16:42:42BitPuffinpaste yer code
16:44:33Mat2one moment, I must correct a type first
16:46:26Mat2ok, think founding the error
16:47:23*DAddYE joined #nimrod
16:53:13*darithorn quit (Read error: Connection reset by peer)
16:53:39*darithorn joined #nimrod
16:58:35*brson joined #nimrod
17:07:08BitPuffinI think something like SQLAlchemy would be awesome for nimrod
17:07:16BitPuffinwould be a nice thing to combine with jester
17:07:19*BitPuffin pokes dom96
17:07:35dom96hi
17:08:05BitPuffinwhy hello there
17:08:29*shodan45 quit (Quit: Konversation terminated!)
17:10:14*ltbarcly joined #nimrod
17:10:30reactormonkBitPuffin, sqlalchemy is yet another SQL layer?
17:10:39BitPuffinreactormonk it is an ORM
17:12:00BitPuffinreactormonk well not only
17:12:03BitPuffinbut it can act as one
17:12:54reactormonkBitPuffin, I'd start with http://sequel.rubyforge.org/ - so no ORM, just SQL syntax in nimrod and some macros to transform it into an SQL query - with escaping n stuff.
17:13:08BitPuffinreactormonk sqlalchemy has that too
17:13:21BitPuffinreactormonk it's like sequel with an orm if you want it
17:13:23BitPuffinafaik
17:13:42reactormonkBitPuffin, I'd just go for sequel for starters - with macros you should be able to generate the queries at compile-type
17:13:47reactormonks/type/time/
17:13:57BitPuffinI know about sequel
17:14:28BitPuffinBut I just don't see how they differ that much other than that sqlalchemy has already solved the design of how to integrate an orm into the design
17:15:07BitPuffinit's probably one of the libraries I see being praised the most
17:19:10Mat2hi dom96
17:19:51Mat2can you give me the link again to your blog module ?
17:20:10BitPuffinzahary_ is it possible to use delegator with = ?
17:20:30BitPuffinSo that I can do v.xz = [2, 34]
17:20:54Mat2bbl
17:20:55dom96Mat2: You mean this? https://github.com/dom96/ipsumgenera
17:21:20Mat2yes, thanks
17:21:54Mat2must reboot
17:21:58*Mat2 quit (Quit: Verlassend)
17:25:46*Mat2 joined #nimrod
17:26:12*Mat2 one memory leak later...
17:26:36BitPuffinMat2 irresponsible coding!!
17:28:47Mat2say that to the Linux kernel developers
17:29:56BitPuffinMat2 yeah ffs
17:39:28Mat2someone should hint them, that most ELF entries have a sense
17:39:42Mat2for example
18:03:36*Mat2 some error messages of the compiler reminds me of koans
18:04:52Mat2^some error messages from the compiler
18:09:18Mat2have someone here used the assembler statement before ?
18:18:33Mat2I following the example in the Nimrod manual:
18:18:34Mat2 asm """
18:18:35Mat2 .byte 0xCC
18:18:39Mat2 """
18:19:36Mat2and get these error:
18:19:41Mat2 Fehler: expected string literal before ».« token
18:19:56Mat2 (from the C compiler)
18:20:54BitPuffinI have not
18:20:59AraqMat2: use this instead:
18:21:03Araqasm """
18:21:09Araq ".byte 0xCC"
18:21:12Araq""""
18:21:20BitPuffinMat2 btw the assembly resource you linked me a while back was for some odd asm architecture. Does it still apply for x86?
18:21:41Araqnote the quotes in the triple quotes as it's copied verbatim to GCC's assembler statement
18:21:52Mat2hi Araq, thanks
18:21:56BitPuffinAraq why does it need to be in quotes?
18:22:13AraqBitPuffin: because I was lazy, sorry
18:22:25BitPuffinAraq ah that's fine. Just wanted to know
18:22:37BitPuffinAraq will the need for quotes be removed some day?
18:22:51BitPuffinlike for 1.0 or whatever
18:22:52AraqI might do it tonight :P
18:22:57BitPuffinoh really?
18:22:59BitPuffincool :)
18:23:02BitPuffinnot that I know asm yet
18:23:08BitPuffinbut I hope to optimize linagl eventually with it
18:23:35Mat2BitPuffin: These algorithms are universal, the sources are for a Z80 CPU which is i8080 compatible and the i8086 shares most features beside the encoding
18:23:57Araqzahary: yeah we have a corruption for nimbuild too; I think we should combine the GCs so that it triggers as soon as memory is reclaimed that's still reachable according to the M&S GC :D
18:23:58BitPuffinMat2 I see. So in general the same "source" would work on x86?
18:24:24BitPuffinhttp://sgate.emt.bme.hu/patai/publications/z80guide/ this was the site right?
18:24:38Mat2no, but all mnemonics can be 1:1 translated to valid 8086 code
18:24:58Mat2yes, that is the side
18:25:20BitPuffinokay cool!
18:25:30Mat2there exist even a translation tool from Z80 or i8080 assembler sources to i8086
18:25:39BitPuffinis there an equally good resource for x86 asm? :)
18:25:53BitPuffinfor novices that is
18:26:10Mat2take a look at the fasm web site: www.flatassembler.net
18:29:40BitPuffinwhat is the assembler that nimrod uses?
18:29:49Mat2(by the way, you find the translator complete with all sources for the operating-system on a QDOS boot-disk, an OS which later was known as MS-DOS)
18:30:07Mat2GNU as
18:30:20BitPuffindoes that work if you use clang?
18:30:31Mat2for sure not
18:30:47BitPuffinso no asm statement for clang?
18:30:48BitPuffinAraq?
18:32:24AraqBitPuffin: clang has an asm statement and I think it uses the same syntax as gcc; however even if not you can easily do:
18:32:32Araqwhen defined(clang):
18:32:39Araq asm """ .... """
18:32:41Araqelse:
18:32:46Araq asm """ ... """
18:32:56BitPuffinhmm yeah true
18:33:19BitPuffininline asm quickly becomes insane in that case hehe
18:33:31BitPuffinBut it seems like nimrod gets better performance from clang
18:34:01BitPuffinat least in that nimrod vs rust vs D vs c++ etc benchmark
18:34:02AraqBitPuffin: on my machine the compiler produced with GCC is slightly faster than clang
18:34:11Araqat least it used to be this way
18:34:13BitPuffinAraq oh? Didn't know
18:34:22Araqit's hard to keep up to date all the time :P
18:34:30BitPuffinAraq One advantage with clang though is that it is faster at compilation I believe
18:34:37BitPuffinthey are in competition hehe :)
18:34:55*ltbarcly quit (Quit: Textual IRC Client: www.textualapp.com)
18:38:23Mat2Araq: clang does not support all ehm, syntax features of as
18:38:47BitPuffinMat2 ehm?
18:39:00AraqMat2: and yet I'm sure it's good enough for compiling the linux kernel; compilers tend to be quick to support compiling it
18:39:26BitPuffinAraq you compile linux with clang?
18:39:44Mat2Araq: that's right, however do not assume there exist no incompatiblities
18:40:11AraqBitPuffin: I never compile any C/C++ code if I can avoid it
18:40:45BitPuffinAraq you mean except every time you use nimrod for anything?
18:40:49BitPuffinexcept web dev
18:41:14BitPuffinAraq how do ou know clang can compile the linjucks kernel?
18:41:22Araqwell I never compile any C code that has been written by hand :P
18:41:32BitPuffinhehe :)
18:42:20Mat2Araq: still does not work
18:42:47AraqMat2: I did a typo with the closing """
18:43:08Araqwhat's the error message?
18:43:40Mat2Error: junk at end of line, first unrecognized character is `p'
18:45:04Mat2ok, after take a look at the C sources its clear that the asm statement can't compile
18:46:15Mat2asm ( .byte 0xCC
18:46:20Mat2...
18:46:57Mat2the right statement would be: asm (".byte 0xCC...");
18:47:40Araqwell I told you to use extra quotes
18:47:50Mat2I have
18:48:10Araqstrange
18:48:11Mat2 asm """
18:48:11Mat2 ".byte 0xCC"
18:48:14Mat2...
18:50:41Mat2another problem is, that variables names are not resolved:
18:50:58Mat2 "mov navmBackendS1, %rax"
18:51:14Mat2should be translated to:
18:51:15Araquse `navmBackendS1`
18:51:27Mat2thanks
18:51:29Araqwith backticks so the compiler knows it's a nimrod symbol
18:57:30Mat2so I compile in the form:
18:57:39Mat2asm """ ".byte 0xCC """ ...
18:57:45Mat2that works
18:58:00dom96Well at least we made the top 100: http://adambard.com/blog/top-github-languages-for-2013-so-far/
18:58:01Mat2^asm """ ".byte 0xCC" """
18:58:28AraqMat2: strange, let me take a look
18:58:54Mat2uno momento
19:01:33Araqdom96: yay 82th is not bad :P
19:02:36Mat2Araq: https://gist.github.com/anonymous/6428137
19:09:51Mat2please not, only navmBackendTempAdr is converted right despite that all used symbols are setted in backticks
19:10:29Mat2and I do not see the reason for all these nimnl calls
19:11:29Araq{.push stackTrace: off.} gets rid of them
19:18:48AraqMat2: https://gist.github.com/Araq/6428326
19:18:52Araqproduces:
19:19:07Araqasm(
19:19:08Araq ".byte 0xCC\n"
19:19:10Araq "push %rcx\n"
19:19:11Araq "push %rdx\n"
19:19:13Araq "push %r8\n"
19:19:14Araq "mov navmBackendS1, %rax\n"
19:19:16Araq "mov navmBackendS2, %r8\n"
19:19:17Araq "mov navmBackendTempAdr, %rdx\n"
19:19:19Araq "call *%rdx\n"
19:19:20Araq "mov %rax, navmBackendS1\n"
19:19:22Araq );
19:20:15Araqand that's how it's supposed to be used, but as I said, just relax and wait a sec ;-)
19:22:52Mat2ah, the '\n'
19:26:40Mat2ok, works - thanks
19:27:31Araqtry this as the first line: ".intel_syntax noprefix\"
19:27:41Araqgcc is supposed to support Intel's syntax
19:27:50AraqI never tried it though
19:28:10Mat2thnaks for the tip, but as features a very special Intel syntax
19:28:25Mat2^thanks
19:29:34Mat2if you know MASM you know why I am prefer the AT&T style...
19:30:45AraqAT&T style is an abomination
19:30:56Araq;-)
19:30:59Mat2well, you do not know MASM
19:31:25AraqI think I do
19:31:34Araqthough it's been a while
19:31:46AraqI can't see how it's related
19:32:59Mat2the GCC folk support MASM compatible syntax (sadly only)
19:33:34Mat2so: MOV QWORD PTR navmBackendTempAdr, rdx
19:33:54Mat2instead of MOV [navmBackendTempAdr], rdx
19:33:59Mat2for example
19:34:38Araqbtw win64 doesn't use AMD's default calling convention
19:34:56Araqso you have to support 2 different calling conventions for x86_64
19:35:08Mat2nice ;)
19:36:42Mat2no problem so far
19:37:50Araq "jno 1\n"
19:37:52Araq "call _raiseOverflow\n"
19:37:53Araq "1: \n"
19:37:55Araq :"=a"(`result`)
19:38:12Araqif Nimrod inserts the " \n" for us, we need to detect clobber register annotations
19:38:36Araqthey seem to start with a :" so that should do to detect these lines
19:38:43Araqwhat do you think?
19:39:45Mat2yes, that's needed
19:44:36*companion_cube joined #nimrod
19:44:47Araqhi companion_cube, welcome
19:44:53companion_cubehi!
19:45:22Mat2hi
19:45:49companion_cubeI took a look at nimrod's features and it looks pretty interesting ^^
19:49:47Mat2Araq: in addition the asm statement should always followed by volatile because GCC can trash the inserted code thanks to some optimizations otherwise
19:50:00companion_cubeI'm surprised by the tagged union stuff, in the Irc module doc I read that in the "TIRC" type, fields depend on a boolean value
19:51:05AraqMat2: I don't know, that's a feature so that the optimizer works with inline assembler
19:53:50Araqcompanion_cube: I picked tagged unions over ML-like sum types as they are more flexible and fit a systems programming language better. imho of course
19:54:58companion_cubebut in this case, it looks like dependent typing?!
19:55:34companion_cubeI really like ML's algebraic types and the pattern matching, but safe tagged unions are ok
19:58:25companion_cubeis there a read-eval-print loop?
19:58:46Araqit's not dependent typing, but with 0.9.3 the type system became flow sensitive
20:01:19companion_cubeok, so that means that some fields become only known within some branch of a case/if
20:02:13Araqwell currently the compile can emit a warning if it cannot prove it statically and it will fail at runtime
20:03:31Araq*the compiler
20:03:38companion_cubeok
20:04:07*Mat2 executing some test routines, seem to work so far
20:04:18reactormonkcompanion_cube, nimrod i
20:04:29companion_cubeI don't see qualified imports, do they exist?
20:04:43Araqfrom x import bah
20:05:14companion_cubereactormonk: nice, thank you
20:05:36companion_cubeAraq: I mean import symbols that are to be prefixed with the module name
20:05:49companion_cube(as in python)
20:06:09Araqwell you can always do x.y if 'x' is somehow imported
20:06:13reactormonkcompanion_cube, there's nothing that has to be prefixed iirc - you can, though.
20:06:19Araqso for instance:
20:06:36companion_cubeI see
20:06:50Araqfrom m import x # x needs no qualifier
20:07:01Araqm.y # others can be accessed with a qualifier
20:07:13Araqfrom m import nil # everything needs a qualifier
20:07:18reactormonk@s
20:07:21Araqimport m # everything imported
20:07:24reactormonkoops.
20:08:20companion_cubefrom m import nil, then
20:08:37companion_cubealso, I must say that the std lib looks pretty nice
20:14:13Araqcompanion_cube: "import m" is the nimrodic way though as it that plays well with user defined operators and method call syntax
20:14:56Araqand "namespace pollution" is no problem in a statically typed environment in practice
20:17:39BitPuffinAraq will simd stuff be added to the stdlib?
20:18:14companion_cubeah, it help with operator overloading
20:19:22*BitPuffin is now known as BitPuffin|zzzzzz
20:19:33AraqBitPuffin: sure lots of people ask for that
20:20:06BitPuffin|zzzzzzAraq cool! it would be grrrreat!
20:22:20Mat2simd stuff ?
20:22:52BitPuffin|zzzzzzMat2 single instruction multiple data
20:24:02Mat2ah, SIMD !!!
20:25:11Mat2not a simulator for D
20:25:34BitPuffin|zzzzzzMat2 hehe nope
20:25:37BitPuffin|zzzzzzanyways
20:25:40BitPuffin|zzzzzznightynight
20:25:47Mat2ciao
20:41:14Araq"Programming is becoming more interactive. JavaScript proved that the development loop can be as short as refreshing your browser. More recently, Go made fast compilation possible at Google scale." ... omg
20:46:42Mat2Scale Google, scale !
20:49:26dom96Yeah, that doesn't mean much. Especially when you think about Facebook, its scale and the fact that they use PHP.
20:50:35Araqobviously PHP is web scale too
20:50:46companion_cubeeveryone knows that JS is much more interactive than old days' lisp
20:51:12Araqin fact, PHP proved that dollar sigils are essential for scalability
20:51:45Mat2right, one month coding in Javascript and your keyboard begin speaking wirth you
20:51:49Mat2^with
20:52:39Mat2that's real interactiveness
20:53:24companion_cubeis &= efficient for multiple concatenations?
20:53:50dom96You should use 'add' :P
20:54:18dom96It's the nimrod way.
20:56:00companion_cubeis there really a difference?
20:57:03dom96nah, &= is an alias for 'add'.
20:57:06Araqno except we forgot to implement &= for some things
20:57:18dom96that too.
20:57:57companion_cubeis "&" a more general operator than string concatenation?
20:58:08*companion_cube feels like asking a bit too many questions
21:01:39Araq& can concatenate seqs too
21:02:20companion_cubeah, I see
21:03:41*jdp_ joined #nimrod
21:23:16Mat2hi jdp
21:39:25*EXetoC joined #nimrod
21:42:17Mat2hi EXetoC
21:46:05Mat2ciao
21:46:09Araqwait
21:46:22Mat2ok
21:48:17NimBotAraq/Nimrod master ceee4d5 Araq [+0 ±6 -0]: better support for GNU's assembler
21:48:17NimBotAraq/Nimrod master 1a57c1e Araq [+0 ±29 -0]: resolved the conflict
21:48:29Mat2ah I see
21:48:34Araqhere you go; no need for " \n" crap
21:48:43Mat2thanks
21:49:42reactormonk if i mod 2: nh = nh / 2
21:49:46reactormonkgives me fibonacci.nim(16, 11) Error: type mismatch: got (range -1..1(int)) but expected 'bool'
21:50:19Araqif i mod 2 != 0
21:53:59reactormonkI suppose you can't really blaim c2nim for that, can you?
21:54:19Mat2ciao
21:54:28*Mat2 quit (Quit: Verlassend)
21:55:47Araqnope, c2nim doesn't know anything about nimrod's strong typing
22:06:38*OrionPK joined #nimrod
22:23:29*shodan45 joined #nimrod
22:25:05*jdp_ is now known as jdp
22:37:26*BitPuffin|zzzzzz quit (Ping timeout: 264 seconds)
22:45:11*ltbarcly joined #nimrod
22:53:23*ltbarcly quit (Quit: Computer has gone to sleep.)
23:00:03*EXetoC quit (Quit: WeeChat 0.4.1)
23:32:54*shodan45 quit (Quit: Konversation terminated!)