00:17:52 | * | NimBot joined #nim |
00:33:25 | * | bcinman quit (Read error: Connection reset by peer) |
00:34:11 | * | bcinman joined #nim |
00:35:57 | * | Kingsquee quit (Remote host closed the connection) |
00:36:20 | * | Kingsquee joined #nim |
00:47:17 | * | nande quit (Remote host closed the connection) |
00:50:38 | * | yibter joined #nim |
00:54:43 | * | adu joined #nim |
00:55:32 | * | vendethiel joined #nim |
01:14:38 | * | flaviu quit (Read error: Connection reset by peer) |
01:17:55 | * | flaviu joined #nim |
01:18:16 | * | vendethiel quit (Ping timeout: 240 seconds) |
01:28:51 | * | filwit joined #nim |
01:29:47 | * | TEttinger joined #nim |
01:29:56 | filwit | does anyone know if seq's deallocate memory automatically (after the seq shrinks by a specific portion perhaps)? And on what events, if so. |
01:41:13 | * | adu quit (Ping timeout: 245 seconds) |
01:54:12 | Varriount | filwit: I would think so, however you would need to look at the system code to make sure. |
01:56:24 | * | NimBot joined #nim |
01:57:54 | fowl | not when shrinking |
01:59:06 | * | EXetoC quit (Ping timeout: 252 seconds) |
01:59:52 | filwit | fowl: just to be clear, you know for sure seq's don't realloc and/or free memory on system.del/delete() ? |
02:02:26 | fowl | i'm pretty sure of it |
02:03:05 | filwit | K. I stressed it a bit, and large(ish) seq addresses don't change when deleting their data, so I'm guessing seq's just don't realloc. |
02:03:20 | filwit | either way, it fits my purpose |
02:07:13 | fowl | they're growable but if you create a copy it should be smaller. maybe there is a point where the huge memory footprint outweighs the cost of making a copy |
02:07:55 | * | untitaker quit (Ping timeout: 256 seconds) |
02:09:02 | * | Triplefox quit (Ping timeout: 246 seconds) |
02:09:12 | * | EXetoC joined #nim |
02:09:25 | * | phI||Ip_ quit (Ping timeout: 264 seconds) |
02:10:12 | * | untitaker joined #nim |
02:17:26 | * | filwit quit (Quit: Leaving) |
02:31:26 | * | vendethiel joined #nim |
02:37:16 | * | endragor joined #nim |
02:43:51 | * | Triplefox joined #nim |
02:45:02 | * | darkf joined #nim |
02:47:27 | * | phI||Ip joined #nim |
02:49:37 | * | EXetoC quit (Ping timeout: 264 seconds) |
02:55:37 | * | vendethiel quit (Ping timeout: 264 seconds) |
03:11:57 | * | polkm joined #nim |
03:12:09 | * | Noob_ joined #nim |
03:13:08 | * | Triplefox quit (Ping timeout: 250 seconds) |
03:13:10 | polkm | why nim-opengl need nim 10.3? |
03:13:12 | polkm | huh? |
03:15:19 | renesac | probably relies on some fix from after 10.2 |
03:16:36 | * | Varriount_ joined #nim |
03:18:35 | * | Triplefox joined #nim |
03:19:44 | * | Varriount quit (Ping timeout: 256 seconds) |
03:28:08 | polkm | but thats not the master branch >< |
03:31:30 | * | Triplefox quit (Quit: No Ping reply in 180 seconds.) |
03:31:45 | * | yibter quit (Quit: Textual IRC Client: www.textualapp.com) |
03:32:41 | * | Triplefox joined #nim |
03:34:46 | * | nande joined #nim |
03:37:24 | * | saml_ joined #nim |
03:47:34 | * | Noob_ quit (Quit: Page closed) |
03:51:50 | * | Triplefox quit (Quit: No Ping reply in 180 seconds.) |
03:51:57 | * | adu joined #nim |
03:57:10 | * | Triplefox joined #nim |
04:03:35 | * | phI||Ip quit (Ping timeout: 250 seconds) |
04:08:41 | * | gsingh93 joined #nim |
04:08:43 | * | endragor_ joined #nim |
04:09:56 | * | endragor quit (Ping timeout: 272 seconds) |
04:11:05 | * | phI||Ip joined #nim |
04:12:28 | * | bcinman quit (Quit: My Mac has gone to sleep. ZZZzzz…) |
04:14:08 | * | endragor_ quit (Remote host closed the connection) |
04:19:00 | * | endragor joined #nim |
04:21:52 | * | endragor quit (Remote host closed the connection) |
04:22:20 | * | endragor joined #nim |
04:22:23 | * | saml_ quit (Ping timeout: 246 seconds) |
04:24:23 | * | endragor quit (Remote host closed the connection) |
04:29:49 | * | endragor joined #nim |
04:32:12 | * | endragor quit (Remote host closed the connection) |
04:32:28 | * | adu quit (Ping timeout: 245 seconds) |
04:34:18 | * | endragor joined #nim |
04:36:50 | * | endragor quit (Remote host closed the connection) |
04:36:53 | * | bcinman joined #nim |
04:57:12 | * | endragor joined #nim |
04:58:59 | * | endragor quit (Remote host closed the connection) |
04:59:16 | * | endragor joined #nim |
05:06:30 | * | transfuturist joined #nim |
05:06:35 | fowl | polkm, hey did you get assimp working? if not give me some example code and ill update the wrapper to make it work |
05:06:58 | transfuturist | http://forum.nim-lang.org/t/627/1#7026 |
05:07:15 | fowl | hi |
05:07:22 | transfuturist | Does Nim have any supplied means to get rid of symbol conflict? |
05:08:15 | transfuturist | For that matter, a shared library shouldn't just export all of its functions, should it? |
05:09:06 | cazov | i think it only exports the functions that are {.exportc.} or whatever (but I'm not 100% sure on that one; my only usage is with the dynlib module) |
05:09:51 | cazov | I ended up just having one function exported and having that one return a seq of all the stuff i'm using but performance and memory usage weren't really concerns for my application |
05:10:10 | fowl | transfuturist, they have to be exportc'd |
05:10:26 | transfuturist | The main executable and the shared library source both statically link from a common library |
05:10:46 | transfuturist | but the common library doesn't actually have exportc on it |
05:11:22 | transfuturist | loadLib fails anyway |
05:15:39 | * | Demos quit (Read error: Connection reset by peer) |
05:17:11 | fowl | transfuturist, can the common library be a shared library? |
05:18:29 | transfuturist | ... |
05:18:32 | transfuturist | why didn't i think of that |
05:18:39 | transfuturist | i'll try it |
05:20:35 | fowl | you can have pragmas control how the common library is linked like when defined(BuildCommonLib): {.pragma: cli, exportc:"cli$1", nimcall.} |
05:21:13 | fowl | else: {.pragma: cli, importc:"cli$1", nimcall.} |
05:22:03 | fowl | also you probably need to call the nim init function before you use any function from the loaded dll |
05:26:22 | transfuturist | which is that? |
05:32:33 | * | endragor quit (Remote host closed the connection) |
05:39:12 | fowl | transfuturist, NimMain() |
05:40:08 | fowl | and the modules should be built with usenimrtl |
05:40:30 | * | endragor joined #nim |
05:41:24 | transfuturist | what exactly does NimMain do? |
05:49:46 | polkm | fowl, if it could work like this, that would be nice http://pastebin.com/5UBkBwQ5 |
05:50:46 | * | ^aurora^ joined #nim |
05:58:43 | fowl | transfuturist, runs init for all the modules, sets up the gc |
05:58:56 | fowl | transfuturist, im not sure whats needed in your use case though |
06:14:07 | polkm | this is the closest I've gotten, does anything here look wrong? http://pastebin.com/KBuwpcru |
06:14:20 | * | BlaXpirit joined #nim |
06:14:31 | polkm | I get Illegal storage access. |
06:16:35 | transfuturist | fowl: when compiling to the shared library, NimMain is automatically included |
06:19:06 | * | armin1 is now known as reloc0 |
06:30:56 | * | gsingh93 quit (Ping timeout: 240 seconds) |
06:33:22 | fowl | polkm, include some code to load the model |
06:52:59 | * | bcinman quit (Quit: My Mac has gone to sleep. ZZZzzz…) |
06:53:53 | polkm | ok, so now I'm trying this http://pastebin.com/GNzYN0te, it uses pointer_arithm |
06:54:33 | transfuturist | macros act strangely with varargs |
06:58:21 | * | Ven joined #nim |
07:01:10 | polkm | I feel like im abusing the hell out of casting and stuff, is there a better way? |
07:01:11 | * | transfuturist quit (Quit: leaving) |
07:13:15 | reactormonk | polkm, with pointers? probably not |
07:18:45 | * | endragor_ joined #nim |
07:21:54 | * | endragor quit (Ping timeout: 245 seconds) |
07:30:31 | polkm | how do I alloc a plain old array of ints? |
07:31:11 | BlaXpirit | polkm, seq |
07:33:17 | * | a5i quit (Quit: Connection closed for inactivity) |
07:34:20 | polkm | ooohk then how can I convert a seq back into an array? opengl demands it. |
07:34:50 | * | endragor_ quit (Remote host closed the connection) |
07:34:52 | polkm | at leat a ptr to the first element should work |
07:34:57 | polkm | least* |
07:39:16 | * | polkm quit (Ping timeout: 246 seconds) |
07:42:16 | novist | ehm.. how do i do bit shifting? |
07:43:56 | BlaXpirit | shl |
07:46:23 | * | HakanD joined #nim |
07:47:37 | * | HakanD_ joined #nim |
07:50:44 | * | HakanD quit (Ping timeout: 252 seconds) |
08:04:16 | novist | thank you |
08:10:39 | * | Senketsu quit (Ping timeout: 245 seconds) |
08:10:46 | * | coffeepot joined #nim |
08:11:54 | * | BlaXpirit quit (Quit: Quit Konversation) |
08:27:54 | * | Arrrrrr joined #nim |
08:29:20 | Arrrrrr | Hello Nimrod. |
08:30:19 | coffeepot | Good morning Arrrrrr |
08:37:47 | * | endragor joined #nim |
08:40:29 | * | darkf_ joined #nim |
08:43:43 | * | darkf quit (Ping timeout: 245 seconds) |
08:46:00 | * | milosn quit (Ping timeout: 276 seconds) |
08:47:57 | * | zahary quit (Ping timeout: 276 seconds) |
08:54:48 | * | darkf_ is now known as darkf |
08:56:53 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
09:02:37 | * | Ven joined #nim |
09:20:29 | * | vendethiel joined #nim |
09:27:05 | * | Ven quit (Ping timeout: 256 seconds) |
09:28:56 | * | Tennis joined #nim |
09:34:52 | * | Ven joined #nim |
09:36:54 | * | nande quit (Remote host closed the connection) |
09:45:47 | * | vendethiel quit (Ping timeout: 256 seconds) |
09:47:58 | * | milosn joined #nim |
09:59:11 | * | pafmaf joined #nim |
10:12:15 | * | EXetoC joined #nim |
10:29:04 | * | milosn quit (Ping timeout: 264 seconds) |
10:29:21 | * | HakanD_ quit (Quit: Be back later ...) |
10:32:49 | * | shodan45 quit (Ping timeout: 255 seconds) |
10:40:18 | * | milosn joined #nim |
10:44:10 | * | a5i joined #nim |
10:46:17 | * | HakanD_ joined #nim |
10:51:52 | * | Ven quit (Ping timeout: 264 seconds) |
10:58:43 | * | pafmaf quit (Quit: This computer has gone to sleep) |
11:06:40 | * | milosn quit (Read error: Connection reset by peer) |
11:06:54 | * | milosn joined #nim |
11:20:18 | * | vendethiel joined #nim |
11:30:52 | * | milosn quit (Ping timeout: 255 seconds) |
11:35:13 | * | pafmaf joined #nim |
11:36:30 | * | darkf quit (Read error: Connection reset by peer) |
11:37:14 | * | darkf joined #nim |
11:42:27 | * | BlaXpirit joined #nim |
11:42:41 | * | Kingsquee is now known as Kingsleep |
11:52:44 | * | Ven joined #nim |
12:03:57 | * | Kingsleep quit (Quit: Konversation terminated!) |
12:05:20 | * | milosn joined #nim |
12:07:10 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
12:10:24 | * | Ven joined #nim |
12:10:33 | * | banister quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
12:10:49 | * | milosn quit (Read error: Connection reset by peer) |
12:11:35 | * | milosn joined #nim |
12:12:02 | * | wb quit (Ping timeout: 265 seconds) |
12:12:22 | HakanD_ | quiet, quiet today |
12:12:38 | * | milosn quit (Read error: Connection reset by peer) |
12:14:29 | * | Trustable joined #nim |
12:14:41 | BlaXpirit | AAAAAaaaAAAIAIAI |
12:16:38 | * | milosn joined #nim |
12:28:50 | * | blackKnight joined #nim |
12:29:14 | * | blackKnight is now known as Guest85632 |
12:35:32 | Guest85632 | Hello: I really would like to see the mecab bindings in nim (lexer for japanese) . Julia,rust,go,python have them.... maybe a worthwhile project for someone int know |
12:37:28 | * | milosn quit (Ping timeout: 264 seconds) |
12:38:00 | * | Guest85632 quit (Quit: Page closed) |
12:40:49 | * | ^aurora^ quit (Quit: My Mac has gone to sleep. ZZZzzz…) |
12:42:07 | * | iivvoo left #nim ("Leaving") |
12:44:15 | * | milosn joined #nim |
12:52:56 | * | mpthrapp joined #nim |
12:56:12 | coffeepot | how do you cast to a pointer in nim when working with c wrappers? In C, the param is an int, but passed as (void*)int_var. I tried to cast to pointer but the compiler says I can't do that |
12:56:40 | coffeepot | can't take addr of the int because that's invalid, which is fair enough, but not sure best way to do this now |
12:56:53 | * | untitaker quit (Ping timeout: 248 seconds) |
12:57:07 | coffeepot | it's been a while since I've done any C... I might be getting the wrong end of the stick |
12:57:12 | * | untitaker_ joined #nim |
12:57:16 | Araq | var param = param |
12:57:23 | Araq | passToC(addr param) |
12:57:39 | coffeepot | ok will try this :) |
12:59:15 | coffeepot | says expression has no address, where am I going wrong? |
12:59:17 | coffeepot | var param = SQL_OV_ODBC3 |
12:59:17 | coffeepot | SQLSetEnvAttr(envHandle, SQL_ATTR_ODBC_VERSION.TSqlInteger, addr SQL_OV_ODBC3, 0.TSqlInteger) |
12:59:46 | coffeepot | ignore me |
12:59:54 | coffeepot | i am being dumb :D ok cheers Araq :) |
13:00:22 | coffeepot | (forgot to actually pass param lol) |
13:01:59 | Araq | ODBC3 ? that's sad |
13:02:04 | Araq | what DB? |
13:02:13 | coffeepot | yeah i know :( |
13:02:26 | coffeepot | i want to set up a simple interface to SQL server |
13:02:39 | coffeepot | so I've been trying to work out how to do it with native drivers |
13:02:51 | Araq | we need a proper sql server wrapper |
13:03:01 | coffeepot | but it kinda seems like odbc is the best approach since ole db is now depreciated |
13:03:13 | coffeepot | yes we definitely need a sql server wrapper |
13:04:44 | coffeepot | for now, odbc seems like the easiest way to just get queries running in MSSQL |
13:05:02 | coffeepot | when i say easiest, I mean ODBC is a complete pain in the ass |
13:08:53 | coffeepot | btw if anyone here can create the wrapper for native client I'd be very grateful - I bungled into it with c2nim but I dun know what I'm doing and am too rusty with C to work it out at the moment |
13:09:29 | * | milosn quit (Read error: Connection reset by peer) |
13:09:52 | * | milosn joined #nim |
13:11:19 | Araq | just checked indeed ODBC seems to be the native future proof solution for sql server |
13:12:40 | coffeepot | yeah I have been reading about it for the past few days thinking "Surely not?" but it does seem so |
13:16:07 | coffeepot | I was surprised to read this "One of the persistent rumors about ODBC is that it is inherently slower than a native DBMS API. This reasoning is based on the assumption that ODBC drivers must be implemented as an extra layer over a native DBMS API ... This assumption is true for some ODBC drivers implemented over a native DBMS API, but the Microsoft |
13:16:07 | coffeepot | SQL Server ODBC driver is not implemented this way." |
13:16:08 | Araq | and our wrapper is not as bad as I remember it ;-) |
13:17:15 | Araq | no, it's not necessarily slower but it sucks because it cannot support all of the DB's features |
13:17:49 | Araq | it's a lowest common denominator API |
13:18:04 | coffeepot | it seems they recommend ado.net (!) |
13:18:21 | coffeepot | for the full feature set |
13:18:40 | Araq | yeah MS is pushing .NET |
13:19:00 | * | TEttinger quit (Ping timeout: 276 seconds) |
13:19:10 | coffeepot | can nim interact with .net? |
13:19:28 | * | milosn quit (Read error: Connection reset by peer) |
13:19:37 | coffeepot | i wonder if MS's open sourcing .net included the ado drivers... |
13:19:51 | Araq | it's hard, we don't even do COM |
13:20:18 | coffeepot | surely there must be another way. I wouldn't want to interface with the CLR anyway |
13:23:21 | Araq | no, it's ODBC or .NET or Java's ODBC |
13:23:40 | Araq | and sql server requires .NET anyway as a dependency |
13:23:43 | coffeepot | :-/ just have to plug on with this odbc wrapper for now then |
13:23:50 | Araq | yup. |
13:25:09 | * | untitaker_ quit (Ping timeout: 248 seconds) |
13:31:27 | novist | ah what a fine day to complain... |
13:31:31 | novist | nah just kidding hehe |
13:33:17 | novist | coffeepot: you can use nim from .NET via pinvoke |
13:33:59 | * | wb joined #nim |
13:34:23 | Araq | wb wb |
13:34:39 | BlaXpirit | funny |
13:34:56 | BlaXpirit | woah, that's IPv6 |
13:35:28 | * | wb_ joined #nim |
13:35:32 | wb_ | hi |
13:36:54 | coffeepot | novist: re: pinvoke - had a quick google about it, but I'm thinking it's probably best for me to get something working in odbc before mucking about in that kinda stuff (bear in mind I just asked how to pass a pointer to a c call, thinking I might be overreaching with pinvoke :D) |
13:38:08 | * | ^aurora^ joined #nim |
13:38:42 | * | wb quit (Ping timeout: 252 seconds) |
13:38:48 | coffeepot | hi wb_ :) |
13:38:57 | coffeepot | ooh he's gone |
13:39:07 | * | wb_ is now known as wb |
13:39:10 | wb | still here :) |
13:39:14 | coffeepot | :D |
13:40:17 | * | gokr_ joined #nim |
13:40:45 | novist | actually pinvoke is like simplest interop between .NET and native code. COM on the other hand is overkill |
13:41:09 | coffeepot | for those interested though, this looks like an example of calling a .NET managed call in C++ https://support.microsoft.com/en-us/kb/953836 |
13:41:44 | coffeepot | I wonder if that process could be wrapped up too in order to make a .NET calling library? |
13:42:35 | novist | looks like COM. what do you want to do exactly? you cant rly easily load .NET module in native app and use it |
13:43:02 | novist | however you can load native library easily and use its C interface. anything c++ gets nasty, like in that example.. |
13:43:07 | coffeepot | well right now my goal is just to get a basic SQL Server library so I can just use MSSQL |
13:43:24 | novist | but for that you dont need .NET |
13:43:41 | coffeepot | no, this is true. I'm currently working with ODBC |
13:43:47 | coffeepot | odbcsql.nim |
13:43:58 | novist | yup, odbc all the things \o/ |
13:44:17 | coffeepot | but microsoft seems to suggest that ado.net is the way of the future |
13:44:27 | coffeepot | to get all the nice features in sql server |
13:44:47 | coffeepot | hence the .net discussion :) |
13:45:11 | novist | what those features would be exactly? im pretty sure you dont need them |
13:45:37 | novist | doing parametrized queries is all most people need |
13:45:43 | coffeepot | you're right I doubt I will tbh |
13:46:12 | coffeepot | I can't say without researching it, but I suspect it'll be things like returning table variables from queries, etc. |
13:46:41 | novist | table variables? never heard such term |
13:46:42 | coffeepot | novist: yep, exactly |
13:46:55 | coffeepot | table variables are pretty much just tables... in a variable :D |
13:47:10 | novist | err.. cursor that you iterate over? |
13:47:50 | coffeepot | yep, exactly, not really a feature that is necessary when you're reading the data (though pretty cool in SQL itself) |
13:50:43 | coffeepot | for example you can pass a table as a parameter to dynamic SQL, if that's your thing. Just trying to work out what is actually missing from ODBC vs ADO.NET atm... |
13:51:39 | novist | hmm never heard of such stuffs, its sorcery. i do it old-fashioned with manual queries |
13:53:50 | coffeepot | I had to do a pivot against a dataset on a selectable field: populate table variable with data, pass to dynamic SQL that constructs pivot with appropriate field, profit! |
13:54:24 | coffeepot | made easier by having the table variable as this can be passed directly over as a param to the dynamic SQL |
13:54:26 | novist | thats like.. doing it all via api calls? |
13:54:38 | coffeepot | lol no that's all done in SQL :) |
13:55:01 | novist | k weird stuff :D i know sql only as much as i need to ease my life hehe |
13:55:31 | coffeepot | I was this way once, then work dragged me kicking and screaming into SQL-land. Now I think SQL is pretty awesome |
13:57:36 | coffeepot | ... once upon a time I said to myself I'd never work in databases, so boring. So here I am, working with databases ;) Having said that it's kind of unavoidable these days |
13:58:11 | repax | life was beautiful... |
13:58:19 | coffeepot | AND THEN CAME SQL |
13:58:22 | coffeepot | ;) |
13:58:24 | repax | :D |
13:58:44 | repax | *laughing with tears* |
13:58:49 | coffeepot | hehehe |
13:59:07 | Araq | I always thought SQL is pretty bad. then I uses mongo's poor excuse of a query language. |
13:59:12 | Araq | *I used |
14:00:10 | Araq | "parsing? what's that, you can write JSON that constructs a parse tree"... |
14:00:48 | coffeepot | I once thought SQL was just over the top abstraction for something that could be done better in native code with my own hand rolled ORM type thing. Then I needed more speed so I started implementing index trees. Then I suddenly realised I am just reinventing a DB server and got on with what I was supposed to be doing :3 |
14:01:09 | * | darkf quit (Quit: Leaving) |
14:01:53 | coffeepot | the optimisations SQL can make to the queries these days is pretty impressive too |
14:02:10 | * | irrequietus joined #nim |
14:02:36 | coffeepot | wait JSON constructing a parse tree? Why would you need to do that? |
14:02:55 | Araq | the mongo guys could not write a query language parser |
14:03:31 | Araq | plus it's a "no SQL db" |
14:03:32 | * | OnO joined #nim |
14:03:41 | coffeepot | o_O |
14:03:47 | Araq | so due to marketing, they cannot have an SQL like query language |
14:04:17 | Araq | instead you are given some javascript based thing that causes brain cancer |
14:04:17 | coffeepot | seems a lot of mongo is marketting |
14:04:22 | repax | Incredible |
14:04:24 | coffeepot | lmao! :D |
14:04:25 | OnO | good afternoon, drinking coffee, having good time enjoying last day of spring :P |
14:04:45 | coffeepot | good afternoon OnO :) |
14:05:15 | * | OnO likes coffee |
14:05:59 | Araq | coffeepot: I always considered the sql optimization that sql server performs to be a terrible joke |
14:06:46 | Araq | you have to rewrite the query so often until you get a reasonable query plan |
14:07:07 | coffeepot | well it's not a clever optimisation that's for sure, as you say you almost have to predict what it's going to do in order to make it do it :/ |
14:07:47 | coffeepot | It's more how it can get all that data so damn fast |
14:07:48 | Araq | well you don't have to predict it, you can look at the execution plan ;-) |
14:08:43 | Araq | iirc do someting like someStringField = 'some string value' and can watch it take the worst plan. every single time. |
14:10:00 | coffeepot | yeah at least the exe plan in sql server is quite informative. But it's still a case (for me) of performing the query then working out what the hell it wants to do with it |
14:11:16 | OnO | just when we are in the subject of SQL, is there any ORM planned for Nim - a companion for Jester? |
14:11:36 | coffeepot | I would love a sane ORM, if such a thing is possible |
14:12:10 | OnO | having this amazing term rewriting I think Nim could have similar SQL construction out pure syntax |
14:12:16 | coffeepot | OnO: I've thought about doing it myself but first things first is getting odbc working |
14:12:33 | gokr | coffeepot: For something more interesting than Mongo IMHO - HyperDex. |
14:13:18 | OnO | coffeepot: I thought ODBC is dead... I don't see many of new projects using that, but I am not Windows user |
14:13:40 | coffeepot | i've not used any of the key/value datastores. Are they just giant distributed hash tables?! |
14:14:22 | OnO | wondering, if User.where(id > 1) can be turned into sql"select * from user id > 1" if `where` was a macro? would it possible out of the box? |
14:14:39 | coffeepot | OnO: yeah I thought the same, but it turns out ODBC is the future (non-.NET) standard for sql server :-/ MS wants us to use ADO.NET for all the shiny features |
14:15:09 | Araq | OnO: yup, pretty much this way. |
14:15:20 | gokr | Regarding ORMs I think I liked what I read about SimpleORM way back. |
14:15:29 | Araq | AST macros make it a piece of cake. if only somebody would do it. |
14:15:52 | gokr | Another idea is to do something like ... ROE (by Avi Bryant) which I think is similar to how it works in Rails 3. |
14:16:25 | OnO | Ruby uses notion of this symbol so it would be User.where(:id > 1) and there is some > for any :XXX symbol. My guess we can do that in Nim without that, just plain id > 1 |
14:19:21 | coffeepot | sounds intriguing! |
14:19:46 | gokr | ROE is basically modelling SQL in your language so that you can construct queries and then iterate over results with lazy generation of the SQL etc. |
14:20:49 | gokr | I think a symbol in Ruby is like a symbol in Smalltalk - a canonical string. |
14:21:49 | OnO | yup, the trick they did is they overload all operators for symbols that turn in into some metaquery object with again all operators defined |
14:22:10 | OnO | once I fell in love with Ruby, but that was long time ago |
14:22:14 | OnO | now it is full of bloat |
14:22:43 | OnO | lots of small projects with 1000 dependencies |
14:23:05 | gokr | Yeah, I also don't like the ... tendency to overuse features |
14:25:45 | * | filwit joined #nim |
14:28:47 | * | milosn joined #nim |
14:32:52 | * | pafmaf_ joined #nim |
14:34:01 | * | pafmaf quit (Ping timeout: 264 seconds) |
14:40:32 | * | bluenote joined #nim |
14:48:54 | * | dhasenan quit (Remote host closed the connection) |
14:55:18 | * | bcinman joined #nim |
14:58:19 | * | ChrisMAN joined #nim |
14:58:54 | * | bcinman quit (Client Quit) |
15:01:28 | * | milosn quit (Read error: Connection reset by peer) |
15:03:12 | * | endragor_ joined #nim |
15:04:15 | * | irrequietus quit (Ping timeout: 256 seconds) |
15:05:48 | * | endragor quit (Ping timeout: 245 seconds) |
15:06:33 | * | milosn joined #nim |
15:07:30 | * | endragor_ quit (Ping timeout: 256 seconds) |
15:20:00 | * | bcinman joined #nim |
15:20:48 | * | BitPuffin joined #nim |
15:22:24 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
15:27:00 | * | Ven joined #nim |
15:28:08 | * | endragor joined #nim |
15:28:39 | * | fowlmouth joined #nim |
15:29:49 | * | untitaker joined #nim |
15:31:45 | * | fowl quit (Ping timeout: 244 seconds) |
15:35:03 | * | banister joined #nim |
15:35:09 | * | banister quit (Max SendQ exceeded) |
15:35:16 | * | drs- joined #nim |
15:35:50 | Arrrrrr | Talking about optional syntax http://hjson.org/ |
15:38:23 | OnO | should be called Yet Another JSON-like YAML ==> YAJlY |
15:39:28 | * | endragor quit (Remote host closed the connection) |
15:40:25 | Arrrrrr | Yes, missed that boat. |
15:41:25 | OnO | YAML is nice, pretty like Markdown for structured data.. but in times of EcmaScript rule we got JSON everywhere |
15:42:06 | coffeepot | is there any way I can display the address of a pointer? |
15:42:21 | coffeepot | untyped pointer |
15:42:36 | OnO | coffeepot: via imported printf("%p")? |
15:43:02 | EXetoC | cast to uint |
15:43:43 | coffeepot | nice, cheers ExetoC :) |
15:44:05 | def- | coffeepot: there's also repr for debugging purposes |
15:44:43 | coffeepot | oh yes, cheers def, knew about repr but didn't realise it'd handle pointers like this |
15:45:18 | coffeepot | OnO: good point, glad I didn't have to do that tho |
15:45:36 | coffeepot | prefer to keep it in nim |
15:47:49 | * | OnO quit (Ping timeout: 264 seconds) |
15:48:04 | * | n0v joined #nim |
15:51:34 | * | brson joined #nim |
15:56:42 | * | pafmaf_ quit (Quit: This computer has gone to sleep) |
15:58:10 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
16:13:26 | * | jefus quit (Quit: WeeChat 1.1.1) |
16:14:19 | * | bluenote left #nim (#nim) |
16:15:07 | coffeepot | have a great evening everyone :) |
16:15:30 | Arrrrrr | bye coffe!! |
16:15:31 | * | coffeepot left #nim (#nim) |
16:17:32 | * | ^aurora^ quit (Quit: My Mac has gone to sleep. ZZZzzz…) |
16:19:37 | * | Tennis quit (Quit: Leaving) |
16:19:43 | drs- | is there a method or function in nim that determines the byte endianess? |
16:20:52 | emilsp | how would you determine that if all you had was 32 bits stored in a memory location ? |
16:21:52 | * | HakanD_ quit (Quit: Be back later ...) |
16:22:11 | drs- | lets say i want to write a 32 bit integer to a file |
16:25:10 | * | filwit quit (Quit: Leaving) |
16:25:53 | emilsp | so you need to have the files be compatible across platforms, right ? Then use the nim equivalent of C's atoi() |
16:29:25 | EXetoC | drs-: system.cpuEndian |
16:29:37 | * | dhasenan joined #nim |
16:32:15 | EXetoC | and the endians module |
16:32:57 | EXetoC | which could use some convenience procs |
16:33:11 | * | ^aurora^ joined #nim |
16:40:03 | * | ChrisMAN quit (Remote host closed the connection) |
16:40:56 | drs- | thanks |
16:48:40 | drs- | emilsp: did you mean htonl and htons ? |
16:49:31 | * | brson quit (Quit: leaving) |
16:49:47 | * | brson joined #nim |
16:50:13 | emilsp | yes |
16:51:15 | * | brson quit (Client Quit) |
16:56:28 | * | brson joined #nim |
16:59:59 | * | Trixar_za joined #nim |
17:01:47 | * | endragor joined #nim |
17:04:19 | * | banister joined #nim |
17:04:25 | * | banister quit (Max SendQ exceeded) |
17:06:16 | * | BlaXpirit_ joined #nim |
17:06:17 | * | endragor quit (Remote host closed the connection) |
17:06:25 | * | ChrisMAN joined #nim |
17:07:26 | * | endragor joined #nim |
17:08:59 | * | BlaXpirit quit (Ping timeout: 245 seconds) |
17:09:58 | * | banister joined #nim |
17:10:25 | * | Trixar_za quit (Quit: Leaving) |
17:10:33 | * | endragor quit (Remote host closed the connection) |
17:12:16 | * | banister quit (Client Quit) |
17:22:14 | * | shodan45 joined #nim |
17:42:35 | * | HakanD_ joined #nim |
17:54:54 | * | HakanD_ quit (Quit: Be back later ...) |
17:56:46 | * | brson quit (Read error: Connection reset by peer) |
18:00:14 | * | gokr_ quit (Ping timeout: 245 seconds) |
18:00:37 | * | brson joined #nim |
18:00:53 | * | gokr_ joined #nim |
18:02:11 | * | BitPuffin quit (Ping timeout: 256 seconds) |
18:07:25 | * | gsingh93 joined #nim |
18:28:16 | * | ^aurora^ quit (Max SendQ exceeded) |
18:29:41 | * | repax quit (Quit: repax) |
18:30:09 | * | repax joined #nim |
18:35:32 | Arrrrrr | http://gradha.github.io/articles/2015/02/goodbye-nim-and-good-luck.html "People are finding the GC is not really wanted for certain scenarios, and are starting to wish for at least a minimal standard library which uses manual memory handling so that Nim can be used without that wonderful GC" |
18:35:42 | Arrrrrr | Can't you avoid GC using ptr ? |
18:36:57 | Araq | yes, but "it's not practical" because of "reasons" |
18:37:48 | Arrrrrr | I see. |
18:38:14 | Araq | I hope you see my quotes :P |
18:39:29 | Araq | we also still haven't figured out who these "people" are that the blog post talks about ;-) |
18:40:35 | Araq | or what the alternative technologies are that Gradha is using instead that "already deliver" the dream of simply and efficient and safe concurrency/parallelism |
18:40:46 | Araq | *simple |
18:41:05 | Araq | or what Gradh wants to use Nim for in the first place. |
18:41:24 | * | brson quit (Ping timeout: 272 seconds) |
18:41:41 | Arrrrrr | His picture gives me th creeps, but i was surprised, since the guy seemed to have contributed a lot to nim. |
18:41:57 | Araq | he is still contributing btw |
18:41:58 | repax | Araq: can one specify a custom allocator for the GC? |
18:42:45 | Araq | repax: it's not hard to hack that into the runtime but I cannot really take these questions serious anymore |
18:43:46 | repax | I see. Just wondering. I should probably read up on its internal. |
18:43:53 | repax | internals |
18:43:55 | ldlework | I don't think anyone is grizzled to gradha |
18:44:37 | Araq | "custom allocator" is most of the time simply used because one is an absolute control freak and not for any serious technical reasons |
18:45:22 | repax | Yeah :) |
18:45:33 | * | gmpreussner|work joined #nim |
18:48:30 | repax | Some control freaks won't do any dynamic memory allocations after initialisation. I.e. NASA/JPL and other devs of embedded software. |
18:49:18 | repax | I was thinking the other day if this kind of detailed control is a non-goal for Nim |
18:50:26 | Arrrrrr | game development maybe. |
18:50:58 | repax | Arrrrrr: Well, sure. But there you can just opt to disable the collection |
18:51:13 | repax | at specified places |
18:51:52 | repax | NASA etc are more concerned with absolue determinism |
18:51:56 | Arrrrrr | haha |
18:52:47 | Arrrrrr | By specified places you mean threads? |
18:53:04 | repax | Or as close as possible, I suppose. Their toys tend to cost a bit too much |
18:53:30 | repax | No, more like hot loops |
18:54:29 | repax | Say you load a new game level or so, then temporarily disables the gc (collector-part) |
18:55:15 | Arrrrrr | That sounds very convenient, i have to read about GC in nim. |
18:55:29 | repax | You can do that in Nim |
18:55:52 | repax | And I think that is more than enough for game dev. |
18:57:01 | repax | It has a maxPause setting, too, if you want to use it but set limits |
18:57:23 | Arrrrrr | ! |
18:59:34 | repax | Just to be clear, I'm not personally advocating more control over allocations. There are more important/interesing things to do |
19:05:25 | * | Trustable quit (Ping timeout: 248 seconds) |
19:07:56 | * | Trustable joined #nim |
19:23:36 | * | Arrrrrrr joined #nim |
19:24:52 | * | Arrrrrr quit (Ping timeout: 246 seconds) |
19:25:03 | repax | bbl |
19:25:10 | * | user7181 joined #nim |
19:28:29 | dtscode | i dont think hes coming back ;-; |
19:32:26 | Arrrrrrr | haha |
19:32:41 | dtscode | gd. i see Ar and i think araq |
19:34:46 | Arrrrrrr | You think too much about him? |
19:34:46 | * | Matthias247 joined #nim |
19:35:22 | Arrrrrrr | Does this mean nim will get private constructors? http://forum.nim-lang.org/t/703/10 |
19:49:10 | * | HakanD_ joined #nim |
20:08:57 | Arrrrrrr | Well i have to go. See you nimroders. |
20:08:59 | * | Arrrrrrr quit (Quit: Page closed) |
20:10:17 | Araq | repax: that level of control is already quite easy to achieve. Especially with NASA-like conditions. |
20:12:34 | * | banister joined #nim |
20:31:29 | * | johnsoft quit (Ping timeout: 264 seconds) |
20:32:21 | * | johnsoft joined #nim |
20:32:48 | * | wb quit (Read error: Connection reset by peer) |
20:53:18 | * | a5i quit (Quit: Connection closed for inactivity) |
20:57:21 | * | shodan45 quit (Quit: Konversation terminated!) |
20:57:31 | * | mpthrapp quit (Remote host closed the connection) |
21:05:36 | * | Kingsquee joined #nim |
21:08:43 | * | johnsoft quit (Ping timeout: 245 seconds) |
21:09:35 | * | johnsoft joined #nim |
21:10:47 | * | BitPuffin joined #nim |
21:12:51 | * | pipeep quit (Changing host) |
21:12:51 | * | pipeep joined #nim |
21:36:01 | * | polkm joined #nim |
21:55:29 | * | johnsoft quit (Ping timeout: 264 seconds) |
21:56:01 | * | johnsoft joined #nim |
22:13:04 | * | askatasuna quit (Ping timeout: 256 seconds) |
22:29:13 | * | Flaise joined #nim |
22:29:32 | Flaise | Hello. |
22:31:32 | def- | hi Flaise |
22:36:40 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
22:47:17 | * | BlaXpirit_ quit (Quit: Quit Konversation) |
22:51:13 | * | gsingh93 quit (Ping timeout: 245 seconds) |
22:51:38 | * | Matthias247 quit (Read error: Connection reset by peer) |
22:54:13 | * | user7181 quit (Quit: leaving) |
22:57:24 | * | a5i joined #nim |
23:03:24 | * | brson joined #nim |
23:08:35 | * | Trustable quit (Remote host closed the connection) |
23:10:51 | * | saml_ joined #nim |
23:41:15 | * | HakanD joined #nim |
23:42:43 | * | HakanD_ quit (Ping timeout: 265 seconds) |
23:44:45 | * | gsingh93 joined #nim |