2017-06-12T00:00:17Z cggong quit (Quit: cggong) 2017-06-12T00:01:05Z cggong joined #lisp 2017-06-12T00:02:20Z jleija joined #lisp 2017-06-12T00:09:07Z jleija quit (Quit: leaving) 2017-06-12T00:09:20Z jleija joined #lisp 2017-06-12T00:11:42Z jleija quit (Client Quit) 2017-06-12T00:12:00Z jleija joined #lisp 2017-06-12T00:13:43Z jleija quit (Client Quit) 2017-06-12T00:14:00Z jleija joined #lisp 2017-06-12T00:15:59Z jleija quit (Client Quit) 2017-06-12T00:16:15Z jleija joined #lisp 2017-06-12T00:16:39Z wildlander quit (Quit: Saliendo) 2017-06-12T00:18:04Z jleija quit (Client Quit) 2017-06-12T00:18:22Z whiteline quit (Ping timeout: 264 seconds) 2017-06-12T00:18:40Z whiteline joined #lisp 2017-06-12T00:19:37Z varjag quit (Ping timeout: 255 seconds) 2017-06-12T00:21:16Z jleija joined #lisp 2017-06-12T00:23:45Z netizen9285 joined #lisp 2017-06-12T00:23:52Z learning quit (Remote host closed the connection) 2017-06-12T00:24:05Z dtornabene quit (Read error: Connection reset by peer) 2017-06-12T00:24:25Z dtornabene joined #lisp 2017-06-12T00:24:52Z trocado quit (Remote host closed the connection) 2017-06-12T00:24:58Z netizen9285 quit (Client Quit) 2017-06-12T00:28:46Z dtornabene quit (Read error: Connection reset by peer) 2017-06-12T00:30:39Z butterthebuddha joined #lisp 2017-06-12T00:31:11Z p9s joined #lisp 2017-06-12T00:32:20Z akkad left #lisp 2017-06-12T00:36:57Z pareidolia quit (Ping timeout: 240 seconds) 2017-06-12T00:38:55Z dtornabene joined #lisp 2017-06-12T00:40:07Z whoman quit (Remote host closed the connection) 2017-06-12T00:40:25Z pareidolia joined #lisp 2017-06-12T00:40:31Z whoman joined #lisp 2017-06-12T00:41:22Z dddddd quit (Remote host closed the connection) 2017-06-12T00:50:13Z attila_lendvai quit (Ping timeout: 255 seconds) 2017-06-12T00:59:40Z quazimodo joined #lisp 2017-06-12T01:00:08Z vydd quit (Ping timeout: 260 seconds) 2017-06-12T01:12:08Z butterthebuddha quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-06-12T01:19:52Z nosefouratyou quit (Quit: Page closed) 2017-06-12T01:21:16Z arescorpio joined #lisp 2017-06-12T01:24:56Z butterthebuddha joined #lisp 2017-06-12T01:28:26Z flavio81 joined #lisp 2017-06-12T01:31:28Z takitus joined #lisp 2017-06-12T01:31:58Z cggong quit (Quit: cggong) 2017-06-12T01:32:56Z cggong joined #lisp 2017-06-12T01:33:49Z cggong quit (Client Quit) 2017-06-12T01:38:08Z cggong joined #lisp 2017-06-12T01:41:00Z learning joined #lisp 2017-06-12T01:44:50Z ekinmur joined #lisp 2017-06-12T01:45:26Z learning quit (Client Quit) 2017-06-12T01:45:32Z AJavaIdiot quit (Quit: ChatZilla 0.9.93 [Firefox 53.0.3/20170518000419]) 2017-06-12T01:46:56Z test1600 joined #lisp 2017-06-12T01:51:14Z jameser joined #lisp 2017-06-12T01:51:39Z ryan_vw joined #lisp 2017-06-12T01:55:11Z malice left #lisp 2017-06-12T01:57:10Z holycow joined #lisp 2017-06-12T01:58:22Z shdeng joined #lisp 2017-06-12T02:03:27Z diegs_ joined #lisp 2017-06-12T02:03:33Z zeroish joined #lisp 2017-06-12T02:03:41Z clprofun quit (Quit: Page closed) 2017-06-12T02:05:02Z whoman quit (Quit: Leaving) 2017-06-12T02:19:09Z diegs_ quit (Quit: WeeChat 1.9-dev) 2017-06-12T02:22:41Z zeroish quit (Ping timeout: 240 seconds) 2017-06-12T02:22:54Z diegs_ joined #lisp 2017-06-12T02:23:49Z holycow quit (Ping timeout: 255 seconds) 2017-06-12T02:27:58Z Lowl3v3l quit (Remote host closed the connection) 2017-06-12T02:32:11Z xrash quit (Ping timeout: 240 seconds) 2017-06-12T02:33:04Z holycow joined #lisp 2017-06-12T02:34:59Z xrash joined #lisp 2017-06-12T02:35:37Z butterthebuddha quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-06-12T02:39:23Z lemonpepper24 quit (Ping timeout: 246 seconds) 2017-06-12T02:41:33Z butterthebuddha joined #lisp 2017-06-12T02:41:38Z jameser__ joined #lisp 2017-06-12T02:43:10Z drmeister: Does anyone work with cffi tests? 2017-06-12T02:43:13Z drmeister: https://www.irccloud.com/pastebin/9YHURquB/ 2017-06-12T02:43:18Z drmeister: What does this generate? 2017-06-12T02:43:56Z jameser quit (Ping timeout: 246 seconds) 2017-06-12T02:44:00Z drmeister: It's being mis-compiled by Clasp and I need to compile just this one test case - but it doesn't look like a function 2017-06-12T02:45:26Z rumbler31 quit (Remote host closed the connection) 2017-06-12T02:50:48Z drmeister: Bike: That was it - thank you. 2017-06-12T03:00:56Z rumbler31 joined #lisp 2017-06-12T03:05:37Z rumbler31 quit (Ping timeout: 255 seconds) 2017-06-12T03:06:49Z ebdreger` joined #lisp 2017-06-12T03:08:43Z easieste joined #lisp 2017-06-12T03:09:30Z ebdreger quit (Ping timeout: 240 seconds) 2017-06-12T03:10:35Z easieste quit (Client Quit) 2017-06-12T03:11:19Z beach: Good morning everyone! 2017-06-12T03:15:08Z holycow: mornin 2017-06-12T03:15:33Z pjb quit (Ping timeout: 255 seconds) 2017-06-12T03:20:28Z zeroish joined #lisp 2017-06-12T03:29:54Z xrash quit (Remote host closed the connection) 2017-06-12T03:32:31Z cggong quit (Quit: cggong) 2017-06-12T03:34:02Z Ukari joined #lisp 2017-06-12T03:36:13Z safe quit (Read error: Connection reset by peer) 2017-06-12T03:38:10Z dtornabene quit (Quit: Leaving) 2017-06-12T03:38:11Z butterthebuddha quit (Quit: Textual IRC Client: www.textualapp.com) 2017-06-12T03:38:31Z schoppenhauer quit (Ping timeout: 255 seconds) 2017-06-12T03:39:17Z flavio81: good morning from Lima to Bordeaux 2017-06-12T03:40:03Z schoppenhauer joined #lisp 2017-06-12T03:40:29Z jameser__ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-06-12T03:41:19Z flavio81: drmeister, i left a thankyou comment on your homepage some days ago, pleased to meet you 2017-06-12T03:42:11Z jameser joined #lisp 2017-06-12T03:44:09Z flavio81: if it's of any help, deftest () is defined here: 2017-06-12T03:44:10Z flavio81: https://github.com/cffi/cffi/blob/master/tests/bindings.lisp 2017-06-12T03:44:27Z drmeister: Hello 2017-06-12T03:45:00Z drmeister: Clasp needs Webassembly to support exception handling before it can be ported to Webassembly. 2017-06-12T03:45:06Z drmeister: It's part of the plan though. 2017-06-12T03:46:26Z flavio81: ;) i see you just approved my comment on your /about page 2017-06-12T03:46:58Z flavio81: as for deftest(), from the usage I see CFFI does of it on their test suites, the last argument is the expected result of the body. So it would be: 2017-06-12T03:47:24Z flavio81: (deftest ) 2017-06-12T03:47:42Z flavio81: on your snipped 2017-06-12T03:47:49Z flavio81: on your snippet: https://www.irccloud.com/pastebin/9YHURquB/ 2017-06-12T03:47:57Z flavio81: on your snippet it is very strange that it does not compile 2017-06-12T03:49:01Z paule32 joined #lisp 2017-06-12T03:49:12Z paule32: hello 2017-06-12T03:49:19Z paule32: need help: http://paste.lisp.org/display/348573 2017-06-12T03:50:59Z flavio81: drmeister: if it's of any help, a macroexpand-1 on the expression you gave gives: 2017-06-12T03:51:22Z flavio81: https://thepasteb.in/p/mwh14L74p7Rf5 2017-06-12T03:52:00Z drmeister: flavio81: Thank you - I got past that problem. I needed to compile the (defcfun "expect_char_sum" :int (f :pointer)) form to get the code I wanted. 2017-06-12T03:52:19Z flavio81: ok, sorry 2017-06-12T03:52:47Z zeroish quit (Ping timeout: 255 seconds) 2017-06-12T03:54:37Z ekinmur quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-06-12T03:54:38Z flavio81: paule32: your code will not compile because 'wordtable' is not defined 2017-06-12T03:55:20Z manuel__ quit (Quit: manuel__) 2017-06-12T03:55:41Z jleija quit (Quit: leaving) 2017-06-12T03:55:49Z beach: flavio81: You may be wasting your time. We have told paule32 what to do several times, but he keeps coming here with the same problems. He asks for advice, but then does not follow the advice he is given. 2017-06-12T03:56:54Z paule32: flavio81: http://paste.lisp.org/display/348575 2017-06-12T03:56:59Z flavio81: beach: ok, noted 2017-06-12T04:01:28Z neoncontrails quit (Remote host closed the connection) 2017-06-12T04:01:59Z neoncontrails joined #lisp 2017-06-12T04:02:03Z neoncontrails quit (Remote host closed the connection) 2017-06-12T04:02:12Z neoncontrails joined #lisp 2017-06-12T04:02:48Z neoncontrails quit (Remote host closed the connection) 2017-06-12T04:03:17Z neoncontrails joined #lisp 2017-06-12T04:03:20Z neoncontrails quit (Remote host closed the connection) 2017-06-12T04:03:29Z neoncontrails joined #lisp 2017-06-12T04:03:38Z flavio81: paule32: take a look at this: https://thepasteb.in/p/66hVwlgBjyliW 2017-06-12T04:04:05Z neoncontrails quit (Remote host closed the connection) 2017-06-12T04:04:30Z flavio81: paule32: 1. you are using setq with variables that have not been defined, if you really want just local variables, then do not use setq; use 'let' instead. I have defined your local variables as globals just to make the code compile. I don't know what do you want to do. 2017-06-12T04:04:34Z neoncontrails joined #lisp 2017-06-12T04:04:37Z manuel__ joined #lisp 2017-06-12T04:04:37Z neoncontrails quit (Remote host closed the connection) 2017-06-12T04:05:17Z flavio81: paule32: 2. on your do ( ... ) block, the statements need to be inside a progn block (or similar block) otherwise the code won't compile 2017-06-12T04:05:19Z beach: 17.02.07:04:27:52 paule32: You can't use SETF on a variable that has not been defined. 2017-06-12T04:05:32Z beach: 17.05.18:09:42:33 paule32: And you are very likely using SETF on undefined variables. 2017-06-12T04:06:09Z flavio81: paule32: on the snippet I gave you i have corrected both things and the code runs. I don't know german, though. https://thepasteb.in/p/66hVwlgBjyliW 2017-06-12T04:06:18Z beach: flavio81: See? 4 months and no improvement. 2017-06-12T04:06:57Z beach: 17.01.27:07:48:57 paule32: The code is badly indented and the spacing is incorrect. 2017-06-12T04:07:27Z beach: 17.02.07:22:21:53 paule32: And you have been told to use an editor that can indent your code, because Common Lisp programmers understand the structure of code by looking at indentation. When the code is badly indented, the person reading your code will suspect it was indented manually, or using an editor that doesn't quite understand Common Lisp indentation. 2017-06-12T04:07:28Z flavio81: beach: yes, but not everybody is a John McCarthy 2017-06-12T04:07:39Z beach: 17.05.18:09:42:07 paule32: And your indentation is off. The LOOP clause is incorrectly indented. 2017-06-12T04:07:56Z flavio81: paule32: try downloading "portacle" : https://shinmera.github.io/portacle/ 2017-06-12T04:08:33Z flavio81: paule32: it will give you the combination of Emacs editor + SLIME (Common Lisp mode for Emacs) + other tools + SBCL (popular common lisp compiler) 2017-06-12T04:08:57Z paule32: thank you flavio81 2017-06-12T04:09:03Z flavio81: paule32: it will automatically indent your code and much more. Just install it and make sure you read an Emacs tutorial because Emacs can be hard to use at the beginning 2017-06-12T04:09:11Z paule32: why are the others so starr here 2017-06-12T04:09:15Z flavio81: paule32: then you can read a SLIME tutorial, but to be short: 2017-06-12T04:09:38Z flavio81: paule32: open your lisp file, and press Control-C Control-K (you can hold down Control and press C K ) 2017-06-12T04:10:11Z flavio81: this will automatically send your file to the compiler (SBCL) so it is compiled. Of course it will fail because of errors in your code. But the code snippet i gave you will work. 2017-06-12T04:10:48Z paule32: ok 2017-06-12T04:11:00Z flavio81: then you can execute anything (work in Lisp interactive mode) by going to the buffer called *slime-repl sbcl*. On the top menu there is a menu called "Buffers", just click on the one called *slime-repl sbcl* 2017-06-12T04:11:08Z beach: flavio81: So here is the problem. #lisp is not a "Lisp support channel" as some people think. It is a channel for discussing Common Lisp-related problem among people who are interested. 2017-06-12T04:11:09Z beach: Newbie questions are tolerated, but the newbie is expected to take advice and improve. When that does not happen, and questions and advice get repeated, it creates a lot of noise. 2017-06-12T04:11:25Z flavio81: paule32: but do please read an Emacs tutorial otherwise you will be VERY lost and we will not be able to help you here because you should read the tutorial 2017-06-12T04:11:43Z flavio81: beach: yes, #clnoobs is where paule32 should go 2017-06-12T04:12:00Z beach: 17.01.27:08:04:59 paule32, for CL, use Emacs. 2017-06-12T04:12:18Z beach: 17.02.08:01:26:40 paule32: You really want to be using Emacs. 2017-06-12T04:12:28Z beach: 17.02.08:01:29:29 paule32: It's really, REALLY, hard to program Lisp without Emacs 2017-06-12T04:12:39Z beach: 17.05.05:22:28:58 paule32: You can of course use any editor you like, but the general recommendation here is to use Emacs + SLIME 2017-06-12T04:12:51Z beach: flavio81: Get the picture? 2017-06-12T04:13:12Z flavio81: beach: Oui. 2017-06-12T04:13:28Z flavio81: beach: i should not waste my time then... 2017-06-12T04:13:35Z beach: 6 months and no improvement. 2017-06-12T04:13:53Z beach: flavio81: You can do what you want with your time, of course. I am concerned about the noise here in #lisp. 2017-06-12T04:14:11Z takitus left #lisp 2017-06-12T04:14:56Z beach: flavio81: It is also infuriating to try to be nice and give advice for free, and then see that there is absolutely no improvement. 2017-06-12T04:15:37Z flavio81: beach: I understand. In any case, against "noise" you can try ... https://www.youtube.com/watch?v=L47SRue0gt8&t=133s 2017-06-12T04:15:52Z flavio81: beach: (sorry, I can't help it. But it's a beautiful piece by Debussy) 2017-06-12T04:16:19Z beach: Nice indeed. 2017-06-12T04:16:28Z beach: I like the notation. 2017-06-12T04:17:04Z flavio81: beach: yep... sadly i do understand musical notation but i can read and play really, really, really slowly. Slow as a Ruby interpreter. 2017-06-12T04:17:40Z flavio81: i think I saw a Lisp library for music notation somewhere... nice 2017-06-12T04:18:20Z beach: minion: Please tell flavio81 about gsharp 2017-06-12T04:18:21Z minion: gsharp: No definition was found in the first 5 lines of http://www.cliki.net/gsharp 2017-06-12T04:18:42Z beach: flavio81: Recent improvements to McCLIM unfortunately broke Gsharp. 2017-06-12T04:19:00Z beach: flavio81: But I have plans for an improved version of it. 2017-06-12T04:19:22Z flavio81: fantastic 2017-06-12T04:19:33Z flavio81: so many interesting software avaliable done on CL 2017-06-12T04:19:50Z beach: And so much more work that needs to be done. 2017-06-12T04:21:00Z flavio81: beach: just curious, what does McCLIM uses as the underlying framework? Does it run over a library as Qt (which is portable?) or for each environment (i.e. X Window System versus Windows) it uses the corresponding native API of the window system? 2017-06-12T04:21:19Z pjb joined #lisp 2017-06-12T04:21:39Z beach: It does not use any other underlying framework. 2017-06-12T04:22:20Z beach: The only backend that works at the moment uses CLX which is a library that speaks the X11 protocol with the X11 server. 2017-06-12T04:22:31Z flavio81: beach: wow... must have been hard to implement (!) 2017-06-12T04:22:42Z beach: But there is work on Windows and MacOS backends too. 2017-06-12T04:22:47Z flavio81: beach: it means then that McCLIM brings its own whole toolkit 2017-06-12T04:23:04Z beach: flavio81: It took several years, and several people, and it is still not quite done. 2017-06-12T04:24:07Z beach: Maybe it won't ever be completely done, because we have plans to supply functionality that is not in the CLIM II specification, and there is no upper bound on such functionality that might be useful. 2017-06-12T04:24:49Z flavio81: from the McCLIM PDF: "Traditional GUI toolkits have an event loop (...) At the lowest level, CLIM also has an event loop, but most application programmers 2017-06-12T04:24:49Z flavio81: never have any reason to program at that level with CLIM. Instead, CLIM has a command 2017-06-12T04:24:49Z flavio81: loop at a much higher level than the event loop. " 2017-06-12T04:24:55Z flavio81: excellent !! :) 2017-06-12T04:25:18Z flavio81: each day i find a new exciting system for CL ! 2017-06-12T04:25:42Z holycow: flavio81: the linux machine is being reborn ... without any design or intention 2017-06-12T04:25:50Z holycow: and without redoing the kernel 2017-06-12T04:26:18Z holycow: lisp machine even 2017-06-12T04:26:22Z holycow: oh lordy, sorry about that 2017-06-12T04:26:30Z beach: I was wondering... :) 2017-06-12T04:26:30Z flavio81: what do you mean with ": the linux machine is being reborn .." ? 2017-06-12T04:26:38Z beach: flavio81: Lisp machine 2017-06-12T04:26:45Z flavio81: LOL 2017-06-12T04:26:51Z holycow: <-- dumbass 2017-06-12T04:27:09Z beach: holycow: Nah, just a typo. 2017-06-12T04:27:47Z flavio81: well, to be honest, since each day that passes less "true" (desktop) applications are used and most users relate to the computers via the browser (be it on mobile or on desktop), the way is paved to make computer users more and more independent from operating systems, and more dependent on browsers 2017-06-12T04:28:05Z flavio81: you can say the browser is the modern operating system --- Firefox, Opera, Edge, Chrome, etc 2017-06-12T04:28:25Z beach: flavio81: Indeed, and it makes me very sad. 2017-06-12T04:28:38Z flavio81: perhaps the Lisp Machine that will have a success, in the future, will be in reality a browser 2017-06-12T04:29:04Z flavio81: or to put in other way, the rebirth of the Lisp Machine (i.e. Mezzano /etc) will start with implementing a full-featured browser on such Lisp OS 2017-06-12T04:29:06Z holycow: i thought about this quite a bit as a systeadministrator 2017-06-12T04:29:36Z flavio81 quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-06-12T04:29:47Z flavio81 joined #lisp 2017-06-12T04:30:11Z holycow: the current approach os some kind of protocol + render engine. 2017-06-12T04:30:22Z rokur joined #lisp 2017-06-12T04:30:29Z holycow: the current web browser is just one of many ways to do this 2017-06-12T04:30:56Z flavio81: i lost connection while writing a rambling about Lisp Machines for the years to come... 2017-06-12T04:30:57Z holycow: there was a cl protocl that i read about, oh about 13 years ago or so but cannot find a link. someone mocked up a lisp based protocol for pushing out cl based apps remotely 2017-06-12T04:31:04Z flavio81 quit (Client Quit) 2017-06-12T04:32:11Z holycow: but if you are a sysadming and deploy windows terminal services, something like rdp is a very reasonable approach. it just depends where you want to do the bulk of the rendering. client side or server side. 2017-06-12T04:32:11Z ogkloo quit (Ping timeout: 240 seconds) 2017-06-12T04:32:47Z holycow: the simplest possible solution is local apps + an rdp style proxy in front with multiuser capability and we are off and running. 2017-06-12T04:32:57Z vlatkoB joined #lisp 2017-06-12T04:33:09Z flavio81 joined #lisp 2017-06-12T04:33:19Z flavio81: something happened with my IRC client... 2017-06-12T04:33:31Z holycow: if the money existed, building out a render engine and have mcclim as the toolkit would be doable as well ... this client could either decide to render locally, or just rdp to server dynamically if the resources server side allow 2017-06-12T04:33:40Z flavio81: while i was writing a long rambling about how a Lisp Machine could eventually have user acceptance in the years to come 2017-06-12T04:34:15Z flavio81: holycow ... i lost connection. what did you write about the Lisp Machine ? 2017-06-12T04:34:18Z beach: flavio81: Maybe you worry too much about wide acceptance of what we do. 2017-06-12T04:34:26Z flavio81: you meant that the revenge of the Lisp Machine is yet to come 2017-06-12T04:34:50Z holycow: pasted here to minimize noise --> https://pastebin.com/ZyUPrZhW 2017-06-12T04:35:02Z holycow: i'm with beach 2017-06-12T04:35:11Z holycow: i don't think wide acceptance is a thing that is required 2017-06-12T04:35:14Z flavio81: beach. well, that's a philosophical topic. For example, the nice thing about Lisp being unpopular in 2017 is that i can enter #lisp and then i can be chatting with the creator of SICL, etc etc 2017-06-12T04:35:35Z flavio81: but on the other hand if the acceptance was wider, we could have more contributors to the important projects 2017-06-12T04:35:50Z beach: flavio81: Yeah, people like paule32. 2017-06-12T04:35:56Z flavio81: no 2017-06-12T04:36:04Z deba5e12 quit (Ping timeout: 255 seconds) 2017-06-12T04:36:06Z flavio81: people who do learn and do it quickly 2017-06-12T04:36:44Z flavio81: with good CS background, good software engineering experience as well, but that never got any chance to dwelve deeply into Lisp. They only see Lisp as part of the AI course within university and that's it 2017-06-12T04:37:58Z holycow: there are very few people that do this on their own. we are kind of lucky at this point in the lisp ecosystem 2017-06-12T04:38:10Z beach: flavio81: I prefer to start by thinking about what kind of software we want to build and worry about acceptance later. 2017-06-12T04:38:11Z holycow: full throttle will require lots of cash 2017-06-12T04:38:28Z pjb quit (Ping timeout: 240 seconds) 2017-06-12T04:38:35Z beach: holycow: I agree with your analysis. 2017-06-12T04:38:48Z beach: I don't think we could handle too much popularity at this point. 2017-06-12T04:39:03Z holycow: i look at the smartphone ecosystem 2017-06-12T04:39:16Z holycow: at one point we had LOTS of different devices and lots operating systems 2017-06-12T04:39:34Z holycow: the market squeezed every singlue unique and different idea out 2017-06-12T04:39:54Z holycow: and made devices that fit in womens hands, are cute and have just enought battery life to last for the buzzfeed crowd 2017-06-12T04:40:04Z holycow: i have no faith in customers actually letting us build what we want 2017-06-12T04:40:24Z flavio81: holycow: aren't you stretching what i mean with "wider acceptance" ? 2017-06-12T04:40:34Z holycow: i am, yes 2017-06-12T04:40:40Z flavio81: common lisp is not for consumers 2017-06-12T04:40:45Z flavio81: it is not an appliance 2017-06-12T04:41:11Z flavio81: we're talking about a programming language, environments, systems/libraries/packages, compilers, and IDEs 2017-06-12T04:41:27Z holycow: well, i mean, what are we doing here really? 2017-06-12T04:41:52Z flavio81: "wider acceptance" doesn't mean having the whole bunch of kids that do Node.js joining #lisp in masse. 2017-06-12T04:41:55Z holycow: ultimately we want apps deployed on a cl based ecosystem that gives us what was promised in the 60's and we still don't have 2017-06-12T04:42:00Z test1600 quit (Quit: Leaving) 2017-06-12T04:42:37Z holycow: in other words, one day most of us here should be able to go, okay, job done, we have a bunhc of stuff that does most of what i want, i want to now retire and watch tv for the rest of my time. 2017-06-12T04:42:40Z flavio81: holycow: please go on, i want to know specifically what is what "was promised in the 60s and we still don't have " 2017-06-12T04:42:41Z holycow: :) 2017-06-12T04:43:02Z beach: flavio81: According to my (extensive) experience, there is only one way to get acceptance, and that is to show real, working, high-quality software. So I am working on it. 2017-06-12T04:43:43Z holycow: flavio, two things: 2017-06-12T04:43:44Z flavio81: beach: ok, sounds reasonable, but what is the high-quality software that is lacking on the Common Lisp ecosystem ? 2017-06-12T04:44:27Z beach: flavio81: Basically everything. Current implementations are hard to maintain because they use programming techniques from decades ago... 2017-06-12T04:44:27Z holycow: 1) i'm over my head making this statement, but it seems to ring true, correct me if i'm wrong: common lisp and its bretheren invented, essentially, the superset of programming ideas in the 60's 2017-06-12T04:44:54Z holycow: nothing new has happened since then, with the exception of a few edge case languages. most common languages have simply re-implemented bits and pieces of common lisp 2017-06-12T04:44:59Z beach: flavio81: We have no real debugger, and we are still using Emacs to edit code. 2017-06-12T04:45:00Z holycow: that is they are subset, of sorts, 2017-06-12T04:45:15Z holycow: 2) see opengenera here: https://www.youtube.com/watch?v=o4-YnLpLgtk 2017-06-12T04:45:32Z flavio81: beach: Robert, i wish you all the power to you on implementing SICL, but the compilers out there, at least SBCL, do work. I mean, they work, they are not broken. 2017-06-12T04:45:46Z flavio81: beach: as for 'we are still using Emacs", let me offer a different take on it: 2017-06-12T04:46:14Z holycow: beach: agreed on the emacs comment 2017-06-12T04:46:17Z holycow: its embarrasing to be honest 2017-06-12T04:46:33Z flavio81: beach: i have developed using Netbeans, Eclipse, MS Visual Studio (several versions), IntelliJ, and all the Borland IDEs from the 90s, and now i'm using Emacs with SLIME (and paredit and other plugins) and i'm excited by the experience 2017-06-12T04:46:40Z beach: holycow: I try to keep quiet about it, but yes, I agree. 2017-06-12T04:47:01Z beach: flavio81: Yes, many people say Emacs+SLIME is the best there is. 2017-06-12T04:47:05Z flavio81: beach: i am really surprised that you are not satisfied with it. I think SLIME has nothing to envy on the IDEs i mentioned 2017-06-12T04:47:15Z beach: flavio81: and it basically sucks. 2017-06-12T04:47:36Z flavio81: beach: of course that doesn't mean that we could have something BETTER, but from my experience as your common run-of-the-mill developer, i don't feel Slime is bad or sucks in any way 2017-06-12T04:47:46Z beach: Right. 2017-06-12T04:47:59Z holycow: that is what beach is saying. it could be way better. way way way better. 2017-06-12T04:48:10Z holycow: opengenera shows an example of 'the way' it can be better. 2017-06-12T04:48:10Z Bike quit (Ping timeout: 240 seconds) 2017-06-12T04:48:37Z beach: And we have all the elements to do it now. But it will take a bit more time. 2017-06-12T04:48:43Z holycow: yup 2017-06-12T04:48:44Z flavio81: beach: i mean, if a condition is raised, i can see the stack frame, point at one of the frames, then press "v" and see the source code. Then point to a function i want to see the definition for. And then SLIME will tell me all the diverse definitions of the function (if it's a method), and then i can jump to it 2017-06-12T04:49:00Z flavio81: beach: and it works at LIGHT speed compared to the GUIs i mentioned 2017-06-12T04:49:17Z flavio81: beach: please take what I say from the point of view of the end-user, the developer. 2017-06-12T04:49:19Z beach: flavio81: I know that much of SLIME, yes. I use it every day. 2017-06-12T04:49:20Z zeroish joined #lisp 2017-06-12T04:49:40Z holycow: flavio81: opengenera has had that since the 80's 2017-06-12T04:49:45Z holycow: this is 2017 2017-06-12T04:49:48Z holycow: we are still using emacs 2017-06-12T04:49:50Z flavio81: beach: of course you know Slime better than me!! But what I mean is the comparison to Slime to what us the typical developers are using for languages like (yuck) Java or Python 2017-06-12T04:50:03Z holycow: see what we mean by it can be better? what happened in the last 35 years? 2017-06-12T04:50:13Z beach: flavio81: I am not using other language environments as my comparison. 2017-06-12T04:50:17Z holycow: basically nothing. just re-implementation of old ideas on new languages. 2017-06-12T04:50:50Z beach: holycow: I hadn't quite realized on how many points we agree. Good to know. 2017-06-12T04:51:13Z flavio81: holycow: " just re-implementation of old ideas on new languages. " yes, this is true, but i'm talking about IDEs not languages 2017-06-12T04:51:40Z holycow: i'm talking about the whole stack 2017-06-12T04:51:42Z holycow: kernel on up 2017-06-12T04:51:48Z flavio81: i mean, guys, i really like your point -- we should try to get the best IDE possible for CL and what Slime does, is not the full extent of what should be possible with Common LIsp 2017-06-12T04:52:00Z flavio81: holycow wants a Lisp Machine, of course 2017-06-12T04:52:09Z holycow: everyone wants a lisp machine 2017-06-12T04:52:24Z beach: flavio81: A "Lisp machine" is just a program these days. 2017-06-12T04:52:25Z flavio81: but my point, from the point of view of "good enough" is that Slime is good enough for me when comparing to the IDEs for other languages 2017-06-12T04:52:32Z holycow: the marketplace prevents it from happening because profit has to be made right away. this splinters the stack into infinite variations. 2017-06-12T04:52:41Z roscoe_tw quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-06-12T04:52:53Z beach: flavio81: I am not using other language environments as my comparison. 2017-06-12T04:53:18Z flavio81: holycow: ok, then i will ask the question that i always make myself whenever i read somebody lamenting the loss of the lisp machines 2017-06-12T04:53:37Z zeroish quit (Ping timeout: 255 seconds) 2017-06-12T04:53:51Z holycow: well, i wouldn't say lamenting. 2017-06-12T04:54:00Z holycow: i'm old but too young to have hade access to them. 2017-06-12T04:54:16Z flavio81: holycow: besides having a better developing environment (let's call it IDE -- integrated development environment) for Common Lisp, what *other* thing did the Lisp Machines added that couldn't be achieved over a machine under a typical OS (say Linux) with some good piece of software ? 2017-06-12T04:54:33Z holycow: nothing actually 2017-06-12T04:54:33Z flavio81: holycow: this is what I always wanted to ask to 'real' lispers 2017-06-12T04:54:39Z flavio81: AHHHHHHHHHHHHH 2017-06-12T04:54:44Z holycow: the answer is nothing 2017-06-12T04:54:50Z holycow: we are doing everything now what they were doing then 2017-06-12T04:55:00Z holycow: but its splintered into an infinite number of shards 2017-06-12T04:55:11Z holycow: each of the shards is a parody of what was done originally 2017-06-12T04:55:27Z holycow: go look at opengenera and tell me what the web and os stack would look like right now if that had won? 2017-06-12T04:55:48Z flavio81: holycow: i understand your points, you do have a point and beach, too 2017-06-12T04:55:51Z beach: flavio81: Check section 1.2 of this document: http://metamodular.com/lispos.pdf 2017-06-12T04:56:00Z flavio81: thanks beach 2017-06-12T04:56:03Z beach: flavio81: It is all about manpower. 2017-06-12T04:56:26Z beach: flavio81: You can do everything on a traditional OS, but it takes way too much manpower, which we don't have. 2017-06-12T04:56:44Z flavio81: however, the position of Beach is that "there is only one way to get acceptance, and that is to show real, working, high-quality software. " 2017-06-12T04:56:44Z beach: flavio81: So to be more productive, we need something better. 2017-06-12T04:57:06Z holycow: flavio81: i have a question for you 2017-06-12T04:57:21Z holycow: if we are doing the exact same thing opengenera did 35+ years ago 2017-06-12T04:57:48Z test1600 joined #lisp 2017-06-12T04:58:09Z holycow: what ought 2017 look like if that os / ecosystem won? 2017-06-12T04:58:21Z dec0n joined #lisp 2017-06-12T04:58:27Z holycow: why are we doing nothign new in 2017? why are we doing it worse? 2017-06-12T04:58:28Z holycow: my god 2017-06-12T04:58:37Z flavio81: beach: but my position on "acceptance" is different --- compared to what developers are using now for general purpose software, namely Java, C++, C, Python, and Js, Common Lisp, right now in 2017 with the 2017 tools is far more powerful and (i think) more productive than all those tools. So, right now, it can gain "acceptance". The reason my collea 2017-06-12T04:58:37Z flavio81: gues don't use Common Lisp is simply that they were driven to (yuck) Java and their friends because of popularity, because of inertia (! ) 2017-06-12T04:58:38Z holycow: we share information using html + css 2017-06-12T04:59:39Z rokur quit (Quit: Leaving) 2017-06-12T04:59:46Z flavio81: beach: last time i sat with one of my colleagues, like me we have 12 years in the industry and are among the best of our graduating class, and I explained to him what were the advantages of Common lIsp versus the other languages and environments. He immediately understood the advantages and asked me for resources to see it in depth. 2017-06-12T05:00:16Z flavio81: beach: people like him, or me, feel like "oh my god, i have lost SO much time of my life with inferior programming languages " 2017-06-12T05:00:29Z holycow: bingo 2017-06-12T05:00:34Z holycow: there is your answer 2017-06-12T05:00:39Z holycow: its all a waste of time 2017-06-12T05:00:40Z holycow: all of it 2017-06-12T05:00:46Z flavio81: beach: actually i feel sort of cheated by the university in that they should have shown us the full power of Lisp. And that's what I think that is needed to gain "Acceptance", in my point of view 2017-06-12T05:00:56Z sword quit (Read error: No route to host) 2017-06-12T05:00:57Z holycow: minus some edge cases 2017-06-12T05:01:07Z peterhil quit (Quit: Must not waste too much time here...) 2017-06-12T05:01:14Z flavio81: holycow: but there is many things that can be done about it 2017-06-12T05:01:30Z flavio81: for example beach is doing a much more modern compiler 2017-06-12T05:01:30Z holycow: correct 2017-06-12T05:01:42Z flavio81: that's improving the CL ecosystem from that side of the beach 2017-06-12T05:01:52Z flavio81: from my side of the beach, i think i can help by evangelizing 2017-06-12T05:01:52Z holycow: heh. indeed. 2017-06-12T05:02:01Z flavio81: let me put this into a very practical proposition: 2017-06-12T05:02:04Z holycow: do less evangelizing more code pls 2017-06-12T05:02:12Z flavio81: wait wait 2017-06-12T05:02:17Z flavio81: you'll see my point 2017-06-12T05:02:21Z holycow: lispers are plenty evangelical 2017-06-12T05:02:28Z holycow: not a single person likes it 2017-06-12T05:02:37Z holycow: i've watched the other communities. less chat, more code :) 2017-06-12T05:02:38Z holycow: seriously. 2017-06-12T05:02:41Z holycow: beach is right. 2017-06-12T05:02:44Z flavio81: you'll see my point soon: 2017-06-12T05:03:21Z flavio81: i work for the local PwC (pricewaterhousecoopers) company, i am assembling, from zero, the new software development department. One of the main things we will want to do there is prototyping new applications 2017-06-12T05:04:00Z holycow: taht isn't an evangelizing task though 2017-06-12T05:04:03Z holycow: that is an engineering task 2017-06-12T05:04:09Z holycow: evangilizing is maybe 10% of that 2017-06-12T05:04:22Z flavio81: one of the key things we need to gain an advantage over our competitions is *speed* of prototyping and also *speed* on bridging the huge gap between a prototype and a production system 2017-06-12T05:04:33Z holycow: the amount of risk on your shoulds is huge if you evangelize and end up being held responsible when everyone points to you for something fialing 2017-06-12T05:05:13Z sword joined #lisp 2017-06-12T05:05:18Z flavio81: if i can curate a set of CL libraries and create tools("write more code") to reach my aim, we will be a success story on using Common Lisp here 2017-06-12T05:05:33Z holycow: i think that is a laudible goal. 2017-06-12T05:05:59Z flavio81: and I also plan on hiring youngsters that will be washed away of negative (java,php) influence and reprogrammed to see things in a Lisp mindset 2017-06-12T05:06:04Z holycow: i think you know the risks of evangelizing a language you have not used in production yet 2017-06-12T05:06:18Z holycow: luckily there are commercial vendors you can lean on, franz, etc. 2017-06-12T05:06:46Z flavio81: holycow: in fact i already have a plan on how to substantiate, to my bosses, the use of Common Lisp 2017-06-12T05:06:55Z manuel__ quit (Quit: manuel__) 2017-06-12T05:07:37Z flavio81: for example, they can be let be carried by the fashions and think that doing everything on Node.js is a good idea (fashion, you know). But just by saying that CL is an ANSI standard and that our code will be able to be complied by different implementations on different platforms will be a strong point. 2017-06-12T05:07:43Z holycow: aha. that sounds reasonable then. i advise being very conservative about where you expose your self to risk. that caliber of operation is a whole other ball of wax. 2017-06-12T05:07:45Z flavio81: not to mention that it is a mature technology 2017-06-12T05:07:55Z holycow: you could end up loosing 100's of millions of dollars on a typo. 2017-06-12T05:08:12Z flavio81: holycow: unless what you are implying is that you don't consider code on CL running over SBCL "not mature enough" for production usage 2017-06-12T05:08:19Z holycow: node.js in a fortune500? what? 2017-06-12T05:08:20Z holycow: lol 2017-06-12T05:08:32Z flavio81: hoiycow: you mean PwC ? 2017-06-12T05:09:00Z flavio81: you will be amazed to see the penetration of Node.js in companies nowadays in 2017 2017-06-12T05:09:01Z holycow: no, what i mean is that if you want to evangelize something, you really need the experience to back it up 2017-06-12T05:09:06Z dec0n quit (Read error: Connection reset by peer) 2017-06-12T05:09:15Z holycow: if you don't have cl lisp you are evangelizing an unknown 2017-06-12T05:09:35Z flavio81: holycow: that's why i am first learning CL on my own 2017-06-12T05:09:39Z holycow: i would caution you to get your your 'substantiation plan' working and working now :) 2017-06-12T05:09:52Z holycow: make sure you are right first before you evangelize. but you know that already. 2017-06-12T05:09:52Z ogkloo joined #lisp 2017-06-12T05:10:00Z holycow: right :) 2017-06-12T05:10:02Z flavio81: holycow:i have been reading about CL for the last month, and started doing actual code in the last 7 days. Fortunately i learn quickly 2017-06-12T05:10:19Z flavio81: holycow: in fact it would be fun if you can test me right now with a CL trivia/quiz. I'm a good loser. 2017-06-12T05:10:35Z holycow: i would advise you to hire on board someone with beach's qualifications 2017-06-12T05:10:52Z holycow: you really want that caliber of consultation available for the kind of project you are undertaking 2017-06-12T05:11:07Z holycow: you can win big but you need big help to manage the unforeseen risk 2017-06-12T05:11:13Z holycow: albeit,you actually may be the big help 2017-06-12T05:11:16Z holycow: i have no idea :) 2017-06-12T05:11:34Z flavio81: holycow: but i don't understand why should I have any fear. I have already implemented commercial/business/"real-life" systems in the past on other platforms 2017-06-12T05:11:40Z beach: holycow: You really put your finger on it. The potential risk when there is an inevitable failure is why I am not pushing Common Lisp to a wide audience. When some other technology inevitably fails, nobody is responsible because it is then "best practice" and it was not possible to do better. 2017-06-12T05:12:00Z flavio81: holycow: as long as the damn CL compiler works without bugs, we shall have no problem 2017-06-12T05:12:24Z flavio81: holycow: and even if the CL compiler has some bugs, even something as wide accepted as GCC also has its bugs... 2017-06-12T05:12:42Z mishoo joined #lisp 2017-06-12T05:12:59Z beach: flavio81: The potential risk when there is an inevitable failure is why I am not pushing Common Lisp to a wide audience. When some other technology inevitably fails, nobody is responsible because it is then "best practice" and it was not possible to do better. 2017-06-12T05:13:04Z holycow: flavio81: if you were a company that did 60 mil a year and had 600 employees and were doing some middleware 2017-06-12T05:13:07Z holycow: sure 2017-06-12T05:13:08Z holycow: knock your self out 2017-06-12T05:13:09Z dec0n joined #lisp 2017-06-12T05:13:16Z holycow: use cpython or whatever 2017-06-12T05:13:24Z flavio81: beach: but... what i dont understand is, are we in 1984? I mean, right now as we speak there must be dozens of Common Lisp production system managing airline reservations, CAD/CAM etc 2017-06-12T05:13:33Z holycow: you did say price waterhouse type of org ... that is a whoooooooooooooooole other level 2017-06-12T05:14:01Z beach: flavio81: Yes, but that is not how human psychology works, and therefore not the software industry either. 2017-06-12T05:14:21Z holycow: flavio81: those systems have DEEP DEEP knowledge in the way of cl 2017-06-12T05:14:34Z holycow: and they all use commercial lisps if i remember correctly 2017-06-12T05:14:37Z flavio81: holycow: don't get carried away by PwC marketing. In reality, PwC is a "firm network". Each "firm" operates like an independent company and can be quite small. 2017-06-12T05:15:01Z holycow: then your risk may be a lot more manageable 2017-06-12T05:15:47Z flavio81: beach: i'm listening... but what i don't understand is why CL has more "risk of failure" than other platforms 2017-06-12T05:16:01Z holycow: it doesn't 2017-06-12T05:16:07Z holycow: sbcl doesn't have a support option 2017-06-12T05:16:22Z holycow: where are you going to buy support from for sbcl? 2017-06-12T05:16:40Z flavio81: beach: that's why i write: "as long as the compiler works without bugs". Because on my code I know i could take advantage of Common Lisp's condition system, which is SO MUCH SUPERIOR than everything else i've seen in my life 2017-06-12T05:17:09Z flavio81: beach: it makes all the other platforms and languages pale. Yet those "other" platforms and languages are used every day for production systems successfulky 2017-06-12T05:17:28Z holycow: those platforms have deep ecosystems + deep support options 2017-06-12T05:17:38Z flavio81: holycow: why should i need to buy support? we've worked for years with things like the Java compilers and the .NET CLI/CLR runtime and their compilers wihtout having to call any customer support 2017-06-12T05:17:48Z holycow: don't underestimate the value of being able to sleep at night knowing you can blame someone else for a problem 2017-06-12T05:17:53Z nightfly joined #lisp 2017-06-12T05:18:37Z holycow: me too, and yet, i never implement a single system without having a support option available. i don't want to be the one held responsible for some edge case / obscure nuance that i never anticipated 2017-06-12T05:18:46Z holycow: mind you, i'm simply suggesting caution 2017-06-12T05:18:49Z holycow: i did not say don't do it 2017-06-12T05:19:09Z holycow: you clearly feel this is on par with the other projects you built before, so maybe the risk here is the same 2017-06-12T05:19:58Z flavio81: holycow: it depends on the criticality of my system. I am not going to do a life-support system or a banking application. 2017-06-12T05:20:17Z holycow quit (Quit: Lost terminal) 2017-06-12T05:20:51Z flavio81: he's gone :( 2017-06-12T05:20:52Z holycow joined #lisp 2017-06-12T05:20:54Z holycow: back 2017-06-12T05:20:55Z flavio81: he's back 2017-06-12T05:21:02Z holycow: well, maybe its okay then 2017-06-12T05:21:04Z flavio81: holycow: it depends on the criticality of my system. I am not going to do a life-support system or a banking application. 2017-06-12T05:21:19Z flavio81: what i mean is, you are looking at the risk from the vendor side. I agree, this is a real risk 2017-06-12T05:21:26Z holycow: yeah, i thought you were about to build a floor trading app for some startup. 2017-06-12T05:21:37Z flavio81: there is always companies like LispWorks if i'm dealing with a critical system 2017-06-12T05:22:23Z holycow: i would still engage some deep consulting capability but it sounds like you know your risk exposure well. i'm only guessing. 2017-06-12T05:22:23Z flavio81: but besides that, the risk from the vendor side is small compared, for me, to the risk on MY side, that is, to the risk on having a codebase that is difficult to mantain, difficult to debug, or full of boilerplate 2017-06-12T05:22:42Z holycow: what are you building more specifically? 2017-06-12T05:22:48Z flavio81: and so far from what i've seen on CL, this risk looks lower in CL than in other platforms, and I feel i could write an article abut this point 2017-06-12T05:23:59Z flavio81: holycow: i don't know really, it will depend on each customer. But a possible example is something that is like a connection of Amazon + Uber. That is, the product store dispatches the product to your door by using a pooling system similar to Uber's. 2017-06-12T05:24:25Z flavio81: where the delivery guys are independent people that register into our system and are willing to 'freelance' the delivery of packages 2017-06-12T05:24:43Z holycow: and the interface is going to be ... html? 2017-06-12T05:24:46Z flavio81: holycow: i mention this as an example because one of our potential customer wants to do it 2017-06-12T05:25:39Z flavio81: holycow: interface of course will be your typical, modern HTML5, which could be implemented in the modern (read: fashionable) "single page app" or can be rendered in a more conventional way (server side rendering) or a hybrid 2017-06-12T05:26:02Z holycow: k. your webserver is going to be what? 2017-06-12T05:26:19Z holycow: web framework or rolling your own? 2017-06-12T05:26:19Z flavio81: holycow: in fact lately i'm taking a look at the available CL web frameworks and templating/rendering engines. But even if only the backend is done in CL, i might be happy 2017-06-12T05:26:34Z flavio81: holycow: see last post 2017-06-12T05:26:48Z holycow: let me know what you end up using. i'm curious how far you get with anything. 2017-06-12T05:27:08Z holycow: there are literally no production ready web frameworks that i could recommend at this point. 2017-06-12T05:27:29Z holycow: if you were to take some of your budge and polish some turds and offer support 2017-06-12T05:27:32Z holycow: you could be on to something 2017-06-12T05:27:54Z holycow: just being frank here. lots of really neat ideas, experiements and small websites out there though on various frameworks. 2017-06-12T05:28:02Z flavio81: holycow: please, for the love of God, mention me a "production ready" web framework. Any programming language. 2017-06-12T05:28:18Z holycow: all of it seems half assed or some bizarro flavour of 'i want the universe to be this way' kind of project. 2017-06-12T05:28:25Z holycow: ha! you got me there 2017-06-12T05:28:31Z holycow: very clever :) 2017-06-12T05:28:34Z flavio81: ok, i answer the question then 2017-06-12T05:28:38Z holycow: you may be in for a bit of a surprise though 2017-06-12T05:28:57Z holycow: if you don't mind, i really do want to find out what you go with 2017-06-12T05:29:00Z holycow: i'm not kidding 2017-06-12T05:29:01Z flavio81: i've seen many "production ready" web frameworks, for example on the Java side. They work, but being in Java, they are verbose and abuse boilerplate. 2017-06-12T05:29:25Z flavio81: ASP.NET is a web framework in itself, production ready. not the best but it works 2017-06-12T05:29:38Z flavio81: then for Python you have Django which I don't like but it is production ready 2017-06-12T05:29:52Z flavio81: and then there is Flask for Python which i've used extensively and I can say it's production ready 2017-06-12T05:30:02Z holycow: django is fine. the problem is its python. hehe! 2017-06-12T05:30:22Z flavio81: and let me tell you... Flask's source code is pretty small and simple. My point is: writing a web framework is no difficult thing really. 2017-06-12T05:30:23Z holycow: but that isn't a real critique. it works fine. 2017-06-12T05:30:37Z holycow: flavio81: it isn't. sounds like you are willing to take on the task. 2017-06-12T05:30:40Z holycow: because you will have to. 2017-06-12T05:30:41Z flavio81: Node.js "express" framework is a Flask lookalike 2017-06-12T05:30:47Z Harag joined #lisp 2017-06-12T05:31:02Z flavio81: and let me tell you, on Common Lisp there is this framework, Lucerne, by Fernando Borreti (eudoxia0) that is a Flask lookalike as well 2017-06-12T05:31:12Z flavio81: eitaro fukamachi's Caveman2 also looks similar 2017-06-12T05:31:37Z flavio81: and thus they can be implemented without a huge amount of code 2017-06-12T05:31:53Z flavio81: i just need to take a deep, deep look at them and polish whatever flaw i find 2017-06-12T05:32:29Z flavio81: besides that, what I will just need is a good database access library 2017-06-12T05:32:40Z holycow: that should be fine from what i can tell 2017-06-12T05:32:43Z holycow: i'm no experct tho 2017-06-12T05:32:51Z flavio81: templating engine, there are many on CL and to be honest templating engines are simple, so whatever bugs i find, can be solved 2017-06-12T05:33:43Z flavio81: in any case, at the end, if no web framework is good in CL, i can do the "web" part in another platform (i.e. Python) and have the whole business logic and database access done in CL 2017-06-12T05:33:53Z flavio81: there are so many options 2017-06-12T05:34:34Z holycow: hmm ... lucerne is a copule of years old. neat. i haven't looked at that one. 2017-06-12T05:34:58Z flavio81: but let me tell you, holycow: last time i saw how you could have a web server running on Hunchentoot, and while the server was running, you could recompile a function, and see the "new" version of the function works. This without having to stop the server. I thought "HOLY COW!" (pun intended) 2017-06-12T05:35:17Z flavio81: holycow: this thing you old, experienced Common Lisper take for granted, for me was a revelation. 2017-06-12T05:35:39Z flavio81: holycow: you simply can't do this under Python, ASP.NET ecosystem, Java ecosystem, nor Node 2017-06-12T05:35:56Z flavio81: holycow: and this is a big plus for rapid development AND for rapid correction of bugs 2017-06-12T05:36:41Z flavio81: so as you can see, right now in the present, Common Lisp does show advantages for my use case, and thus I want to investigate further 2017-06-12T05:36:44Z holycow: just for the record, i am old but not experienced :) 2017-06-12T05:36:55Z holycow: i'm a sysadmin that hates every moment of life looking at bash and perl code 2017-06-12T05:37:00Z flavio81: LOL 2017-06-12T05:37:47Z flavio81: let me tell you, even worse is having to use Java for serious stuff. It is a language so limited, that you have to workaround all of it's shortcomings by doing nauseauting stuff such as "applying software patterns". 2017-06-12T05:38:00Z beach: I am not going to be very active for the next few hours. Monday mornings are crazy around her. 2017-06-12T05:38:03Z holycow: well, in summary: if your budget wasn't some high falootin org, it wouldn't be an issue. so as an experinced sysadmin + cio i like to provide caution to the project 2017-06-12T05:38:05Z sbodin quit (Ping timeout: 240 seconds) 2017-06-12T05:38:07Z beach: flavio81: The software industry is in a dismal state. Managers manage projects without knowing the basics of software engineering. Decisions are based on the fad of the day. 2017-06-12T05:38:12Z beach: If anything goes wrong (delays, failures, bugs) and the fad of the day has been followed, then the decision makers and the managers can claim they are not to blame because they just did what everyone else is doing. 2017-06-12T05:38:12Z beach: But if anything goes wrong and they have chosen something unusual because of the advice of a single person or company, then it is very convenient to blame that person or company. And then, the technology that was chosen, even though it is perhaps better than the fad, will suffer a long period of negative opinions. 2017-06-12T05:38:23Z holycow: i think you are flying by the seat of your patns, something i have done and understand the pain well 2017-06-12T05:39:25Z holycow: what beach said. buy some consulting time :) 2017-06-12T05:39:59Z flavio81: you really puke when you need to create HashTable nameOfVar=new Hashtable and then call the ImportantClassFactory to instantiate an instance of ImportantClass that implements ImportantInterface1, ImportantInterface2 and throws MyCorporateException1 , MyCorporateException2, and get the ImportantInterface1I 2017-06-12T05:39:59Z flavio81: mpl from the ImportantInterface1ImplFactory that of course will be injected at runtime by the dependency injection framework etc etc 2017-06-12T05:40:28Z beach: So it doesn't matter whether what you chose is better, more productive, gives higher quality, etc. Whenever an inevitable problem happens, you get blamed, even though fad technology would have been even worse. 2017-06-12T05:40:59Z flavio81: beach: what you mention is the typical problem on all engineering industry,not only software. As an engineer (i'm not a scientist), i have no fear 2017-06-12T05:41:15Z beach: flavio81: OK then. Good luck to you. 2017-06-12T05:41:28Z beach: flavio81: I look forward to hearing about your progress. 2017-06-12T05:41:44Z beach: I am honest, here. I really hope you succeed. 2017-06-12T05:41:46Z flavio81: beach: i mean, you have described the typical pitfalls of engineering perfectly. But that doesn't discourage me at all because i've been doing this for years. 2017-06-12T05:41:59Z beach: Excellent! 2017-06-12T05:42:10Z flavio81: holycow: but... i'm a software consultant myself. Perhaps i should call me recursively 2017-06-12T05:42:26Z holycow: what beach said, definately wish you best of success. sounds like you know the risks well. 2017-06-12T05:42:49Z flavio81: holycow: jokes aside, if we do implement a *serious* software project that needs to land in production, i will be glad to pay for consultancy work to some of you in the Common Lisp community 2017-06-12T05:43:10Z holycow points fevershly elsewhere 2017-06-12T05:43:16Z holycow: don't let me anywhere near your code 2017-06-12T05:43:17Z holycow: :) 2017-06-12T05:43:27Z daemoz_ quit (Remote host closed the connection) 2017-06-12T05:43:47Z daemoz_ joined #lisp 2017-06-12T05:43:58Z beach: flavio81: OK, then please consider a contribution to McCLIM: https://salt.bountysource.com/teams/mcclim 2017-06-12T05:44:55Z flavio81: i mean, you have been really helpful in warning me of the possible pitfalls. As I said, the risk will depend on the criticality of the systems. And first i plan to use CL for stuff that is no sensitive. But i want to see how CL can bring a speed-of-development, speed-of-testing advantage, and, as i mentioned before, having used several platforms fo 2017-06-12T05:44:55Z flavio81: r years, I don't see how the Common LIsp tooling can be worse in any way 2017-06-12T05:45:38Z beach: It probably isn't worse. 2017-06-12T05:45:48Z holycow: there is just less of it 2017-06-12T05:45:57Z flavio81: I am still raving about SLIME today!! and when I listen to you or beach lament how limited SLIME is compared to what's possible, my mind frolicks on a vision of a not-too-distant future where a system even better than OpenGenera is available 2017-06-12T05:46:19Z flavio81: a system that will blow any other IDE of any other platform out of the water 2017-06-12T05:47:20Z flavio81: but, beach, what I contend is that this will not necesarily bring "acceptance", because for example the Smalltalkers had much better IDEs than the C++ developers for years and years, yet due to popularity/fashion, C++ was massively used compared to Smalltalk 2017-06-12T05:47:52Z flavio81: this is because in software, as in other things, marketing and fashion and inertia do have a strong effect on the languages and platforms people use 2017-06-12T05:48:42Z flavio81: and thus, as holycow says, we only get "reimplementation of old ideas in new languages" 2017-06-12T05:49:08Z arescorpio quit (Quit: Leaving.) 2017-06-12T05:49:27Z flavio81: thus, someone should counter the effects of inertia, fashion and marketing on the current state of the software ecosystem. And i say that some Common Lispers should join this task as well. 2017-06-12T05:49:44Z beach: flavio81: I care about two things: 1. My own productivity. That is why I want something better. 2. My work. I am a researcher, and the improvements I suggest are publishable, so I can justify my salary. 2017-06-12T05:49:50Z beach: I am not concerned with acceptance. 2017-06-12T05:49:50Z flavio81: beach: i will consider donating of course, but I first need to earn money with my first customers running on CL ! 2017-06-12T05:50:05Z flavio81: beach: i am totally fine with it 2017-06-12T05:50:46Z flavio81: beach: but you are a compiler artist, wouldn't you feel satisfied if you see a production system running under SICL successfully ? 2017-06-12T05:50:54Z holycow: oh i remember lucerne now. yeah was on reddit a while back. 2017-06-12T05:51:08Z zeroish joined #lisp 2017-06-12T05:51:59Z flavio81: beach: somebody from (say) PwC writing "yes, our system was compiled in Common Lisp using SICL and so far everything works fine and the throughput of our servers have nothing to envy other platforms." 2017-06-12T05:52:28Z beach: flavio81: Frankly, I don't care. Right now I am thinking that it would require a lot of my time for support and maintenance. Both activities are distractions from my main objectives. 2017-06-12T05:52:29Z flavio81: beach: you research today so people like Flavio, in the future, can feel satisfaction 2017-06-12T05:53:30Z flavio81: beach: yes, but if CL has more acceptance, then others can join as mantainers 2017-06-12T05:54:01Z beach: Sure. But it won't happen before the end of my remaining life expectancy. 2017-06-12T05:54:02Z flavio81: beach: in any case, i don't want to bug you. I understand what your priorities are. Each one of us, of course, has a different relationship to CL. 2017-06-12T05:54:27Z beach: Sure, I understand. 2017-06-12T05:55:49Z flavio81: beach: maybe, maybe not. I wrote you about Webassembly some days ago. I feel there is still a chance of Common Lisp resurgence (in the mainstream) within 5 years if CL can run perfectly under Webassembly. 2017-06-12T05:56:07Z Karl_Dscc joined #lisp 2017-06-12T05:56:12Z flavio81: beach: and that's one of the key reasons I am currently, today, learning more CL. I want to prepare for that moment. 2017-06-12T05:56:30Z beach: Yes, I get it. 2017-06-12T05:57:05Z flavio81: i already predicted myself the resurgence of Javascript as soon as i saw the benchmarks of the (then recently released) Google V8 javascript JIT compiler 2017-06-12T05:58:51Z flavio81: i don't have a crystal ball but I do see a change going on, at least in programming languages. As holycow said, "reimplementation of old ideas in new languages" , but the developers of today finally are understanding the advantages of those "Old ideas" like first-class-funcitons, for example 2017-06-12T05:59:01Z holycow: well you are on to something 2017-06-12T05:59:11Z holycow: what is actually happening is the same when a cell divides 2017-06-12T05:59:34Z holycow: there is pressure on the client side renderers to match native rendering capabilities of things like game engines 2017-06-12T05:59:42Z flavio81: and thus the developers get hungry for more powerful development programming languages, that's why i see so many move from Java to Python or Ruby; Python, you might hate it, but as a language is massively more expressive than Java 2017-06-12T05:59:49Z holycow: or simple protocols like rdp 2017-06-12T06:00:07Z flavio81: thus those people, I say, if presented with a clear exposition of Common Lisp, will be hungry for trying it. Because they will understand its power. 2017-06-12T06:00:25Z holycow: and the browser is have a REALLY REALLY hard time dealing with this requirement 2017-06-12T06:00:51Z flavio81: sadly, usually, or at least, up to very recently, CL tutorials or information on the web was very biased to people doing AI work. 2017-06-12T06:01:04Z holycow: either we are going to get something like native game rendering engines for the heavy lifting or we are going to get rdp style application deployment in the future 2017-06-12T06:01:11Z holycow: html will eventually atrophy 2017-06-12T06:01:28Z flavio81: holycow: but you're looking at only one side of the coin. 2017-06-12T06:01:36Z holycow: what is the other side? 2017-06-12T06:02:03Z flavio81: holycow: from the other side of the coin, HTML5 in its current version, is a very powerful language for describing graphical elements -- paragraphs, sections, layout of images versus text, etc. 2017-06-12T06:03:27Z flavio81: holycow: what is broken is how to add interaction on top of it. But this is still improving. 2017-06-12T06:04:50Z flavio81: holycow: of course it is not a sane choice of a game engine. But for a normal application GUI it is good enough. What is lacking is the speed of developing such GUI in an elegant way. Because what most web UI frameworks (for "single page apps") are out there are event-driven frameworks. So you program an UI like if you were in 1989 2017-06-12T06:05:24Z flavio81: holycow: but nothing prevents this to be evolved even using the current HTML5 language and the current Javascript engines 2017-06-12T06:05:33Z flavio81: still, this is off topic. 2017-06-12T06:05:36Z flavio81: so i shall shut up 2017-06-12T06:06:08Z holycow: naw 2017-06-12T06:06:18Z holycow: you need to read some eric naggum on html :) 2017-06-12T06:06:19Z holycow: ehe 2017-06-12T06:06:24Z flavio81: holycow: you are correct in saying that HTML will eventually atrophy of course 2017-06-12T06:06:27Z holycow: yeah sure, i mean if you like html 5 fine 2017-06-12T06:06:27Z holycow: :) 2017-06-12T06:06:29Z flavio81: and it should 2017-06-12T06:06:40Z flavio81: no, i don't like it. I just say it is good enough for many purposes. 2017-06-12T06:06:45Z flavio81: i don't like it at all 2017-06-12T06:07:21Z flavio81: but at the same time i compare it to, for example, building GUIs using Java Swing, or using the windows Win32 C++ foundation classes (MFC), and HTML5 is easier to use than those. 2017-06-12T06:07:51Z flavio81: of course those three probably suck compared to CLIM (haven't used CLIM yet, but if CLIM is not event driven then that's a big plus) 2017-06-12T06:08:57Z flavio81: in any case, if Webassembly becomes popular, probably there will be also an API to talk directly to the browser UI elements without having to do any use of HTML at all. And then you could, yes, for example, program your UI in Common Lisp with McCLIM and have your UI work smoothly in the browser. 2017-06-12T06:09:23Z flavio81: totally doable, totally possible, and i can bet you money that somebody will eventually open a project in GitHub that does exactly this 2017-06-12T06:10:17Z shka_ joined #lisp 2017-06-12T06:12:41Z cggong joined #lisp 2017-06-12T06:12:47Z cggong quit (Client Quit) 2017-06-12T06:13:48Z flavio81: beach: i'm reading what you suggested. http://metamodular.com/lispos.pdf -- it is BLOWING my mind ! thanks! 2017-06-12T06:14:24Z flavio81: i think i'm seeing the light today 2017-06-12T06:14:43Z flavio81: i've been cheated by the proponents of processes, pipes, and serialization of complex data structures into files. 2017-06-12T06:14:56Z cggong joined #lisp 2017-06-12T06:15:01Z cggong quit (Client Quit) 2017-06-12T06:16:28Z sondr3 quit (Ping timeout: 255 seconds) 2017-06-12T06:16:55Z diegs_ quit (Ping timeout: 255 seconds) 2017-06-12T06:17:33Z Karl_Dscc quit (Remote host closed the connection) 2017-06-12T06:17:51Z holycow: bbl 2017-06-12T06:17:51Z FreeBirdLjj joined #lisp 2017-06-12T06:17:53Z holycow quit (Quit: leaving) 2017-06-12T06:19:32Z flavio81: so lonely 2017-06-12T06:21:50Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2017-06-12T06:25:13Z zeroish quit (Ping timeout: 268 seconds) 2017-06-12T06:32:36Z neoncontrails joined #lisp 2017-06-12T06:38:15Z oleo quit (Quit: irc client terminated!) 2017-06-12T06:41:57Z Merv__ quit (Remote host closed the connection) 2017-06-12T06:44:10Z tapioco joined #lisp 2017-06-12T06:44:13Z tapioco: hi 2017-06-12T06:44:17Z easye: flavio81: Question about the WebAssembly space: is there a packaging of the JVM in WebAssembly that could be used to package ABCL more easily? 2017-06-12T06:44:38Z flavio81: tapioco: come si fosse antani 2017-06-12T06:44:59Z tapioco: flavio81: come SE fosse antani 2017-06-12T06:46:03Z flavio81: tapioco: italian is not my first language 2017-06-12T06:46:31Z flavio81: easye: won't you step up to the stand and tell the jury how you feel about this bullshit? 2017-06-12T06:46:44Z flavio81: easye: i don't understand the question fully 2017-06-12T06:46:57Z flavio81: easye: you mean if there is an implementation of the JVM in webassembly ? 2017-06-12T06:47:05Z easye: Yes. Something like that. 2017-06-12T06:47:14Z tapioco: flavio81: and how do you know about antani? 2017-06-12T06:47:23Z easye: Or at least a notion of how one might port a Java app to WASM. 2017-06-12T06:47:32Z flavio81: both the JVM and webassembly are, to put it in simple ways, virtual machines 2017-06-12T06:48:01Z easye: Yes, I am reading more background now. My question is therefore certainly a little strained. 2017-06-12T06:48:26Z flavio81: but the JVM is very different. You can say the webassembly one is very simple, extremely simple, and the JVM is bigger and tailored for a kind of object.oriented applications 2017-06-12T06:48:44Z flavio81: can JVM bytecode be translated to Webassembly? i don't know 2017-06-12T06:48:47Z easye: I am essentially trying to brainstorm the "most optimal way" I would approach getting CL into WASM. 2017-06-12T06:49:01Z flavio81: easye: ahh, that's a different question 2017-06-12T06:49:10Z flavio81: easye: let's ask Mc Ren and Ice Cube 2017-06-12T06:49:34Z easye: My bias is that I am considering whether ABCL would be an easy CL implementation for such a move. 2017-06-12T06:49:52Z flavio81: easye: jokes aside, what I understand is that with CLASP you can compile to the LLVM virtual machine 2017-06-12T06:50:07Z flavio81: and with a tool like Emscripten, you can translate that LLVM code to Webassembly bytecode 2017-06-12T06:50:11Z easye: If there were people providing support for transpiling JVM bytecode into WASM bytecode, then ABCL might have a leg up. 2017-06-12T06:50:26Z flavio81: and ta da, you have CL ----> to webassembly. haven't tried, though. 2017-06-12T06:50:34Z easye: Is WASM essentially LLVM IR with a new backend? 2017-06-12T06:50:47Z flavio81: no idea at all. I have not looked at them in depth 2017-06-12T06:50:56Z easye: Ah, Emscripten. Of course. 2017-06-12T06:51:28Z flavio81: as for JVM, my personal dream, my ideal dream, is to see everything Java related DIE in the next 10 years 2017-06-12T06:51:46Z flavio81: i want to see Oracle and Java dissapear from the engineering landscape for god. 2017-06-12T06:51:55Z flavio81: * for good 2017-06-12T06:52:26Z easye: With all respect to drmeister, CLASP is currently pretty focused on C++ integration. Why the use of SICL makes its approach generalizable, it might be better to extract the CL-->LLVM IR part of it. 2017-06-12T06:53:57Z easye: I think there is a good chance that the JVM will be much less important in 2027 than it is now, but I've been around long enough to know that it takes longer than you ever think for technologies as used as Java to go away. 2017-06-12T06:54:20Z flavio81: agree. But what i mean is, go away from the mainstream 2017-06-12T06:54:48Z flavio81: in the same way as, for example, PostgreSQL is - everyday that passes- replacing Oracle DBMS little by little 2017-06-12T06:55:01Z easye: ORCL I hate. SUNW I had a fondness for, even in their old-school "the only thing that counts is selling hardware" menatality. 2017-06-12T06:55:09Z flavio81: or in the same was as for example Cobol is right now in the present. It has not dissapeared, but it's away from the mainstream. 2017-06-12T06:55:37Z flavio81: Java is not Sun anymore. And even Sun is to blame for marketing Java agressively and making it prevail over more powerful tools. 2017-06-12T06:55:47Z easye: The funny thing about our era is the sheer number of new programmers that are coming "online" every year. 2017-06-12T06:55:48Z flavio81: they did invest a lot of money advertising it everywhere. 2017-06-12T06:56:02Z easye: It is not so much that Java has shrunk, but that JavaScript has gotten even larger. 2017-06-12T06:56:39Z easye: New programmers and companies who "write their own software" 2017-06-12T06:56:45Z flavio81: they are different stuff 2017-06-12T06:57:00Z flavio81: java and javascript have almost no relationship between each other, except for the name 2017-06-12T06:57:33Z easye: flavio81: I just name them as two programming communities that are currently in different phases of their relationship to the market. 2017-06-12T06:57:53Z triplefault joined #lisp 2017-06-12T06:58:08Z flavio81: javascript in its current Ecmascript2016 (ES7) incarnation, is a decent language. At least a powerful one compared to Java. The only weak thing in Javascript is that it is still a weakly typed language. In this, Python is etter. But of course Lisp is far above all of them. 2017-06-12T06:58:23Z flavio81: easye: sorry 2017-06-12T06:58:32Z flavio81: easye: i agree 2017-06-12T06:58:41Z easye: Actually the relationship contained in the the occurance of "Java" in both names is part of the trend that both represent. Javascript was named in order to benefit from the popularity of Java in 1996 2017-06-12T06:58:54Z ecraven: why did sun not fight that name? 2017-06-12T06:59:10Z flavio81: ecraven: any publicity is good publicity 2017-06-12T06:59:17Z easye: ecraven: 'cuz having NSCP on SUNW's side was strategic against MSFT. 2017-06-12T06:59:39Z triplefault quit (Remote host closed the connection) 2017-06-12T06:59:40Z easye: I think SUNW encourage NSCP to push JavaScript. 2017-06-12T07:00:07Z triplefault joined #lisp 2017-06-12T07:00:25Z flavio81: easye: Node.js is all the rage nowadays. And, you know, its package ecosystem is the most horrible thing i've ever seen in my life 2017-06-12T07:00:38Z easye: flavio81: I fight with it occasionally. 2017-06-12T07:01:06Z flavio81: easye: You install one (1) package, and it has over 100 dependencies. Many of them being simple snippets of code, like 11 lines of code. And they have the nerve to call those things "libraries" 2017-06-12T07:01:41Z flavio81: easye: last time we did a project in Node.js, the project was really small but the npm-modules directory had over 3000 files 2017-06-12T07:02:03Z flavio81: easye: break one of those little npm packages and the whole application breaks down. Like a house of cards. 2017-06-12T07:02:28Z easye: The size of the npm ecosystem is kind of related to my point about the size of the community. There are (were) orders of magnitude of Java programmers than other languages 2000-2010. That number hasn't shrunk so much, but there are now orders of magnitude more programmers in JavaScript (and npm). 2017-06-12T07:02:33Z ecraven: flavio81: I tried a static site generator in node.js a few days ago, pulled in 50MB of dependencies into the project directory... am I really supposed to start with a 50MB empty project?? 2017-06-12T07:02:50Z flavio81: easye: in the Common Lisp world, a "library" is there to do useful stuff like for example doing object-relational mapping. On the node.js ecosystem, a function to pad a string with empty spaces at the left... is a fecking library ! 2017-06-12T07:03:15Z flavio81: easye: maybe, maybe... 2017-06-12T07:03:37Z flavio81: ecraven: You got lucky. I will tell you the size of my directory in a few minutes 2017-06-12T07:03:49Z easye: The number of contributors to the npm packaging ecosystem mean that they don't even try to have a notion of "local packages" reused. For every dependency graph, npm downloads the version they were coded against. 2017-06-12T07:04:32Z flavio81: 10676 files, 54.0 MB 2017-06-12T07:04:56Z ecraven: flavio81: well, "disk space is cheap" they say :P 2017-06-12T07:05:01Z easye: flavio81: the ltrim is funny, sure. But it is also profound: are we moving to a world in which such specialization is more common? 2017-06-12T07:05:36Z flavio81: easye: do you know many node.js projects went to shit when such a module (ltrim?) was removed from the NPM repository? it made the news everywhere 2017-06-12T07:05:48Z flavio81: easye: this was in early 2016 I think 2017-06-12T07:05:59Z ecraven: that was fun ;) 2017-06-12T07:06:02Z easye: Yes, npm has problems. But it still seems to be churning out production code. 2017-06-12T07:06:05Z flavio81: but, why are we talking about Node.js? we're in the Land of Lisp 2017-06-12T07:06:15Z raynold quit (Quit: Connection closed for inactivity) 2017-06-12T07:06:24Z rippa joined #lisp 2017-06-12T07:06:51Z easye: flavio81: Good question. Oh, it was related to my notion that the size of programming communities are now historically different in absolute magnitudes, which effects how we make software. 2017-06-12T07:07:00Z flavio81: easye: yes, more and more javascript developers. But I contend this will end once webassembly gains traction. Or so I want to believe. 2017-06-12T07:07:21Z flavio81: easye: yes, i agree 2017-06-12T07:08:35Z quazimodo quit (Read error: Connection reset by peer) 2017-06-12T07:08:56Z easye: Anyways, thanks for the insight on WASM flavio81, and good luck with pushing CL as a rapid prototyping tool. I have been essentially doing that sort of stuff for the past decade with Common Lisp, to varying degrees of success. 2017-06-12T07:09:18Z flavio81: easye: you have been following my conversation on the last 2 hours?! (surprised) 2017-06-12T07:09:32Z easye: flavio81: One web framework that is a little rusty, but worth mentioning would be RESTAS. 2017-06-12T07:10:12Z easye: flavio81: I just re-read the conversation after I woke up, so only "following" in the sense of the last 30 minutes or so. 2017-06-12T07:10:17Z flavio81: thanks, bookmarking it on GitHub 2017-06-12T07:10:35Z Ukari quit (Ping timeout: 240 seconds) 2017-06-12T07:10:47Z ecraven: I liked weblocks ;) 2017-06-12T07:10:47Z flavio81: if you have already been doing that for years, i shall ask more stuff of you in the future 2017-06-12T07:11:09Z easye: I got pretty far at implementing macros https://bitbucket.org/easye/stagger to automagically swagger RESTAS routes as a functional API. 2017-06-12T07:11:27Z easye: flavio81: just remember my "varying degrees of success" caveat. 2017-06-12T07:12:13Z tankfeeder joined #lisp 2017-06-12T07:12:15Z easye: Although I like working it teams, in my advanced years it has been easier to pitch myself as a "full stack" developer, and not really work with other programmers directly. 2017-06-12T07:12:28Z easye: The best client doesn't know/care that there is Common Lisp underneath. 2017-06-12T07:12:59Z easye: I work with other programmers in the sense of working with asdf, Quicklisp, and the systems available therein. 2017-06-12T07:13:39Z flavio81: ecraven: just saw the page of weblocks. i am bookmarking. 2017-06-12T07:13:41Z easye: So, I am philosophically with beach here: less talk, more code. 2017-06-12T07:13:43Z sondr3 joined #lisp 2017-06-12T07:14:57Z easye: But, of course, I love to chat about Lisp, so I would be happy to assist you on your Lisp odyssey. 2017-06-12T07:15:32Z ebdreger|work joined #lisp 2017-06-12T07:15:49Z butter_the_buddh joined #lisp 2017-06-12T07:16:38Z flavio81: easye: Mark, but i understand Restas is suitable only for creating REST services ? 2017-06-12T07:16:46Z flavio81: (not a 'complete' web framework) 2017-06-12T07:16:53Z easye: flavio81: No, it is a general Web framework. 2017-06-12T07:17:03Z switchy left #lisp 2017-06-12T07:17:09Z flavio81: allright, thanks 2017-06-12T07:17:14Z triplefault quit (Quit: Leaving) 2017-06-12T07:17:18Z _cosmonaut_ joined #lisp 2017-06-12T07:17:23Z easye: I tend to start with all my data as REST services, then add an HTML5 application that consumes this data. 2017-06-12T07:17:33Z flavio81: i'll take a look as well, although I must say that the website of Weblocks attracted me a lot 2017-06-12T07:17:51Z flavio81: easye: yes, this is the fashion nowadays but i'm not very convinced 2017-06-12T07:17:53Z ebdreger`: Although I like working it teams, in my advanced years it has been easier to pitch myself as a "full stack" developer, and not really work with other programmers directly. 2017-06-12T07:17:53Z ebdreger`: The best client doesn't know/care that there is Common Lisp underneath. 2017-06-12T07:17:53Z ebdreger`: 2017-06-12T07:17:55Z ebdreger`: +1 2017-06-12T07:18:16Z FreeBirdLjj joined #lisp 2017-06-12T07:18:23Z flavio81: easye: your HTML5 application is wholly rendered on the client? (like "single page applications" ) ? 2017-06-12T07:18:31Z easye: flavio81: Yeah. 2017-06-12T07:18:39Z quazimodo joined #lisp 2017-06-12T07:18:44Z White_Flame: easye: the latest incarnation of webasm is a stack machine 2017-06-12T07:19:03Z White_Flame: so it's not anything llvm-like in its representation 2017-06-12T07:19:12Z easye: I usually work with a design oriented developer here. They pick their flavor of JS (Angular, whatever), use my Swagger contracts to consume data. 2017-06-12T07:19:13Z flavio81: easye: so then you are not using Restas as a full web framework; you are only using it for the services and for serving the initial web page. 2017-06-12T07:20:02Z flavio81: easye: that's why i asked if it was a fully featured web framework 2017-06-12T07:20:29Z easye: flavio81: I would disagree that I am not using it as a full web framework. If your observation is that using RESTAS does not have a "templating" engine per se, then yes. I use CL-WHO to mock up simple things, then figure out a templating system to work with more traditional web developers. 2017-06-12T07:20:39Z flavio81: easye: you are lucky of having a design oriented developer. So he has to suffer with the horrible Angular framework 2017-06-12T07:21:16Z flavio81: easye: you are correct. But what i mean is that since your app at the end is using JS+angular (or React), then the templating engine (under Lisp) doesn't play any major role 2017-06-12T07:21:21Z zeroish joined #lisp 2017-06-12T07:21:43Z flavio81: easye: in my view a "full" web framework would give you tools for making your life easier also at the presentation layer 2017-06-12T07:21:43Z easye: flavio81: exactly. But all JavaScript developers are gonna have a favored framework. So, I just let them use what the current flavor of the year is, and get to refactor all my work in the framework end from project to project. 2017-06-12T07:21:58Z gingerale joined #lisp 2017-06-12T07:22:13Z flavio81: easye: "i'm a gangsta, but still i got flavor" / "shining a light in my face and for what? " 2017-06-12T07:22:19Z easye: flavio81: Yes, then we have a bit of a different on what is part of a "Web framework". You are probably more technically correct. 2017-06-12T07:22:40Z flavio81: easye: bless that poor javascript developer that has to put up with Angular... 2017-06-12T07:23:01Z easye: But since "web framework" on the presentation layer is evolving so fast, I let the JS developers improve on their own terms. 2017-06-12T07:23:04Z flavio81: easye: still i thank you a lot, because probably RESTAS will be of a lot of help at some point in time 2017-06-12T07:23:11Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2017-06-12T07:23:20Z flavio81: easye: yes, i understand 2017-06-12T07:23:31Z easye: And RESTAS is really a bunch of thin macros on Hunchentoot. 2017-06-12T07:23:43Z flavio81: easye: don't let them learn Common Lisp, though; for they will look back at their times under javascript and see how they wasted years of their life... 2017-06-12T07:24:26Z easye: I have found that for certain problems (like CORS over proxies), Hunchentoot gives me the tools to easily change things. It is certainly the most production tested CL HTTP server. 2017-06-12T07:25:20Z flavio81: i'm taking note 2017-06-12T07:25:35Z easye: flavio81: Well, we tend to cross polinate, me and wbe front end developers. They often have a wide experience in things like video, or music, or even hacking bluetooth stacks in npm, that I learn a lot from. 2017-06-12T07:25:38Z flavio81: it's certainly the most talked about one 2017-06-12T07:26:00Z flavio81: easye: you're very open minded, for being a gangsta rapper 2017-06-12T07:26:14Z easye: I usually start off with JavaScript folks with a discussion of Cockroft's _JavaScript: the Good Parts_. 2017-06-12T07:28:09Z rk[ghost]: err, what is the difference between len and size again? 2017-06-12T07:29:03Z flavio81: that book is 2008 2017-06-12T07:29:20Z flavio81: many of the horrors of that old javascript have been fixed in Ecmascript 6 and 7 2017-06-12T07:29:24Z ebdreger` is now known as ebdreger 2017-06-12T07:29:27Z loke___ joined #lisp 2017-06-12T07:29:28Z rk[ghost]: i usually start of with JS folks with a discussion about something unrelated to programming. 2017-06-12T07:29:45Z easye: Not so much the horrors, but it is a good analysis of what needed to be changed. 2017-06-12T07:29:48Z White_Flame: truthiness and 'this' are kind of unfixable though 2017-06-12T07:29:52Z sondr3 quit (Read error: Connection reset by peer) 2017-06-12T07:29:55Z flavio81: note: i'm not a javascript advocate. But current version of JS doesn't suck. Well, it's still a weak typing language, and that sucks. 2017-06-12T07:29:57Z White_Flame: although lambdas sidestep the latter 2017-06-12T07:30:23Z easye: flavio81: What do you think of TypeScript? I am still not convinced it is worth it. 2017-06-12T07:30:45Z flavio81: easye: i think static typing, overall, is vastly, hugely overrated 2017-06-12T07:30:47Z Ukari joined #lisp 2017-06-12T07:30:49Z shka joined #lisp 2017-06-12T07:31:07Z easye: flavio81: From my CL bias, I agree. 2017-06-12T07:31:14Z flavio81: easye: Typescript is popular because Javascript is a weakly typed language, that's why people use static typing for counteracting weak typing 2017-06-12T07:31:18Z sondr3 joined #lisp 2017-06-12T07:31:46Z flavio81: but for example Python, which I have used extensively, is strong typed, yet dynamically typed (just as CL), and i never felt any need for static typing 2017-06-12T07:32:17Z ecraven: I'd love a dynamically typed language with lots of compiler warnings when doing things that are obviously a type problem 2017-06-12T07:32:25Z White_Flame: Are there tools to rename symbols across source code files? 2017-06-12T07:32:53Z flavio81: easye: i might alienate some people here, but I don't understand the enthusiasm for Haskell. What i've understood from Haskell is that the reason for using it is its supposedly wonderful type checker, but nothing else. 2017-06-12T07:33:10Z flavio81: easye: and as I've said, i think static type checks are really, really overated 2017-06-12T07:33:14Z ecraven: flavio81: I find purely functional languages interesting due to the lack of side effects 2017-06-12T07:33:20Z easye has failed to get Haskell repeatedly. 2017-06-12T07:33:31Z White_Flame: flavio81: in haskell, you write your entire program in types, then fill in the actual bits of code at the end, so you may be looking at it wrong 2017-06-12T07:33:37Z White_Flame: I'm not a haskell coder, but that's my strongest hearsay 2017-06-12T07:33:50Z easye: Even though I am at heart an "applied mathematician", Haskell is never seemed anything like what I would consider programming. 2017-06-12T07:34:08Z moei quit (Quit: Leaving...) 2017-06-12T07:34:18Z flavio81: > I'd love a dynamically typed language with lots of compiler warnings when doing things that are obviously a type problem 2017-06-12T07:34:45Z White_Flame: (should be "you write your entire program in type _transformations_", above) 2017-06-12T07:35:12Z flavio81: ecraven: if you use the PyCharm IDE, you can have exactly this. You add assert() statements on the input arguments (or any variable) where you care about this variable being of a certain type, and the IDE will detect type violations before compile. 2017-06-12T07:36:36Z easye: Strong statement: I think GOOG's retreat from Python as a systems language (into, say, Go) more or less seals the fate of Python without a significant new developement. 2017-06-12T07:37:24Z flavio81: in my whole 22+ years of experience programming, the bugs that were a headache weren't caused by type "typos" or type mismatch. They were caused by the sort of things that aren't easy to debug... I couldn't care less if the compiler is helping me with type checks or not. As long, of course, as the system is strongly typed. Automatic type conversion 2017-06-12T07:37:24Z easye: Say, like making python3 fully able to run python2 code in a way that hasn't happened by 2017. 2017-06-12T07:37:24Z flavio81: s are a sin... 2017-06-12T07:37:27Z White_Flame: well, Python has basically become today's Java, in terms of the language with all the easily accessible libraries 2017-06-12T07:38:03Z flavio81: White_Flame: Yes there are tools to rename symbols across source files. PyCharm can do this as well. in python. 2017-06-12T07:38:16Z White_Flame: flavio81: I meant in Common Lisp. Shocking turn of topic, I know ;) 2017-06-12T07:38:31Z flavio81: easye: they're two different languages. But porting Python2 to Python3 is easy 2017-06-12T07:38:31Z easye: White_Flame: I get by with M-x query-replace and cognates. 2017-06-12T07:38:35Z beach: White_Flame: You may need to wait for Second Climacs. 2017-06-12T07:38:35Z minion: beach, memo from flavio81: Thank you very much for your link to http://metamodular.com/lispos.pdf . This challenges what i've learned about OS and i'm seeing the light. 2017-06-12T07:38:42Z flavio81: White_Flame: LOL 2017-06-12T07:39:17Z flavio81: beach: excellent paper. I wondered who wrote it until i saw the author 2017-06-12T07:39:22Z easye: With SLIME's XREF hooks, one should be able to do this systematically fairly easily, but I don't know the appropiate Emacs fu mainly because Lisp code bases tend to be small enough that M-x query-replace works well enough. 2017-06-12T07:39:39Z beach: flavio81: And, we can do better than Genera. We can get a multi-user system on stock hardware these days. 2017-06-12T07:39:46Z beach: flavio81: Thanks! 2017-06-12T07:39:52Z angavrilov joined #lisp 2017-06-12T07:40:15Z White_Flame: beach: query-replace is a text search, not a SLIME-informed symbol replacement 2017-06-12T07:40:33Z beach: White_Flame: I know. 2017-06-12T07:40:41Z White_Flame: I'm dealing with a codebase with a bunch of single- and double-letter symbols, so I'd like a semi-safe refactoring operation 2017-06-12T07:40:45Z flavio81: beach: i think i should give this paper to some of my colleagues. You know, people in software engineering have so much to learn from the pure-computer-science people. 2017-06-12T07:40:46Z beach: White_Flame: I wasn't the one recommending it. 2017-06-12T07:41:01Z White_Flame: oh you're right. same number of characters in your handle :-P 2017-06-12T07:41:03Z beach: flavio81: Feel free. 2017-06-12T07:41:24Z easye: White_Flame: but if you come up with something more systematic than M-x query-replace, please advertise. 2017-06-12T07:41:45Z White_Flame: well, I've got my own pipe dreams similar to beach, and those are a long way off 2017-06-12T07:42:09Z scymtym joined #lisp 2017-06-12T07:42:11Z flavio81: White_Flame: you mean names like "a", "b", "c", even globals / "defparameters "? aren't those earmuffed ? 2017-06-12T07:42:14Z beach: White_Flame: Second Climacs will not only be able to distinguish symbols from other stuff. It will be able to distinguish different ROLES of symbols, so that it only replaces references to (say) Common Lisp functions, as opposed to lexical variables with the same name. 2017-06-12T07:42:29Z White_Flame: flavio81: function names as well 2017-06-12T07:42:48Z flavio81: White_Flame: the developer who did that deserves an exemplary punishment 2017-06-12T07:42:54Z White_Flame: beach: right. basically bringing up to what all the other IDEs already do :-P 2017-06-12T07:43:10Z White_Flame: flavio81: it's ancient historical lisp code 2017-06-12T07:43:48Z flavio81: White_Flame: I had a small discussion with Beach regarding SLIME versus "the other IDEs" and speaking from personal experience of extensive work using the "other" IDEs, i don't find SLIME lacking in any way. 2017-06-12T07:44:04Z White_Flame: it's not as much SLIME that's the problem, but more emacs 2017-06-12T07:44:14Z White_Flame: well, could be considered a non-coverage of SLIME 2017-06-12T07:44:19Z White_Flame: in that there's no notion of your project 2017-06-12T07:44:36Z White_Flame: so you can't search your project for invocations of some macro name, for instance 2017-06-12T07:44:49Z White_Flame: you can only effectively textually search 2017-06-12T07:45:10Z flavio81: White_Flame: are you sure? i thought Slime can find you the usage of a macro as well as a function 2017-06-12T07:45:58Z flavio81: White_Flame: i mean, all the "cross reference..." options of Slime 2017-06-12T07:46:22Z White_Flame: hm, I'm looking again, and yeah that's there 2017-06-12T07:46:25Z flavio81: or it only works for functions ? (i'm still a beginner at this) 2017-06-12T07:46:35Z White_Flame: so really, doing an intelligent rename should be possible built on top fo that 2017-06-12T07:46:37Z flavio81: lol then i'm not so beginner ! 2017-06-12T07:46:47Z White_Flame: I've never delved deeply into slime 2017-06-12T07:47:17Z flavio81: by the way, what's the problem with Emacs? my only problem with that is having to use Alt-W Control-Y for copy/paste 2017-06-12T07:47:35Z White_Flame: of course, due to the nature of lisp, it can only show references that have been loaded, and not #+'d out 2017-06-12T07:47:39Z flavio81: i mean, it does have a steep learning curve, but still in 1 day you get past the learning curve 2017-06-12T07:48:03Z White_Flame: since it's not looking at the source code, but compiled data & its source code backreferences 2017-06-12T07:48:06Z flavio81: White_Flame: Yes, you need to have all the modules loaded otherwise they won't be found by Slime 2017-06-12T07:48:24Z White_Flame: oh, I've been using SLIME for very many years. I'm just not an emacs-head, and haven't dug much into the finer sepcifics 2017-06-12T07:49:26Z White_Flame: but yeah, the cross reference lookups are very coarse; they don't point to the actual symbol use in the source files 2017-06-12T07:49:48Z White_Flame: (I also noticed that my SLIME is from 2014, so whatever) 2017-06-12T07:50:26Z butter_the_buddh quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-06-12T07:50:31Z flavio81: White_Flame: try Portacle. https://shinmera.github.io/portacle/ 2017-06-12T07:50:54Z flavio81: White_Flame: it's the latest version of emacs + slime + other tools, well integrated, ready to use. I like it. 2017-06-12T07:51:13Z White_Flame: I can get the latest slime; it's just currently version-bound to existing running binaries 2017-06-12T07:51:18Z White_Flame: that i need to connect to on occasion 2017-06-12T07:51:49Z White_Flame: I've been coding CL as my primary language since about 2004 2017-06-12T07:52:41Z flavio81: if i had started coding in CL in 2004, my IQ would have been improved in 50 points by now, and I would be able to directly look at The Matrix, plus visit new alien worlds. 2017-06-12T07:52:50Z flavio81: i've been coding in CL since... last week :) 2017-06-12T07:53:08Z White_Flame: I just keep myself busy with abstract design issues, and tend to stay away from admin & feature fiddling for its own sake 2017-06-12T07:53:54Z flavio81: but it was easier than i thought. Hardest thing to understand was.... seriously, the keywords ( :this :and :that :etc). No introductory text nor tutorial gave a clear explanation of them 2017-06-12T07:53:56Z zeroish quit (Ping timeout: 260 seconds) 2017-06-12T07:54:18Z flavio81: until i say some text that said that ":" means "symbol that is located in the keyword package", and I saw the light. 2017-06-12T07:54:27Z flavio81: *until i saw some text 2017-06-12T07:54:32Z butter_the_buddh joined #lisp 2017-06-12T07:55:14Z flavio81: but it seems that most texts don't want to tell you what's the real difference between a symbol and a keyword, and that left me scratching my head for days 2017-06-12T08:00:40Z karswell` quit (Remote host closed the connection) 2017-06-12T08:01:45Z karswell` joined #lisp 2017-06-12T08:02:19Z drcode quit (Ping timeout: 246 seconds) 2017-06-12T08:04:09Z lieven: they should get around to it at some point. it's just a notational shortcut. (intern "FOO" "KEYWORD") should give you :foo 2017-06-12T08:04:54Z White_Flame: technically #.(intern "FOO" "KEYWORD"), as it's instantiated at read time 2017-06-12T08:05:02Z arquebus joined #lisp 2017-06-12T08:05:20Z quazimodo quit (Remote host closed the connection) 2017-06-12T08:05:21Z butter_the_buddh quit (Read error: Connection reset by peer) 2017-06-12T08:05:30Z flavio81: yep 2017-06-12T08:06:13Z arduo joined #lisp 2017-06-12T08:06:16Z White_Flame: but yeah, back to my prior assertion, slime doesn't do workable cross referencing for actionable automated replacement 2017-06-12T08:06:25Z White_Flame: (at lest in my older version) 2017-06-12T08:06:33Z loke___: Keywords are self-evaluating, but only for the value. You can still define functions with keywords as names. 2017-06-12T08:06:45Z White_Flame: but these sorts of things really do require a smarter full ecosystem, not just more patched functionality 2017-06-12T08:07:42Z White_Flame: isn't "self-evaluating, but only for the value" kind of tautological? 2017-06-12T08:08:02Z White_Flame: the car of an evaluated s-expr isn't EVALed 2017-06-12T08:08:11Z Ukari quit (Ping timeout: 240 seconds) 2017-06-12T08:08:14Z knobo joined #lisp 2017-06-12T08:09:00Z flavio81: it's 3am here, i gotta get some sleep 2017-06-12T08:09:06Z flavio81: thanks for the chat 2017-06-12T08:09:18Z lieven: I looked it up once but I've forgotten. Is it allowed to modify the value of a keyword? 2017-06-12T08:09:37Z flavio81: loke___ i shoud try that someday --> define a function with a keyword name ! 2017-06-12T08:09:55Z flavio81: bye bye 2017-06-12T08:10:02Z flavio81 quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-06-12T08:10:20Z loke___: flavio81: I know some people do that for some convenience functions that are usable from the REPL. I guess it could have some merit since they are available from all packages. 2017-06-12T08:11:01Z quazimodo joined #lisp 2017-06-12T08:14:19Z drcode joined #lisp 2017-06-12T08:16:00Z mejja joined #lisp 2017-06-12T08:22:48Z arquebus quit (Quit: konversation disconnects) 2017-06-12T08:23:48Z drcode quit (Ping timeout: 260 seconds) 2017-06-12T08:25:02Z hajovonta joined #lisp 2017-06-12T08:26:17Z hhdave_ joined #lisp 2017-06-12T08:26:57Z quazimodo quit (Ping timeout: 255 seconds) 2017-06-12T08:31:35Z nirved joined #lisp 2017-06-12T08:36:42Z hhdave joined #lisp 2017-06-12T08:37:28Z hhdave_ quit (Ping timeout: 240 seconds) 2017-06-12T08:37:30Z marusich quit (Ping timeout: 240 seconds) 2017-06-12T08:39:05Z Ichimusai quit (Ping timeout: 240 seconds) 2017-06-12T08:40:48Z Ichimusai joined #lisp 2017-06-12T08:49:20Z butter_the_buddh joined #lisp 2017-06-12T08:52:09Z zeroish joined #lisp 2017-06-12T08:53:36Z neoncontrails quit (Remote host closed the connection) 2017-06-12T08:53:53Z switchy joined #lisp 2017-06-12T08:54:14Z neoncontrails joined #lisp 2017-06-12T08:58:47Z neoncontrails quit (Ping timeout: 255 seconds) 2017-06-12T09:02:18Z Merv_ joined #lisp 2017-06-12T09:03:49Z loke___ quit (Ping timeout: 255 seconds) 2017-06-12T09:05:10Z defaultxr quit (Ping timeout: 240 seconds) 2017-06-12T09:10:17Z orivej joined #lisp 2017-06-12T09:13:50Z ebdreger quit (Ping timeout: 240 seconds) 2017-06-12T09:21:22Z Merv__ joined #lisp 2017-06-12T09:22:38Z damke joined #lisp 2017-06-12T09:24:30Z Merv_ quit (Ping timeout: 240 seconds) 2017-06-12T09:25:57Z zeroish quit (Ping timeout: 240 seconds) 2017-06-12T09:29:27Z butter_the_buddh quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-06-12T09:34:22Z kruhft joined #lisp 2017-06-12T09:34:28Z kruhft: anybody here use lispworks? 2017-06-12T09:36:21Z Ukari joined #lisp 2017-06-12T09:41:04Z beach: kruhft: Since this is freenode, which is dedicated to free and open-source software, it is more likely that people here use a free implementation. If you have questions about a commercial implementation, it is usually better to turn to the supplier for questions. 2017-06-12T09:41:19Z mingus quit (Quit: mingus) 2017-06-12T09:41:55Z quazimodo joined #lisp 2017-06-12T09:43:46Z lieven: I have used lispworks in the past but beach is right that their mailing list is a better bet 2017-06-12T09:53:07Z grublet quit (Quit: Leaving) 2017-06-12T09:53:14Z mingus joined #lisp 2017-06-12T10:03:48Z _cosmonaut_ quit (Ping timeout: 260 seconds) 2017-06-12T10:10:10Z EvW1 joined #lisp 2017-06-12T10:13:05Z Harag quit (Ping timeout: 240 seconds) 2017-06-12T10:16:18Z shdeng quit (Quit: Leaving) 2017-06-12T10:22:23Z Harag joined #lisp 2017-06-12T10:22:29Z _cosmonaut_ joined #lisp 2017-06-12T10:22:32Z moei joined #lisp 2017-06-12T10:22:45Z zeroish joined #lisp 2017-06-12T10:27:27Z m00natic joined #lisp 2017-06-12T10:27:34Z damke quit (Ping timeout: 268 seconds) 2017-06-12T10:28:30Z EvW1 quit (Ping timeout: 240 seconds) 2017-06-12T10:28:32Z Lowl3v3l joined #lisp 2017-06-12T10:29:06Z damke joined #lisp 2017-06-12T10:34:19Z angavrilov quit (Ping timeout: 255 seconds) 2017-06-12T10:35:23Z angavrilov joined #lisp 2017-06-12T10:37:00Z wildbartty_ quit (Remote host closed the connection) 2017-06-12T10:37:34Z test1600 quit (Quit: Leaving) 2017-06-12T10:37:39Z wildbartty_ joined #lisp 2017-06-12T10:49:46Z pillton: Is there a noun for the set of function types which destructure arguments the same way and return the same number of values? 2017-06-12T10:50:26Z pillton: i.e. (function (t t &key (:a t)) t) and (function (integer integer &key (:a integer)) integer) belong to the same set. 2017-06-12T10:52:26Z flip214: pillton: "compatible (or similar) lambda list"? 2017-06-12T10:53:53Z Grue`: congruent? 2017-06-12T10:54:11Z pillton: I was thinking the meta function type (function (x y &key (:a z)) value). 2017-06-12T10:54:13Z p9s quit (Remote host closed the connection) 2017-06-12T10:54:45Z p9s joined #lisp 2017-06-12T10:54:54Z pillton: I need something that denotes the set, not the relationship between members. 2017-06-12T10:54:59Z jameser quit (Ping timeout: 246 seconds) 2017-06-12T10:55:28Z pillton: I like the suggestions for the relationship though. 2017-06-12T10:56:22Z pillton: A method lambda list is congruent with a generic function lambda list. 2017-06-12T10:56:23Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-06-12T10:56:33Z Grue`: it's called "equivalency class" 2017-06-12T10:56:55Z pillton: Oh where is that? 2017-06-12T10:57:15Z Grue`: oops, equivalencE class. it's a mathematical term 2017-06-12T10:59:01Z p9s quit (Ping timeout: 255 seconds) 2017-06-12T10:59:10Z pillton: Right. A definition of congruency exists therefore I have an equivalence class. 2017-06-12T11:01:13Z butter_the_buddh joined #lisp 2017-06-12T11:01:57Z MrWoohoo quit (Ping timeout: 258 seconds) 2017-06-12T11:02:02Z pillton: Grue`: Thanks. 2017-06-12T11:13:19Z rippa joined #lisp 2017-06-12T11:17:29Z anti_smap joined #lisp 2017-06-12T11:23:08Z White_Flame: generally, I would think that would be an "interface" 2017-06-12T11:23:50Z White_Flame: at least it has a very close resemblance to the C++ family OO term, on a function level 2017-06-12T11:24:13Z White_Flame: actually, "function prototype" would be closer 2017-06-12T11:24:18Z Ukari quit (Ping timeout: 268 seconds) 2017-06-12T11:24:19Z White_Flame: using programming terms instead of math terms 2017-06-12T11:24:35Z Bike joined #lisp 2017-06-12T11:25:27Z zeroish quit (Ping timeout: 245 seconds) 2017-06-12T11:26:06Z zeroish joined #lisp 2017-06-12T11:26:50Z _cosmonaut_ quit (Ping timeout: 240 seconds) 2017-06-12T11:33:00Z EvW joined #lisp 2017-06-12T11:36:59Z Harag quit (Ping timeout: 246 seconds) 2017-06-12T11:39:35Z smokeink joined #lisp 2017-06-12T11:41:37Z loke___ joined #lisp 2017-06-12T11:42:54Z smokeink quit (Client Quit) 2017-06-12T11:48:32Z Guest35883 quit (Ping timeout: 246 seconds) 2017-06-12T11:52:42Z _cosmonaut_ joined #lisp 2017-06-12T11:54:44Z EvW quit (Ping timeout: 255 seconds) 2017-06-12T11:54:45Z rumbler31 joined #lisp 2017-06-12T11:58:02Z Arcaelyx_ joined #lisp 2017-06-12T12:01:18Z thinkpad quit (Ping timeout: 268 seconds) 2017-06-12T12:01:37Z Arcaelyx quit (Ping timeout: 255 seconds) 2017-06-12T12:02:17Z damke_ joined #lisp 2017-06-12T12:04:23Z damke quit (Ping timeout: 268 seconds) 2017-06-12T12:05:05Z _cosmonaut_ quit (Ping timeout: 240 seconds) 2017-06-12T12:05:06Z malice joined #lisp 2017-06-12T12:05:36Z malice: Hi! How can I make #'inferior-shell:run NOT treat paths as relative, but absolute? 2017-06-12T12:06:01Z malice: Alternatively, how can I change the path which he treats as the base for the relative path 2017-06-12T12:06:12Z malice: My question also applies to uiop:run-program, since run uses it. 2017-06-12T12:08:10Z scymtym: malice: i think both accept a :directory argument which sets the current directory for the subprocess 2017-06-12T12:08:42Z malice: scymtym: I will check that 2017-06-12T12:09:04Z malice: scymtym: Exactly what I needed! Thanks a lot! 2017-06-12T12:09:23Z Grue`: oh no, I've bumped into a terrible limitation of DRAKMA 2017-06-12T12:09:27Z scymtym: malice: you're welcome 2017-06-12T12:09:30Z Grue`: "FORM-DATA only makes sense with POST requests." 2017-06-12T12:09:40Z malice: Too bad it's hidden deep down in the source code... 2017-06-12T12:09:59Z Grue`: that's not true, and API I need to use wants form data with DELETE 2017-06-12T12:12:00Z thinkpad joined #lisp 2017-06-12T12:12:17Z butter_the_buddh quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-06-12T12:14:49Z loke___: Grue`: Darkma isn't perfect. I made a contribution to it once, which was swiftly accepted. 2017-06-12T12:14:58Z loke___: I recommned you fix it an push the fix 2017-06-12T12:16:15Z jdtcookie joined #lisp 2017-06-12T12:17:49Z Bike quit (Ping timeout: 246 seconds) 2017-06-12T12:19:20Z deba5e12 joined #lisp 2017-06-12T12:19:27Z Kevslinger joined #lisp 2017-06-12T12:19:33Z jdtcookie quit (Remote host closed the connection) 2017-06-12T12:21:12Z jdtcookie joined #lisp 2017-06-12T12:21:28Z loke___ quit (Ping timeout: 260 seconds) 2017-06-12T12:21:29Z jdtcookie quit (Remote host closed the connection) 2017-06-12T12:21:57Z jdtcookie joined #lisp 2017-06-12T12:22:17Z manuel__ joined #lisp 2017-06-12T12:23:17Z _cosmonaut_ joined #lisp 2017-06-12T12:24:44Z eschatologist quit (Ping timeout: 268 seconds) 2017-06-12T12:28:42Z malice quit (Remote host closed the connection) 2017-06-12T12:33:59Z neoncontrails joined #lisp 2017-06-12T12:36:08Z zeroish quit (Ping timeout: 246 seconds) 2017-06-12T12:38:17Z ekinmur joined #lisp 2017-06-12T12:39:51Z wildbartty__ joined #lisp 2017-06-12T12:41:07Z Harag joined #lisp 2017-06-12T12:41:46Z rumbler31 quit (Remote host closed the connection) 2017-06-12T12:42:10Z wildbartty_ quit (Ping timeout: 240 seconds) 2017-06-12T12:42:16Z ekinmur quit (Quit: Textual IRC Client: www.textualapp.com) 2017-06-12T12:43:04Z Grue`: I'll probably use dexador for the time being 2017-06-12T12:44:19Z nzambe quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-06-12T12:45:25Z easieste joined #lisp 2017-06-12T12:47:12Z cggong joined #lisp 2017-06-12T12:51:15Z razeron joined #lisp 2017-06-12T12:52:30Z easieste quit (Quit: easieste) 2017-06-12T12:52:31Z zeroish joined #lisp 2017-06-12T12:52:51Z neoncontrails quit (Remote host closed the connection) 2017-06-12T12:53:28Z neoncontrails joined #lisp 2017-06-12T12:53:57Z neoncont_ joined #lisp 2017-06-12T12:53:57Z neoncont_ quit (Remote host closed the connection) 2017-06-12T12:53:57Z nzambe joined #lisp 2017-06-12T12:54:33Z neoncont_ joined #lisp 2017-06-12T12:57:29Z neoncontrails quit (Ping timeout: 246 seconds) 2017-06-12T12:57:43Z zeroish quit (Ping timeout: 258 seconds) 2017-06-12T12:58:16Z cggong quit (Quit: cggong) 2017-06-12T12:58:30Z neoncont_ quit (Ping timeout: 240 seconds) 2017-06-12T12:58:35Z razeron quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-06-12T13:01:47Z duckqlz quit (Ping timeout: 255 seconds) 2017-06-12T13:02:12Z jameser joined #lisp 2017-06-12T13:03:26Z duckqlz joined #lisp 2017-06-12T13:04:38Z flash- joined #lisp 2017-06-12T13:05:53Z al-damiri joined #lisp 2017-06-12T13:08:45Z flash-: Hey guys, I have a newbie-ish question. 2017-06-12T13:08:48Z diegs_ joined #lisp 2017-06-12T13:08:55Z flash-: I have a function that uses < to compare elements. It already works on integers. Now I want it to work on other types, in my case local-time:timestamp for which it must use timestamp<. 2017-06-12T13:09:03Z flash-: What is the normal way to do this? 2017-06-12T13:10:14Z flash-: Use a defmethod and define my own smaller function that uses < and timestamp< respectively? 2017-06-12T13:10:27Z dlowe: Generally, you pass in a "less-than" predicate 2017-06-12T13:10:38Z dlowe: Like the CL:SORT function 2017-06-12T13:11:01Z dlowe: (defun do-something (x y lessp) (funcall lessp x y)) 2017-06-12T13:11:07Z xaotuk joined #lisp 2017-06-12T13:11:09Z dlowe: (do-something 1 2 '<) 2017-06-12T13:11:22Z dlowe: (do-something then now 'local-time:timestamp<) 2017-06-12T13:11:40Z flash-: But I do not necessarily know the type of the arguments at the point where the function is called. 2017-06-12T13:12:29Z dlowe: then you thread the predicate from a function that does, or you use run-time dispatch with generic functions and specific methods. 2017-06-12T13:12:42Z easieste joined #lisp 2017-06-12T13:13:01Z flash-: OK, thank you. 2017-06-12T13:14:10Z jdtcookie quit (Ping timeout: 246 seconds) 2017-06-12T13:14:10Z flash-: My brain has difficulties readjusting to CL after using C# for too long. 2017-06-12T13:14:19Z whoman joined #lisp 2017-06-12T13:15:12Z easieste quit (Client Quit) 2017-06-12T13:15:21Z zeroish joined #lisp 2017-06-12T13:16:02Z cggong joined #lisp 2017-06-12T13:17:24Z jiacobucci joined #lisp 2017-06-12T13:19:10Z dlowe: I've seen very little "bad Common Lisp" that wasn't also just bad programming. Just use whatever works for you. You'll find out quickly if it's not a good fit. 2017-06-12T13:19:35Z zeroish quit (Ping timeout: 240 seconds) 2017-06-12T13:20:52Z mrottenkolber joined #lisp 2017-06-12T13:23:08Z cggong quit (Quit: cggong) 2017-06-12T13:30:53Z cggong joined #lisp 2017-06-12T13:32:14Z Bike joined #lisp 2017-06-12T13:33:32Z cggong quit (Client Quit) 2017-06-12T13:36:28Z cromachina_ quit (Read error: Connection reset by peer) 2017-06-12T13:39:05Z oleo joined #lisp 2017-06-12T13:39:33Z rumbler31 joined #lisp 2017-06-12T13:39:33Z phinxy joined #lisp 2017-06-12T13:44:23Z tankfeeder left #lisp 2017-06-12T13:50:59Z LiamH joined #lisp 2017-06-12T13:57:57Z p9s joined #lisp 2017-06-12T14:01:07Z Lowl3v3l quit (Quit: Leaving.) 2017-06-12T14:06:26Z EvW joined #lisp 2017-06-12T14:06:42Z manuel__ quit (Quit: manuel__) 2017-06-12T14:10:32Z xaotuk quit (Ping timeout: 260 seconds) 2017-06-12T14:10:51Z dec0n quit (Read error: Connection reset by peer) 2017-06-12T14:16:56Z zeroish joined #lisp 2017-06-12T14:19:37Z _cosmonaut_ quit (Ping timeout: 246 seconds) 2017-06-12T14:23:32Z p9s quit (Remote host closed the connection) 2017-06-12T14:24:09Z p9s joined #lisp 2017-06-12T14:28:11Z p9s quit (Ping timeout: 240 seconds) 2017-06-12T14:31:50Z ebdreger|work is now known as ebdreger 2017-06-12T14:35:40Z myrkraverk joined #lisp 2017-06-12T14:36:21Z nirved is now known as nirved_afk 2017-06-12T14:38:29Z manuel__ joined #lisp 2017-06-12T14:39:35Z butter_the_buddh joined #lisp 2017-06-12T14:40:48Z QLNHRKPB1Y joined #lisp 2017-06-12T14:41:06Z cggong joined #lisp 2017-06-12T14:42:17Z rumbler3_ joined #lisp 2017-06-12T14:46:30Z rumbler3_ quit (Ping timeout: 240 seconds) 2017-06-12T14:47:03Z sbodin joined #lisp 2017-06-12T14:47:38Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-06-12T14:52:07Z QLNHRKPB1Y quit (Ping timeout: 255 seconds) 2017-06-12T14:53:50Z quazimodo quit (Read error: Connection reset by peer) 2017-06-12T14:54:16Z Bike: Does anybody know about POIU and/or the depths of asdf's api, or should i just figure out how to mail fare 2017-06-12T14:54:56Z phoe: minion: memo for Fare: Does anybody know about POIU and/or the depths of asdf's api, or should i just figure out how to mail fare 2017-06-12T14:54:56Z minion: Remembered. I'll tell Fare when he/she/it next speaks. 2017-06-12T14:55:01Z butter_the_buddh quit (Read error: Connection reset by peer) 2017-06-12T14:55:27Z karswell` quit (Ping timeout: 240 seconds) 2017-06-12T14:56:03Z Bike: i don't mind right now, but please let me contact people myself in the future 2017-06-12T14:59:38Z EvW quit (Ping timeout: 246 seconds) 2017-06-12T15:00:08Z anti_smap quit (Quit: Page closed) 2017-06-12T15:00:55Z quazimodo joined #lisp 2017-06-12T15:01:23Z phoe: Bike: woops, sorry 2017-06-12T15:14:33Z damke joined #lisp 2017-06-12T15:16:52Z damke__ joined #lisp 2017-06-12T15:17:24Z damke_ quit (Ping timeout: 268 seconds) 2017-06-12T15:19:15Z damke quit (Ping timeout: 268 seconds) 2017-06-12T15:21:27Z mtd joined #lisp 2017-06-12T15:27:33Z brendyn quit (Ping timeout: 260 seconds) 2017-06-12T15:28:28Z DingoSaar quit (Remote host closed the connection) 2017-06-12T15:29:05Z DingoSaar joined #lisp 2017-06-12T15:29:37Z diegs_ quit (Ping timeout: 245 seconds) 2017-06-12T15:30:16Z drcode joined #lisp 2017-06-12T15:35:04Z whoman quit (Quit: Leaving) 2017-06-12T15:38:04Z FreeBirdLjj joined #lisp 2017-06-12T15:41:40Z eazar001 joined #lisp 2017-06-12T15:41:47Z drcode quit (Read error: Connection reset by peer) 2017-06-12T15:46:01Z xaotuk joined #lisp 2017-06-12T15:48:33Z malice joined #lisp 2017-06-12T15:49:25Z hajovonta quit (Quit: hajovonta) 2017-06-12T15:49:27Z malice: Hi! Asking again; how can I set directory of the file passed by :input for inferior-shell:run (or uiop:run-program, afaik). 2017-06-12T15:49:50Z malice: Last time someone answered that :directory should do it. It works fine if called by itself(changes to the directory). 2017-06-12T15:50:15Z malice: However, when passed with input, it's ignored and input is located at the path where inferior-shell considers it to be (e.g. ~/somedir) 2017-06-12T15:50:23Z jiacobucci quit (Ping timeout: 246 seconds) 2017-06-12T15:50:51Z jackdaniel: malice: maybe (let ((*default-pathname-defaults* "/my/dir/")) …) ? 2017-06-12T15:51:51Z malice: Thank you, jackdaniel. This one works perfectly. 2017-06-12T15:55:50Z eazar001 quit (Ping timeout: 240 seconds) 2017-06-12T15:57:17Z DingoSaar_ joined #lisp 2017-06-12T15:57:44Z zeroish` joined #lisp 2017-06-12T16:01:23Z DingoSaar quit (Ping timeout: 260 seconds) 2017-06-12T16:02:27Z fiddlerwoaroof: Can you turn a non-adjustable array into an adjustable one? 2017-06-12T16:04:01Z fiddlerwoaroof: nevermind. 2017-06-12T16:06:51Z Xach: jackdaniel: But what of SCL!! 2017-06-12T16:08:14Z phoe: Xach: (let ((*default-pathname-defaults* #-scl "/my/dir/" #+scl some-other-value)) ...) 2017-06-12T16:08:34Z phoe: this is not a good solution or even a decent solution but huh, workarounds are the essence of programming 2017-06-12T16:08:48Z phoe: there wouldn't be so many of them everywhere if they weren't 2017-06-12T16:11:17Z Xach: no, it's just that scl doesn't merge with *default-pathname-defaults* 2017-06-12T16:11:23Z Xach: (i don't think it's worth worrying over) 2017-06-12T16:11:27Z eazar001 joined #lisp 2017-06-12T16:11:29Z phoe: oh 2017-06-12T16:11:39Z phoe: (is it compliant behaviour?) 2017-06-12T16:13:49Z malice quit (Remote host closed the connection) 2017-06-12T16:20:17Z diegs_ joined #lisp 2017-06-12T16:20:28Z micro joined #lisp 2017-06-12T16:20:52Z micro is now known as Guest82089 2017-06-12T16:21:01Z FreeBirdLjj quit (Remote host closed the connection) 2017-06-12T16:25:23Z knusbaum joined #lisp 2017-06-12T16:28:14Z drcode joined #lisp 2017-06-12T16:30:46Z ebdreger` joined #lisp 2017-06-12T16:30:56Z Guest82089 is now known as micro_ 2017-06-12T16:31:21Z Walex2 quit (Quit: leaving) 2017-06-12T16:33:57Z ebdreger quit (Ping timeout: 240 seconds) 2017-06-12T16:34:35Z Xach: phoe: no 2017-06-12T16:34:52Z Karl_Dscc joined #lisp 2017-06-12T16:34:52Z drcode quit (Read error: Connection reset by peer) 2017-06-12T16:35:57Z flash- quit (Ping timeout: 240 seconds) 2017-06-12T16:39:38Z kmb joined #lisp 2017-06-12T16:40:19Z Baggers joined #lisp 2017-06-12T16:43:17Z cggong quit (Quit: cggong) 2017-06-12T16:43:56Z drot quit (Quit: Quit.) 2017-06-12T16:45:35Z drot joined #lisp 2017-06-12T16:45:54Z dtornabene joined #lisp 2017-06-12T16:46:24Z zeroish quit (Ping timeout: 260 seconds) 2017-06-12T16:47:35Z hhdave quit (Ping timeout: 240 seconds) 2017-06-12T16:48:11Z zeroish joined #lisp 2017-06-12T16:50:10Z xaotuk quit (Ping timeout: 240 seconds) 2017-06-12T16:50:15Z thawes joined #lisp 2017-06-12T16:53:07Z nirved_afk is now known as nirved 2017-06-12T16:53:43Z dtornabene quit (Read error: Connection reset by peer) 2017-06-12T16:54:04Z dtornabene joined #lisp 2017-06-12T16:55:03Z thawes quit (Remote host closed the connection) 2017-06-12T16:55:23Z pjb joined #lisp 2017-06-12T16:55:51Z thawes joined #lisp 2017-06-12T16:58:27Z akkad joined #lisp 2017-06-12T17:00:04Z defaultxr joined #lisp 2017-06-12T17:07:50Z knusbaum quit (Ping timeout: 240 seconds) 2017-06-12T17:12:10Z sbodin quit (Ping timeout: 240 seconds) 2017-06-12T17:15:11Z emacsomancer quit (Ping timeout: 268 seconds) 2017-06-12T17:15:41Z dtornabene quit (Read error: Connection reset by peer) 2017-06-12T17:15:51Z dtornabene joined #lisp 2017-06-12T17:16:01Z varjag joined #lisp 2017-06-12T17:16:54Z papachan joined #lisp 2017-06-12T17:18:53Z ebdreger` quit (Ping timeout: 268 seconds) 2017-06-12T17:19:46Z vlatkoB_ joined #lisp 2017-06-12T17:20:09Z d4ryus2 quit (Quit: WeeChat 1.8) 2017-06-12T17:21:06Z prole joined #lisp 2017-06-12T17:21:52Z flavio81 joined #lisp 2017-06-12T17:23:27Z vlatkoB quit (Ping timeout: 240 seconds) 2017-06-12T17:26:56Z nyef` joined #lisp 2017-06-12T17:33:00Z mishoo quit (Quit: (save-lisp-and-die)) 2017-06-12T17:34:28Z DingoSaar_ is now known as DingoSaar 2017-06-12T17:35:31Z jiacobucci joined #lisp 2017-06-12T17:35:33Z mishoo joined #lisp 2017-06-12T17:37:35Z m00natic quit (Remote host closed the connection) 2017-06-12T17:45:35Z flavio81 quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-06-12T17:48:42Z ebdreger joined #lisp 2017-06-12T17:48:57Z ebdreger left #lisp 2017-06-12T17:49:04Z ebdreger joined #lisp 2017-06-12T17:55:00Z mejja quit (Ping timeout: 260 seconds) 2017-06-12T17:57:55Z Walex joined #lisp 2017-06-12T18:03:13Z neoncont_ joined #lisp 2017-06-12T18:04:20Z neoncontrails joined #lisp 2017-06-12T18:05:21Z neoncon__ joined #lisp 2017-06-12T18:06:31Z neonco___ joined #lisp 2017-06-12T18:07:32Z neonc____ joined #lisp 2017-06-12T18:08:13Z neoncont_ quit (Ping timeout: 268 seconds) 2017-06-12T18:08:34Z neoncont_ joined #lisp 2017-06-12T18:08:35Z o1e9 joined #lisp 2017-06-12T18:08:59Z neoncontrails quit (Ping timeout: 246 seconds) 2017-06-12T18:09:34Z neoncontrails joined #lisp 2017-06-12T18:10:02Z neoncon__ quit (Ping timeout: 246 seconds) 2017-06-12T18:10:42Z Grue`: what is even SCL? 2017-06-12T18:11:05Z neonco___ quit (Ping timeout: 240 seconds) 2017-06-12T18:11:22Z neoncon__ joined #lisp 2017-06-12T18:11:45Z neoncon__ quit (Remote host closed the connection) 2017-06-12T18:12:05Z neonc____ quit (Ping timeout: 240 seconds) 2017-06-12T18:12:05Z neoncontrails quit (K-Lined) 2017-06-12T18:12:05Z neoncont_ quit (K-Lined) 2017-06-12T18:12:54Z jackdaniel: scieener common lisp 2017-06-12T18:13:02Z cggong joined #lisp 2017-06-12T18:15:11Z sbodin joined #lisp 2017-06-12T18:15:46Z neoncontrails joined #lisp 2017-06-12T18:19:57Z gigetoo quit (Ping timeout: 240 seconds) 2017-06-12T18:20:22Z eschatologist joined #lisp 2017-06-12T18:20:38Z gigetoo joined #lisp 2017-06-12T18:21:49Z Merv__ quit (Remote host closed the connection) 2017-06-12T18:28:04Z cggong quit (Quit: cggong) 2017-06-12T18:29:01Z andrzejk_ joined #lisp 2017-06-12T18:33:05Z foom quit (Remote host closed the connection) 2017-06-12T18:35:21Z knusbaum joined #lisp 2017-06-12T18:35:49Z neoncont_ joined #lisp 2017-06-12T18:36:08Z neoncontrails quit (Remote host closed the connection) 2017-06-12T18:38:11Z cggong joined #lisp 2017-06-12T18:40:25Z neoncont_ quit (Ping timeout: 258 seconds) 2017-06-12T18:43:30Z Xach: a commercial CMUCL fork 2017-06-12T18:48:18Z damke__ quit (Ping timeout: 268 seconds) 2017-06-12T18:52:54Z BlueRavenGT joined #lisp 2017-06-12T18:54:43Z orivej quit (Ping timeout: 255 seconds) 2017-06-12T18:54:55Z orivej joined #lisp 2017-06-12T18:56:50Z lemonpepper24 joined #lisp 2017-06-12T18:57:03Z andrzejk_ quit (Quit: My iMac has gone to sleep. ZZZzzz…) 2017-06-12T18:58:00Z tobbie2 joined #lisp 2017-06-12T19:01:44Z rjid joined #lisp 2017-06-12T19:08:40Z diegs_ quit (Ping timeout: 240 seconds) 2017-06-12T19:24:10Z rjid quit (Ping timeout: 260 seconds) 2017-06-12T19:25:10Z scymtym quit (Ping timeout: 240 seconds) 2017-06-12T19:26:10Z Guest24 joined #lisp 2017-06-12T19:26:28Z diegs_ joined #lisp 2017-06-12T19:32:11Z andrzejk_ joined #lisp 2017-06-12T19:37:34Z EvW1 joined #lisp 2017-06-12T19:52:07Z zeroish quit (Ping timeout: 246 seconds) 2017-06-12T19:54:10Z quazimodo quit (Ping timeout: 240 seconds) 2017-06-12T19:54:20Z zeroish joined #lisp 2017-06-12T19:55:47Z JuanDaugherty joined #lisp 2017-06-12T19:58:29Z mrottenkolber quit (Ping timeout: 255 seconds) 2017-06-12T19:59:57Z Merv_ joined #lisp 2017-06-12T20:00:44Z _user joined #lisp 2017-06-12T20:00:58Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-06-12T20:02:53Z vlatkoB_ quit (Remote host closed the connection) 2017-06-12T20:06:03Z gingerale quit (Remote host closed the connection) 2017-06-12T20:08:08Z zeroish quit (Ping timeout: 260 seconds) 2017-06-12T20:12:01Z akkad: for windows right? and not released for some time no? 2017-06-12T20:12:08Z mishoo quit (Ping timeout: 240 seconds) 2017-06-12T20:16:20Z Xach: akkad: I think it works on "all" platforms 2017-06-12T20:20:28Z andrzejk_ quit (Quit: Textual IRC Client: www.textualapp.com) 2017-06-12T20:34:14Z Merv_ quit (Ping timeout: 246 seconds) 2017-06-12T20:36:09Z zeroish joined #lisp 2017-06-12T20:36:12Z thawes quit (Remote host closed the connection) 2017-06-12T20:37:22Z daemoz_ quit (Remote host closed the connection) 2017-06-12T20:37:30Z jsmith_ joined #lisp 2017-06-12T20:37:41Z daemoz_ joined #lisp 2017-06-12T20:40:10Z zeroish quit (Ping timeout: 240 seconds) 2017-06-12T20:44:05Z pve joined #lisp 2017-06-12T20:46:31Z o1e9 quit (Quit: Ex-Chat) 2017-06-12T20:47:40Z knusbaum1 joined #lisp 2017-06-12T20:47:42Z zeroish joined #lisp 2017-06-12T20:48:30Z flavio81 joined #lisp 2017-06-12T20:49:30Z knusbaum quit (Ping timeout: 240 seconds) 2017-06-12T20:54:22Z knusbaum1 quit (Quit: Leaving.) 2017-06-12T20:56:32Z random_numbers joined #lisp 2017-06-12T20:57:03Z random_numbers: How does the CLisp environment compare to Clojure these days? I can't seem to find much looking it up myself. 2017-06-12T20:59:15Z flavio81: what do you mean with "environment"? "tooling" ? 2017-06-12T20:59:23Z flavio81: if that's the case, it seems we're better 2017-06-12T20:59:29Z papachan: or "ecosystem"? 2017-06-12T21:00:02Z JuanDaugherty quit (Quit: Hibernate, reboot, exeunt, etc.) 2017-06-12T21:00:04Z flavio81: at least here we have deluxe stack traces and can investigate an error (a "condition") in depth; and then, resume running 2017-06-12T21:00:18Z flavio81: as for IDEs, i don't know what do they use on the Clojure camp 2017-06-12T21:01:27Z flavio81: here i am really happy with SLIME. Others, like beach, consider we should go beyond Slime, because with CL one could have an even more powerful environment. This is true, however from my practical perspective Slime is pretty good. 2017-06-12T21:02:19Z flavio81: also AFAIK on Clojure you don't have the nice, elegant condition system that CL has. I know this is not part of the "ecosystem" or "tooling"; but it will make a difference when having to develop your system 2017-06-12T21:03:10Z random_numbers: papachan: I think ecosystem is the word I was looking for, yes. 2017-06-12T21:04:48Z random_numbers: Clojure tends to use emacs plus some manner of REPL, commonly CIDER, but other simpler ones like inf-clojure (very simialr to inferior-lisp) exist. 2017-06-12T21:05:12Z random_numbers: s/REPL/REPL interaction/ 2017-06-12T21:05:18Z Harag quit (Ping timeout: 260 seconds) 2017-06-12T21:05:37Z safe joined #lisp 2017-06-12T21:05:41Z random_numbers: Though yes, I was mostly asking about library ecosystem. 2017-06-12T21:13:30Z Bike quit (Ping timeout: 240 seconds) 2017-06-12T21:14:08Z papachan: random_numbers well Clojure can be executed on top of JVM or into browser through clojurescript. its quite limited if you compare to all the different projects we find in CL. The tooling is robust and you can compile binary files to every platform you want 2017-06-12T21:14:47Z random_numbers: There's more library-interop with CL? 2017-06-12T21:15:01Z random_numbers: I was expecting the opposite. 2017-06-12T21:15:42Z random_numbers: Do you have any sort of dependency manager recommended? 2017-06-12T21:16:07Z random_numbers: Also, sorry if I seem to be asking a lot I just don't really know of a better place for info. 2017-06-12T21:18:55Z jasom: random_numbers: quicklisp will download lisp dependencies for you, but not foreign-dependencies (to get those, use your native OS's way of installing them). 2017-06-12T21:19:27Z random_numbers: Sounds reasonable 2017-06-12T21:21:43Z flavio81: random_numbers: Clojure uses the JVM so you leverage all the JVM libraries out there 2017-06-12T21:22:35Z flavio81: random_numbers: on the other hand you can find many libraries for CL that will do most (or all) that you need 2017-06-12T21:23:32Z flavio81: random_numbers: quicklisp downloads the library ("system") you want to, and it also downloads automatically the dependencies of such system 2017-06-12T21:24:34Z flavio81: random_numbers: for example you write (quicklisp:quickload :caveman2) and it automatically downloads system "caveman2" and all its dependencies 2017-06-12T21:25:07Z flavio81: random_numbers: besides that, you also have ASDF which lets you define which .lisp files comprise your "system", so the "system" can be compiled as a whole 2017-06-12T21:25:56Z random_numbers: So it has project management and dependency management, if as separate tools. That works. 2017-06-12T21:26:17Z flavio81: random_numbers: they work together in perfect harmony, like ebony and ivory... 2017-06-12T21:26:36Z random_numbers: They're meant to be used together? 2017-06-12T21:26:44Z flavio81: not necesarilly 2017-06-12T21:27:30Z Grue`: quicklisp is built on top of asdf 2017-06-12T21:27:44Z flavio81: random_numbers: you define your system with ASDF (on .asd files) so you can compile it easily. Much later, when you want to 'publish' your system to the outside world so other developers can quickly use it, then you can upload your system to the Quicklisp directory on the internet, so then little Flavio, on this side of the ocean, can load it quick 2017-06-12T21:27:44Z flavio81: ly with quicklisp 2017-06-12T21:28:09Z random_numbers: I see. 2017-06-12T21:28:32Z flavio81: random_numbers: so quicklisp locates the system on the global directory, downloads your system (and its requirements) from the Internets, and then calls ASDF to compile the whole system 2017-06-12T21:29:25Z flavio81: random_numbers: you can also have local projects hosted, and call quicklisp to "load" your local project, in which case it will directly ask ASDF to load and compile your project. But of course if your project requires external dependencies, Quicklisp will be nice enough to download them. It works just fine. 2017-06-12T21:30:23Z random_numbers: Sounds close enough to the workflow I'm used to. 2017-06-12T21:30:38Z Grue`: quicklisp = apt , asdf = make 2017-06-12T21:30:43Z Merv_ joined #lisp 2017-06-12T21:30:44Z random_numbers: Mhm. 2017-06-12T21:30:48Z flavio81: it is really easy, you just need to make sure Quicklisp and ASDF are installed, and that you have the latest vcrsions 2017-06-12T21:31:21Z flavio81: but for example, for beginners, i recommend downloading the "Portacle" distribution, which is a combination of Emacs, Slime, and SBCL. And it comes pre-configured with ASDF and Quicklisp of course. 2017-06-12T21:31:32Z Grue`: asdf is actually built in most implementations 2017-06-12T21:31:36Z random_numbers: On the Clojure side you have Leiningen (and other alternatives) that work as dependency management and project management in one. The workflow is otherwise much the same as what you described. 2017-06-12T21:31:47Z flavio81: nobody pays me from saying this advertisement, but i like how Portacle works without need for any config. Just download and run. 2017-06-12T21:32:03Z random_numbers: heh 2017-06-12T21:32:55Z random_numbers: Portable Lisp-ready emacs. That's nice. 2017-06-12T21:33:20Z random_numbers: https://shinmera.github.io/portacle/ 2017-06-12T21:33:53Z angavrilov quit (Remote host closed the connection) 2017-06-12T21:34:31Z flavio81: yes, sorry, forgot to put the link 2017-06-12T21:35:02Z flavio81: i am using it on Windows and it works perfectly. 2017-06-12T21:35:16Z random_numbers: Forced by work to use it? 2017-06-12T21:35:49Z Guest24 quit (Quit: My MacBook Air has gone to sleep. ZZZzzz…) 2017-06-12T21:35:50Z shka_ quit (Ping timeout: 246 seconds) 2017-06-12T21:36:06Z flavio81: random_numbers: LOL... more or less, yes! The laptop I use is the company laptop. Not only it uses W!nd0w$, but it also is restricted so i cannot easily install more software. Unless it's portable software. But i have portable everything here! CL, IDEs, Python, GIT, everything. 2017-06-12T21:36:24Z random_numbers: Ouch. That sounds quite annoying. 2017-06-12T21:36:38Z flavio81: random_numbers: well, Linux isn't really the ultimate operating system anyways 2017-06-12T21:37:08Z random_numbers: Hm. I tend to dislike stuff that I can't inspect should I want to... not to mention the price. (Cracks are not trustworthy) 2017-06-12T21:38:20Z random_numbers: The fact one needs to get into kernel hacking to even start modifying the windows manager is also somewhat dull. 2017-06-12T21:38:41Z flavio81: random_numbers: take a look at this paper by Beach; http://metamodular.com/lispos.pdf ... it has a good explanation on how Linux (& windows etc) still is behind what could be done in OS. 2017-06-12T21:39:06Z random_numbers: Of that, I have no doubts. 2017-06-12T21:39:20Z flavio81: we agree then 2017-06-12T21:39:30Z flavio81: so, are you tempted by Clojure ? 2017-06-12T21:39:44Z flavio81: use the real deal, 2017-06-12T21:40:01Z random_numbers: Yes. Though I'm likely going to just learn both. 2017-06-12T21:40:05Z flavio81: "make my Lisp the C-Lisp. I want my lisp uncut. I want the bomb, i want the C-L, don't want my Lisp stepped on" 2017-06-12T21:40:15Z random_numbers: heh 2017-06-12T21:40:54Z mejja joined #lisp 2017-06-12T21:41:05Z flavio81: for what it's worth, Common Lisp is easy to learn, at least far easier than what people want you to believe. 2017-06-12T21:42:17Z random_numbers: I believe you. I'm not sure how close it is to Clojure and Emacs Lisp, but I presume prior experience with those might help. 2017-06-12T21:42:50Z godofnothingness joined #lisp 2017-06-12T21:43:15Z flavio81: random_numbers: Emacs Lisp is a smaller dialect intended for extending Emacs. There is a package that extends Emacs Lisp so it becomes more compatible with CL, though. Clojure is much different. 2017-06-12T21:43:57Z Baggers: random_numbers: if you are already comfortable in lisp then your already over the biggest hurdle (and learning CL & clojure sounds great!) 2017-06-12T21:43:58Z random_numbers: I see. So ELisp is closer. I somewhat expected that. 2017-06-12T21:44:00Z wildbartty__ quit (Remote host closed the connection) 2017-06-12T21:44:46Z flavio81: Baggers is right 2017-06-12T21:45:04Z random_numbers: Nice. 2017-06-12T21:45:49Z flavio81: random_numbers: yes, Clojure is "a Lisp-1"; functions and symbols are in the same namespace. In CL they are in different namespaces so the names of them don't clash. We also have "keywords" which reside in another namespace. And with "packages" you can really have parts of your system in their own namespace with no conflict between each other. It i 2017-06-12T21:45:49Z flavio81: s elegant. 2017-06-12T21:46:05Z flavio81: random_numbers: But anyways, Clojure is still a Lisp, so if more people use it, i'm fine with that. 2017-06-12T21:47:16Z random_numbers: Hm. I wonder how the different namespaces work out. Does 'Practical Common Lisp' touch on that or would you recommend a different source? 2017-06-12T21:47:39Z wildbartty joined #lisp 2017-06-12T21:48:10Z flavio81: random_numbers: i think it does touch, let me check 2017-06-12T21:48:23Z Baggers: random_numbers: one thing that clojure does have is it's approach around data-structures. CL is (on the whole) more low level, and you feel it. 2017-06-12T21:48:55Z flavio81: http://www.gigamonkeys.com/book/programming-in-the-large-packages-and-symbols.html 2017-06-12T21:49:01Z Baggers: Practical Common Lisp is ace but if you can get paul grahams 'Ansi Common Lisp' book that makes for a great reference 2017-06-12T21:49:09Z random_numbers: Baggers: Alright. 2017-06-12T21:49:34Z random_numbers: flavio81: Thanks. 2017-06-12T21:49:46Z jasom: random_numbers: the only downside to lisp-2 that I've found is that since packages work at the symbol granularity, you can't e.g. export just a function. 2017-06-12T21:49:56Z flavio81: jasom: yes you can 2017-06-12T21:50:16Z flavio81: jasom: take a look at the "defpackage" macro 2017-06-12T21:50:29Z flavio81: jasom: there you specify what symbols will you export to the outside world 2017-06-12T21:50:31Z jasom: flavio81: you can only export symbols, not particular usages of symbols (which would be somewhat nonsensical anyways) 2017-06-12T21:50:58Z flavio81: ahhh 2017-06-12T21:52:10Z pjb: (defpackage "CL-SIN" (:use "CL") (:export "SIN")) 2017-06-12T21:52:14Z jasom: random_numbers: but that's come up I think ... once? for me in 10+ years, so not a huge deal. 2017-06-12T21:52:26Z jasom: pjb: and now my variables named SIN are also exported :P 2017-06-12T21:52:53Z pjb: variables have local lexical scope, so it's meaningless to say "variables named SIN are also exported". 2017-06-12T21:52:55Z jasom: or any eql method specializations 2017-06-12T21:53:13Z random_numbers: jasom: I see. 2017-06-12T21:53:32Z pjb: That said nothing prevents you to implement a module system that will let you just export the (unnamed) functions. 2017-06-12T21:53:37Z jasom: macroexpansions containing "SIN" could conflict with variables named SIN in other packages that use SIN 2017-06-12T21:53:50Z jasom: pjb: I have in fact implemented other module systems 2017-06-12T21:54:01Z pjb: (defparameter *my-module* (list (function cl:sin))) (funcall (elt *my-module* 0) 42) #| --> -0.91652155 |# 2017-06-12T21:54:19Z jasom was struggling to find a technical downside to lisp-2, and that's what he came up with 2017-06-12T21:55:04Z random_numbers: Once a decade isn't a bad track record eitherway. 2017-06-12T21:57:44Z pjb: The point here is that CL packages don't remove anything from the language, and your ability to implement the restrictive namespace abstractions you need. 2017-06-12T21:58:10Z Baggers: was someone trying to make the point that they did? 2017-06-12T21:58:25Z random_numbers shrugs 2017-06-12T21:58:33Z pjb: It was infered by the expression "a technical downside to lisp-2". 2017-06-12T21:59:09Z Baggers: 'he says there are downsides to lisp-2' 'HANG HIM' 2017-06-12T21:59:11Z Baggers: :p 2017-06-12T21:59:15Z jasom: random_numbers: At least as an english speaker, I find it very useful to be a lisp-2 since there are many words that are both nouns and verbs. 2017-06-12T21:59:25Z pjb: t 2017-06-12T21:59:49Z jasom: you can pry my variables named "list" from my cold dead hands. 2017-06-12T21:59:55Z flavio81 quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-06-12T22:02:33Z jasom: Other parts are things you can get used to either-way; I find it useful to see FUNCALL as it calls out indirect function calls, but for some styles of programming, I could see how one might find it verbose (though one can get rid of that with a really simple macro). 2017-06-12T22:05:04Z Merv_ quit (Ping timeout: 255 seconds) 2017-06-12T22:06:15Z godofnothingness left #lisp 2017-06-12T22:08:56Z ebrasca joined #lisp 2017-06-12T22:09:09Z manuel__ quit (Quit: manuel__) 2017-06-12T22:09:53Z random_numbers: jasom: Heh 2017-06-12T22:10:04Z random_numbers: Still I'd probably get used to doing the same. 2017-06-12T22:10:51Z Karl_Dscc quit (Remote host closed the connection) 2017-06-12T22:11:06Z ebdreger is now known as ebdreger|work 2017-06-12T22:11:06Z random_numbers: "If something gets on your nerves, there's always reader macros" 2017-06-12T22:12:53Z al-damiri quit (Quit: Connection closed for inactivity) 2017-06-12T22:16:01Z safe quit (Read error: Connection reset by peer) 2017-06-12T22:16:44Z eazar001 quit (Quit: WeeChat 1.5) 2017-06-12T22:16:46Z _user quit (Ping timeout: 255 seconds) 2017-06-12T22:17:48Z jiacobucci quit (Ping timeout: 240 seconds) 2017-06-12T22:17:52Z Lowl3v3l joined #lisp 2017-06-12T22:19:10Z Bike joined #lisp 2017-06-12T22:22:10Z Guest20488 quit (Ping timeout: 240 seconds) 2017-06-12T22:22:44Z FreeBirdLjj joined #lisp 2017-06-12T22:23:17Z dtornabene quit (Quit: Leaving) 2017-06-12T22:25:50Z random_numbers: https://github.com/CodyReichert/awesome-cl Any opinion on this listing? 2017-06-12T22:27:04Z prxq joined #lisp 2017-06-12T22:27:11Z cggong quit (Quit: cggong) 2017-06-12T22:27:13Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2017-06-12T22:28:42Z jasom: random_numbers: not terrible, but onlikely to stay up-to-date. 2017-06-12T22:29:12Z random_numbers: jasom: Unfortunate. 2017-06-12T22:29:28Z jasom: For categories that are covered, this site is great: https://sites.google.com/site/sabraonthehill/ 2017-06-12T22:29:53Z jasom: e.g. https://sites.google.com/site/sabraonthehill/home/json-libraries 2017-06-12T22:30:10Z random_numbers: jasom: Thanks. 2017-06-12T22:31:18Z jasom: and http://eudoxia.me/article/common-lisp-sotu-2015 is a highly opinionated guide to various libraries; I disagree with things on that list, but if you don't yet know enough to form an opinion, it's always good to borrow someone else's :) 2017-06-12T22:32:16Z random_numbers: I see. I guess that's more reading later. 2017-06-12T22:32:27Z random_numbers: "What's right and what isn't" 2017-06-12T22:34:48Z brendyn joined #lisp 2017-06-12T22:41:06Z safe joined #lisp 2017-06-12T22:41:30Z zeroish quit (Ping timeout: 240 seconds) 2017-06-12T22:42:51Z Baggers quit (Remote host closed the connection) 2017-06-12T22:47:10Z varjag quit (Ping timeout: 240 seconds) 2017-06-12T22:48:11Z LiamH quit (Quit: Leaving.) 2017-06-12T22:50:58Z rumbler31 quit (Ping timeout: 246 seconds) 2017-06-12T22:57:53Z manuel__ joined #lisp 2017-06-12T23:01:13Z Merv_ joined #lisp 2017-06-12T23:14:54Z prxq quit (Remote host closed the connection) 2017-06-12T23:18:01Z nirved quit (Quit: Leaving) 2017-06-12T23:22:02Z cggong joined #lisp 2017-06-12T23:22:50Z wildbartty_ joined #lisp 2017-06-12T23:23:14Z trocado joined #lisp 2017-06-12T23:25:02Z wildbartty quit (Ping timeout: 246 seconds) 2017-06-12T23:26:42Z mejja quit (Quit: \ No newline at end of file) 2017-06-12T23:30:33Z grublet joined #lisp 2017-06-12T23:34:10Z Merv_ quit (Ping timeout: 240 seconds) 2017-06-12T23:34:45Z pillton: White_Flame: Sorry for the delay. I wanted a term which represents the set of functions which have "similar" lambda lists. 2017-06-12T23:35:04Z White_Flame: sure 2017-06-12T23:35:05Z pillton: White_Flame: Interface and function prototype refer to different things. 2017-06-12T23:35:21Z White_Flame: well, function prototype seems to fit the bill fairly wel 2017-06-12T23:35:54Z pillton: It specifies the type signature. 2017-06-12T23:36:02Z pillton: ..according to the wikipedia article. 2017-06-12T23:37:10Z White_Flame: generalizing the concept from C, it describes the signature of the parameters that are accepted 2017-06-12T23:37:32Z White_Flame: for C, that includes type 2017-06-12T23:38:01Z zeroish joined #lisp 2017-06-12T23:41:58Z pillton: I'd have to think about it a bit. 2017-06-12T23:42:15Z zeroish quit (Ping timeout: 255 seconds) 2017-06-12T23:43:19Z pillton: I have avoided writing the term for the time being. 2017-06-12T23:43:27Z rumbler31 joined #lisp 2017-06-12T23:45:26Z cggong quit (Quit: cggong) 2017-06-12T23:47:30Z rumbler31 quit (Ping timeout: 240 seconds) 2017-06-12T23:47:37Z pillton: Thanks for your suggestions though. 2017-06-12T23:52:40Z adolf_stalin joined #lisp 2017-06-12T23:53:42Z rumbler31 joined #lisp 2017-06-12T23:56:29Z daemoz_ quit (Remote host closed the connection) 2017-06-12T23:56:48Z daemoz_ joined #lisp