00:54:19 | * | calmar quit (Quit: Lost terminal) |
02:37:27 | * | XAMPP quit (Read error: Connection reset by peer) |
05:06:07 | * | XAMPP joined #nimrod |
05:06:08 | * | XAMPP quit (Changing host) |
05:06:08 | * | XAMPP joined #nimrod |
07:22:39 | * | FreeArtMan quit (Ping timeout: 260 seconds) |
07:35:35 | * | FreeArtMan joined #nimrod |
09:59:09 | * | gour joined #nimrod |
09:59:29 | gour | huh..large crowd here |
10:00:52 | Araq | welcome gour :-) |
10:01:09 | Araq | it's much more active in the evenings ... ;-) |
10:01:41 | Araq | so you can wrap agar with c2nim quite easily I think |
10:05:31 | gour | hmm...i'm the one who abandoned idea to use D for our multi-platform desktop app considering it's not stable...even as language, what to speak about standard lib and other stuff like GUI bindings, database stuff etc. and decided to use Ada (atm busy with changing PHP CMS-es and other web-related stuff) considering it's stable & mature platform. now, being offered (via pm) to use nimrod, i really wonder what |
10:05:34 | gour | it would give me in comparison to Ada and is it better/weaker offering than to use D? |
10:07:48 | Araq | in comparison to Ada: lack of header files for a start ;-) |
10:09:11 | gour | i thought that Ada's separation into headers/body is good thing, no? |
10:09:28 | Araq | if you like baby sitting the compiler, perhaps |
10:09:55 | Araq | otherwise it's just tedious |
10:10:30 | Araq | I you want to read only the interface of a module, run the documentation generator over it |
10:11:42 | gour | otoh, D folks are proud using imports instead of fiddling with includes which boosts compilatation speed |
10:13:17 | gour | by looking at tut1, i resemble some Pascal stuff i used many years ago |
10:13:49 | Araq | well yeah pascal's influence is undeniable |
10:14:07 | Araq | semantically it's much closer to modula 3 |
10:14:17 | Araq | but I don't think anybody knows that :P |
10:14:24 | gour | he he |
10:14:45 | Araq | and afaict Nimrod is much more stable than D |
10:14:54 | Araq | but also fewer people use it, so it's hard to say |
10:15:09 | gour | as a language or compiler? |
10:15:20 | Araq | I'm talking about the implementation |
10:15:45 | gour | ok |
10:15:54 | Araq | the language definition is much more stable |
10:16:10 | Araq | it takes a while to implement all of the spec, though |
10:16:23 | gour | what about stability of the language? D breaks code in e.g. 2.0.60 --> 2.0.61, so it's almost useless for real work |
10:16:56 | Araq | 0.9.2 will not break much code in comparison to 0.9.0 |
10:17:06 | Araq | 0.9.0 broke lots of code |
10:17:13 | gour | D breaks spec, TDPL is either not implemented fully or obsolete in some areas...it really looks as toy language |
10:17:33 | Araq | and 0.9.4 will do so again, but we'll say how far we can mitigate the pain |
10:18:07 | gour | ok, lack of headers is one aspect of nimrod vs ada...any other (strong) 'selling points' ? |
10:18:50 | Araq | lol that's only one small point |
10:20:09 | Araq | the list of selling points is long, but often people who like Ada are scared by the feature list, so |
10:20:45 | Araq | I'm always having a hard time how to sell it :D |
10:21:49 | Araq | for instance, Nimrod has a GC, Ada does not |
10:22:42 | gour | GC is nice...i'd like to avoid taking too much care about my memory in 21st century |
10:23:26 | gour | i cannot say "i like Ada"...didn't have much time to dive into it...but consider it's the best of mature/stable static-compiled languages |
10:23:48 | gour | i gave up idea to use python and then fiddle with cython preferring strong typing |
10:24:36 | gour | otoh, tried haskell in the past, but was a bit too weird both for me (cannot say i grok monads) and few potential contributors for our project fled away in fear :-) |
10:24:50 | gour | D is interesting, but neither stable nor mature |
10:25:03 | gour | i want to avoid, at any cost, touching C++ |
10:25:07 | gour | what is left? |
10:25:25 | gour | some JVM languages and i do not even use any java-stuff |
10:25:42 | gour | Go is...well...and Rust is also not very inspiring |
10:25:57 | gour | OCaml syntax would need some love, imho... |
10:26:16 | gour | so, from plethora of langs, not many pass (my) criteria |
10:26:21 | gour | did i forget some? |
10:29:18 | Araq | probably |
10:29:36 | Araq | but indeed Nimrod sounds quite good for you then :-) |
10:29:52 | Araq | the syntax is also Python inspired ;-) |
10:30:09 | * | gour is curious about 'forgotten languages' |
10:30:34 | gour | nothing against python's syntax, whitespace etc...just about its dynamic nature |
10:30:50 | Araq | you forgot: modula 2, modula 3, delphi/object pascal |
10:31:00 | Araq | erlang |
10:31:07 | Araq | ML |
10:31:20 | Araq | objective C |
10:31:23 | Araq | etc. |
10:33:31 | gour | erlang is too network-oriented and actually designed, not so much general-purpose language |
10:33:43 | gour | is ML still alive & freely available? |
10:34:03 | Araq | dunno about the 'alive' |
10:34:03 | gour | objective-C is for the company whose products we don't buy :-) |
10:34:31 | Araq | there are a couple of free ML implementations around |
10:34:48 | Araq | there is also 'racket' (aka scheme) and Lisp |
10:34:57 | Araq | but use Nimrod, it's better :P |
10:35:07 | gour | anyway, after having trying haskell, ML does not make much sense to me today |
10:36:53 | Araq | in fact, ML is much closer to Ocaml |
10:36:55 | gour | those are using a lot some strange symbols which are ok when used moderately |
10:39:48 | gour | anyway, main point is Ada vs nimrod...some 'selling point' for someone not so strongly (yet) in love with the former |
10:40:13 | * | XAMPP quit (Read error: Connection reset by peer) |
10:40:37 | * | XAMPP joined #nimrod |
10:40:37 | * | XAMPP quit (Changing host) |
10:40:37 | * | XAMPP joined #nimrod |
10:40:47 | Araq | Nimrod is shorter, Nimrod has a GC, Nimrod has macros, Nimrod binds more easily to C |
10:41:55 | Araq | Nimrod's stdlib is bigger afaict |
10:43:26 | gour | how do macros any type-safety go together? |
10:44:15 | * | XAMPP quit (Read error: No buffer space available) |
10:44:38 | Araq | quite well |
10:44:45 | * | XAMPP joined #nimrod |
10:45:00 | Araq | macros and a static type system are completely orthogonal |
10:52:55 | Araq | brb |
10:55:12 | * | XAMPP quit (Read error: Connection reset by peer) |
10:55:45 | * | XAMPP joined #nimrod |
10:55:45 | * | XAMPP quit (Changing host) |
10:55:45 | * | XAMPP joined #nimrod |
10:56:54 | * | XAMPP quit (Read error: Connection reset by peer) |
10:57:20 | * | XAMPP joined #nimrod |
10:57:20 | * | XAMPP quit (Changing host) |
10:57:20 | * | XAMPP joined #nimrod |
11:11:16 | * | XAMPP quit (Ping timeout: 240 seconds) |
11:11:57 | * | XAMPP joined #nimrod |
11:11:57 | * | XAMPP quit (Changing host) |
11:11:57 | * | XAMPP joined #nimrod |
11:32:15 | * | zahary quit (Quit: Leaving.) |
11:37:01 | Araq | gour: the manual is often the better place to look for documentation; the tutorials are often too slim |
11:40:10 | * | gour is browsing general pages on the site |
11:44:23 | gour | "gone will be the distinction between expressions and statements." - sounds cool |
12:01:20 | Araq | it's already not that much of a problem; you can use 'case' and 'if' as expressions |
12:43:36 | * | FreeArtMan quit (Ping timeout: 240 seconds) |
13:05:36 | * | XAMPP quit (Read error: No buffer space available) |
13:06:17 | * | XAMPP joined #nimrod |
13:17:57 | gour | nimrod doc is generated by nimrod itself? |
13:25:16 | Araq | gour: yes. |
13:25:18 | Araq | as is the entire website |
13:25:55 | Araq | and our forum |
13:26:03 | Araq | and our build farm |
13:28:41 | Araq | and our installation generator ... |
13:30:08 | gour | very interesting...any option to generate pdf as well? |
13:30:17 | Araq | yep |
13:30:28 | Araq | I recently fixed bugs for that ;-) |
13:31:21 | Araq | so if you're using git head, do: nimrod rst2tex doc/manual.txt && pdflatex doc/manual.tex |
13:41:06 | * | gour quit (Disconnected by services) |
13:41:13 | * | gour_ joined #nimrod |
13:57:45 | gour_ | Araq: so far, there are no ready packages for nimrod/aporia ? |
14:13:02 | Araq | gour_: there are |
14:14:52 | gour_ | Araq: is there any magic taht this works: echo("Very funny, your name is name.") (tut1, if stmt)? |
14:14:58 | * | gour_ is now known as gour |
14:15:06 | gour | Araq: which distro you use? |
14:16:15 | Araq | linux mint, but I wouldn't recommend it |
14:16:22 | gour | same for case stmt |
14:16:32 | Araq | what do you mean? |
14:16:39 | Araq | "any magic"? |
14:16:45 | gour | after movign away from arch, i've tried both mint and lmde, but settled on debian (wheezy) |
14:17:07 | gour | how it can discern between the twon 'name' |
14:17:17 | gour | same in case stmt example |
14:18:35 | * | XAMPP_ joined #nimrod |
14:19:32 | Araq | gour: 'var' or 'let' introduces the 'name' identifier |
14:19:45 | Araq | which is then used |
14:19:47 | gour | ahh, now i got it...thought that the program does not check for name 'name' :-( |
14:20:08 | Araq | oh sorry |
14:20:22 | Araq | it's supposed to be a joke |
14:20:24 | gour | printing the 'real' name is done in next case/clause |
14:21:19 | * | XAMPP quit (Ping timeout: 240 seconds) |
14:21:24 | gour | not sure if it was joke, but created a shot confusion here :-) |
14:23:02 | gour | *short |
14:23:15 | gour | s/short/brief |
14:26:35 | * | q66 joined #nimrod |
14:30:46 | gour | site says: "Nimrod is a statically typed, imperative programming language..". wht about explicit OOP/FP features? missing by design? |
14:32:34 | Araq | brb |
14:35:03 | Araq | gour: the site used to say that, but I decided to change the text |
14:35:28 | Araq | OOP/FP features are not special anymore and Nimrod doesn't really excel at those |
14:36:58 | Araq | the idea is to give you the basics and then macros can be used to implement the fancy things |
14:39:35 | gour | i see |
14:42:15 | * | FreeArtMan joined #nimrod |
14:43:12 | gour | "The character type is named char in Nimrod. Its size is one byte." this will stay so? |
14:44:20 | Araq | yes, utf-8 is everywhere now |
14:45:18 | gour | you mean it's in strings?, but char wil lstay 1 byte? |
14:46:50 | Araq | yeah, use the unicode module for better support |
14:47:56 | Araq | char will stay 1 byte, because things like array[char, int] and set[char] are very useful |
14:48:23 | Araq | and don't work with 4 byte chars |
14:50:28 | gour | "For better interfacing to other programming languages, the symbols of enum types can be assigned an explicit ordinal value." isn't this too type-unsafe? |
14:51:18 | Araq | the compiler disallows array[enumWithHoles, T], so no it's not |
14:51:56 | Araq | are you now in "questioning every sentence you read" mode? ;-) |
14:52:26 | gour | wel,, reading tut and asking if something comes... |
14:52:43 | Araq | enums are still strongly typed |
14:52:49 | gour | i also skipped a lot ;) |
14:52:55 | Araq | if myEnum != 34: # doesn't compile |
14:53:05 | Araq | this is not D here ... |
14:53:27 | gour | i'd prefer not to allow explicit value...heh, what about haskell & Ada? |
14:54:11 | Araq | Ada even goes further with its representation clauses ... |
14:54:57 | Araq | I want Nimrod to support the same one day |
14:56:06 | Araq | haskell uses proper sum types, they are nice, but Nimrod's enum + case object combination is more flexible |
14:58:15 | Araq | and you still get the exhaustive checking in 'case' statements |
15:00:32 | gour | how are openarrays 'declared' as parameters? |
15:09:00 | Araq | proc p(a: openarray[int]) ? |
15:09:40 | gour | ok. now it's clear...upper range is just skipped |
15:09:56 | gour | should i continue (after tut1) with tut2 or better go to manual? |
15:12:14 | Zor | Araq: what's the distinction between var and let? |
15:12:39 | Araq | Zor: 'let' creates an SSA variable |
15:12:58 | Zor | I see |
15:13:09 | Araq | like rust's 'let mu' vs. 'let' |
15:13:26 | * | Zor nods |
15:13:35 | Araq | 'let mu' is called 'var' |
15:13:44 | Zor | I considered that same distinction for my lang. a while back but ultimately ended up going with let mut to save a keyword |
15:14:17 | Araq | IMO immutability is superficial in a systems programming language |
15:14:35 | Araq | rust is full of 'let mu', so another keyword is warranted |
15:15:09 | Araq | and nimrod's immutability is only shallow |
15:16:00 | Araq | in fact, once you take the "no heap sharing" route, immutability doesn't buy you anything for concurrency |
15:16:21 | Zor | no, but it does buy you clarity |
15:16:40 | Araq | that's true |
15:17:03 | Araq | we considered a D-like const system for Nimrod, but it gets complex and annoying very quickly |
15:18:31 | Araq | so instead I've implemented an effect system ;-) |
15:18:53 | Araq | which doesn't track write operations yet, however |
15:19:41 | gour | do you have any eta for 1.0? |
15:20:17 | Araq | worst case: end of 2014 |
15:20:22 | gour | ok |
15:20:24 | Araq | best case: end of 2013 |
15:21:00 | gour | D wants, seemingly, to compete with C++...what is nimrod's (primarily) market or target audience? |
15:24:33 | Araq | good question: I'd say game programming and scientific computing |
15:25:00 | Araq | but given a choice, I don't use anything else anymore |
15:25:19 | Araq | it's pretty sweet for scripting too imo |
15:25:27 | gour | dogfooding ;) |
15:26:25 | gour | i'd say, based on brief reading, that it might be even better choice than D which is, often, get too complicated for no apparent reason |
15:27:03 | gour | otoh, i still feel we might be better to start wit hada today for desktop gui project |
15:27:22 | Araq | that's sad |
15:27:46 | gour | does your gtk bindings hold some of the nimrod's type-safety over using plain C? |
15:28:16 | * | gour wonders how much in the language might change until 1.0 |
15:28:53 | Araq | yes it does improve over C's broken type system |
15:31:23 | gour | i like nimrod's syntax, stuff brought from the python, but i'm not at all experienced with macros not used lispy languages ever, except i had short course on the university many years ago about prolog...but that's not lisp...and i believe to take advantage of nimrod and deploy some of the oop/fp features, one has to adjust one's mind to macro system |
15:31:42 | Araq | and the plan to 1.0 is in my todo.txt btw |
15:32:38 | Araq | and there are ready to use macros for better OOP support to be found on the forum |
15:32:59 | gour | i must congratulate 'cause it looks you know what are you doing...D's designers are simply adventurists |
15:33:22 | gour | s/congratulate/ cong. you |
15:33:37 | Araq | and you can accomplish quite a lot without using nimrod's macros |
15:33:45 | Araq | in fact, I rarely use them |
15:35:26 | gour | my primary concern was/is to have type-safe system...not using haskell & fp, ada & oop looks as the best option so far...i'm not into low-level programming, writing device drivers etc. but custom libs for desktop app falling close to scientifci computing althought many scientists despise (vedc) astrology as such |
15:37:09 | Araq | Ada's OOP features are inferior to Nimrod's IMO |
15:37:21 | Araq | even when you don't use Nimrod's macros |
15:37:34 | gour | what about type-safety? |
15:37:49 | Araq | can't think how Ada is more type safe |
15:37:57 | gour | Araq: if having choice (for Nimrod), would you use GTK or wx for multi-platform project? |
15:38:16 | Araq | GTK |
15:38:34 | Araq | we don't have any wx wrapper for now anyway; at least I'm not aware of such a thing |
15:38:39 | gour | doesn't look strange on Mac? i do not own one to test, but many people complain about it |
15:39:09 | gour | and even GTmk team for windows are quite limited |
15:39:12 | Araq | wx's API is badly designed imo |
15:40:15 | gour | well, API is not good, but it looks good/native :-) |
15:40:23 | Araq | but for good cross platform UIs there is only Lazarus |
15:40:35 | gour | Lazarus? that's pascal? |
15:40:38 | Araq | yes |
15:40:46 | Araq | native UI on windows, mac os x and linux |
15:40:50 | gour | btw, you have ' customers' in #ada |
15:41:03 | gour | that's sama as wx, isn't it? |
15:41:19 | gour | *same |
15:41:58 | Araq | except that Lazarus comes with a UI builder |
15:42:36 | Araq | there is an example how to use lazarus for the frontend and nimrod for the backend in nimrod's distribution |
15:43:05 | gour | there are several wx builders as well |
15:43:48 | Araq | yeah, I tried them once, simply doesn't compare to delphi/lazarus |
15:44:07 | gour | have you tried wxdesigner/dialogblocks? |
15:44:18 | gour | otoh, gui is not re-done so often |
15:44:37 | gour | and i'd prefer to stay with one language, not mixing e.g. nimrod/pascal |
15:46:14 | Araq | fair enough |
15:46:46 | Araq | but I still think you will be happier with Nimrod than with Ada ;-) |
15:47:00 | Araq | I have a start of a wx wrapper lying around |
15:47:12 | Araq | but somebody needs to finish and use it |
16:07:46 | gour | wx is big...that's one problem |
16:09:30 | gour | i must also say that i'm not to attached to oop...even more i like fp, but for my application was considering that even more procedural design might be ok considering we plan to use sqlite3 as application's format and simply use rdbms to avoid writing lot of custom code to handle data |
16:11:35 | Araq | gour: just use nimrod please |
16:11:43 | dom96 | hello |
16:11:46 | Araq | you won't regret I promise ;-) |
16:11:52 | dom96 | ooh, new person. Hi gour. |
16:12:15 | Araq | btw I did use Ada, I wrote ~20K of an RTS engine in it |
16:12:17 | gour | hiya dom96 |
16:12:28 | Araq | and then rewrote it in Delphi ;-) |
16:12:51 | gour | Araq: ^ for me or for dom96 |
16:15:19 | Araq | gour: for you |
16:16:13 | gour | Araq: Delphi? don't get it :-/ |
16:17:09 | Araq | Ada is nice in theory, but a pita in practice IMO |
16:17:50 | Araq | so I rewrote what I had in Delphi |
16:18:03 | Araq | (was years ago btw, way before nimrod's existance) |
16:18:08 | gour | what's bad in practice? there is decent free compiler, some IDE, lots of libs, bindings, literature (tutorials, books)...what is bad? |
16:18:32 | dom96 | I'm just reading the log here... |
16:18:32 | dom96 | <Araq> [10:17:06] 0.9.0 broke lots of code |
16:19:08 | dom96 | I disagree. I mean, most of my projects needed little if at all fixes. |
16:19:42 | gour | Araq: how long did you use Ada and how much ahve you written in it? |
16:19:42 | Araq | yes but your code contains little integer arithmetic |
16:20:27 | * | Vladar joined #nimrod |
16:20:32 | Vladar | Hi |
16:20:33 | Araq | as I said, I wrote the RTS engine plus SDL and Lua wrappers |
16:21:00 | Araq | and the type sytem is overly restrictive when it comes to interfacing with C |
16:21:12 | dom96 | ahh yes. I forgot about that change. |
16:21:23 | Araq | and the header/implemenation split is a PITA to work with |
16:21:46 | Araq | and the generics don't let you abstract over different pixel sizes |
16:21:55 | gour | Araq: are you familiar wit hahskell? i liked its type-sctrictness |
16:21:55 | Araq | etc. etc. |
16:23:07 | Araq | only used it for some quick scripts and read a book about it |
16:23:10 | gour | abstraction over pixel sizes...that's pretty low-level :-) |
16:23:18 | Araq | yes |
16:23:28 | gour | which book, craft? |
16:23:48 | Araq | I ended up using a preprocessor to generate the code |
16:24:03 | Araq | wrote the preprocessor myself, of course |
16:24:25 | Araq | so Ada had generics, Delphi didn't and yet I had to use a preprocessor for both anyway |
16:24:58 | Araq | book "real world haskell" |
16:25:04 | Araq | but I have to go now, see you later |
16:25:34 | gour | based on your description/experience, it seems lot of difference is in the estimated use cases where language is to be used |
16:25:47 | gour | ahh, i asked about ada book...ok |
16:28:35 | dom96 | hello Vladar |
16:29:42 | Vladar | hi, dom96 |
16:42:37 | gour | what can you say about nimrod vs felix which targets c++? |
16:47:43 | dom96 | gah, how come Felix gets a wikipedia page and we don't? |
16:59:25 | gour | nimrod's one was, afaik, rm-ed |
16:59:32 | dom96 | yep |
16:59:42 | dom96 | Due to lack of references. |
16:59:48 | dom96 | I don't get why Felix's wasn't then though |
17:02:38 | * | zahary joined #nimrod |
17:05:36 | gour | i complained to editors when they put mayan edms (django project) for removal |
17:06:38 | gour | it was actually rm-ed, but now it re-appeared |
17:08:47 | gour | dom96: did you also used ada before? |
17:09:07 | dom96 | nah, only briefly. I have used Haskell though. |
17:09:29 | gour | and migrated to nimrod? |
17:09:35 | dom96 | yep |
17:10:17 | gour | interesting...iwas playing with haskell some years ago...nice language, syntax, but one has to read too many papers to get it :-) |
17:11:09 | dom96 | indeed. I never got into the mindset of monads. |
17:11:24 | dom96 | All my haskell projects do as much as they can to avoid them heh |
17:12:53 | gour | yeah, monads are maybe cure, but i want to be pragmatic...that's why i consider ada to avoid monads-mindset |
17:13:06 | gour | *cute |
17:14:25 | gour | what do you prefer in nimrod over ada? |
17:15:12 | dom96 | I haven't used Ada in a while, so it's hard to recall. |
17:15:33 | gour | maybe i'm wrong, but nimrod, somehow, feels to me more low-level than (ada) or what i'm looking for |
17:15:42 | dom96 | But as far as I can remember the stdlib of Nimrod is definitely a lot more modern and nice than Ada's. |
17:16:29 | gour | how is nimrod's parallelism/concurrency model, something designers of ada are proud of? |
17:18:43 | gour | otoh, spent too many time playing with haskell in the past and played recently with D, i consider Ada s stable/mature/robust language with assured support...another fear that fiddling with Nimrod might prove similar to haskell/D..moreover not so many core devs |
17:19:51 | gour | i simply do not have time building some language's ecosystem, but having time constraints wants to focus on writing app using the language |
17:20:48 | dom96 | what kind of app are you writing? |
17:21:25 | gour | general desktop app |
17:21:31 | _ponce | <Araq> [16:11:03] we considered a D-like const system for Nimrod, but it gets complex and annoying very quickly < thanks god |
17:21:45 | _ponce | D const system is really annoying for so little gain |
17:21:54 | _ponce | better left out of the type system imho |
17:22:14 | gour | dom96: something like http://saravali.de/ but more extensive with some research capabilities |
17:24:41 | _ponce | gour: why not C++ :) ? |
17:24:43 | _ponce | few bugs in compilers |
17:24:43 | _ponce | lots of libraries |
17:26:25 | _ponce | but not very spiritual for astrology software :) |
17:29:21 | gour | _ponce: i did C++ 20yrs ago...now i believe i deserve something better :-) |
17:29:41 | gour | _ponce: last point is the answer ;) |
17:31:24 | gour | _ponce: i used zortech c++...in the meantime c++ evolved into huge & ugly beast |
17:32:15 | _ponce | gour: i only find job in C++, in 2012 :( |
17:32:43 | _ponce | so much lost time |
17:33:06 | gour | _ponce: that+s fair...otoh, programming in not my bread'n'butter |
17:33:25 | * | gour ha typing problems |
17:33:29 | gour | lol |
17:35:04 | * | _ponce realizes C++ was once a smaller language |
17:36:04 | gour | _ponce: are you familiar with ada? |
17:37:12 | _ponce | I was taught Ada in college I guess |
17:37:33 | gour | do you like it and/or some ada vs nimrod? |
17:37:45 | _ponce | not enough experience in any of those to tell |
17:38:07 | gour | in the school i was taught pascal & c...c++ was self-learning and i did my thesis in it |
17:38:14 | _ponce | as students we found Ada annoying, but it's probably very good |
17:38:21 | gour | :-) |
17:38:34 | * | gour forgot fortran :-) |
17:38:39 | _ponce | that said |
17:39:00 | _ponce | from what I hear the aerospace world runs more and more on C and C++, and not so much on Ada |
17:39:26 | _ponce | looks like process ensure safety more than langages |
17:39:40 | gour | well, lot of industry uses Java, but we don't care much |
17:41:00 | _ponce | I'd say it all depends the scopes of your project, even if D it's common to write a binding when doing an actual project |
17:41:09 | _ponce | even in* D |
17:41:16 | _ponce | what libraries you need etc |
17:41:50 | _ponce | and what your team is used to |
17:43:47 | gour | well, it willbe open-source project and we have to put team together...some run away from fear of haskell in the past...i need gui bindings, sqlite and bindings for 3rd party C-lib (swiss ephemeris)...rest will be probably custom code |
17:44:20 | * | _ponce can't grok haskell either |
17:44:20 | * | gour considers D too unstable as language to invest serious time in it |
17:45:36 | gour | so, i want something stable and not too low-level, iow. GC for memory etc, |
17:45:53 | _ponce | and Java is out of question? |
17:46:25 | gour | yes...false promises of write-once-run everywhere...i was hearing about it since using os2 |
17:46:36 | gour | also not fan of jvm |
17:47:36 | _ponce | looks like the biggest dependency (and constraint) will be that GUI binding |
17:47:55 | gour | possibly |
17:48:28 | gour | that eliminated D 'cause gtk3 is one-man show and no other bindings alive...hakell is also not thrilling |
17:49:08 | gour | *gtkd |
17:49:22 | gour | python is the best choice :-D |
17:49:49 | _ponce | might be |
17:50:10 | gour | but we want static typing |
17:50:39 | dom96 | Nimrod is exactly that. Only thing is, gtk bindings may not be the best. |
17:50:51 | dom96 | But I created aporia with them. |
17:52:34 | gour | ada's type-safety might be more strict? |
17:52:40 | gour | any problem with gtk bindings' |
17:52:43 | gour | ? |
17:54:06 | dom96 | they are slightly out of date, and they are basically just a wrapper of C so they are not always nice. For example closure support for GTK signals would be nice. |
17:55:48 | gour | no gtk3? |
17:55:57 | dom96 | yeah, that too. |
17:56:15 | dom96 | Wrappers are generally easy to create with c2nim |
17:56:27 | dom96 | But creating proper bindings takes more effort obviously. |
17:56:46 | gour | sure..taking advantage of higher-level lang's features |
18:26:38 | Araq | dom96: I looked for aporia's downloads for gour, but couldn't find them anymore |
18:26:45 | Araq | is it because of this? https://github.com/blog/1302-goodbye-uploads |
18:26:49 | dom96 | Araq: yep |
18:26:56 | dom96 | Just noticed that recently too. |
18:27:11 | dom96 | You can still access them though: https://github.com/nimrod-code/Aporia/downloads |
18:28:42 | Araq | github is getting more and more annoying |
18:29:16 | Araq | that was a nice feature they just removed |
18:30:02 | Araq | gour: you can't be serious about nimrod being more low level than Ada ... |
18:30:16 | Araq | try to program a generic 'map' in Ada |
19:07:43 | gour | Araq: it's just a feeling, not scientific research...finally, it seems nimrod operates at the C-speed level |
19:08:17 | gour | in regard to Github, i prefer using fossil nowadays and will use it for our project |
19:09:37 | Araq | Ada operates on C-speed level too btw |
19:11:52 | gour | i read it can be used for device drivers, but thought it's more higher-level |
19:12:29 | Araq | Ada allows you to nail down the memory representation at the bit level |
19:12:51 | Araq | that's in fact *more* low level than C |
19:13:24 | Araq | it's just that the language has been designed instead of hacked together |
19:14:00 | Araq | in practice, the tool chain may indeed make it harder to write device drivers in it than C |
19:14:25 | gour | that's definetely more low-level |
19:15:15 | gour | Araq: what do you think about felix vs nimrod? |
19:15:47 | gour | i also see you're striving to improve nimrod's c++ linking capabilities, right? |
19:15:58 | Araq | nimrod seems to be much farther in development than felix |
19:16:13 | gour | how long is nimrod developed? |
19:17:03 | Araq | and felix's GC looks pretty simple |
19:17:36 | Araq | ugh, it's hard to say ... it's been in development since 8 years I guess |
19:19:19 | gour | you're really persistent guy..probably one-man show msot of the time |
19:19:43 | Araq | indeed and I'm doing it all in my spare time ;-) |
19:20:21 | Araq | and I have a job and family too |
19:20:30 | gour | and corporate money funds stuff like rust/go :-( |
19:20:42 | Araq | that's life |
19:20:51 | * | gour is going to bath their small daughter...in a minute...bbs |
19:52:02 | gour | when i was suggesting to my 'mentor' to use haskell, he was very sceptic 'cause most of the guys were talking about Java/C(++)...i even skipped the idea of D and not announced to use Ada which is mature & robust platform, nicely supported and used for critical-mission applications. now i wonder what kind of comments i'd become entitled to to mention possibility to use nimrod :-} |
19:53:18 | Araq | screw your mentor, convince him with a working demo that kicks ass |
19:53:45 | gour | saying there are few devs, one language designer and (maybe) 200 users world-wide |
19:54:04 | Araq | chicken and egg |
19:54:07 | gour | that's the only possibility |
19:54:22 | Araq | get a new mentor then |
19:54:49 | gour | huh...maybe i can try to see what can c2nim accomplish and how fast i could provide bindings for 3rd party lib i need |
19:55:19 | gour | well, he is not really mentor, but my teacher and he is one rare jewel in the field |
19:55:49 | Araq | well what it is you're trying to build? |
19:55:53 | gour | ...then i can work on some basic calculations and try to provide some simple console-demo at least |
19:57:22 | gour | program for vedic astrology - http://saravali.de/ is something similar, written in C++/wx, but our app should be more extensive in some areas (some features we'd skip like western astrology), but alos more research-oriented to ahve ability to work on larger database of charts |
20:07:46 | Araq | wtf, vedic astrology? what's that? |
20:10:36 | gour | http://en.wikipedia.org/wiki/Jyotish |
20:14:14 | Araq | meh ... :P |
20:15:03 | Araq | but you should write it in nimrod nevertheless ;-) |
20:15:19 | Araq | we'll gladly help you wrap anything you need |
20:17:09 | gour | by using http://en.wikipedia.org/wiki/Prasna_Shastra it is possible to find out what is the future of nimrod? but i do not know the art..it's 'post-graduate' study |
20:18:31 | gour | wouldn't bring you bad reputation? |
20:18:32 | gour | :-) |
20:19:12 | Araq | perhaps ;-) |
20:19:34 | gour | that, it's maybe better to ruin ada community :-) |
20:20:14 | Araq | yeah but an Agar wrapper would be nice |
20:20:33 | Araq | so please do that before you switch to Ada |
20:21:40 | Araq | is that going to be a commercial application btw? |
20:22:11 | gour | no, open-source |
20:22:42 | gour | what do you mean about Agar wrapper? make Agar wrapper for nimrod and use instead of gtk? |
20:22:53 | Araq | yeah |
20:23:46 | gour | i'm not sure Agar is better choice as GUI lib for our purpose...seems to be is more for drawing |
20:24:22 | gour | otoh, fiddling with writing a new wrapper for the langauge, would not be much different from what i was offered in D community :-) |
20:24:33 | * | gour simply does not have time for such tasks |
20:30:03 | Araq | ugh Agar is huge ... |
20:30:16 | Araq | better stick to gtk then |
20:32:30 | gour | :-) |
20:33:16 | gour | wikipedia rm-ed their page as well.."As non-consumer software, this set of C++ graphical libraries is unlikely to receive general interest outside the field of C++ graphical programming." |
20:33:30 | gour | i believe they won't see my donation this year |
20:35:20 | gour | there is no nimrod-related mailing list? |
20:36:39 | fowl | Araq: we could make a better gui than agar with sfml |
20:38:55 | gour | fowl: what is sfml? |
20:39:36 | fowl | gour: opengl-based graphics library |
20:40:15 | gour | ahh...that's, again, more for drawing than general-purpose toolkit |
20:53:59 | * | gour is reading Nimrod-thread in d.lang from one year ago or so |
21:05:03 | * | gour is reading about nimrod's tools...quite impressive that nimrod is building complete ecoystem around the language |
21:06:53 | gour | any plan for niminst to support creating something suitable for mac os? |
21:11:03 | Araq | dunno, ask gradha when he's around |
21:11:21 | Araq | should be too hard to make niminst produce a mac os X bundle |
21:11:27 | Araq | *shouldn't |
21:12:04 | gour | by looking at some source files @github, i must say that the code actually looks beautiful..something like pure haskell code without real-world improvements :-) |
21:12:23 | gour | congrats Araq!! |
21:12:30 | Araq | thanks :-) |
21:13:03 | gour | well, i cannot lose anything by trying to provide nimrod bindings for swiss ephemeris lib and see how it goes |
21:13:29 | Araq | it's a C lib, right? |
21:13:35 | Araq | c2nim can't parse c++ yet |
21:14:19 | gour | of course, for real usage i'd like to provide higher-level api with exceptions etc. instead of ancient checking of return value < 0 and filling char *errmsg :-) |
21:14:24 | gour | yes, C lib |
21:15:14 | * | Vladar quit (Quit: Leaving) |
21:15:18 | gour | http://www.astro.com/swisseph/swephinfo_e.htm?lang=e |
21:15:28 | gour | your neighbours from swiss ;) |
21:16:20 | gour | everything bindable is collected in one header |
21:17:36 | gour | ..swephexp.h...that's all |
21:17:53 | gour | btw, how does llvm 'back-end' works with nimrod? |
21:19:53 | Araq | there is no llvm backend |
21:20:05 | Araq | you can use clang with nimrod though |
21:20:20 | Araq | an llvm backend has been started but abandoned |
21:20:40 | gour | one thing which is especially like in nimrod, based on what i've seen, is its 'simplicity' but not on the expense of power...ada seems to be quie big...similar is with D and its complexity |
21:21:10 | gour | well, i menat ability to use llvm with clang to build executable |
21:22:04 | Araq | someone said, latest clang doesn't work due to clang bugs, I haven't checked that |
21:22:37 | gour | ok, but that's something that it is expected to work, right? |
21:22:46 | Araq | right |
21:22:54 | gour | good |
21:23:01 | Araq | Visual C++ works too |
21:23:08 | Araq | and so does Intel's compiler |
21:23:17 | Araq | (at least the last time I tested it) |
21:23:36 | gour | when reading nimrod-thread in D forums, there was one use Marco Leisse or so, being quite inspired by the language..is he still around? |
21:23:45 | gour | *user |
21:24:00 | Araq | I don't think so |
21:24:13 | gour | left for D? |
21:24:22 | Araq | never left D |
21:24:35 | Araq | or maybe he doesn't use either |
21:24:42 | Araq | why is that important? |
21:26:22 | gour | not at all...simple curiosity...he works on D...otoh, nimrod is certainly more according to my taste |
21:27:17 | gour | who are core devs here? |
21:27:32 | Araq | zahary, dom96 and me |
21:28:59 | gour | congrats to all!!! |
21:29:35 | gour | when will nimrod land in debian? any debian dev here? |
21:30:40 | Araq | it's on arch I think but the packagers did strange things |
21:31:08 | Araq | apparently they can't handle that it deliberately doesn't use autoconf + make |
21:31:10 | * | gour left arch ~two months ago |
21:31:30 | gour | ohh, what is build system for nimrod? |
21:32:02 | Araq | it's called 'koch' and written in nimrod |
21:32:15 | Araq | ('koch' is German for 'cook') |
21:32:23 | gour | it can build 3rd party C libs included? |
21:32:37 | Araq | no, you only need it for bootstrapping |
21:33:08 | * | gour was learning german for some years in primary school - "ich bin in die schulle gegangen!" so much remained :-) |
21:33:22 | Araq | 3rd party C libs can be included via a pragma and then the compiler will build them for you |
21:33:50 | gour | what about building general nimrod projects? |
21:34:25 | Araq | it's built into the compiler |
21:34:56 | gour | with support for building docs/manuals? |
21:35:37 | Araq | yes |
21:36:00 | Araq | nimrod doc --project myproject.nim # produces docs for every of your used modules |
21:36:07 | gour | maybe it's better to stop asking questions 'cause i'm becoming more and more impressed |
21:36:36 | Araq | maybe you should start using it ;-) |
21:36:58 | gour | D has bigger community, more help offered to core devs and they're far from being self-hosted, what to speak about other components of ecosystem |
21:37:26 | Araq | the D people are very good at talking |
21:37:47 | gour | i'll try with bindings for that lib before doing anything with Ada...i promise |
21:37:52 | Araq | whereas we build things :P |
21:38:51 | gour | you hit the right nail now...only wxwidgets mailing list (which i followed subscribed to gmane) had more messages that D.lang, but they lost after some time :-D |
21:39:26 | gour | btw, i recommend mailing list (subscribed to gmane) over web forums at any time ;) |
21:40:24 | Araq | but the forum is sexy and written in nimrod ... |
21:43:08 | gour | so mail <---> forum gateway should be added |
21:43:46 | Araq | yeah, do that please |
21:44:05 | gour | i already sleep too less :-( |
21:57:33 | * | gour is building nimrod |
21:58:03 | gour | what's this 30s? |
21:58:51 | Araq | it took 30s on your machine |
21:59:05 | Araq | which likely means you compiled without -d:release |
21:59:12 | gour | sh build.sh 28,82s user 1,29s system 96% cpu 31,159 total |
21:59:19 | gour | i did sh build.sh |
21:59:47 | Araq | alright, well that's the C compiler at work |
22:00:00 | gour | well,i expected longer time |
22:00:20 | Araq | do this: koch boot -d:release |
22:01:23 | gour | but i need koch for that? |
22:02:34 | gour | how to properly build it? |
22:02:35 | Araq | yeah, compile it: nimrod c koch |
22:04:28 | gour | ./koch boot -d:release 52,01s user 1,96s system 447% cpu 12,056 total |
22:04:44 | gour | very nice |
22:05:13 | Araq | for last cycle of bootstrapping I get 2.7s here |
22:05:34 | Araq | dunno why you get 52s ... |
22:07:57 | gour | i built few gtk examples..they work |
22:08:05 | gour | are youn on 64bits? |
22:09:13 | Araq | yes |
22:11:32 | gour | i used 0.90 release, not trunk |
22:12:04 | gour | *0.9.0 |
22:13:49 | dom96 | gour: Are you using 'time' in bash? |
22:14:12 | dom96 | I'm guessing Araq is talking about the time that the Nimrod compiler gives. |
22:14:59 | gour | dom96: yes, inzsh |
22:15:47 | gour | compiler's line is: Hint: operation successful (55519 lines compiled; 1.596 sec total; 158.162MB) [SuccessX] |
22:16:19 | Araq | 1.5sec total? o.O |
22:16:41 | Araq | and time says it took 52secs? |
22:16:52 | gour | yep |
22:17:09 | dom96 | Does the time nimrod give also include the time it took gcc to do its work? |
22:17:21 | Araq | yes it does |
22:17:25 | gour | but compiler line also included: executables are equal: SUCCESS! |
22:17:40 | Araq | but gcc isn't invoked for the last cycle |
22:17:47 | dom96 | damn, my CPU must be crap: Hint: operation successful (58906 lines compiled; 4.111 sec total; 168.172MB) [SuccessX] |
22:18:00 | Araq | yeah :P |
22:18:15 | gour | Hint: operation successful (55519 lines compiled; 10.405 sec total; 158.162MB) [SuccessX] |
22:18:15 | dom96 | but then again, more lines compiled. hrm. |
22:18:18 | gour | iteration: 2 |
22:18:34 | dom96 | Hint: operation successful (58906 lines compiled; 42.561 sec total; 168.172MB) [SuccessX] |
22:18:53 | Araq | well 'time' times the whole bootstrapping obviously |
22:18:53 | dom96 | That's before "iteration: 2" for me. |
22:19:04 | dom96 | indeed |
22:19:11 | gour | Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz here |
22:19:26 | Araq | ah the i7 |
22:19:29 | Araq | that explains it |
22:19:31 | dom96 | yeah, no way my poor Phenom has a chance. |
22:20:24 | gour | still, i bet you don't have time for coffee (which is good) while waiting compile to finish :-) |
22:21:19 | gour | excellent work, devs |
22:24:06 | Araq | thanks ;-) |
22:26:25 | * | gradha joined #nimrod |
22:27:10 | Araq | hi gradha |
22:27:19 | gradha | hi |
22:28:46 | Araq | gour wants to use niminst to build mac ox X bundles |
22:29:03 | Araq | and I bet you know what it takes to do that |
22:29:17 | gradha | sure, what is niminst? |
22:29:30 | Araq | nimrod's installation generator |
22:29:55 | gradha | well, mac bundles defeat the purpose of installators |
22:30:01 | Araq | http://nimrod-code.org/niminst.html |
22:30:08 | gradha | the idea is everything is contained inside the bundle, so no installator is required |
22:30:13 | Araq | I know |
22:30:28 | Araq | but niminst could grow support to build a bundle |
22:30:36 | Araq | just like it can produce a windows installer |
22:30:37 | gradha | about 80% of software pre mac store simply used a DMG with a special background and hyperlink to /Applications, the user drags it and installed |
22:30:40 | dom96 | it can currently already build a debian package |
22:30:57 | gradha | sounds a good idea |
22:31:36 | * | gour is more interested for debian package since using debian, but thinking about windows/mac users as well |
22:32:22 | gradha | at the most basic level a template like structure could be provided by niminst where it automatically calls nimmain and calls execution of the main module |
22:32:57 | gradha | however, mac bundles are graphical apps, so it implies either a mac interface binding or using 3rd party like gtk |
22:33:09 | gradha | the bundling of gtk/other will be a pain |
22:33:50 | * | gour is interested to write gtk app |
22:34:13 | gradha | I guess I could use Aporia as a test case for mac bundling experiments |
22:34:59 | dom96 | yeah! |
22:35:17 | dom96 | btw how are gtk apps on mac os x? |
22:35:22 | dom96 | from what I hear they look ugly |
22:35:54 | gour | now i've to go to sleep...all i can say is tha Araq was doing some fishing and now i'm not sure how we'll spend the night experiencing anger of angry Ada-gods...and i was warned to be careful with data on 12.12.2012. :-) |
22:35:54 | gradha | only recently they gained "nativeness", so in practice most run under X |
22:36:15 | gour | gradha: but there is work on native port, right? |
22:36:20 | gradha | and anything running under X on mac looks crap |
22:36:42 | gradha | very very recently, the build instructions are still like a minefield |
22:36:44 | gour | yeah, wx would be better option for mac |
22:37:13 | * | gour --> sleep...'night and see you tomorrow |
22:37:19 | Araq | good night |
22:37:20 | gradha | bye |
22:37:24 | * | gour quit (Quit: WeeChat 0.3.8) |
22:37:55 | dom96 | gradha: If you ever get Aporia looking sexy on Mac OS X please let me know. |
22:38:20 | dom96 | gradha: Also, would be nice if you provided instructions in the readme of Aporia on how to get it running on Mac OS X. |
22:38:23 | gradha | it will be a trans-dimensional message from a parallel universe, though |
22:38:44 | gradha | that is on my todo list, had some stuff noted down about macports dependencies |
22:39:06 | dom96 | lol |
22:50:05 | gradha | reading gour's estimation of 200 nimrod users, isn't that off by a factor of like 10? |
22:50:47 | Araq | yeah but I didn't have the balls to tell him :P |
22:50:48 | dom96 | yeah, sadly. |
22:51:14 | Araq | also ... he could be right, who knows |
22:51:49 | gradha | The felix wikipedia entry has likely not been deleted because nobody tried to update it in a while |
22:52:17 | dom96 | I bet the Nimrod one got deleted because it was linked to from the Python article |
22:52:53 | Araq | find me the old article and I'll fight to get back on wikipedia |
22:56:19 | dom96 | Seems the original article is gone: http://en.wikipedia.org/wiki/Wikipedia:Articles_for_deletion/Nimrod_%28programming_language%29 |
22:56:24 | dom96 | That's the talk page. |
23:11:43 | * | XAMPP_ quit (Read error: Connection reset by peer) |
23:21:30 | * | gradha quit (Quit: gradha) |
23:28:21 | reactormonk | Let's see if I can get anyone to write a paper about it... :-) |
23:28:38 | reactormonk | may take one or two year, though |
23:45:34 | dom96 | good night |
23:57:45 | * | q66 quit (Quit: Quit) |