00:06:14 | * | ltbarcly quit (Ping timeout: 264 seconds) |
00:37:54 | * | ltbarcly joined #nimrod |
00:46:03 | * | fowl quit (Quit: Leaving) |
00:49:15 | * | DAddYE joined #nimrod |
00:50:52 | * | ltbarcly quit (Ping timeout: 264 seconds) |
00:53:55 | * | DAddYE quit (Ping timeout: 264 seconds) |
01:50:01 | * | DAddYE joined #nimrod |
01:54:14 | * | DAddYE quit (Ping timeout: 240 seconds) |
02:27:20 | * | ltbarcly joined #nimrod |
02:30:05 | * | OrionPK quit (Read error: Connection reset by peer) |
02:32:07 | * | ltbarcly quit (Ping timeout: 260 seconds) |
02:33:48 | * | ltbarcly joined #nimrod |
02:38:39 | * | ltbarcly quit (Ping timeout: 260 seconds) |
02:38:56 | * | MFlamer joined #nimrod |
02:39:48 | * | ltbarcly joined #nimrod |
02:49:06 | * | ltbarcly quit (Ping timeout: 256 seconds) |
02:50:48 | * | DAddYE joined #nimrod |
02:51:21 | * | ltbarcly joined #nimrod |
02:55:26 | * | DAddYE quit (Ping timeout: 264 seconds) |
02:58:43 | * | ltbarcly quit (Ping timeout: 260 seconds) |
02:59:52 | * | ltbarcly joined #nimrod |
03:04:58 | * | ltbarcly quit (Ping timeout: 256 seconds) |
03:05:50 | * | ltbarcly joined #nimrod |
03:10:51 | * | ltbarcly quit (Ping timeout: 260 seconds) |
03:11:33 | MFlamer | can I set the value at any memory location like this "address[] = value"? |
03:11:52 | * | ltbarcly joined #nimrod |
03:16:50 | * | ltbarcly quit (Ping timeout: 256 seconds) |
03:18:22 | * | ltbarcly joined #nimrod |
03:23:27 | * | ltbarcly quit (Ping timeout: 260 seconds) |
03:25:51 | * | ltbarcly joined #nimrod |
03:30:28 | * | ltbarcly quit (Ping timeout: 256 seconds) |
03:31:53 | * | ltbarcly joined #nimrod |
03:36:40 | * | ltbarcly quit (Ping timeout: 256 seconds) |
03:37:25 | * | ltbarcly joined #nimrod |
03:49:07 | * | ltbarcly quit (Ping timeout: 260 seconds) |
03:50:58 | * | ltbarcly joined #nimrod |
03:51:31 | * | DAddYE joined #nimrod |
03:56:09 | * | DAddYE quit (Ping timeout: 276 seconds) |
04:00:30 | * | ltbarcly quit (Ping timeout: 256 seconds) |
04:02:58 | * | ltbarcly joined #nimrod |
04:07:47 | * | ltbarcly quit (Ping timeout: 260 seconds) |
04:08:27 | * | ltbarcly joined #nimrod |
04:17:26 | * | logosd_ joined #nimrod |
04:18:47 | * | logosd quit (Read error: Connection reset by peer) |
04:19:12 | * | logosd_ quit (Read error: Connection reset by peer) |
04:20:57 | * | DAddYE joined #nimrod |
04:27:08 | * | ltbarcly quit (Ping timeout: 256 seconds) |
04:28:28 | * | ltbarcly joined #nimrod |
04:29:13 | * | DAddYE quit (Read error: Connection reset by peer) |
04:29:34 | * | DAddYE joined #nimrod |
04:35:47 | * | ltbarcly quit (Ping timeout: 260 seconds) |
04:36:27 | * | ltbarcly joined #nimrod |
04:41:18 | * | ltbarcly quit (Ping timeout: 256 seconds) |
04:41:56 | * | ltbarcly joined #nimrod |
04:46:56 | * | ltbarcly quit (Ping timeout: 256 seconds) |
04:47:57 | * | ltbarcly joined #nimrod |
04:53:03 | * | ltbarcly quit (Ping timeout: 260 seconds) |
04:54:58 | * | ltbarcly joined #nimrod |
04:59:43 | * | ltbarcly quit (Ping timeout: 245 seconds) |
05:00:57 | * | ltbarcly joined #nimrod |
05:05:39 | * | ltbarcly quit (Ping timeout: 260 seconds) |
05:06:27 | * | ltbarcly joined #nimrod |
05:11:20 | * | ltbarcly quit (Ping timeout: 256 seconds) |
05:11:58 | * | ltbarcly joined #nimrod |
05:16:23 | * | ltbarcly quit (Ping timeout: 246 seconds) |
05:18:26 | * | ltbarcly joined #nimrod |
05:21:45 | * | MFlamer quit (Ping timeout: 250 seconds) |
05:23:14 | * | ltbarcly quit (Ping timeout: 256 seconds) |
05:24:27 | * | ltbarcly joined #nimrod |
05:33:33 | * | DAddYE quit (Remote host closed the connection) |
05:34:10 | * | DAddYE joined #nimrod |
05:35:06 | * | ltbarcly quit (Ping timeout: 256 seconds) |
05:36:55 | * | ltbarcly joined #nimrod |
05:38:51 | * | DAddYE quit (Ping timeout: 276 seconds) |
05:41:00 | * | orbitz_ quit (Quit: Reconnecting) |
05:41:07 | * | orbitz joined #nimrod |
05:41:34 | * | ltbarcly quit (Ping timeout: 246 seconds) |
05:42:57 | * | ltbarcly joined #nimrod |
05:47:36 | * | ltbarcly quit (Ping timeout: 256 seconds) |
05:48:27 | * | ltbarcly joined #nimrod |
05:51:02 | * | DAddYE joined #nimrod |
05:55:30 | * | ltbarcly quit (Ping timeout: 256 seconds) |
05:56:57 | * | ltbarcly joined #nimrod |
06:01:32 | * | ltbarcly quit (Ping timeout: 246 seconds) |
06:03:56 | * | ltbarcly joined #nimrod |
06:08:34 | * | ltbarcly quit (Ping timeout: 256 seconds) |
06:09:54 | * | ltbarcly joined #nimrod |
06:10:09 | * | q66 joined #nimrod |
06:12:25 | * | DAddYE quit (Remote host closed the connection) |
06:12:36 | * | DAddYE joined #nimrod |
06:15:40 | * | ltbarcly quit (Ping timeout: 246 seconds) |
06:15:53 | * | ltbarcly joined #nimrod |
06:20:28 | * | ltbarcly quit (Ping timeout: 256 seconds) |
06:21:26 | * | ltbarcly joined #nimrod |
06:29:02 | * | ltbarcly quit (Ping timeout: 264 seconds) |
06:33:08 | * | ltbarcly joined #nimrod |
07:02:02 | * | shodan45_ quit (Quit: Konversation terminated!) |
07:08:23 | * | ltbarcly quit (Ping timeout: 260 seconds) |
07:09:39 | * | ltbarcly joined #nimrod |
07:16:34 | * | ltbarcly quit (Ping timeout: 256 seconds) |
07:17:46 | * | ltbarcly joined #nimrod |
07:22:22 | * | DAddYE quit (Remote host closed the connection) |
07:22:54 | * | DAddYE joined #nimrod |
07:27:02 | * | DAddYE quit (Ping timeout: 240 seconds) |
07:27:31 | * | ltbarcly quit (Ping timeout: 260 seconds) |
07:28:19 | * | ltbarcly joined #nimrod |
07:30:43 | * | ltbarcly quit (Client Quit) |
07:33:48 | * | Araq_ joined #nimrod |
07:34:19 | * | Araq_ quit (Client Quit) |
07:38:20 | * | ltbarcly joined #nimrod |
07:50:38 | * | ltbarcly quit (Ping timeout: 264 seconds) |
07:51:21 | * | ltbarcly joined #nimrod |
07:57:50 | * | ltbarcly quit (Quit: Computer has gone to sleep.) |
08:17:02 | * | ltbarcly joined #nimrod |
08:21:41 | * | ltbarcly quit (Ping timeout: 245 seconds) |
08:23:03 | * | ltbarcly joined #nimrod |
08:23:05 | * | DAddYE joined #nimrod |
08:27:51 | * | DAddYE quit (Ping timeout: 276 seconds) |
08:33:03 | * | ltbarcly quit (Ping timeout: 276 seconds) |
08:33:41 | * | DAddYE joined #nimrod |
08:34:36 | * | ltbarcly joined #nimrod |
08:38:54 | * | DAddYE quit (Ping timeout: 276 seconds) |
08:43:21 | * | ltbarcly quit (Ping timeout: 245 seconds) |
08:45:06 | * | ltbarcly joined #nimrod |
08:55:48 | * | ltbarcly quit (Ping timeout: 276 seconds) |
08:57:11 | * | ltbarcly joined #nimrod |
09:01:41 | * | ltbarcly quit (Ping timeout: 245 seconds) |
09:04:14 | * | ltbarcly joined #nimrod |
09:09:14 | * | ltbarcly quit (Ping timeout: 264 seconds) |
09:11:45 | * | ltbarcly joined #nimrod |
09:16:16 | * | ltbarcly quit (Ping timeout: 245 seconds) |
09:18:13 | * | ltbarcly joined #nimrod |
09:20:04 | * | zahary_ quit (Read error: Connection reset by peer) |
09:20:49 | * | zahary_ joined #nimrod |
09:23:31 | * | DAddYE joined #nimrod |
09:27:50 | * | DAddYE quit (Ping timeout: 240 seconds) |
09:28:57 | * | ltbarcly quit (Ping timeout: 276 seconds) |
09:30:12 | * | ltbarcly joined #nimrod |
09:36:41 | * | ltbarcly quit (Ping timeout: 245 seconds) |
09:38:12 | * | ltbarcly joined #nimrod |
09:43:15 | * | ltbarcly quit (Ping timeout: 276 seconds) |
09:45:16 | * | ltbarcly joined #nimrod |
09:50:02 | * | ltbarcly quit (Ping timeout: 264 seconds) |
09:50:44 | * | ltbarcly joined #nimrod |
09:57:31 | * | ltbarcly quit (Ping timeout: 245 seconds) |
09:57:48 | * | faassen joined #nimrod |
09:59:47 | * | ltbarcly joined #nimrod |
10:04:42 | * | ltbarcly quit (Ping timeout: 276 seconds) |
10:05:47 | * | ltbarcly joined #nimrod |
10:10:22 | * | ltbarcly quit (Ping timeout: 246 seconds) |
10:11:22 | * | ltbarcly joined #nimrod |
10:19:00 | * | ltbarcly quit (Ping timeout: 276 seconds) |
10:20:21 | * | ltbarcly joined #nimrod |
10:24:03 | * | DAddYE joined #nimrod |
10:24:25 | * | Araq_ joined #nimrod |
10:28:45 | * | DAddYE quit (Ping timeout: 276 seconds) |
10:29:11 | * | ltbarcly quit (Ping timeout: 245 seconds) |
10:29:17 | * | Araq_ quit (Client Quit) |
10:30:23 | * | ltbarcly joined #nimrod |
10:30:29 | * | ltbarcly quit (Client Quit) |
11:24:38 | * | DAddYE joined #nimrod |
11:29:02 | * | DAddYE quit (Ping timeout: 240 seconds) |
11:39:19 | * | Araq_ joined #nimrod |
11:39:43 | * | Araq_ quit (Client Quit) |
12:25:16 | * | DAddYE joined #nimrod |
12:29:26 | * | DAddYE quit (Ping timeout: 240 seconds) |
12:36:50 | * | Associat0r quit (Quit: Associat0r) |
13:21:31 | * | nox__ joined #nimrod |
13:25:52 | * | DAddYE joined #nimrod |
13:30:14 | * | DAddYE quit (Ping timeout: 240 seconds) |
13:47:57 | * | Araq_ joined #nimrod |
13:48:29 | Araq_ | hi nox__, welcome |
13:57:05 | * | Araq_ quit (Quit: ChatZilla 0.9.90.1 [Firefox 23.0.1/20130814063812]) |
14:11:15 | * | nox__ quit (Quit: Leaving) |
14:26:23 | * | DAddYE joined #nimrod |
14:26:28 | rndbit | Araq today i had a dream of you saying on IRC that you gonna rewrite nimrod from scratch to make it more python-like instead of pascal-like :D |
14:31:10 | * | DAddYE quit (Ping timeout: 256 seconds) |
14:58:15 | * | circ-user-KQT0j joined #nimrod |
15:13:11 | * | circ-user-KQT0j quit (Remote host closed the connection) |
15:14:26 | * | waj joined #nimrod |
15:14:55 | * | waj left #nimrod (#nimrod) |
15:27:07 | * | DAddYE joined #nimrod |
15:31:50 | * | DAddYE quit (Ping timeout: 256 seconds) |
15:44:21 | * | shodan45 joined #nimrod |
16:19:30 | * | Hannibal_Smith joined #nimrod |
16:38:05 | * | io2 joined #nimrod |
16:47:33 | * | DAddYE joined #nimrod |
16:51:04 | Araq | rndbit: what does that even mean? "def" instead of "proc"? worse scoping rules? crippling lambdas? turning back the time to when Nimrod had no stmt/expr unification? |
16:51:40 | Araq | broken default parameters? |
16:51:42 | rndbit | hey dont ask me, i know idea is retarded :D |
16:52:01 | Araq | good :-) |
16:52:02 | rndbit | guess its just my later disappointment speaking through dreams :) |
16:53:10 | rndbit | initially it was like "omg its small! it compiles to native code! its flexible! its awesome!" and later on "oh noez its like pascal! i hate pascal! /suicide" :DDD |
16:54:41 | Araq | Pascal and Modula 3 had an influence on Python too so ... blaming Nimrod that it had the same influences makes no sense |
16:56:57 | rndbit | not blaming anything, im sure there are people who love it, like russians love pascal ^_^ but im no russian :D |
17:00:47 | Araq | so ... what is it that you miss from Python? |
17:01:21 | Hannibal_Smith | GIL! |
17:02:36 | Hannibal_Smith | Araq, probably Nimrod in future will miss a thing coming from Python: yield for async operation |
17:03:11 | Hannibal_Smith | Seems like also js will get it |
17:03:22 | Araq | funny dom96 is working on that ... |
17:03:35 | Hannibal_Smith | It's a great news |
17:03:45 | Araq | it's in fact old news ;-) |
17:04:28 | * | brson joined #nimrod |
17:05:27 | Hannibal_Smith | Personally, I find a language for "getting things done fast"...without anything remarkable |
17:05:36 | Hannibal_Smith | *I find Python |
17:06:34 | Hannibal_Smith | But I'm only a student, so Is a little important opinion |
17:08:25 | companion_cube | depends on whether you want to get things done fast, or working fast |
17:08:31 | companion_cube | the latter is harder |
17:08:49 | Hannibal_Smith | It's impossible with Python |
17:09:01 | Hannibal_Smith | Getting fast in Python is write a C module |
17:09:06 | Hannibal_Smith | And use it from Python |
17:17:17 | rndbit | Araq i miss from python (and cython) only syntax, nothing more, nothing less :D |
17:17:20 | * | Mat2 joined #nimrod |
17:17:24 | Mat2 | hi all |
17:17:29 | rndbit | Hannibal_Smith or execute it on pypy :p |
17:17:32 | Hannibal_Smith | HI Mat2 |
17:17:35 | rndbit | hey Mat2 \o/ |
17:17:50 | Hannibal_Smith | rndbit, the Python dictator said that he don't like PyPy |
17:17:50 | Mat2 | hi Hannibal_Smith and rndbit |
17:18:39 | Araq | I think Guido said nothing like that, Hannibal_Smith |
17:19:05 | Araq | Mat2: answer this guy please: http://forum.nimrod-code.org/t/232 ;-) |
17:19:07 | Hannibal_Smith | Araq, you remember better than me, what he said about PyPy? |
17:19:28 | Araq | he said he prefers to work on the C implementation because that's what he knows best |
17:19:34 | Mat2 | hi Araq |
17:19:37 | Mat2 | ehm ok |
17:20:10 | Araq | rndbit: what syntax in particular? you might be able to fake it with a template/macro ... |
17:20:19 | rndbit | python dictator also said that he is unconvinced of pypy because of it's lack of support for existing python codebase, that is native modules mainly |
17:20:23 | Hannibal_Smith | ---PyPy |
17:20:24 | Hannibal_Smith | by Btrot69 |
17:20:24 | Hannibal_Smith | Do you see PyPy as the future? Or do you remain unconvinced, and -- if so -- why ? |
17:20:24 | Hannibal_Smith | Guido: I'm still unconvinced, for two reasons: (a) they don't support Python 3 (well) yet, and (b) there are lots of extension modules (both third party and in the standard library) that they don't support well. But I hope they'll fix those issues. I think it's competition from projects like PyPy, Jython and IronPython that keeps the CPython project honest and on its toes. |
17:20:25 | Hannibal_Smith | --- |
17:20:42 | Hannibal_Smith | rndbit, yes |
17:21:20 | Hannibal_Smith | I interpret his: "that keeps the CPython project honest and on its toe" |
17:21:45 | Hannibal_Smith | As "I don't like how the others are doing, CPython will be the way to go" |
17:21:58 | rndbit | Araq think "proc createWindow(x, y, width, height: int; title: string; show: bool): Window =" can be turned to something like "proc Window createWindow(x, y, width, int height, string title, bool show):"? |
17:22:12 | rndbit | Hannibal_Smith you are imagining things :D |
17:22:19 | Hannibal_Smith | rndbit, probably |
17:22:42 | rndbit | what he said is that competition is good for everyone, lack of monopoly makes things move forward and makes projects do their best |
17:23:09 | rndbit | and hell.. always everyone loves his own brainchild more than someone else's :) |
17:23:11 | Hannibal_Smith | Do you think that Python will ever get an official jit compiler? |
17:23:33 | companion_cube | Hannibal_Smith: by "fast" I mean the programmer's time |
17:23:49 | rndbit | not in the near future if ever... seems jit and no gil is not the way of cpython sadly.. |
17:23:56 | Araq | rndbit: no but "type ident" declaration syntax has nothing to do with Python |
17:24:38 | rndbit | but its how cython and c handles eeet.. :D |
17:26:52 | Araq | Guido himself proposed def f(a: int, b: int) -> int as syntax |
17:27:35 | rndbit | omg what a fag :\ |
17:28:32 | rndbit | -> int is worst ever, why would he take that from c++... |
17:29:02 | Araq | lol lots of languages have '->' and it comes right from math ... |
17:29:32 | rndbit | call me a typing nazi but if there is one symbol to save i think it must be saved |
17:29:46 | rndbit | int a vs a: int, see 1 redundant symbol overhead |
17:30:25 | Araq | Python has a superfluous ':' for control flow structures already ... |
17:31:16 | * | rndbit raises red flag with white circle in the middle and keyboard featuring inside it |
17:31:35 | rndbit | oh another thing in nimrod that weirded me out is class type declarations |
17:31:39 | Araq | also since types are optional the ':' is not redundant |
17:33:25 | rndbit | "type \n TPerson = object of TObject" vs "object TPerson(TObject)", second variant looks much more readable, simple, and less stuff to type |
17:33:40 | Hannibal_Smith | Well, I think that "nobody" will choice a language based on a less : to type |
17:34:15 | rndbit | true, im not gonna quit py if they introduce that syntax.. |
17:34:19 | rndbit | afterall its optional >:) |
17:34:31 | Araq | Hannibal_Smith: how do you think everybody ended up using C? :P |
17:34:37 | Hannibal_Smith | rndbit, I did quit Python...because is dynamic |
17:34:52 | Hannibal_Smith | Araq, I'm too young for know this |
17:35:05 | rndbit | dynamic os good, i like being able to do ninja stuff |
17:35:19 | Araq | Hannibal_Smith: I'm not serious anyway |
17:35:39 | Hannibal_Smith | What were C contenders? Lisp? |
17:36:02 | Hannibal_Smith | Or Pascal? |
17:36:05 | Araq | various broken Pascal dialects |
17:36:17 | rndbit | Araq can nimrod somehow preprocess sources before compiling using regular expressions? im pretty crafty in them so i could probably make things nice for myself if it was possible :D |
17:36:29 | Hannibal_Smith | I don't know anything about Pascal |
17:37:05 | Araq | rndbit: the parsers are easily pluggable or you can write a source code filter |
17:37:11 | dom96 | rndbit: It sounds like you want C/C++. |
17:37:36 | Araq | it requires touching the compiler, but don't let that stop you |
17:37:44 | dom96 | Personally, I find 'type x' disgustingly c-like. |
17:37:54 | rndbit | dom96 and im using c++, but im always exploring for new crazy ways to achieve teh goals! |
17:38:08 | rndbit | and why c-like is bad? |
17:38:26 | Araq | because it is ambiguous |
17:38:30 | rndbit | hell c seems rather nice, c++ is where things got weird bit by bit |
17:38:42 | Araq | nope |
17:38:46 | rndbit | why is it ambiguous? |
17:38:53 | Araq | C has already lots grammar problems |
17:38:55 | Hannibal_Smith | Araq, well...in Nimrod field and methods can be ambiguous... |
17:38:56 | dom96 | writing the type first feels backward |
17:39:30 | Araq | Hannibal_Smith: that's not a grammatical ambiguity |
17:39:43 | dom96 | var x = 5 is nicer than auto x = 5 |
17:39:47 | Hannibal_Smith | Maybe because I'm used to write more in C style |
17:40:07 | dom96 | 'let' also works nicely, instead of having to prefix the 'auto' with 'const' or whatever |
17:40:20 | rndbit | yup auto is one more retarded thing in c++... i even have #define var auto in my projects :D |
17:40:23 | Hannibal_Smith | dom96, yes |
17:40:32 | Araq | rndbit: (a) * b # cast and deref or a multiplication? |
17:40:55 | dom96 | yeah, C is crazy. |
17:41:14 | dom96 | You need tools to tell you what a type means in plain English. |
17:41:29 | rndbit | Araq i thought you said type declarations in func parameters are ambiguous ^_^ |
17:42:24 | rndbit | and well yeah in that case... it may seem ambiguous in case programmer has type a, usually types can be distinguished from variables though |
17:42:28 | Hannibal_Smith | Personally, I'm got curious about Nimrod, because separation from type and function |
17:42:45 | Hannibal_Smith | It remembered me how I learned a bit of Haskell |
17:43:05 | * | Guest58957 is now known as nebiros |
17:43:05 | * | nebiros quit (Changing host) |
17:43:05 | * | nebiros joined #nimrod |
17:43:23 | Hannibal_Smith | I also find STL in C++ a great way to write code... |
17:43:50 | Hannibal_Smith | So I viewed Nimrod as a more "native" way to write code similar to STL |
17:44:04 | rndbit | stl is far from perfect |
17:44:18 | Hannibal_Smith | I personally like the concept behind it |
17:44:35 | rndbit | if you want to have some nightmares check out stl implementations :D |
17:44:57 | rndbit | stlport is said to be a nicer one, but stl that comes with msvc is just... well idk how they maintain it |
17:45:12 | Hannibal_Smith | Something I do...and it not so difficult leaving allocators apart |
17:46:15 | Hannibal_Smith | When in the STL GCC source there is an iteration with an allocator, I get lost |
17:48:01 | Hannibal_Smith | Araq, there was some "what to code" that you visioned, when you projected Nimrod? |
17:48:12 | Hannibal_Smith | *way to code |
17:48:20 | * | ltbarcly joined #nimrod |
17:53:52 | Hannibal_Smith | Little OT: I leaved Haskell because I didn't understand some concept like monad, I was thinking "Ok, all the do in wrap what a function return, and control flow based on the wrapped value" |
17:54:00 | Mat2 | hi dom96 |
17:54:04 | Hannibal_Smith | But it seems more than this |
17:54:21 | dom96 | hi Mat2 |
17:54:22 | Mat2 | monads hold state |
17:54:29 | rndbit | Araq also "discard yes("May I ask a pointless question?")" VERY dedundant... i think its obvious that if value is not assigned its not required thus it should be discarded |
17:54:55 | Hannibal_Smith | Mat2, I used to view a monad as |
17:55:09 | Hannibal_Smith | It create a wrapper around the functions |
17:55:23 | Araq | rndbit: I don't care what you think about a feature that uncovered lots of bugs in practice |
17:55:35 | Hannibal_Smith | So function can take more parameters, like a state |
17:55:44 | * | ltbarcly quit (Ping timeout: 256 seconds) |
17:55:45 | rndbit | just saying, sorry |
17:56:01 | Hannibal_Smith | And return always a wrapped value, that the monad know |
17:56:13 | Hannibal_Smith | And can do control flow based on it |
17:56:34 | Hannibal_Smith | But it resulted that is wrong, because monad can do more than this |
17:57:36 | Hannibal_Smith | I did understand things like monad stacking |
17:57:49 | Hannibal_Smith | But than I stopped to understand |
17:57:55 | * | ltbarcly joined #nimrod |
17:57:57 | Araq | rndbit: sorry, I was overly harsh. But my point is: opinion loses against hard facts. ;-) |
17:58:38 | Araq | and 'discard' makes perfect sense; you cannot simply leave out parameters either, so why is the return value special? |
17:58:50 | rndbit | could you explain how it uncovered lots of bugs? that sounds intriguing but i have no idea how could it.. |
17:59:18 | Araq | you change the signature of a proc, so now it returns something |
17:59:30 | Araq | the compiler tells you you don't do anything with the result |
17:59:32 | Hannibal_Smith | The discard is something that looked not good to a person that i advised to look at Nimrod |
17:59:41 | rndbit | ah that, gotcha |
18:00:05 | rndbit | but at the same time i can imagine how without good IDE changing signature and adding a return value could be a big pita |
18:00:16 | rndbit | imagine big project and function being used in hundres of places |
18:00:30 | Araq | so read about {.discardable.} ... |
18:00:43 | Araq | Hannibal_Smith: tell him about discardable |
18:00:52 | Hannibal_Smith | Ok, I will do |
18:01:15 | rndbit | yeah i saw it, someone like me would just use it all over the place i guess :D |
18:02:24 | rndbit | alright was nice talking to you fine people. gotta run for breaking bad session. laterz |
18:02:25 | Hannibal_Smith | Araq, he also didn't like things like $, mutable string, the fact that compiler can't deduct argument type from definition... |
18:02:32 | Hannibal_Smith | Things like that |
18:03:13 | Araq | argument type deduction is planned but of low priority but yeah, the guy should just stick to Haskell |
18:03:23 | Hannibal_Smith | He don't like Haskell |
18:03:30 | Hannibal_Smith | He is a seasoned Python programmer |
18:05:30 | Hannibal_Smith | Ah, he also said that he don't like how import import all names of the module |
18:05:46 | Mat2 | I think he is attracted of duck typing and so called, dynamic typing |
18:06:16 | Araq | it's fine to dislike Nimrod, Hannibal_Smith; it's better to have some arguments though |
18:06:50 | Hannibal_Smith | Personally, I find thing like mutable string ok |
18:07:09 | Hannibal_Smith | In C++, they aren't a problem for me |
18:07:16 | dom96 | And Python doesn't have mutable strings? |
18:07:20 | Hannibal_Smith | No |
18:09:14 | Araq | Python only has objects, Nimrod only has mutable value based data types. Somebody could notice it's done mostly for consistency. I guess it's too hard to get for most people ... |
18:09:14 | * | fowl joined #nimrod |
18:10:20 | Hannibal_Smith | Araq, well immutable string is a must have in a language where in reality you work with pointers, like Java, Python and C# |
18:10:54 | dom96 | I think you can get immutable strings by using 'let' |
18:11:08 | Araq | dom96: you do, kind of |
18:12:10 | * | dom96 tries to think back how he managed to use Python without mutable strings |
18:12:34 | Araq | Hannibal_Smith: immutable strings are nice until you start to optimize your code |
18:13:23 | Hannibal_Smith | I'm too new to Nimrod to say something, but in C++ is not a problem |
18:13:50 | Hannibal_Smith | You can tell easily when you copy, or passing around pointers/reference |
18:14:57 | Hannibal_Smith | In Python, Java, C# it's hard/impossible to copy something |
18:18:20 | Araq | Hannibal_Smith: I tried to port python's docutils RST parser once. It was easier to start from scratch. So much for Python's maintainability/readability. As soon as you have a complex piece of code, it falls down very quickly. |
18:18:56 | Hannibal_Smith | I worked on a 5k socket server written in Python |
18:19:12 | Hannibal_Smith | Without a good unit testing suite (3x kloc of the project) |
18:19:36 | Hannibal_Smith | Is not viable having a dynamic language even in "middle size" project |
18:21:31 | Hannibal_Smith | I don't really understand people using nodejs, for example |
18:22:43 | Hannibal_Smith | I decided to learn only a single dynamic language, to use only where it make sense, javascript |
18:22:58 | fowl | because nodejs is faster than c duh |
18:23:01 | Hannibal_Smith | And leave alone Python, Ruby, Clojure and so on |
18:23:16 | Araq | Hannibal_Smith: a wise move but Nimrod compiles to JS ;-) |
18:23:28 | Hannibal_Smith | Araq, actually I like js! |
18:23:42 | Araq | tell me you're kidding :P |
18:23:45 | Hannibal_Smith | But I wouldn't use it for anything complex |
18:24:11 | Hannibal_Smith | No, I used to translate example from SICP book from Sheme to Js (not always possible) |
18:24:16 | Hannibal_Smith | And worked good |
18:25:20 | Hannibal_Smith | Ahhh |
18:25:22 | Hannibal_Smith | *Scheme |
18:29:48 | Hannibal_Smith | Ah another thing that made me leave Haskell is debugging |
18:29:56 | Hannibal_Smith | You have to use the interpreter... |
18:30:10 | Hannibal_Smith | And debug a software there "time is not important" |
18:30:14 | Hannibal_Smith | Is not good |
18:30:35 | companion_cube | you shouldn't need much debugging in haskell |
18:31:49 | Hannibal_Smith | I'm not really sold how you can do debugging without a debugger |
18:32:03 | Hannibal_Smith | GHCi is for sure not gdb |
18:32:27 | companion_cube | there is a trace function, and most bugs should be caught by the type system or tests |
18:32:54 | Hannibal_Smith | companion_cube, turns that you have to use unsafeIO for tracing |
18:33:00 | * | brson quit (Ping timeout: 276 seconds) |
18:33:06 | companion_cube | or debug.trace |
18:33:09 | companion_cube | something like this |
18:33:24 | companion_cube | trace :: String -> a -> a |
18:33:46 | * | ltbarcly quit (Ping timeout: 245 seconds) |
18:33:55 | * | brson joined #nimrod |
18:34:11 | Hannibal_Smith | For some reason, I didn't use this one... |
18:34:29 | Hannibal_Smith | But I can't recall why |
18:35:18 | Hannibal_Smith | I remembed things like trace not called at call...but if people uses that |
18:35:26 | Hannibal_Smith | Probably I did something wrong |
18:35:56 | companion_cube | Hannibal_Smith: may be because of lazyness |
18:36:02 | Hannibal_Smith | Yes |
18:36:06 | Hannibal_Smith | trace is not IO |
18:36:14 | Hannibal_Smith | So GHC can optimize it |
18:36:25 | * | ltbarcly joined #nimrod |
18:36:32 | Hannibal_Smith | But there is a trace |
18:36:39 | Hannibal_Smith | I think that it should work |
18:36:47 | Hannibal_Smith | *but if there is a trace |
18:37:46 | companion_cube | it does IO, I think ghc doesn't remove it |
18:38:21 | * | brson quit (Ping timeout: 245 seconds) |
18:38:30 | Hannibal_Smith | And lastly, I couldn't leave the fact that I can't understand how will GHC optimize my code |
18:38:57 | Hannibal_Smith | And understand where a code that looks slow, is fast |
18:39:39 | Hannibal_Smith | Maybe some later...but at the moment I don't think that is good for me to re try Haskell |
18:45:32 | * | ltbarcly quit (Quit: Computer has gone to sleep.) |
19:05:21 | * | zahary joined #nimrod |
19:12:08 | * | Associat0r joined #nimrod |
19:17:13 | * | faassen left #nimrod (#nimrod) |
19:37:39 | * | ltbarcly joined #nimrod |
19:41:30 | orbitz | familiar faces! |
19:41:48 | companion_cube | looks so |
19:53:02 | io2 | yeah but I got here first orbitz... |
19:53:04 | io2 | :) |
19:55:04 | dom96 | I was here first! |
20:00:51 | * | Hannibal_Smith quit (Quit: Sto andando via) |
20:01:08 | io2 | you were here since the dawn of time dom96 |
20:01:28 | * | brson joined #nimrod |
20:10:44 | Mat2 | ciao |
20:10:55 | * | Mat2 quit (Quit: Verlassend) |
20:11:14 | dom96 | io2: oh no, I was here before that :P |
20:28:12 | io2 | lol |
20:31:48 | * | Raynes quit (Max SendQ exceeded) |
20:32:04 | * | Raynes joined #nimrod |
20:32:18 | * | Raynes quit (Changing host) |
20:32:19 | * | Raynes joined #nimrod |
20:38:28 | * | Associ8or joined #nimrod |
20:39:12 | * | Associat0r quit (Read error: Operation timed out) |
20:50:23 | * | fowl quit (Quit: Leaving) |
21:23:02 | * | ltbarcly quit (Ping timeout: 240 seconds) |
21:35:59 | * | ltbarcly joined #nimrod |
21:39:11 | * | brson quit (Ping timeout: 245 seconds) |
21:48:05 | * | BitPuffin joined #nimrod |
21:48:38 | * | brson joined #nimrod |
21:52:06 | * | ltbarcly quit (Quit: Computer has gone to sleep.) |
21:58:54 | * | OrionPK joined #nimrod |
22:02:07 | * | ltbarcly joined #nimrod |
22:17:29 | BitPuffin | dom96: We should set up a nimrod/jester docker E) |
22:17:31 | BitPuffin | :)* |
22:18:23 | * | profmakx quit (Ping timeout: 246 seconds) |
22:18:34 | Araq | hi BitPuffin |
22:18:53 | BitPuffin | hey there Araq, what's up |
22:19:15 | Araq | interested in wrapping Qt or wxWidgets with c++2nim? |
22:19:35 | BitPuffin | yeah for sure, but not right now :( busy |
22:20:05 | BitPuffin | that would be really fantastic though |
22:20:49 | Araq | well I nearly finished c++2nim |
22:20:55 | BitPuffin | Araq: That is great |
22:21:15 | * | profmakx joined #nimrod |
22:21:34 | * | profmakx quit (Changing host) |
22:21:34 | * | profmakx joined #nimrod |
22:21:43 | BitPuffin | Araq: So basically your plan is that "if we can bind QT, we can bind anything" ? |
22:21:52 | BitPuffin | s/plan/reasoning |
22:22:10 | Araq | no the plan is "Qt is popular" ;-) |
22:22:23 | Araq | "and not full of template magic" |
22:22:58 | BitPuffin | isn't it super full of template magic? |
22:23:04 | * | BitPuffin believes it is |
22:23:21 | Araq | well I know for sure wxWidgets isn't |
22:23:31 | BitPuffin | wxWidgets is cool though |
22:24:53 | BitPuffin | Araq: Does module local cpp flags work yet? |
22:25:11 | Araq | no and it's not so easy |
22:25:17 | BitPuffin | I can imagine |
22:25:25 | Araq | exception handling differs in the 2 modes |
22:25:33 | BitPuffin | Oh yeah? |
22:25:57 | BitPuffin | But.. C++ is backwards compatible with C, so why can't it work the same way? |
22:26:15 | Araq | C backend uses a setjmp based implemenation, C++ backend uses c++'s native exception mechanism |
22:26:51 | Araq | I guess in "mixed mode" both should use the setjmp based implementation |
22:27:04 | Araq | hmm yeah.... that would work |
22:27:35 | BitPuffin | I suppose |
22:27:45 | BitPuffin | I mean it wouldn't break any cpp code calling nimrod would it? |
22:27:50 | Trixar_za | Wt is sexy |
22:27:53 | Trixar_za | er, Qt |
22:28:00 | * | Trixar_za strokes up to it |
22:28:20 | Trixar_za | My precious... |
22:28:34 | BitPuffin | It's not THAT good :P |
22:29:31 | Trixar_za | As far as I know, the gnome guys are making a way to interface Qt within GNOME a long side GTK |
22:29:44 | Trixar_za | Also Wayland and Mir supports it pretty well |
22:29:47 | BitPuffin | But being able to use it with nimrod should definitely be able to generate some buzz |
22:30:30 | Trixar_za | Well, Qt5 anyway |
22:30:56 | BitPuffin | Yeah Qt5 would probably be the way to go |
22:30:57 | Trixar_za | Probably because the KDE guys are moving to Wayland anyway |
22:31:06 | BitPuffin | Araq: We should also bind the Haiku API :P |
22:33:58 | Araq | does haiku use namespaces? |
22:34:09 | BitPuffin | Araq: Don't think so, not sure though |
22:34:25 | BitPuffin | I will ask |
22:37:50 | BitPuffin | Trixar_za: are you still running haiku? :) |
22:39:52 | Trixar_za | On the one drive, but I haven't logged into it in a few days |
22:42:30 | Araq | zahary: why did you enable --gc:markAndSweep ? |
22:49:06 | NimBot | Araq/Nimrod master e21da41 Araq [+0 ±1 -0]: added 'newLit' |
22:49:06 | NimBot | Araq/Nimrod master df64edb Araq [+1 ±7 -0]: cn2im: basic C++ support |
22:49:06 | NimBot | Araq/Nimrod master 09c3c01 Araq [+0 ±3 -0]: Merge branch 'master' of github.com:Araq/Nimrod |
22:49:06 | NimBot | Araq/Nimrod master 6bcb55a Araq [+0 ±2 -0]: disabled M&S GC again |
22:51:45 | Araq | good night |
23:16:19 | * | ltbarcly quit (Quit: Computer has gone to sleep.) |
23:16:29 | * | Yeri joined #nimrod |
23:28:58 | * | reactormonk joined #nimrod |
23:29:23 | * | reactormonk left #nimrod (#nimrod) |
23:29:43 | * | reactormonk joined #nimrod |
23:29:59 | reactormonk | what's the correct syntax for proc relevantClients(): seq[TClient] = clientList().filter(relevantForTiling) ? |
23:40:16 | * | Associ8or quit (Read error: Operation timed out) |
23:40:30 | * | Associat0r joined #nimrod |
23:56:47 | reactormonk | oh, import sequtils |
23:57:46 | reactormonk | [10] ReferenceError: Can't find variable: filter_32087 |
23:57:47 | reactormonk | blubb |
23:59:37 | reactormonk | dead code elimination gone wrong? |