2014-12-23T00:00:06Z eudoxia joined #lisp 2014-12-23T00:00:23Z zRecursive joined #lisp 2014-12-23T00:08:06Z EvW quit (Ping timeout: 244 seconds) 2014-12-23T00:11:44Z attila_lendvai quit (Quit: Leaving.) 2014-12-23T00:12:03Z Jesin joined #lisp 2014-12-23T00:14:13Z schaueho joined #lisp 2014-12-23T00:15:36Z wg1024 quit (Remote host closed the connection) 2014-12-23T00:19:33Z eudoxia quit (Quit: Leaving) 2014-12-23T00:24:58Z wg1024 joined #lisp 2014-12-23T00:25:07Z kristof quit (Ping timeout: 264 seconds) 2014-12-23T00:26:06Z Ukari joined #lisp 2014-12-23T00:27:00Z harish quit (Remote host closed the connection) 2014-12-23T00:29:52Z Ukari: is there any recommendation of using lisp for web development? 2014-12-23T00:30:42Z harish joined #lisp 2014-12-23T00:30:53Z vaporatorius quit (Remote host closed the connection) 2014-12-23T00:31:08Z oGMo: if you mean some specific software and not just "yes, use it", then there are various systems that do different things, check cliki 2014-12-23T00:31:10Z dim: I like it very much for that yes 2014-12-23T00:31:11Z manuel__ quit (Quit: manuel__) 2014-12-23T00:33:53Z Ukari: i find cliki has a new version called cliki2,is it better? 2014-12-23T00:36:17Z __main__ quit (Read error: Connection reset by peer) 2014-12-23T00:37:25Z __main__ joined #lisp 2014-12-23T00:43:32Z Ukari: oh,cliki2 seems to be a specific wiki software. 2014-12-23T00:44:21Z sismondi joined #lisp 2014-12-23T00:47:17Z Fare joined #lisp 2014-12-23T00:48:46Z ``Erik: Ukari: "web development" has become a pretty broad subject with a range of tools that offer different strengths and weaknesses... there is a #lispweb channel that you might want to check out? 2014-12-23T00:49:34Z axion: i've been in #lispweb for years and havent seen any activity in a year or 2 2014-12-23T00:49:44Z axion: would be nice to talk with someone :) 2014-12-23T00:49:47Z Zhivago: Now is your chance! 2014-12-23T00:50:00Z Ukari: ... 2014-12-23T00:50:14Z Ukari: i will try 2014-12-23T00:50:36Z Ukari: thank you,``Erik 2014-12-23T00:50:51Z jasom: Ukari: web development is many things to many people 2014-12-23T00:50:51Z Zhivago: ukari: From memory, huchentoot is still quite popular. 2014-12-23T00:50:56Z duggiefresh joined #lisp 2014-12-23T00:51:15Z jasom: http://cliki.net/Web 2014-12-23T00:51:58Z ``Erik: hunchentoot is pretty low level, it's the "build your own web framework" solution 2014-12-23T00:52:05Z jasom: a lot of frameworks are built on top of hunchentoot 2014-12-23T00:52:53Z nyef: Mmm. I use Hunchentoot... with a couple of monkey-patches. 2014-12-23T00:53:02Z jasom: clack is very easy to get up and running with, and has several backends 2014-12-23T00:53:11Z jasom: I haven't used it for anythign serious 2014-12-23T00:53:13Z jasom: and I have to go 2014-12-23T00:53:20Z ``Erik mostly uses ucw 2014-12-23T00:53:27Z nyef: (When is it acceptable to discard MIME type information? Almost never.) 2014-12-23T00:53:29Z nikki93 joined #lisp 2014-12-23T00:53:44Z Zhivago: When it's wrong, naturally. :) 2014-12-23T00:53:45Z nyef: (And if I have to hack up an internal function to make it not happen, then that's what I'll do.) 2014-12-23T00:54:04Z Ukari: i find a combine that (hunchentoot cl-who cl-json parenacript css-lite elephant) 2014-12-23T00:54:11Z nyef: Sure, when it's wrong. But that's not a decision for the web server itself to make. 2014-12-23T00:55:20Z nyef: Admittedly, my stack is basically hunchentoot + st-json + letting a PHP guy build the actual front end. (-: 2014-12-23T00:55:22Z k-stz quit (Remote host closed the connection) 2014-12-23T00:56:57Z motersen joined #lisp 2014-12-23T00:57:14Z defaultxr joined #lisp 2014-12-23T00:59:21Z duggiefresh quit (Read error: Connection reset by peer) 2014-12-23T00:59:29Z CrazyM4n joined #lisp 2014-12-23T01:00:48Z akkad: axion: hi 2014-12-23T01:01:04Z Ober: axion: hi 2014-12-23T01:02:03Z Ober: akkad: you get the cl-bench results? 2014-12-23T01:02:43Z akkad: Ober: yeap. sbcl/lw/allegro so far. ccl now 2014-12-23T01:02:55Z innertracks quit (Quit: innertracks) 2014-12-23T01:03:10Z arademaker joined #lisp 2014-12-23T01:03:12Z akkad: accept that dcc 2014-12-23T01:03:18Z innertracks joined #lisp 2014-12-23T01:03:26Z Ober: got it thanks. 2014-12-23T01:04:01Z quazimodo quit (Ping timeout: 255 seconds) 2014-12-23T01:04:50Z quazimodo joined #lisp 2014-12-23T01:05:45Z Ober: b#em 2014-12-23T01:06:48Z zRecursive: I prefer using Erlang to do Web things :) 2014-12-23T01:07:01Z Ober: isn't Elixir the new hotness there? 2014-12-23T01:07:03Z Guest41687: wow. that's exotic 2014-12-23T01:07:11Z Ober: Yaws ftw 2014-12-23T01:07:23Z nikki93 quit (Remote host closed the connection) 2014-12-23T01:07:43Z arademaker quit (Ping timeout: 264 seconds) 2014-12-23T01:08:41Z Mon_Ouie quit (Quit: WeeChat 1.0.1) 2014-12-23T01:15:25Z julianb joined #lisp 2014-12-23T01:16:03Z axion: how can i make an entire function compiled only on sbcl? 2014-12-23T01:16:22Z Bicyclidine: What? 2014-12-23T01:16:51Z axion: how can i disable my sb-profile function not be compiled on ccl? 2014-12-23T01:17:08Z Bicyclidine: Oh. just do #+sbcl. 2014-12-23T01:17:16Z Bicyclidine: like #+sbcl(defun sb-whatever ...) 2014-12-23T01:17:21Z axion: ok thanks 2014-12-23T01:17:32Z zRecursive: Ober: http://scott.dioweb.co/2014/06/starting-with-erlang-as-modern-web.html 2014-12-23T01:17:39Z Karl_Dscc quit (Remote host closed the connection) 2014-12-23T01:18:34Z zRecursive: sorry, off topic 2014-12-23T01:20:36Z wg1024 quit (Remote host closed the connection) 2014-12-23T01:21:41Z yrk quit (Read error: No route to host) 2014-12-23T01:28:05Z robot-beethoven joined #lisp 2014-12-23T01:30:27Z schaueho quit (Ping timeout: 244 seconds) 2014-12-23T01:31:16Z wg1024 joined #lisp 2014-12-23T01:38:28Z motersen quit (Quit: leaving) 2014-12-23T01:42:27Z hagiri joined #lisp 2014-12-23T01:42:48Z kanru` joined #lisp 2014-12-23T01:46:17Z gendl quit (Ping timeout: 240 seconds) 2014-12-23T01:48:08Z innertracks quit (Quit: innertracks) 2014-12-23T01:48:28Z innertracks joined #lisp 2014-12-23T01:50:27Z dim: I'm too happy about that to bypass mentionning here: pgloader ./test/sqlite/sqlite.db postgresql:///pgloader # full migration from sqlite to postgresql, the whole story, thanks you CL 2014-12-23T01:50:59Z Xach: so complicated 2014-12-23T01:51:37Z johann quit (Remote host closed the connection) 2014-12-23T01:52:07Z wg1024 quit (Ping timeout: 264 seconds) 2014-12-23T01:52:17Z dim: that's the usual excuse for not migrating, yes 2014-12-23T01:52:28Z wg1024 joined #lisp 2014-12-23T01:52:47Z dim: pgloader mysql://user@host:port/database pgsql:///db # works too of course 2014-12-23T01:53:48Z dim: I finally realized nobody wanted to see and learn my awesome little DSL for loading and transforming data on the fly, so, let's remove it from the picture 2014-12-23T01:54:24Z dim: the CL part of the story is available at https://github.com/dimitri/pgloader/commit/65c20436946c9bab77abed1d96a4fad95335cd17, all with functions that generate code that is compiled at run-time ;-) 2014-12-23T01:55:00Z dim: more on-topic, I continue to be amazed by what CL brings on the table 2014-12-23T01:55:27Z dim: adding a CLI parser and tweaking the code to plug it all together was only "14 changed files with 786 additions and 298 deletions." 2014-12-23T01:55:42Z Xach: nice 2014-12-23T01:55:45Z dim: and it's not entirely cleaned up yet 2014-12-23T01:55:57Z Xach: Are you in Boston in January? We are having dinner on the 8th. 2014-12-23T01:55:58Z johann joined #lisp 2014-12-23T01:56:17Z dim: oh, and it was a (admitedly long) evening of hacking, that's about it (like 7pm to 3am) 2014-12-23T01:56:37Z dim: I would love to, I'll be in between Brussel and Moscow 2014-12-23T01:56:42Z gendl joined #lisp 2014-12-23T01:56:48Z dim: damn, if I manage to remember about that visa thing 2014-12-23T01:57:04Z tkhoa2711 joined #lisp 2014-12-23T01:57:17Z rme looks forward to January 8th in Boston 2014-12-23T01:57:50Z Xach: rme: another tla, kmp, has indicated interest 2014-12-23T01:58:12Z dim: the session in London is going to be easier for me to attend 2014-12-23T01:58:30Z dim: tla, my second fav' acronym of all times ;-) 2014-12-23T01:59:23Z Fare quit (Ping timeout: 240 seconds) 2014-12-23T02:00:00Z echo-area joined #lisp 2014-12-23T02:00:23Z Hexstream: axion: The next user who looks for interactive operators will have a bit of a better experience: http://www.hexstreamsoft.com/articles/notes-tips-standard-common-lisp-symbols/namespaces/operators/#functions_interactive (You may need to refresh.) 2014-12-23T02:01:15Z cmack` quit (Ping timeout: 244 seconds) 2014-12-23T02:02:03Z rme: Xach: I haven't heard from him in while. Maybe not since the Lisp 50th anniversary thing in Nashville (?). 2014-12-23T02:03:42Z julianb quit (Quit: Goodbye) 2014-12-23T02:05:28Z Xach: yow 2014-12-23T02:05:55Z nyef: The 8th. The 8th is workable. The 7th would've been a schedule conflict for me. 2014-12-23T02:08:31Z jdz quit (Ping timeout: 272 seconds) 2014-12-23T02:13:06Z jdz joined #lisp 2014-12-23T02:13:06Z Fare joined #lisp 2014-12-23T02:14:55Z tkhoa2711 quit (Quit: tkhoa2711) 2014-12-23T02:15:46Z rme: Fare: I understand you're a New Yorker now, but what about Boston on January 8th? 2014-12-23T02:18:43Z BitPuffin quit (Ping timeout: 255 seconds) 2014-12-23T02:22:38Z hagiri quit (Quit: Saindo) 2014-12-23T02:26:36Z nightshade427 quit (Ping timeout: 258 seconds) 2014-12-23T02:26:36Z sbryant quit (Ping timeout: 258 seconds) 2014-12-23T02:28:23Z Vutral quit (Ping timeout: 240 seconds) 2014-12-23T02:32:36Z sbryant joined #lisp 2014-12-23T02:32:55Z nightshade427 joined #lisp 2014-12-23T02:34:12Z innertracks quit (Quit: innertracks) 2014-12-23T02:35:01Z basichash joined #lisp 2014-12-23T02:35:29Z basichash: for someone who doesn't really know much about lisp, what's are the advantages of using it? 2014-12-23T02:36:02Z basichash quit (Quit: WeeChat 0.4.2) 2014-12-23T02:36:16Z user joined #lisp 2014-12-23T02:36:16Z user is now known as basichash 2014-12-23T02:36:29Z basichash: for someone who doesn't really know much about lisp, what's are the advantages of using it? 2014-12-23T02:37:55Z Vutral joined #lisp 2014-12-23T02:38:08Z kushal joined #lisp 2014-12-23T02:40:18Z vinleod joined #lisp 2014-12-23T02:40:37Z tkhoa2711 joined #lisp 2014-12-23T02:41:34Z kapil__ joined #lisp 2014-12-23T02:44:22Z Hexstream: basichash: Bending the language to your will instead of it bending you to its will. 2014-12-23T02:45:16Z tkhoa2711 quit (Ping timeout: 265 seconds) 2014-12-23T02:45:25Z echo-area quit (Remote host closed the connection) 2014-12-23T02:46:06Z TDog joined #lisp 2014-12-23T02:46:51Z tkhoa2711 joined #lisp 2014-12-23T02:49:56Z dagnachew joined #lisp 2014-12-23T02:51:32Z echo-area joined #lisp 2014-12-23T02:53:27Z Petit_Dejeuner: basichash, simple syntax 2014-12-23T03:03:53Z impulse quit (Ping timeout: 252 seconds) 2014-12-23T03:10:40Z basichash: Hexstream, Petit_Dejeuner: is it a viable technology to employ for a web app? I've just read PGs Hackers and Painters, however this was written a decade ago and some of it may not be relevent anymore 2014-12-23T03:11:55Z Fare quit (Ping timeout: 264 seconds) 2014-12-23T03:12:09Z akkad: basichash: how was it? 2014-12-23T03:12:13Z Hexstream: basichash: Actually it's especially wonderful for web apps, since you deploy on a computer that you control and in theory the users don't care what the backend is implemented in, as long as it talks HTTP, etc. 2014-12-23T03:12:17Z Petit_Dejeuner: I couldn't really say, but you could always give this a try. http://lispwebtales.ppenev.com/ 2014-12-23T03:12:27Z akkad should drag his PG books with him in case one sees PG on university ave again 2014-12-23T03:13:36Z Jesin quit (Quit: Leaving) 2014-12-23T03:14:06Z basichash: akkad: really good actually. as well as having some great insights on the tech/startup world, he also discussed other far reaching social issues as well (obviously primarily influence by his own experiences) 2014-12-23T03:14:52Z basichash: Hexstream: that's what PG seemed to say, i was just hoping it wasn't outdated a decade later 2014-12-23T03:14:54Z akkad: ahh (documentation) 2014-12-23T03:15:22Z Hexstream: basichash: The Common Lisp situation is very, very significantly better now than 10 years ago. 2014-12-23T03:15:24Z Petit_Dejeuner: You always have to take PG with a grain of salt though because most his stuff is opinion pieces. 2014-12-23T03:15:34Z Petit_Dejeuner: all of* 2014-12-23T03:16:47Z basichash: Hexstream: i'm interested in learning Lisp, should i start with ANSI CL (or even maybe not necessarily CL, perhaps scheme)? 2014-12-23T03:17:03Z Hexstream: minion: Tell basichash about PCL. 2014-12-23T03:17:03Z minion: basichash: direct your attention towards PCL: pcl-book: "Practical Common Lisp", an introduction to Common Lisp by Peter Seibel, available at http://www.gigamonkeys.com/book/ and in dead-tree form from Apress (as of 11 April 2005). 2014-12-23T03:17:27Z Guest41687 quit (Quit: Lost terminal) 2014-12-23T03:17:28Z Hexstream: That's a tutorial. Your authoritative reference document is http://www.lispworks.com/documentation/HyperSpec/Front/index.htm 2014-12-23T03:18:21Z basichash: Petit_Dejeuner: yeah I did keep that in mind reading the book. obviously it's difficult to say his views on wealth are completely objective, considering his own significant net worth, but I tend to agree with the majority of what he says on the matter 2014-12-23T03:18:53Z basichash: Petit_Dejeuner: the more technical opinions i'm most likely not knowledgable enough to comment on 2014-12-23T03:18:58Z basichash: Hexstream: thanks 2014-12-23T03:20:03Z CrazyM4n quit (Quit: so that's how you do quit messages) 2014-12-23T03:23:27Z nyef: ... Someone claims to have read "Hackers and Painters", but wasn't immediately referred to "Dabblers and Blowhards"? What? 2014-12-23T03:24:33Z nyef: (Or "Taste for the Web", for that matter?) 2014-12-23T03:24:48Z Hexstream: A bit of a Schrödinger's question. Or something. 2014-12-23T03:25:57Z leo2007 quit (Quit: rcirc on GNU Emacs 24.4.2) 2014-12-23T03:26:27Z nyef: More a Heisenberg observation. 2014-12-23T03:26:45Z MoALTz_ joined #lisp 2014-12-23T03:28:01Z basichash: Computer programmers cause a machine to perform a sequence of transformations on electronically stored data. 2014-12-23T03:28:02Z basichash: Painters apply colored goo to cloth using animal hairs tied to a stick. 2014-12-23T03:28:04Z basichash: haha harsh 2014-12-23T03:30:14Z MoALTz quit (Ping timeout: 258 seconds) 2014-12-23T03:31:28Z echo-area quit (Remote host closed the connection) 2014-12-23T03:33:52Z scymtym_ quit (Ping timeout: 256 seconds) 2014-12-23T03:34:01Z echo-area joined #lisp 2014-12-23T03:35:20Z leo2007 joined #lisp 2014-12-23T03:35:33Z Petit_Dejeuner: nyef, The second one is right though. Curly braces are terrible! Just look at the typography of (list (function f) (quote x)) vs. (list #'f 'x) Only nice rounded chubby parentheses in the former, compared to those poking spikes of the sharp and apostrophe characters in the later. 2014-12-23T03:36:44Z nyef: Petit_Dejeuner: Of course "Taste for the Web" is right. Just look at who wrote it! 2014-12-23T03:36:59Z Petit_Dejeuner: That article is dead sexy. 2014-12-23T03:39:03Z sbryant quit (Ping timeout: 258 seconds) 2014-12-23T03:40:44Z Hexstream: I Can't Believe It's Not Paul Graham!™ 2014-12-23T03:40:54Z Jesin joined #lisp 2014-12-23T03:41:44Z nightshade427 quit (Ping timeout: 258 seconds) 2014-12-23T03:42:15Z Hexstream: Although the page's name should be tastwb or something, for extra realism. 2014-12-23T03:42:41Z Hexstream: tastwb.html, I mean. 2014-12-23T03:44:23Z Jesin quit (Max SendQ exceeded) 2014-12-23T03:44:43Z sbryant joined #lisp 2014-12-23T03:45:07Z Jesin joined #lisp 2014-12-23T03:45:18Z basichash: who wrote the second article? 2014-12-23T03:45:32Z nightshade427 joined #lisp 2014-12-23T03:47:35Z echo-area quit (Remote host closed the connection) 2014-12-23T03:49:46Z echo-area joined #lisp 2014-12-23T03:50:59Z nyef: Xach: Anything I should plan on bringing with on the 8th? A spare copy of AMOP, maybe? 2014-12-23T03:55:01Z REPLeffect quit (Ping timeout: 255 seconds) 2014-12-23T03:56:11Z Hexstream left #lisp 2014-12-23T03:59:22Z nightshade427 quit (Ping timeout: 258 seconds) 2014-12-23T03:59:42Z s00pcan_ joined #lisp 2014-12-23T04:00:54Z sbryant quit (Ping timeout: 258 seconds) 2014-12-23T04:07:21Z REPLeffect joined #lisp 2014-12-23T04:08:31Z dagnachew quit (Quit: WeeChat 1.0.1) 2014-12-23T04:09:16Z bananapeel quit (Quit: Verlassend) 2014-12-23T04:12:07Z Ukari: now i establish a webpage with hunchentoot,but i am puzzled about slime----when the xx.lisp is running,i change the source code in it but that couldn't affect the running process 2014-12-23T04:13:15Z sbryant joined #lisp 2014-12-23T04:13:27Z nightshade427 joined #lisp 2014-12-23T04:15:19Z beach joined #lisp 2014-12-23T04:15:28Z beach: Good morning everyone! 2014-12-23T04:15:44Z Ukari: hi 2014-12-23T04:16:51Z average: hey beach 2014-12-23T04:16:53Z ttmarek joined #lisp 2014-12-23T04:16:57Z nyef: Hello beach. 2014-12-23T04:16:58Z average: beach: how's the sun ? 2014-12-23T04:17:09Z average said that yesterday too, but he's not a bot 2014-12-23T04:17:18Z beach: average: Hidden as usual at this time of day. 2014-12-23T04:17:20Z nyef: average: ... the days may be getting longer now, but it's probably still dark there. 2014-12-23T04:17:46Z average: ah i see 2014-12-23T04:17:50Z average: over here it's super-cold 2014-12-23T04:17:58Z average: (Bucharest..) 2014-12-23T04:18:39Z nyef: (On my end, the answer would be "I still haven't bothered to figure out or reset the ALOM password for it.") 2014-12-23T04:29:19Z egp_ quit (Remote host closed the connection) 2014-12-23T04:29:33Z egp_ joined #lisp 2014-12-23T04:31:07Z Fare joined #lisp 2014-12-23T04:31:48Z xrash joined #lisp 2014-12-23T04:32:22Z munksgaard quit (Ping timeout: 245 seconds) 2014-12-23T04:33:19Z beach: drmeister: Congratulations to your progress on SLIME support in Clasp. 2014-12-23T04:33:59Z Ethan- quit (Remote host closed the connection) 2014-12-23T04:36:26Z Beetny joined #lisp 2014-12-23T04:40:46Z nightshade427 quit (Ping timeout: 258 seconds) 2014-12-23T04:40:46Z sbryant quit (Ping timeout: 258 seconds) 2014-12-23T04:41:16Z drmeister: beach: Thanks. It's lots of messy implementation dependent details. 2014-12-23T04:42:17Z beach: drmeister: I can imagine. I was thinking yesterday that I should make sure ASDF and SLIME works in the extrinsic environment that I am creating. Then things will be much easier to debug. 2014-12-23T04:42:38Z beach: ... as opposed to waiting until I have a native implementation. 2014-12-23T04:45:27Z beach: drmeister: I also came up with a remedy for the "thwap" problem: M-x define-global-abbrevit'sit is 2014-12-23T04:45:57Z drmeister: Do you use emacs for IRC? 2014-12-23T04:45:58Z nightshade427 joined #lisp 2014-12-23T04:46:01Z beach: drmeister: Then, whenever you type "it's", it will expand to "it is" and you will immediately see whether it's wrong. 2014-12-23T04:46:08Z beach: drmeister: Yes, ERC. 2014-12-23T04:46:18Z sbryant joined #lisp 2014-12-23T04:46:23Z beach: drmeister: Otherwise, I would have to give up the spell checker and the abbrevs. 2014-12-23T04:46:50Z drmeister: That's a great idea. 2014-12-23T04:46:50Z beach: ... and I would have to type long phrases such as "(admittedly small) family", "Common Lisp HyperSpec", and "Good morning everyone!" 2014-12-23T04:47:02Z dandersen is now known as dkcl 2014-12-23T04:47:20Z beach: Instead I type "asf", "hs", and "gme". 2014-12-23T04:47:36Z drmeister: How big is your family? Mine is 3 2014-12-23T04:47:41Z beach: 2 2014-12-23T04:48:00Z drmeister: Ah. 2014-12-23T04:48:35Z drmeister: For some reason I thought your small family was just like my small family. 2014-12-23T04:48:46Z drmeister: No matter. 2014-12-23T04:48:55Z beach: Right, no matter. 2014-12-23T04:49:44Z drmeister: Clasp has a serious issue in that it cannot load compiled fasl files more than once. I took a shortcut that was a bit too short. 2014-12-23T04:50:17Z beach: How does it "know" that it has loaded it before? 2014-12-23T04:50:51Z nyef: ... mmap()? 2014-12-23T04:50:53Z drmeister: So I think I'll figure out how to relocate the code once into the GC space and let the GC manage it. 2014-12-23T04:52:03Z beach: For SICL, my current thinking is that a FASL file is just a sequence of instructions to execute, so that loading it will be mmap, call, and munmap. 2014-12-23T04:52:28Z drmeister: I use dlopen to load them - I got it to work but didn't probe any deeper at the time. I'm not really clear on the details. 2014-12-23T04:52:47Z s00pcan_ quit (Ping timeout: 245 seconds) 2014-12-23T04:52:50Z drmeister: What does mmap do? 2014-12-23T04:52:53Z drmeister: Checking... 2014-12-23T04:53:16Z beach: It maps a file into the address space. 2014-12-23T04:54:56Z drmeister: What about linking symbols and relocating code? 2014-12-23T04:55:20Z beach: The code in the FASL file does that. 2014-12-23T04:56:04Z drmeister: I see, you would use your own approach to linking. I would need to use the approach the OS uses. 2014-12-23T04:56:40Z beach: Actually, I lied a bit. The code will be like a Common Lisp function that is called with a few arguments such as #'make-string, #'intern, and #'fdefinition. 2014-12-23T04:57:00Z beach: Yeah, I don't have those constraints. 2014-12-23T04:57:33Z drmeister: Will you compile data into fasl files or generate code that generates the data at load-time? 2014-12-23T04:57:45Z beach: The latter. 2014-12-23T04:57:55Z drmeister: Hmm, that's what I do. 2014-12-23T04:57:57Z beach: Hence #'make-string, etc. 2014-12-23T04:58:10Z drmeister: That's what let me to ask. 2014-12-23T04:58:24Z drmeister: Why generate code that generates the data if you don't have to? 2014-12-23T04:58:49Z drmeister: Why pay the load-time cost? 2014-12-23T04:59:16Z beach: To minimize the support code needed in the runtime. 2014-12-23T04:59:17Z nyef: There's an angle which allows you to prep an image segment for part of a heap, along with fixup and relocation instructions so that it can be mmap()ed into place, any pointers to within the segment be rebased, and any pointers to outside the segment be correctly created... 2014-12-23T04:59:52Z slyrus joined #lisp 2014-12-23T04:59:53Z nyef: ... but I don't know that it'd be a particularly good option. 2014-12-23T05:00:28Z beach: nyef: For Clasp? 2014-12-23T05:01:26Z johann quit 2014-12-23T05:01:29Z nyef: At all. 2014-12-23T05:01:32Z beach: drmeister: I might have to rethink some of my decisions based on experience with the final system. I am just telling you what my current thinking is. 2014-12-23T05:01:37Z t4nk181 quit (Ping timeout: 246 seconds) 2014-12-23T05:03:30Z drmeister: nyef: Does SBCL generate code that generates objects or does it generate the objects in the fasl file? 2014-12-23T05:04:01Z nyef: The fasl file is (or was) some kind of crazy bytecoded stack machine thing. 2014-12-23T05:04:20Z beach: Because of LOAD-TIME-VALUE, it has to be possible to generate objects at load time. 2014-12-23T05:04:33Z nyef: It's a mix of serialized object data and instructions for patching things, and so on. 2014-12-23T05:04:44Z nyef: And, yes, there's LOAD-TIME-VALUE and whatnot. 2014-12-23T05:05:33Z beach: drmeister: Since I am developing SICL alone, I must take advantage of all the simplifications I can think of. 2014-12-23T05:05:56Z beach: So if I can use a single mechanism for several things, that's an advantage. 2014-12-23T05:05:57Z drmeister: beach: I understand. 2014-12-23T05:07:09Z beach: So I am thinking the FASL code will allocate a string, fill it with characters, call INTERN, call FDEFINITION, and then call whatever function it needs. 2014-12-23T05:08:57Z Zhivago: You can always open the file twice. 2014-12-23T05:09:02Z Zhivago: Oops. 2014-12-23T05:09:25Z nowhereman quit (Remote host closed the connection) 2014-12-23T05:09:43Z nowhereman joined #lisp 2014-12-23T05:11:37Z beach: Furthermore, the entire FASL file will be generated by the compiler, from the equivalent of (lambda (make-string setf-schar fdefinition intern) ....) so I don't need any particular FASL generator code either. 2014-12-23T05:12:13Z beach: But, again, I haven't tested this idea, so it might fail for some reason that I am unaware of at this point. 2014-12-23T05:13:10Z drmeister: Something similar works fine for me. 2014-12-23T05:13:35Z DeadTrickster quit (Read error: Connection reset by peer) 2014-12-23T05:14:23Z beach: The only disadvantage I can think of would be that a FASL file can contain a virus or whatnot, but then I think any FASL format could, since it must contain arbitrary code to run at some point. 2014-12-23T05:17:33Z beach: nyef: Do you know the reason for the design decision to use a bytecoded stack machine? 2014-12-23T05:17:38Z nydel quit (Remote host closed the connection) 2014-12-23T05:17:52Z nyef: I have no clue. 2014-12-23T05:18:23Z nyef: That part of the design could date all the way back to before Python was written. 2014-12-23T05:18:40Z beach: It could, yes. 2014-12-23T05:18:42Z nyef: Or not. I really don't know. 2014-12-23T05:20:02Z nyef: My best theory is that it's very easy to compile to and interpret, and thus can be implemented quickly without having to worry overmuch about tricky corners. 2014-12-23T05:20:16Z average quit (Ping timeout: 250 seconds) 2014-12-23T05:21:33Z beach: Sure. But then, if you also have a full compiler, then now you have two mechanisms doing the same thing. So your theory that it dates back to before the compiler existed seems plausible. 2014-12-23T05:22:23Z Oddity quit 2014-12-23T05:22:30Z oudeis joined #lisp 2014-12-23T05:23:27Z nyef: Except that they're not the same thing, one is compiling lisp code to machine instructions, the other is outputting the instructions for putting it together correctly down the line. 2014-12-23T05:24:16Z Oddity joined #lisp 2014-12-23T05:24:17Z nyef: You can't do that latter in native machine code unless you have some sort of relocatable object format with fixups to begin with. 2014-12-23T05:24:52Z nyef: Which, oops, just pushes things one level deeper. 2014-12-23T05:25:41Z beach: Not sure I follow. If you use PIC, why do you need an object format with fixups? 2014-12-23T05:27:05Z nyef: External references. 2014-12-23T05:27:24Z DeadTrickster joined #lisp 2014-12-23T05:27:49Z edgar-rft quit (Quit: lifetime lost by argh...) 2014-12-23T05:28:08Z nyef: And that's assuming that you CAN use PIC instead of a whole mess of base-relocation information. 2014-12-23T05:29:31Z beach: I guess I'll figure out the hard way what the problem is when there is something I can't do with my approach. 2014-12-23T05:30:02Z oudeis quit (Quit: This computer has gone to sleep) 2014-12-23T05:30:09Z nyef: And it may be that your approach actually works well. 2014-12-23T05:31:32Z beach: I hope so. We'll see. 2014-12-23T05:32:34Z oudeis joined #lisp 2014-12-23T05:33:04Z oudeis quit (Client Quit) 2014-12-23T05:42:03Z Zhivago: The question that I'd ask is -- why FASL in the modern age? 2014-12-23T05:48:16Z drmeister: Zhivago: What is the alternative? 2014-12-23T05:48:56Z Zhivago: Incremental ephemeral compilation and static persistent compilation. 2014-12-23T05:49:32Z dtw joined #lisp 2014-12-23T05:49:49Z Zhivago: If you always know where things should link up when you build them, then the problem becomes easy. 2014-12-23T05:49:49Z drmeister will have himself one of those please. 2014-12-23T05:51:09Z drmeister: LLVM isn't fast enough to be ephemeral. 2014-12-23T05:51:38Z vinleod quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2014-12-23T05:51:57Z zeitue joined #lisp 2014-12-23T05:52:28Z zeitue quit (Max SendQ exceeded) 2014-12-23T05:52:37Z Zhivago: Well, LLVM already works with your linkage toolchain, so that's not a big issue for it. 2014-12-23T05:52:57Z Zhivago: It's more a problem where you don't have that infrastructure. 2014-12-23T06:02:54Z Ukari quit (Ping timeout: 256 seconds) 2014-12-23T06:02:57Z Fare quit (Ping timeout: 240 seconds) 2014-12-23T06:04:22Z impulse joined #lisp 2014-12-23T06:05:19Z innertracks joined #lisp 2014-12-23T06:09:17Z innertracks quit (Client Quit) 2014-12-23T06:10:05Z pranavrc joined #lisp 2014-12-23T06:10:13Z pranavrc quit (Changing host) 2014-12-23T06:10:13Z pranavrc joined #lisp 2014-12-23T06:12:21Z snafuchs quit (Ping timeout: 272 seconds) 2014-12-23T06:14:28Z Ukari joined #lisp 2014-12-23T06:14:47Z snafuchs joined #lisp 2014-12-23T06:19:23Z quazimodo quit (Ping timeout: 240 seconds) 2014-12-23T06:32:54Z quazimodo joined #lisp 2014-12-23T06:33:32Z oleo is now known as Guest63467 2014-12-23T06:33:54Z ndrei joined #lisp 2014-12-23T06:34:31Z manuel__ joined #lisp 2014-12-23T06:35:19Z oleo__ joined #lisp 2014-12-23T06:35:46Z abeaumont_ quit (Ping timeout: 256 seconds) 2014-12-23T06:36:14Z abeaumont_ joined #lisp 2014-12-23T06:36:19Z Guest63467 quit (Ping timeout: 244 seconds) 2014-12-23T06:37:24Z drmeister: What key combo do people use to compile the current file and load it? 2014-12-23T06:37:56Z drmeister: C-c C-k? I'm looking at the swank code and it compiles but load-p is always set to nil so it should never load it. I'm confused. 2014-12-23T06:38:42Z Ukari quit (Quit: Leaving.) 2014-12-23T06:38:58Z nyef: Are there any warnings in the code? 2014-12-23T06:39:36Z drmeister: No, I think I'm misreading something. 2014-12-23T06:39:37Z nyef: I'm unfamiliar with slime at this point, but it could be checking the secondary return value from COMPILE-FILE or something. 2014-12-23T06:40:12Z drmeister: Well, here is what I see: 2014-12-23T06:40:17Z drmeister: https://www.irccloud.com/pastebin/AYk42kgB 2014-12-23T06:40:25Z drmeister: Notice the third argument load-p 2014-12-23T06:40:45Z drmeister: That determines if the resulting fasl file is loaded after compilation within swank-compile-file. 2014-12-23T06:40:48Z nyef: Hrm. No clue. 2014-12-23T06:41:05Z nyef: I take it you traced that or otherwise got an output of the parameters? 2014-12-23T06:41:16Z nyef: Also, it's almost quarter of two in the morning. Shouldn't we BOTH be in our separate beds? 2014-12-23T06:41:55Z drmeister: This is where it's called from: 2014-12-23T06:41:58Z drmeister: https://www.irccloud.com/pastebin/Ny5ayOGl 2014-12-23T06:42:00Z mathrick quit (Ping timeout: 244 seconds) 2014-12-23T06:42:16Z drmeister: Notice, the third argument to swank-compile-file is hard-coded to nil. 2014-12-23T06:42:59Z drmeister: Yes, we should be in bed. I have a problem with bed bugs. Clasp bugs that keep me out of bed. 2014-12-23T06:43:13Z nyef: Yeah, but it looks like there's something else going on here. 2014-12-23T06:43:30Z nyef: What's the next outer context? That is, the next caller? 2014-12-23T06:44:07Z nyef: Is SLIME in some web-available source control at this point? 2014-12-23T06:44:27Z drmeister: Good idea though - trace it within slime - that works. 2014-12-23T06:45:18Z drmeister: Indeed, (trace swank/clasp::swank-compile-file) traces the call and the load-p argument is being passed as nil. 2014-12-23T06:45:35Z drmeister: How do you find the outer context in Common Lisp? grep for calls? 2014-12-23T06:45:51Z nyef: slime-who-calls, surely? 2014-12-23T06:46:28Z nyef: Or set a breakpoint and then backtrace. 2014-12-23T06:47:33Z abeaumont_ quit (Ping timeout: 252 seconds) 2014-12-23T06:47:57Z abeaumont_ joined #lisp 2014-12-23T06:48:52Z protist joined #lisp 2014-12-23T06:50:37Z drmeister: I'm afraid of setting a break point in slime - won't all heck break loose? 2014-12-23T06:50:45Z drmeister: I'll try it. 2014-12-23T06:51:45Z nyef: I thought that heck was exothermic? 2014-12-23T06:51:57Z nyef: Or was it endothermic? 2014-12-23T06:52:23Z nyef: It's almost 2AM, I forget which one freezes over and which one breaks loose. 2014-12-23T06:52:29Z Krystof joined #lisp 2014-12-23T06:53:11Z nyef: Either way, what's the worst that's likely to happen? You have to restart your emacs and clasp processes? 2014-12-23T06:55:06Z gingerale joined #lisp 2014-12-23T06:56:07Z drmeister: Yeesh, I think the ECL implementation of swank-compile-file was broken. 2014-12-23T06:57:13Z drmeister: I looked at the one for SBCL and it returns the same (values fasl warning-p failure-p) as COMPILE-FILE. The ECL implementation that I stole for clasp of swank-compile-file didn't return that at all. 2014-12-23T06:57:30Z nyef: That'd probably do it, then. 2014-12-23T06:57:57Z drmeister: I made it look more like sbcl's swank-compile-file: 2014-12-23T06:57:58Z nyef: After all, SBCL is the only lisp implementation that anybody uses, so why keep the other backends up to date? 2014-12-23T06:58:01Z drmeister: https://www.irccloud.com/pastebin/qmoSW1o9 2014-12-23T06:59:05Z drmeister: This is the one I wrote for clasp.lisp using sbcl.lisp as a template. 2014-12-23T06:59:38Z axion: can someone help me with deftype? this is the only function i'm having issues with getting it correct: http://paste.lisp.org/display/144868 2014-12-23T06:59:38Z drmeister: Now LOAD is being called from an outer context 2014-12-23T07:00:03Z ttmarek quit (Quit: Leaving) 2014-12-23T07:00:21Z drmeister: exothermic means heat energy flows out of the system into the environment. 2014-12-23T07:00:34Z drmeister: endothermic means heat energy flows into the system. 2014-12-23T07:01:08Z angavrilov joined #lisp 2014-12-23T07:01:59Z nyef: Right, but the bit I'm having trouble thinking through right now is what the implications are. And it's 2AM already, so it's not something that I'll be able to truly understand until I've had at least four hours of sleep. 2014-12-23T07:02:46Z drmeister: Oh, no - ECL's original version is ok. I modified it and didn't pay attention to what it was supposed to return. 2014-12-23T07:03:16Z nyef: axion: You're declaiming it to return an AX-VECTOR, but then defining it to return a LIST, and the compiler is calling you on it. 2014-12-23T07:03:45Z defaultxr quit (Quit: gnight) 2014-12-23T07:03:52Z drmeister: ECL's version however relies on their implementation of COMPILE-FILE that takes a :load-p keyword argument that does the load after the compile-file. I didn't set up my COMPILE-FILE to do that so I did the load after the COMPILE-FILE. 2014-12-23T07:03:58Z drmeister: It's all working now. 2014-12-23T07:04:12Z nyef: drmeister: Congratulations. 2014-12-23T07:04:40Z nyef: axion: Perhaps you want (ftype (function (ax-vector) list) vector->list) ? 2014-12-23T07:04:41Z drmeister: I write clasp while everyone else is snug in their beds asleep. 2014-12-23T07:04:56Z drmeister: Clasp happens after midnight. 2014-12-23T07:05:11Z axion: oh yes, i feel dumb now 2014-12-23T07:05:13Z axion: thanks 2014-12-23T07:05:15Z nyef: axion: Or, to get even more persnickety with the types, instead of list using (cons single-float (cons single-float (cons single-float null))) ? 2014-12-23T07:05:38Z axion: what would that do? 2014-12-23T07:05:39Z drmeister: It arises out of the dark of the night - to feed off of the CPU cycles of the living! 2014-12-23T07:05:43Z axion: i mean, how is it better? 2014-12-23T07:05:58Z nyef: It declares that it's a three-element proper list of single-floats. 2014-12-23T07:06:32Z nyef: Which means that a call site can do more efficient things with the results, in theory. 2014-12-23T07:06:49Z axion: hmm ok 2014-12-23T07:06:54Z drmeister: Yes - it all works now. 2014-12-23T07:06:56Z nyef: Also declares the intention a little more explicitly, though not nearly as tersely. 2014-12-23T07:07:24Z nyef: It's not necessarily BETTER, but it's an option. 2014-12-23T07:08:48Z axion: thanks. this function isn't that important as it is only called once at program load, rather than in the loop. i'm only defining it's type to be consistent with the rest of the math functions which are critical 2014-12-23T07:09:55Z drmeister drags himself off to bed. 2014-12-23T07:10:01Z nikki93 joined #lisp 2014-12-23T07:10:01Z axion: if it was important, i probably wouldn't be using a list to begin with :) 2014-12-23T07:10:44Z loz1 joined #lisp 2014-12-23T07:10:57Z akkad: http://www.scratchtask.com/download/physics_demo.mov that's all lisp. wow 2014-12-23T07:17:10Z kanru` quit (Ping timeout: 258 seconds) 2014-12-23T07:20:15Z mvilleneuve joined #lisp 2014-12-23T07:21:47Z sdemarre joined #lisp 2014-12-23T07:21:48Z nikki93 quit (Read error: Connection reset by peer) 2014-12-23T07:21:55Z drdanmaku quit (Quit: Connection closed for inactivity) 2014-12-23T07:21:56Z nyef quit (Quit: G'night all) 2014-12-23T07:23:08Z manuel__ quit (Quit: manuel__) 2014-12-23T07:23:30Z mrSpec joined #lisp 2014-12-23T07:24:18Z Shinmera joined #lisp 2014-12-23T07:24:49Z manuel__ joined #lisp 2014-12-23T07:25:30Z wg1024 quit (Read error: Connection reset by peer) 2014-12-23T07:26:11Z wg1024 joined #lisp 2014-12-23T07:30:47Z manuel__ quit (Quit: manuel__) 2014-12-23T07:30:55Z mishoo joined #lisp 2014-12-23T07:32:30Z nikki93 joined #lisp 2014-12-23T07:36:21Z pt1 joined #lisp 2014-12-23T07:39:19Z beach left #lisp 2014-12-23T07:39:47Z zRecursive left #lisp 2014-12-23T07:40:07Z nikki93: keene's CLOS book is super old, is that still the best place to learn about it? 2014-12-23T07:40:23Z slyrus quit (Ping timeout: 240 seconds) 2014-12-23T07:43:10Z MoALTz__ joined #lisp 2014-12-23T07:43:48Z manuel__ joined #lisp 2014-12-23T07:44:04Z loz1 quit (Quit: Leaving.) 2014-12-23T07:46:18Z MoALTz_ quit (Ping timeout: 258 seconds) 2014-12-23T07:46:54Z MoALTz_ joined #lisp 2014-12-23T07:46:54Z xrash quit (Ping timeout: 245 seconds) 2014-12-23T07:47:44Z hitecnologys quit (Ping timeout: 245 seconds) 2014-12-23T07:49:05Z hitecnologys joined #lisp 2014-12-23T07:49:10Z xrash joined #lisp 2014-12-23T07:49:31Z gabriel_laddel joined #lisp 2014-12-23T07:50:09Z nostoi joined #lisp 2014-12-23T07:50:13Z gabriel_laddel quit (Changing host) 2014-12-23T07:50:13Z gabriel_laddel joined #lisp 2014-12-23T07:50:39Z wg1024 quit (Ping timeout: 245 seconds) 2014-12-23T07:50:55Z MoALTz__ quit (Ping timeout: 264 seconds) 2014-12-23T07:51:15Z manuel__ quit (Quit: manuel__) 2014-12-23T07:51:20Z wg1024 joined #lisp 2014-12-23T07:51:45Z pranavrc quit (Remote host closed the connection) 2014-12-23T07:51:56Z meiji11 quit (Remote host closed the connection) 2014-12-23T07:52:05Z theos: yup 2014-12-23T07:52:26Z impulse quit (Ping timeout: 258 seconds) 2014-12-23T07:53:21Z theos: its a must have along with amop, lol, paip and on lisp 2014-12-23T07:55:51Z nikki93: cool 2014-12-23T07:56:12Z nikki93: I'm working through practical common lisp right now, doing the binary structs project... seems the ending is gonna take a bit cuz of all those projects 2014-12-23T07:56:31Z nikki93: been reading on lisp simultaneously sorta. gonna go through lol after 2014-12-23T08:00:16Z enitiz quit (Ping timeout: 255 seconds) 2014-12-23T08:01:46Z akkad: https://gist.github.com/3c36caf06bafb02242c7 this look right? not sure why I'm not getting encryptiuon 2014-12-23T08:04:38Z Quadrescence quit (Quit: This computer has gone to sleep) 2014-12-23T08:06:11Z nikki93: dunno about ironclad but unless this is just throwaway test code, not sure if you wanna 'defvar' 2014-12-23T08:06:23Z nikki93: try 'let' 2014-12-23T08:06:36Z tkhoa2711 quit (Quit: tkhoa2711) 2014-12-23T08:07:50Z akkad: yeah I had a let block at first, but because it modifies msg 2014-12-23T08:08:03Z akkad: thought I needed a setf/defvar/defparameter 2014-12-23T08:10:22Z nikki93: nope, you can modify let'd stuff 2014-12-23T08:11:25Z akkad: ahh problem with slime 2014-12-23T08:11:37Z akkad: slime-eval-last-expression was not updating the definition in the repl 2014-12-23T08:11:47Z akkad: cut and paste however did 2014-12-23T08:13:21Z wg1024 quit (Ping timeout: 252 seconds) 2014-12-23T08:14:01Z wg1024 joined #lisp 2014-12-23T08:19:15Z impulse joined #lisp 2014-12-23T08:25:32Z aftershave joined #lisp 2014-12-23T08:25:33Z pranavrc joined #lisp 2014-12-23T08:26:31Z nikki93: akkad: C-c C-c 2014-12-23T08:26:39Z kcj joined #lisp 2014-12-23T08:29:29Z quazimodo quit (Ping timeout: 252 seconds) 2014-12-23T08:39:05Z kcj quit (Ping timeout: 244 seconds) 2014-12-23T08:39:13Z pllx joined #lisp 2014-12-23T08:41:08Z leo2007 quit (Quit: rcirc on GNU Emacs 24.4.2) 2014-12-23T08:45:36Z akkad: :D 2014-12-23T08:45:44Z akkad: thanks 2014-12-23T08:45:52Z theos quit (Disconnected by services) 2014-12-23T08:46:20Z theos joined #lisp 2014-12-23T08:49:24Z xrash quit (Ping timeout: 245 seconds) 2014-12-23T08:50:38Z tesuji joined #lisp 2014-12-23T08:53:07Z xrash joined #lisp 2014-12-23T09:01:28Z nostoi quit (Quit: Verlassend) 2014-12-23T09:01:43Z leo2007 joined #lisp 2014-12-23T09:02:54Z pppp2 joined #lisp 2014-12-23T09:13:57Z quazimodo joined #lisp 2014-12-23T09:16:40Z maxpeck joined #lisp 2014-12-23T09:21:08Z sword`` is now known as sword 2014-12-23T09:32:27Z vaporatorius joined #lisp 2014-12-23T09:32:44Z quazimodo quit (Ping timeout: 245 seconds) 2014-12-23T09:33:03Z mvilleneuve quit (Quit: This computer has gone to sleep) 2014-12-23T09:33:59Z harish quit (Ping timeout: 245 seconds) 2014-12-23T09:37:28Z MoALTz_ quit (Quit: Leaving) 2014-12-23T09:37:42Z MoALTz joined #lisp 2014-12-23T09:38:29Z Karl_Dscc joined #lisp 2014-12-23T09:38:48Z nell quit (Quit: WeeChat 1.1-rc1) 2014-12-23T09:39:52Z pjb: jasom: declaim is a macro expanding to eval-when. proclaim is a function. 2014-12-23T09:45:17Z Bicyclidine quit (Ping timeout: 245 seconds) 2014-12-23T09:47:54Z milosn joined #lisp 2014-12-23T09:48:25Z harish joined #lisp 2014-12-23T09:50:48Z arenz joined #lisp 2014-12-23T10:05:26Z loke quit (Ping timeout: 256 seconds) 2014-12-23T10:06:55Z manuel__ joined #lisp 2014-12-23T10:12:12Z Bicyclidine joined #lisp 2014-12-23T10:16:12Z beetlebum joined #lisp 2014-12-23T10:17:11Z arenz quit (Ping timeout: 265 seconds) 2014-12-23T10:17:46Z Quadrescence joined #lisp 2014-12-23T10:24:19Z dkcl quit (Read error: Connection reset by peer) 2014-12-23T10:24:20Z pllx quit (Quit: zz) 2014-12-23T10:24:46Z dandersen joined #lisp 2014-12-23T10:32:34Z tkhoa2711 joined #lisp 2014-12-23T10:40:26Z Quadrescence quit (Quit: This computer has gone to sleep) 2014-12-23T10:40:40Z Quadrescence joined #lisp 2014-12-23T10:41:11Z Quadrescence quit (Client Quit) 2014-12-23T10:42:03Z tkhoa2711 quit (Quit: tkhoa2711) 2014-12-23T10:43:29Z hekmek joined #lisp 2014-12-23T10:44:45Z francogrex joined #lisp 2014-12-23T10:44:51Z Karl_Dscc quit (Remote host closed the connection) 2014-12-23T10:44:55Z francogrex: Hi, what is the trick to replace anything between 2 commas in a string using cl-ppcre for example "this,is a test,to replace" becomes "this,?,to replace" basically anything between the two commas is replaced by interrogation mark? 2014-12-23T10:46:05Z Ethan- joined #lisp 2014-12-23T10:46:37Z pjb: "\\(,[^,]*,\\)" I would try first. 2014-12-23T10:47:15Z Shinmera: More of a regex question than CL, but (cl-ppcre:regex-replace-all ",(.*?)," text ",?,") 2014-12-23T10:47:34Z Shinmera: Depending on what exactly you want you'll need to change it, ofc. 2014-12-23T10:48:09Z Grue`: what should "a, b, c, d" become? 2014-12-23T10:48:41Z Grue`: if "a,?,?, d" then regex-replace-all wouldn't work 2014-12-23T10:49:12Z pjb: (cl-ppcre:regex-replace-all ",[^,]*," "this,is a test,to replace" ",?,") --> "this,?,to replace" ; in this case, the parentheses are not needed. 2014-12-23T10:49:14Z Grue`: might have to use lookahead for the last comma 2014-12-23T10:49:51Z pjb: Grue`: depends on what you would mean: (cl-ppcre:regex-replace-all ",[^,]*," "this,is a test,to,replace, it" ",?,") --> "this,?,to,?, it" ; WFM :-) 2014-12-23T10:49:51Z francogrex: Shinmer, pjb : yes it's what I need it works thanks 2014-12-23T10:50:43Z Shinmera: francogrex: Use tab completion for nicks and http://www.regexr.com/ to try out regexes. It's not hard to learn. 2014-12-23T10:51:01Z pjb: or the repl. 2014-12-23T10:51:30Z Grue`: emacs also has a regex testing mode I think 2014-12-23T10:51:36Z tkhoa2711 joined #lisp 2014-12-23T10:51:50Z Grue`: though that might be only for emacs-flavored regex 2014-12-23T10:53:55Z nydel joined #lisp 2014-12-23T11:00:22Z nikki93 quit (Read error: Connection reset by peer) 2014-12-23T11:00:38Z nikki93 joined #lisp 2014-12-23T11:01:28Z BitPuffin joined #lisp 2014-12-23T11:02:53Z nikki93_ joined #lisp 2014-12-23T11:03:20Z vlnx quit (Quit: leaving) 2014-12-23T11:04:52Z nikki93 quit (Read error: No route to host) 2014-12-23T11:07:00Z nydel: in my system definition, in my package's .asd, one of the dependencies causes conflicts such that on asdf:load-system the user has to select "keep old" a bunch of times (ironclad package seems to be trying to define things in the cl-user space) i want cl-user or cl or common-lisp or whatever i'm using to have priority automatically, can that be added to the defsystem parameters? 2014-12-23T11:07:39Z H4ns: nydel: you should avoid using cl-user 2014-12-23T11:07:43Z pjb: Never saw that. asdf deals with versions now? 2014-12-23T11:08:07Z H4ns: nydel: create a package on your own. that way, you can control what gets used. cl-user is meant only for people who can't understand the package system. 2014-12-23T11:08:35Z Shinmera: pjb: ASDF allows depending on a specific version, but nothing beyond that. 2014-12-23T11:08:50Z pjb: ok 2014-12-23T11:09:00Z Shinmera: mostly because there's no enforced versioning scheme, sadly enough. 2014-12-23T11:09:05Z nydel: H4ns: i'm not telling my package to depend on cl-user or anything 2014-12-23T11:09:49Z H4ns: nydel: why do you talk about cl-user when you don't mean to? :) 2014-12-23T11:10:25Z H4ns: nydel: if you absolutely need to :use packages in your own package and there are conflicts, you can use :shadowing-import-from in your defpackage. 2014-12-23T11:10:27Z Beetny quit (Ping timeout: 252 seconds) 2014-12-23T11:10:42Z nydel: H4ns: actually everything has been loading up smooothly until i added :ironclad to the dependencies. now that package is competing with CL itself for things. 2014-12-23T11:11:33Z H4ns: nydel: why do you :use irconclad in your package? 2014-12-23T11:11:41Z nydel: right can i do that in a defsystem though? that is where it's acting up. i removed the :ironclad package from (:use) in the package def and found it's a product of when i include it in the defsystem not defpackage 2014-12-23T11:11:57Z nydel: https://github.com/nydel/muclr/blob/master/muclr.asd for reference if anyone is interested 2014-12-23T11:12:15Z H4ns: what is the error message? 2014-12-23T11:12:18Z Jubb joined #lisp 2014-12-23T11:12:18Z nydel: i was just seeing if i could :use it, it was sloppier than cleaner so i stopped 2014-12-23T11:12:45Z yeticry quit (Read error: Connection reset by peer) 2014-12-23T11:13:50Z nydel: could you look at this screenshot of the error http://i.imgur.com/7edlF3f.png 2014-12-23T11:14:25Z nydel: (asdf::load-asd "muclr.asd") gives just T, then (asdf:load-system :muclr) is giving this. 2014-12-23T11:14:40Z H4ns: you'll probably want to restart your lisp 2014-12-23T11:14:55Z H4ns: if you don't, you'll have to resolve the conflicts individually. 2014-12-23T11:15:26Z nydel: that's a fresh repl, only been issued those two forms 2014-12-23T11:15:27Z H4ns: you've basically screwed up the muclr-client package now. 2014-12-23T11:15:40Z nydel: hmm 2014-12-23T11:15:45Z H4ns: then you'll have to fix your defpackage to not :use ironclad. 2014-12-23T11:16:32Z stassats joined #lisp 2014-12-23T11:16:53Z yenda joined #lisp 2014-12-23T11:17:00Z nydel: H4ns: i had left :ironclad in the :use of defpackage for muclr-client. once i remove it now, it's fine. 2014-12-23T11:17:05Z nydel: thank you much 2014-12-23T11:17:11Z nydel: i'm an idiot ha 2014-12-23T11:17:45Z stassats: how do you pronounce muclr? 2014-12-23T11:18:08Z nydel: moose-licker 2014-12-23T11:18:22Z nydel: i don't know, i say the letters or just multi-user common lisp repl 2014-12-23T11:18:23Z stassats: just as i thought 2014-12-23T11:18:32Z pjb: muck lair. 2014-12-23T11:18:38Z joneshf-laptop_ joined #lisp 2014-12-23T11:18:39Z joneshf-laptop quit (Read error: Connection reset by peer) 2014-12-23T11:18:42Z stassats: minion: what does MUCLR stand for? 2014-12-23T11:18:42Z minion: Murmurously Unplow Conepate Locomotiveness Rhymery 2014-12-23T11:18:48Z yeticry joined #lisp 2014-12-23T11:19:03Z nydel: minion: what does PARLORTRICK stand for? 2014-12-23T11:19:04Z minion: a banana 2014-12-23T11:19:21Z stassats: nydel: i thought it was micro CLR (the sea sharp thingy) 2014-12-23T11:19:36Z pppp2 quit (Read error: Connection reset by peer) 2014-12-23T11:19:49Z pjb: or like nuclear muclear :-) 2014-12-23T11:19:57Z nydel: stassats: it's not the best name but murepl was taken. 2014-12-23T11:20:29Z stassats: it doesn't have to be a descriptive name, "a banana" could have worked 2014-12-23T11:20:36Z scymtym_ joined #lisp 2014-12-23T11:20:57Z nydel: i also hate myself for putting "cl" anywhere in the package name 2014-12-23T11:23:46Z pjb: anywhere is better than as a prefix. 2014-12-23T11:23:53Z nydel: but really muclr is a really fun and maybe even good idea i think. i need contributors who would be interested in making shared repl instances that are accessible from a user's trivial repl. 2014-12-23T11:24:20Z nydel: thank you pjb my thoughts exactly 2014-12-23T11:24:58Z stassats: "exacly" 2014-12-23T11:26:11Z nydel: this explains what i /think/ i'm trying to build: https://github.com/nydel/muclr/wiki 2014-12-23T11:27:42Z nydel: planning on something like this is nuts because there are a thousand ways to do it. some have said to use swank & slime. i'm leaning toward a daemonized instance of cl with threaded sockets feeding a multiplex buffer. 2014-12-23T11:28:39Z pjb: It's a LispOS, isn't it? 2014-12-23T11:29:33Z beetlebum quit (Remote host closed the connection) 2014-12-23T11:31:22Z nydel: hmm.. an instance of muclr server could be thought of as a sort of LispOS. but the key feature is that you work on the instance (shared REPL) inside your own REPL, and your own remains separate always 2014-12-23T11:31:45Z pjb: Ok. 2014-12-23T11:32:40Z DeadTrickster quit (Ping timeout: 255 seconds) 2014-12-23T11:33:02Z nydel: when i started on this i just wanted to add a chat feature, irc-like, to the repl. that seems cool. so the rest is kind of "while you're doing that..." y'know. 2014-12-23T11:37:29Z gabriel_laddel quit (Read error: Connection reset by peer) 2014-12-23T11:38:57Z oudeis joined #lisp 2014-12-23T11:39:08Z Jubb quit (Remote host closed the connection) 2014-12-23T11:39:45Z zacharias quit (Ping timeout: 258 seconds) 2014-12-23T11:40:55Z beetlebum joined #lisp 2014-12-23T11:41:12Z tesuji quit (Ping timeout: 256 seconds) 2014-12-23T11:41:53Z milosn quit (Ping timeout: 240 seconds) 2014-12-23T11:43:55Z milosn joined #lisp 2014-12-23T11:44:35Z DeadTrickster joined #lisp 2014-12-23T11:44:46Z pjb: Notice that for interactive teaching (or pair-programming), just using multiple-headed emacs is enough. 2014-12-23T11:45:18Z pjb: And with slime, you may even edit and load several functions at the same time, since slime works with worker threads. 2014-12-23T11:45:36Z nikki93_ quit (Read error: Connection reset by peer) 2014-12-23T11:46:00Z nikki93 joined #lisp 2014-12-23T11:46:20Z pjb: It's so great an emacs feature, I don't understand it's not commonly used in schools and universities. (and therefore why don't they teach emacs early to students). 2014-12-23T11:47:19Z gingerale quit (Read error: Connection reset by peer) 2014-12-23T11:49:56Z tkhoa2711 quit (Quit: tkhoa2711) 2014-12-23T11:50:33Z milosn quit (Ping timeout: 272 seconds) 2014-12-23T11:50:55Z milosn joined #lisp 2014-12-23T11:50:55Z dandersen quit (Read error: Connection reset by peer) 2014-12-23T11:52:53Z nikki93 quit (Ping timeout: 265 seconds) 2014-12-23T11:52:55Z dandersen joined #lisp 2014-12-23T11:54:53Z dandersen quit (Read error: Connection reset by peer) 2014-12-23T11:56:54Z nikki93 joined #lisp 2014-12-23T11:56:59Z dandersen joined #lisp 2014-12-23T11:57:33Z nikki93 quit (Read error: Connection reset by peer) 2014-12-23T11:57:49Z nikki93 joined #lisp 2014-12-23T11:59:20Z dandersen quit (Read error: Connection reset by peer) 2014-12-23T12:01:00Z kami joined #lisp 2014-12-23T12:01:44Z nikki93_ joined #lisp 2014-12-23T12:01:53Z nikki93 quit (Read error: Connection reset by peer) 2014-12-23T12:02:21Z dandersen joined #lisp 2014-12-23T12:03:22Z froggey quit (Ping timeout: 244 seconds) 2014-12-23T12:03:41Z tkhoa2711 joined #lisp 2014-12-23T12:05:08Z manuel__ quit (Quit: manuel__) 2014-12-23T12:05:52Z francogrex quit (Quit: ERC Version 5.1.2 $Revision: 1.796.2.4 $ (IRC client for Emacs)) 2014-12-23T12:07:10Z cmatei quit (Ping timeout: 250 seconds) 2014-12-23T12:07:11Z Karl_Dscc joined #lisp 2014-12-23T12:08:28Z kami: Hello 2014-12-23T12:10:32Z vaporatorius quit (Quit: Leaving) 2014-12-23T12:15:15Z quazimodo joined #lisp 2014-12-23T12:24:32Z ivan\_ joined #lisp 2014-12-23T12:24:39Z xach quit (Input/output error) 2014-12-23T12:27:27Z dandersen quit (*.net *.split) 2014-12-23T12:27:27Z yeticry quit (*.net *.split) 2014-12-23T12:27:27Z Jesin quit (*.net *.split) 2014-12-23T12:27:27Z sismondi quit (*.net *.split) 2014-12-23T12:27:27Z mtd quit (*.net *.split) 2014-12-23T12:27:27Z yeltzooo9 quit (*.net *.split) 2014-12-23T12:27:27Z kirin` quit (*.net *.split) 2014-12-23T12:27:27Z Intensity quit (*.net *.split) 2014-12-23T12:27:28Z joneshf-laptop_ quit (*.net *.split) 2014-12-23T12:27:28Z yenda quit (*.net *.split) 2014-12-23T12:27:28Z leo2007 quit (*.net *.split) 2014-12-23T12:27:28Z sbryant quit (*.net *.split) 2014-12-23T12:27:28Z nightshade427 quit (*.net *.split) 2014-12-23T12:27:28Z TDog quit (*.net *.split) 2014-12-23T12:27:28Z jdz quit (*.net *.split) 2014-12-23T12:27:28Z josteink quit (*.net *.split) 2014-12-23T12:27:28Z ThePhoeron quit (*.net *.split) 2014-12-23T12:27:28Z luis quit (*.net *.split) 2014-12-23T12:27:28Z oconnore quit (*.net *.split) 2014-12-23T12:27:29Z PuercoPop quit (*.net *.split) 2014-12-23T12:27:29Z bjorkintosh quit (*.net *.split) 2014-12-23T12:27:29Z clop3 quit (*.net *.split) 2014-12-23T12:27:29Z jayne_ quit (*.net *.split) 2014-12-23T12:27:29Z gluegadget quit (*.net *.split) 2014-12-23T12:27:29Z White_Flame quit (*.net *.split) 2014-12-23T12:27:29Z NhanH quit (*.net *.split) 2014-12-23T12:27:30Z wilfredh__ quit (*.net *.split) 2014-12-23T12:27:30Z Amaan quit (*.net *.split) 2014-12-23T12:27:30Z ered quit (*.net *.split) 2014-12-23T12:27:30Z swflint quit (*.net *.split) 2014-12-23T12:27:30Z arrsim quit (*.net *.split) 2014-12-23T12:27:30Z stacksmith quit (*.net *.split) 2014-12-23T12:27:30Z gko quit (*.net *.split) 2014-12-23T12:27:30Z superjudge quit (*.net *.split) 2014-12-23T12:27:30Z ConstantineXVI quit (*.net *.split) 2014-12-23T12:27:30Z chameco quit (*.net *.split) 2014-12-23T12:27:30Z |3b| quit (*.net *.split) 2014-12-23T12:27:31Z bobbysmith007 quit (*.net *.split) 2014-12-23T12:27:31Z gabot quit (*.net *.split) 2014-12-23T12:27:31Z splittist quit (*.net *.split) 2014-12-23T12:27:31Z nicdev quit (*.net *.split) 2014-12-23T12:27:31Z pt1 quit (*.net *.split) 2014-12-23T12:27:31Z Patzy quit (*.net *.split) 2014-12-23T12:27:32Z chu quit (*.net *.split) 2014-12-23T12:27:32Z moei quit (*.net *.split) 2014-12-23T12:27:32Z isoraqathedh quit (*.net *.split) 2014-12-23T12:27:32Z edran quit (*.net *.split) 2014-12-23T12:27:32Z s_e quit (*.net *.split) 2014-12-23T12:27:32Z tbarletz quit (*.net *.split) 2014-12-23T12:27:32Z AeroNotix quit (*.net *.split) 2014-12-23T12:27:32Z Rudolph-Miller_ quit (*.net *.split) 2014-12-23T12:27:32Z d4gg4d quit (*.net *.split) 2014-12-23T12:27:32Z chrnybo` quit (*.net *.split) 2014-12-23T12:27:32Z _8hzp quit (*.net *.split) 2014-12-23T12:27:32Z someone quit (*.net *.split) 2014-12-23T12:27:32Z girrig quit (*.net *.split) 2014-12-23T12:27:32Z ivan\ quit (*.net *.split) 2014-12-23T12:27:32Z gniourf quit (*.net *.split) 2014-12-23T12:27:32Z peccu2 quit (*.net *.split) 2014-12-23T12:27:32Z Khisanth quit (*.net *.split) 2014-12-23T12:27:33Z jocuman quit (*.net *.split) 2014-12-23T12:27:33Z katco quit (*.net *.split) 2014-12-23T12:27:33Z Adeon quit (*.net *.split) 2014-12-23T12:27:33Z schjetne quit (*.net *.split) 2014-12-23T12:27:33Z milosn quit (*.net *.split) 2014-12-23T12:27:33Z oudeis quit (*.net *.split) 2014-12-23T12:27:33Z snafuchs quit (*.net *.split) 2014-12-23T12:27:33Z tharugrim quit (*.net *.split) 2014-12-23T12:27:33Z mingvs quit (*.net *.split) 2014-12-23T12:27:33Z TristamWrk quit (*.net *.split) 2014-12-23T12:27:33Z arpunk quit (*.net *.split) 2014-12-23T12:27:33Z Kruppe quit (*.net *.split) 2014-12-23T12:27:33Z karswell quit (*.net *.split) 2014-12-23T12:27:34Z brent80_plow quit (*.net *.split) 2014-12-23T12:27:34Z rme quit (*.net *.split) 2014-12-23T12:27:34Z emlow quit (*.net *.split) 2014-12-23T12:27:34Z Ober quit (*.net *.split) 2014-12-23T12:27:34Z ramus quit (*.net *.split) 2014-12-23T12:27:34Z kanru quit (*.net *.split) 2014-12-23T12:27:35Z BlastHardcheese quit (*.net *.split) 2014-12-23T12:27:35Z john-mcaleely quit (*.net *.split) 2014-12-23T12:27:35Z brandonz_ quit (*.net *.split) 2014-12-23T12:27:35Z tessier_ quit (*.net *.split) 2014-12-23T12:27:35Z Kohelet quit (*.net *.split) 2014-12-23T12:27:35Z bambams quit (*.net *.split) 2014-12-23T12:27:35Z xristos quit (*.net *.split) 2014-12-23T12:27:35Z Odin- quit (*.net *.split) 2014-12-23T12:27:35Z Xach quit (*.net *.split) 2014-12-23T12:27:35Z Plazma quit (*.net *.split) 2014-12-23T12:27:35Z lieven quit (*.net *.split) 2014-12-23T12:27:35Z Posterdati quit (*.net *.split) 2014-12-23T12:27:35Z brucem quit (*.net *.split) 2014-12-23T12:27:35Z ska-fan quit (*.net *.split) 2014-12-23T12:27:35Z cibs quit (*.net *.split) 2014-12-23T12:27:36Z kjeldahl quit (*.net *.split) 2014-12-23T12:27:36Z pillton quit (*.net *.split) 2014-12-23T12:27:36Z DeadTrickster quit (*.net *.split) 2014-12-23T12:27:36Z pranavrc quit (*.net *.split) 2014-12-23T12:27:36Z Oddity quit (*.net *.split) 2014-12-23T12:27:36Z Vutral quit (*.net *.split) 2014-12-23T12:27:36Z bb010g quit (*.net *.split) 2014-12-23T12:27:36Z ecraven quit (*.net *.split) 2014-12-23T12:27:36Z seg quit (*.net *.split) 2014-12-23T12:27:36Z capitaomorte` quit (*.net *.split) 2014-12-23T12:27:36Z Longlius quit (*.net *.split) 2014-12-23T12:27:36Z ircbrowse quit (*.net *.split) 2014-12-23T12:27:36Z nand1 quit (*.net *.split) 2014-12-23T12:27:36Z easye quit (*.net *.split) 2014-12-23T12:27:36Z fikusz quit (*.net *.split) 2014-12-23T12:27:37Z blahzik quit (*.net *.split) 2014-12-23T12:27:37Z scymtym quit (*.net *.split) 2014-12-23T12:27:37Z larme quit (*.net *.split) 2014-12-23T12:27:37Z sol__ quit (*.net *.split) 2014-12-23T12:27:37Z Soft- quit (*.net *.split) 2014-12-23T12:27:37Z rick-monster quit (*.net *.split) 2014-12-23T12:27:37Z Subfusc quit (*.net *.split) 2014-12-23T12:27:37Z bege quit (*.net *.split) 2014-12-23T12:27:37Z sauerkra- quit (*.net *.split) 2014-12-23T12:27:37Z K1rk quit (*.net *.split) 2014-12-23T12:27:37Z Adlai quit (*.net *.split) 2014-12-23T12:27:37Z DrCode quit (*.net *.split) 2014-12-23T12:27:38Z z0d quit (*.net *.split) 2014-12-23T12:27:38Z MoALTz quit (*.net *.split) 2014-12-23T12:27:38Z oleo__ quit (*.net *.split) 2014-12-23T12:27:38Z echo-area quit (*.net *.split) 2014-12-23T12:27:38Z ferada quit (*.net *.split) 2014-12-23T12:27:38Z keen___________9 quit (*.net *.split) 2014-12-23T12:27:38Z nitro_idiot_ quit (*.net *.split) 2014-12-23T12:27:38Z killmaster quit (*.net *.split) 2014-12-23T12:27:38Z H4ns quit (*.net *.split) 2014-12-23T12:27:38Z psy_ quit (*.net *.split) 2014-12-23T12:27:38Z klltkr quit (*.net *.split) 2014-12-23T12:27:38Z gensym quit (*.net *.split) 2014-12-23T12:27:38Z salv0 quit (*.net *.split) 2014-12-23T12:27:38Z diginet quit (*.net *.split) 2014-12-23T12:27:38Z krrrcks quit (*.net *.split) 2014-12-23T12:27:38Z nikki93_ quit (*.net *.split) 2014-12-23T12:27:39Z beetlebum quit (*.net *.split) 2014-12-23T12:27:39Z Bicyclidine quit (*.net *.split) 2014-12-23T12:27:39Z theos quit (*.net *.split) 2014-12-23T12:27:39Z Krystof quit (*.net *.split) 2014-12-23T12:27:39Z protist quit (*.net *.split) 2014-12-23T12:27:39Z ndrei quit (*.net *.split) 2014-12-23T12:27:39Z hiyosi quit (*.net *.split) 2014-12-23T12:27:39Z transfinite quit (*.net *.split) 2014-12-23T12:27:39Z peterhil` quit (*.net *.split) 2014-12-23T12:27:39Z whartung quit (*.net *.split) 2014-12-23T12:27:39Z finnrobi_ quit (*.net *.split) 2014-12-23T12:27:39Z galdor_ quit (*.net *.split) 2014-12-23T12:27:40Z Colleen quit (*.net *.split) 2014-12-23T12:27:40Z eee-blt quit (*.net *.split) 2014-12-23T12:27:40Z p_l|backup quit (*.net *.split) 2014-12-23T12:27:40Z cpt_nemo quit (*.net *.split) 2014-12-23T12:27:40Z vsync quit (*.net *.split) 2014-12-23T12:27:40Z yrdz quit (*.net *.split) 2014-12-23T12:27:40Z teiresias quit (*.net *.split) 2014-12-23T12:27:40Z cyraxjoe quit (*.net *.split) 2014-12-23T12:27:40Z segmond quit (*.net *.split) 2014-12-23T12:27:40Z wormphle1m quit (*.net *.split) 2014-12-23T12:27:40Z jtz quit (*.net *.split) 2014-12-23T12:27:40Z zymurgy quit (*.net *.split) 2014-12-23T12:27:40Z Tristam quit (*.net *.split) 2014-12-23T12:27:41Z danlentz quit (*.net *.split) 2014-12-23T12:27:41Z aap quit (*.net *.split) 2014-12-23T12:27:41Z daimrod quit (*.net *.split) 2014-12-23T12:27:41Z cods quit (*.net *.split) 2014-12-23T12:27:41Z _death quit (*.net *.split) 2014-12-23T12:27:41Z tkhoa2711 quit (*.net *.split) 2014-12-23T12:27:41Z kami quit (*.net *.split) 2014-12-23T12:27:41Z BitPuffin quit (*.net *.split) 2014-12-23T12:27:41Z xrash quit (*.net *.split) 2014-12-23T12:27:41Z Shinmera quit (*.net *.split) 2014-12-23T12:27:41Z __main__ quit (*.net *.split) 2014-12-23T12:27:41Z cpc26 quit (*.net *.split) 2014-12-23T12:27:41Z s00pcan quit (*.net *.split) 2014-12-23T12:27:41Z dmiles_afk quit (*.net *.split) 2014-12-23T12:27:41Z billstclair quit (*.net *.split) 2014-12-23T12:27:41Z cjmacs quit (*.net *.split) 2014-12-23T12:27:41Z joast quit (*.net *.split) 2014-12-23T12:27:41Z kyl_ quit (*.net *.split) 2014-12-23T12:27:41Z quasisane quit (*.net *.split) 2014-12-23T12:27:42Z Neptu quit (*.net *.split) 2014-12-23T12:27:42Z dan64- quit (*.net *.split) 2014-12-23T12:27:42Z flip214 quit (*.net *.split) 2014-12-23T12:27:42Z funnel quit (*.net *.split) 2014-12-23T12:27:42Z axion quit (*.net *.split) 2014-12-23T12:27:42Z TrafficMan_ quit (*.net *.split) 2014-12-23T12:27:42Z Fade quit (*.net *.split) 2014-12-23T12:27:42Z akkad quit (*.net *.split) 2014-12-23T12:27:42Z enfors quit (*.net *.split) 2014-12-23T12:27:42Z aerique quit (*.net *.split) 2014-12-23T12:27:42Z alexherbo2 quit (*.net *.split) 2014-12-23T12:27:42Z Anarch quit (*.net *.split) 2014-12-23T12:27:42Z byte48 quit (*.net *.split) 2014-12-23T12:27:42Z lemoinem quit (*.net *.split) 2014-12-23T12:27:42Z avawn quit (*.net *.split) 2014-12-23T12:27:42Z emma quit (*.net *.split) 2014-12-23T12:27:42Z viaken quit (*.net *.split) 2014-12-23T12:27:42Z gabc quit (*.net *.split) 2014-12-23T12:27:42Z Tordek quit (*.net *.split) 2014-12-23T12:27:42Z theBlackDragon quit (*.net *.split) 2014-12-23T12:27:42Z vert2 quit (*.net *.split) 2014-12-23T12:27:42Z jsnell quit (*.net *.split) 2014-12-23T12:27:42Z phadthai quit (*.net *.split) 2014-12-23T12:27:42Z antoszka quit (*.net *.split) 2014-12-23T12:27:42Z mband quit (*.net *.split) 2014-12-23T12:27:42Z stassats quit (*.net *.split) 2014-12-23T12:27:42Z maxpeck quit (*.net *.split) 2014-12-23T12:27:42Z aftershave quit (*.net *.split) 2014-12-23T12:27:42Z hitecnologys quit (*.net *.split) 2014-12-23T12:27:42Z abeaumont_ quit (*.net *.split) 2014-12-23T12:27:42Z egp_ quit (*.net *.split) 2014-12-23T12:27:43Z REPLeffect quit (*.net *.split) 2014-12-23T12:27:43Z backupthrick quit (*.net *.split) 2014-12-23T12:27:43Z AntiSpamMeta quit (*.net *.split) 2014-12-23T12:27:43Z kalzz quit (*.net *.split) 2014-12-23T12:27:43Z guaqua quit (*.net *.split) 2014-12-23T12:27:43Z Hydan quit (*.net *.split) 2014-12-23T12:27:43Z c74d quit (*.net *.split) 2014-12-23T12:27:43Z cosmicexplorer quit (*.net *.split) 2014-12-23T12:27:43Z dxtr quit (*.net *.split) 2014-12-23T12:27:43Z nisstyre quit (*.net *.split) 2014-12-23T12:27:43Z aksatac quit (*.net *.split) 2014-12-23T12:27:43Z hekmek quit (*.net *.split) 2014-12-23T12:27:43Z mishoo quit (*.net *.split) 2014-12-23T12:27:43Z kapil__ quit (*.net *.split) 2014-12-23T12:27:43Z gendl quit (*.net *.split) 2014-12-23T12:27:43Z robot-beethoven quit (*.net *.split) 2014-12-23T12:27:43Z ehu quit (*.net *.split) 2014-12-23T12:27:43Z trn quit (*.net *.split) 2014-12-23T12:27:43Z tmh_ quit (*.net *.split) 2014-12-23T12:27:44Z InvalidCo quit (*.net *.split) 2014-12-23T12:27:44Z yorick quit (*.net *.split) 2014-12-23T12:27:44Z abbe quit (*.net *.split) 2014-12-23T12:27:44Z justinmcp_ quit (*.net *.split) 2014-12-23T12:27:44Z Sgeo quit (*.net *.split) 2014-12-23T12:27:44Z farhaven quit (*.net *.split) 2014-12-23T12:27:44Z joshe quit (*.net *.split) 2014-12-23T12:27:44Z whowantstolivefo quit (*.net *.split) 2014-12-23T12:27:44Z Phreak quit (*.net *.split) 2014-12-23T12:27:44Z fe[nl]ix quit (*.net *.split) 2014-12-23T12:27:44Z lonjil quit (*.net *.split) 2014-12-23T12:27:44Z endou______ quit (*.net *.split) 2014-12-23T12:27:44Z sword quit (*.net *.split) 2014-12-23T12:27:44Z ggherdov quit (*.net *.split) 2014-12-23T12:27:44Z jeaye quit (*.net *.split) 2014-12-23T12:27:44Z jpanest quit (*.net *.split) 2014-12-23T12:27:44Z FrostyX quit (*.net *.split) 2014-12-23T12:27:44Z hugod quit (*.net *.split) 2014-12-23T12:27:44Z SHODAN quit (*.net *.split) 2014-12-23T12:27:44Z drmeister quit (*.net *.split) 2014-12-23T12:27:44Z Ralt quit (*.net *.split) 2014-12-23T12:27:44Z jim87864` quit (*.net *.split) 2014-12-23T12:27:44Z srcerer quit (*.net *.split) 2014-12-23T12:27:44Z notty quit (*.net *.split) 2014-12-23T12:27:44Z mearnsh quit (*.net *.split) 2014-12-23T12:27:44Z TDT quit (*.net *.split) 2014-12-23T12:27:44Z ``Erik quit (*.net *.split) 2014-12-23T12:27:44Z minion quit (*.net *.split) 2014-12-23T12:27:45Z schoppenhauer quit (*.net *.split) 2014-12-23T12:27:45Z bool_ quit (*.net *.split) 2014-12-23T12:27:45Z clog quit (*.net *.split) 2014-12-23T12:27:45Z drdo quit (*.net *.split) 2014-12-23T12:27:45Z CrazyEddy quit (*.net *.split) 2014-12-23T12:27:45Z gz quit (*.net *.split) 2014-12-23T12:27:45Z johs quit (*.net *.split) 2014-12-23T12:27:45Z shifty778 quit (*.net *.split) 2014-12-23T12:27:45Z GGMethos quit (*.net *.split) 2014-12-23T12:27:45Z alchemis7 quit (*.net *.split) 2014-12-23T12:27:45Z faheem_ quit (*.net *.split) 2014-12-23T12:27:45Z gregburd_ quit (*.net *.split) 2014-12-23T12:27:45Z victor_lowther quit (*.net *.split) 2014-12-23T12:27:45Z dfox quit (*.net *.split) 2014-12-23T12:27:45Z alpha- quit (*.net *.split) 2014-12-23T12:27:45Z lpaste quit (*.net *.split) 2014-12-23T12:27:45Z sytse quit (*.net *.split) 2014-12-23T12:27:45Z eagleflo quit (*.net *.split) 2014-12-23T12:27:46Z smull quit (*.net *.split) 2014-12-23T12:27:46Z Neet quit (*.net *.split) 2014-12-23T12:27:46Z sfa quit (*.net *.split) 2014-12-23T12:27:46Z Riviera quit (*.net *.split) 2014-12-23T12:27:46Z Blkt quit (*.net *.split) 2014-12-23T12:27:46Z stux|RC-only quit (*.net *.split) 2014-12-23T12:27:46Z dlowe quit (*.net *.split) 2014-12-23T12:27:46Z pchrist quit (*.net *.split) 2014-12-23T12:27:46Z benny quit (*.net *.split) 2014-12-23T12:27:46Z rotty_ quit (*.net *.split) 2014-12-23T12:27:46Z nydel quit (*.net *.split) 2014-12-23T12:27:46Z harish quit (*.net *.split) 2014-12-23T12:27:46Z impulse quit (*.net *.split) 2014-12-23T12:27:46Z wg1024 quit (*.net *.split) 2014-12-23T12:27:46Z ahungry quit (*.net *.split) 2014-12-23T12:27:46Z ivan4th quit (*.net *.split) 2014-12-23T12:27:46Z ft quit (*.net *.split) 2014-12-23T12:27:46Z _zxq9_ quit (*.net *.split) 2014-12-23T12:27:46Z Zhivago quit (*.net *.split) 2014-12-23T12:27:46Z qlkzy quit (*.net *.split) 2014-12-23T12:27:46Z soggybread quit (*.net *.split) 2014-12-23T12:27:46Z p4nd4m4n_ quit (*.net *.split) 2014-12-23T12:27:46Z rvchangue_ quit (*.net *.split) 2014-12-23T12:27:46Z honkfestival quit (*.net *.split) 2014-12-23T12:27:46Z ianhedoesit quit (*.net *.split) 2014-12-23T12:27:46Z misv quit (*.net *.split) 2014-12-23T12:27:46Z Grue` quit (*.net *.split) 2014-12-23T12:27:47Z rk[abc] quit (*.net *.split) 2014-12-23T12:27:47Z vhost- quit (*.net *.split) 2014-12-23T12:27:47Z housel quit (*.net *.split) 2014-12-23T12:27:47Z shwouchk quit (*.net *.split) 2014-12-23T12:27:47Z thomas quit (*.net *.split) 2014-12-23T12:27:47Z j_king quit (*.net *.split) 2014-12-23T12:27:47Z p_l quit (*.net *.split) 2014-12-23T12:27:47Z phf` quit (*.net *.split) 2014-12-23T12:27:47Z eak_ quit (*.net *.split) 2014-12-23T12:27:47Z cross quit (*.net *.split) 2014-12-23T12:27:47Z zbigniew quit (*.net *.split) 2014-12-23T12:27:47Z sigjuice quit (*.net *.split) 2014-12-23T12:27:47Z ttm quit (*.net *.split) 2014-12-23T12:27:47Z stokachu quit (*.net *.split) 2014-12-23T12:27:47Z Karl_Dscc quit (*.net *.split) 2014-12-23T12:27:47Z scymtym_ quit (*.net *.split) 2014-12-23T12:27:48Z mrSpec quit (*.net *.split) 2014-12-23T12:27:48Z sdemarre quit (*.net *.split) 2014-12-23T12:27:48Z troydm quit (*.net *.split) 2014-12-23T12:27:48Z newcup quit (*.net *.split) 2014-12-23T12:27:48Z fmu quit (*.net *.split) 2014-12-23T12:27:48Z necronian quit (*.net *.split) 2014-12-23T12:27:48Z Takumo quit (*.net *.split) 2014-12-23T12:27:48Z les quit (*.net *.split) 2014-12-23T12:27:48Z sellout quit (*.net *.split) 2014-12-23T12:27:48Z replcated_ quit (*.net *.split) 2014-12-23T12:27:48Z PinealGlandOptic quit (*.net *.split) 2014-12-23T12:27:48Z zeroish quit (*.net *.split) 2014-12-23T12:27:48Z sid_cypher quit (*.net *.split) 2014-12-23T12:27:48Z wglb quit (*.net *.split) 2014-12-23T12:27:48Z Mandus quit (*.net *.split) 2014-12-23T12:27:48Z j0ni quit (*.net *.split) 2014-12-23T12:27:48Z kbtr quit (*.net *.split) 2014-12-23T12:27:48Z nightfly quit (*.net *.split) 2014-12-23T12:27:48Z ski quit (*.net *.split) 2014-12-23T12:27:48Z roo quit (*.net *.split) 2014-12-23T12:27:48Z clop2 quit (*.net *.split) 2014-12-23T12:27:48Z sivoais quit (*.net *.split) 2014-12-23T12:27:48Z ozzloy quit (*.net *.split) 2014-12-23T12:27:49Z stopbit quit (*.net *.split) 2014-12-23T12:27:49Z wasamasa quit (*.net *.split) 2014-12-23T12:27:49Z gf3 quit (*.net *.split) 2014-12-23T12:27:49Z qbit quit (*.net *.split) 2014-12-23T12:27:49Z hyoyoung_ quit (*.net *.split) 2014-12-23T12:27:49Z Borbus_ quit (*.net *.split) 2014-12-23T12:27:49Z xorpse quit (*.net *.split) 2014-12-23T12:27:49Z mikaelj quit (*.net *.split) 2014-12-23T12:27:49Z cmbntr quit (*.net *.split) 2014-12-23T12:27:49Z mood quit (*.net *.split) 2014-12-23T12:27:49Z sshirokov quit (*.net *.split) 2014-12-23T12:27:49Z zickzackv quit (*.net *.split) 2014-12-23T12:27:49Z ck_ quit (*.net *.split) 2014-12-23T12:27:49Z eMBee quit (*.net *.split) 2014-12-23T12:27:49Z sjl quit (*.net *.split) 2014-12-23T12:27:49Z oGMo quit (*.net *.split) 2014-12-23T12:27:49Z tkd quit (*.net *.split) 2014-12-23T12:27:49Z yauz quit (*.net *.split) 2014-12-23T12:27:49Z tstc quit (*.net *.split) 2014-12-23T12:27:49Z tomaw quit (*.net *.split) 2014-12-23T12:27:50Z kushal quit (*.net *.split) 2014-12-23T12:27:50Z 18VABQA2V quit (*.net *.split) 2014-12-23T12:27:50Z pjb quit (*.net *.split) 2014-12-23T12:27:50Z wooden quit (*.net *.split) 2014-12-23T12:27:50Z araujo quit (*.net *.split) 2014-12-23T12:27:50Z MrWoohoo quit (*.net *.split) 2014-12-23T12:27:50Z rtoym quit (*.net *.split) 2014-12-23T12:27:50Z anunnaki quit (*.net *.split) 2014-12-23T12:27:50Z tokenrove quit (*.net *.split) 2014-12-23T12:27:50Z ssake quit (*.net *.split) 2014-12-23T12:27:50Z joga quit (*.net *.split) 2014-12-23T12:27:50Z arrdem quit (*.net *.split) 2014-12-23T12:27:50Z copec quit (*.net *.split) 2014-12-23T12:27:50Z GuilOooo quit (*.net *.split) 2014-12-23T12:27:50Z pok_ quit (*.net *.split) 2014-12-23T12:27:50Z jasom quit (*.net *.split) 2014-12-23T12:27:50Z enn quit (*.net *.split) 2014-12-23T12:27:50Z paritybit quit (*.net *.split) 2014-12-23T12:27:50Z dim quit (*.net *.split) 2014-12-23T12:29:00Z wilfredh__ joined #lisp 2014-12-23T12:29:00Z ConstantineXVI joined #lisp 2014-12-23T12:29:00Z BlastHardcheese joined #lisp 2014-12-23T12:29:00Z kirin` joined #lisp 2014-12-23T12:29:00Z pillton joined #lisp 2014-12-23T12:29:00Z kjeldahl joined #lisp 2014-12-23T12:29:00Z cibs joined #lisp 2014-12-23T12:29:00Z brucem joined #lisp 2014-12-23T12:29:00Z Posterdati joined #lisp 2014-12-23T12:29:00Z lieven joined #lisp 2014-12-23T12:29:00Z ska-fan joined #lisp 2014-12-23T12:29:00Z Odin- joined #lisp 2014-12-23T12:29:00Z xristos joined #lisp 2014-12-23T12:29:00Z bambams joined #lisp 2014-12-23T12:29:00Z Kohelet joined #lisp 2014-12-23T12:29:00Z Xach joined #lisp 2014-12-23T12:29:00Z tessier_ joined #lisp 2014-12-23T12:29:00Z brandonz_ joined #lisp 2014-12-23T12:29:00Z john-mcaleely joined #lisp 2014-12-23T12:29:00Z Plazma joined #lisp 2014-12-23T12:29:00Z kanru joined #lisp 2014-12-23T12:29:00Z ramus joined #lisp 2014-12-23T12:29:00Z Ober joined #lisp 2014-12-23T12:29:00Z emlow joined #lisp 2014-12-23T12:29:00Z rme joined #lisp 2014-12-23T12:29:00Z brent80_plow joined #lisp 2014-12-23T12:29:00Z karswell joined #lisp 2014-12-23T12:29:00Z Kruppe joined #lisp 2014-12-23T12:29:00Z arpunk joined #lisp 2014-12-23T12:29:00Z TristamWrk joined #lisp 2014-12-23T12:29:00Z mingvs joined #lisp 2014-12-23T12:29:00Z tharugrim joined #lisp 2014-12-23T12:29:00Z snafuchs joined #lisp 2014-12-23T12:29:00Z oudeis joined #lisp 2014-12-23T12:29:00Z milosn joined #lisp 2014-12-23T12:29:00Z schjetne joined #lisp 2014-12-23T12:29:00Z Adeon joined #lisp 2014-12-23T12:29:00Z katco joined #lisp 2014-12-23T12:29:00Z jocuman joined #lisp 2014-12-23T12:29:00Z Khisanth joined #lisp 2014-12-23T12:29:00Z peccu2 joined #lisp 2014-12-23T12:29:00Z gniourf joined #lisp 2014-12-23T12:29:00Z girrig joined #lisp 2014-12-23T12:29:00Z someone joined #lisp 2014-12-23T12:29:00Z _8hzp joined #lisp 2014-12-23T12:29:00Z chrnybo` joined #lisp 2014-12-23T12:29:00Z d4gg4d joined #lisp 2014-12-23T12:29:00Z Rudolph-Miller_ joined #lisp 2014-12-23T12:29:00Z AeroNotix joined #lisp 2014-12-23T12:29:00Z tbarletz joined #lisp 2014-12-23T12:29:00Z s_e joined #lisp 2014-12-23T12:29:00Z edran joined #lisp 2014-12-23T12:29:00Z isoraqathedh joined #lisp 2014-12-23T12:29:00Z moei joined #lisp 2014-12-23T12:29:00Z chu joined #lisp 2014-12-23T12:29:00Z Patzy joined #lisp 2014-12-23T12:29:00Z pt1 joined #lisp 2014-12-23T12:29:00Z nicdev joined #lisp 2014-12-23T12:29:00Z splittist joined #lisp 2014-12-23T12:29:00Z gabot joined #lisp 2014-12-23T12:29:00Z bobbysmith007 joined #lisp 2014-12-23T12:29:00Z |3b| joined #lisp 2014-12-23T12:29:00Z chameco joined #lisp 2014-12-23T12:29:00Z gko joined #lisp 2014-12-23T12:29:00Z stacksmith joined #lisp 2014-12-23T12:29:00Z arrsim joined #lisp 2014-12-23T12:29:00Z swflint joined #lisp 2014-12-23T12:29:00Z ered joined #lisp 2014-12-23T12:29:00Z Amaan joined #lisp 2014-12-23T12:29:00Z NhanH joined #lisp 2014-12-23T12:29:00Z White_Flame joined #lisp 2014-12-23T12:29:00Z gluegadget joined #lisp 2014-12-23T12:29:00Z jayne_ joined #lisp 2014-12-23T12:29:00Z clop3 joined #lisp 2014-12-23T12:29:00Z bjorkintosh joined #lisp 2014-12-23T12:29:00Z PuercoPop joined #lisp 2014-12-23T12:29:00Z oconnore joined #lisp 2014-12-23T12:29:00Z luis joined #lisp 2014-12-23T12:29:00Z ThePhoeron joined #lisp 2014-12-23T12:29:00Z josteink joined #lisp 2014-12-23T12:29:00Z jdz joined #lisp 2014-12-23T12:29:00Z TDog joined #lisp 2014-12-23T12:29:00Z nightshade427 joined #lisp 2014-12-23T12:29:00Z sbryant joined #lisp 2014-12-23T12:29:00Z leo2007 joined #lisp 2014-12-23T12:29:00Z yenda joined #lisp 2014-12-23T12:29:00Z joneshf-laptop_ joined #lisp 2014-12-23T12:29:00Z tomaw joined #lisp 2014-12-23T12:29:00Z stokachu joined #lisp 2014-12-23T12:29:00Z ttm joined #lisp 2014-12-23T12:29:00Z sigjuice joined #lisp 2014-12-23T12:29:00Z rotty_ joined #lisp 2014-12-23T12:29:00Z tstc joined #lisp 2014-12-23T12:29:00Z zbigniew joined #lisp 2014-12-23T12:29:00Z cross joined #lisp 2014-12-23T12:29:00Z eak_ joined #lisp 2014-12-23T12:29:00Z yauz joined #lisp 2014-12-23T12:29:00Z tkd joined #lisp 2014-12-23T12:29:00Z oGMo joined #lisp 2014-12-23T12:29:00Z sjl joined #lisp 2014-12-23T12:29:00Z eMBee joined #lisp 2014-12-23T12:29:00Z mband joined #lisp 2014-12-23T12:29:00Z ck_ joined #lisp 2014-12-23T12:29:00Z zickzackv joined #lisp 2014-12-23T12:29:00Z p_l joined #lisp 2014-12-23T12:29:00Z benny joined #lisp 2014-12-23T12:29:00Z antoszka joined #lisp 2014-12-23T12:29:00Z j_king joined #lisp 2014-12-23T12:29:00Z sshirokov joined #lisp 2014-12-23T12:29:00Z pchrist joined #lisp 2014-12-23T12:29:00Z dlowe joined #lisp 2014-12-23T12:29:00Z mood joined #lisp 2014-12-23T12:29:00Z cods joined #lisp 2014-12-23T12:29:00Z daimrod joined #lisp 2014-12-23T12:29:00Z _death joined #lisp 2014-12-23T12:29:00Z stux|RC-only joined #lisp 2014-12-23T12:29:00Z Blkt joined #lisp 2014-12-23T12:29:00Z Riviera joined #lisp 2014-12-23T12:29:00Z sfa joined #lisp 2014-12-23T12:29:00Z Neet joined #lisp 2014-12-23T12:29:00Z aap joined #lisp 2014-12-23T12:29:00Z thomas joined #lisp 2014-12-23T12:29:00Z smull joined #lisp 2014-12-23T12:29:00Z phadthai joined #lisp 2014-12-23T12:29:00Z vert2 joined #lisp 2014-12-23T12:29:00Z theBlackDragon joined #lisp 2014-12-23T12:29:00Z jsnell joined #lisp 2014-12-23T12:29:00Z cmbntr joined #lisp 2014-12-23T12:29:00Z eagleflo joined #lisp 2014-12-23T12:29:00Z Tordek joined #lisp 2014-12-23T12:29:00Z danlentz joined #lisp 2014-12-23T12:29:00Z phf` joined #lisp 2014-12-23T12:29:00Z sytse joined #lisp 2014-12-23T12:29:00Z mikaelj joined #lisp 2014-12-23T12:29:00Z lpaste joined #lisp 2014-12-23T12:29:00Z Tristam joined #lisp 2014-12-23T12:29:00Z zymurgy joined #lisp 2014-12-23T12:29:00Z jtz joined #lisp 2014-12-23T12:29:00Z xorpse joined #lisp 2014-12-23T12:29:00Z Borbus_ joined #lisp 2014-12-23T12:29:00Z hyoyoung_ joined #lisp 2014-12-23T12:29:00Z gabc joined #lisp 2014-12-23T12:29:00Z wormphle1m joined #lisp 2014-12-23T12:29:00Z viaken joined #lisp 2014-12-23T12:29:00Z alpha- joined #lisp 2014-12-23T12:29:00Z segmond joined #lisp 2014-12-23T12:29:00Z emma joined #lisp 2014-12-23T12:29:00Z dfox joined #lisp 2014-12-23T12:29:00Z cyraxjoe joined #lisp 2014-12-23T12:29:00Z victor_lowther joined #lisp 2014-12-23T12:29:00Z teiresias joined #lisp 2014-12-23T12:29:00Z avawn joined #lisp 2014-12-23T12:29:00Z lemoinem joined #lisp 2014-12-23T12:29:00Z krrrcks joined #lisp 2014-12-23T12:29:00Z gregburd_ joined #lisp 2014-12-23T12:29:00Z qbit joined #lisp 2014-12-23T12:29:00Z gf3 joined #lisp 2014-12-23T12:29:00Z faheem_ joined #lisp 2014-12-23T12:29:00Z yrdz joined #lisp 2014-12-23T12:29:00Z wasamasa joined #lisp 2014-12-23T12:29:00Z stopbit joined #lisp 2014-12-23T12:29:00Z shwouchk joined #lisp 2014-12-23T12:29:00Z vsync joined #lisp 2014-12-23T12:29:00Z housel joined #lisp 2014-12-23T12:29:00Z vhost- joined #lisp 2014-12-23T12:29:00Z ozzloy joined #lisp 2014-12-23T12:29:00Z sivoais joined #lisp 2014-12-23T12:29:00Z clop2 joined #lisp 2014-12-23T12:29:00Z alchemis7 joined #lisp 2014-12-23T12:29:00Z byte48 joined #lisp 2014-12-23T12:29:00Z Anarch joined #lisp 2014-12-23T12:29:00Z GGMethos joined #lisp 2014-12-23T12:29:00Z copec joined #lisp 2014-12-23T12:29:00Z paritybit joined #lisp 2014-12-23T12:29:00Z GuilOooo joined #lisp 2014-12-23T12:29:00Z pok_ joined #lisp 2014-12-23T12:29:00Z jasom joined #lisp 2014-12-23T12:29:00Z enn joined #lisp 2014-12-23T12:29:00Z dim joined #lisp 2014-12-23T12:29:00Z roo joined #lisp 2014-12-23T12:29:00Z shifty778 joined #lisp 2014-12-23T12:29:00Z alexherbo2 joined #lisp 2014-12-23T12:29:00Z z0d joined #lisp 2014-12-23T12:29:00Z cpt_nemo joined #lisp 2014-12-23T12:29:00Z johs joined #lisp 2014-12-23T12:29:00Z gz joined #lisp 2014-12-23T12:29:00Z CrazyEddy joined #lisp 2014-12-23T12:29:00Z drdo joined #lisp 2014-12-23T12:29:00Z nightfly joined #lisp 2014-12-23T12:29:00Z ski joined #lisp 2014-12-23T12:29:00Z clog joined #lisp 2014-12-23T12:29:00Z rk[abc] joined #lisp 2014-12-23T12:29:00Z bool_ joined #lisp 2014-12-23T12:29:00Z schoppenhauer joined #lisp 2014-12-23T12:29:00Z p_l|backup joined #lisp 2014-12-23T12:29:00Z minion joined #lisp 2014-12-23T12:29:00Z ``Erik joined #lisp 2014-12-23T12:29:00Z TDT joined #lisp 2014-12-23T12:29:00Z mearnsh joined #lisp 2014-12-23T12:29:00Z notty joined #lisp 2014-12-23T12:29:00Z kbtr joined #lisp 2014-12-23T12:29:00Z j0ni joined #lisp 2014-12-23T12:29:00Z Grue` joined #lisp 2014-12-23T12:29:00Z Mandus joined #lisp 2014-12-23T12:29:00Z aerique joined #lisp 2014-12-23T12:29:00Z eee-blt joined #lisp 2014-12-23T12:29:00Z misv joined #lisp 2014-12-23T12:29:00Z jim87864` joined #lisp 2014-12-23T12:29:00Z wglb joined #lisp 2014-12-23T12:29:00Z Ralt joined #lisp 2014-12-23T12:29:00Z sid_cypher joined #lisp 2014-12-23T12:29:00Z zeroish joined #lisp 2014-12-23T12:29:00Z enfors joined #lisp 2014-12-23T12:29:00Z Colleen joined #lisp 2014-12-23T12:29:00Z drmeister joined #lisp 2014-12-23T12:29:00Z ianhedoesit joined #lisp 2014-12-23T12:29:00Z Fade joined #lisp 2014-12-23T12:29:00Z finnrobi_ joined #lisp 2014-12-23T12:29:00Z galdor_ joined #lisp 2014-12-23T12:29:00Z honkfestival joined #lisp 2014-12-23T12:29:00Z axion joined #lisp 2014-12-23T12:29:00Z SHODAN joined #lisp 2014-12-23T12:29:00Z akkad joined #lisp 2014-12-23T12:29:00Z TrafficMan_ joined #lisp 2014-12-23T12:29:00Z whartung joined #lisp 2014-12-23T12:29:00Z hugod joined #lisp 2014-12-23T12:29:00Z PinealGlandOptic joined #lisp 2014-12-23T12:29:00Z FrostyX joined #lisp 2014-12-23T12:29:00Z jpanest joined #lisp 2014-12-23T12:29:00Z jeaye joined #lisp 2014-12-23T12:29:00Z sword joined #lisp 2014-12-23T12:29:00Z ggherdov joined #lisp 2014-12-23T12:29:00Z peterhil` joined #lisp 2014-12-23T12:29:00Z replcated_ joined #lisp 2014-12-23T12:29:00Z sellout joined #lisp 2014-12-23T12:29:00Z rvchangue_ joined #lisp 2014-12-23T12:29:00Z arrdem joined #lisp 2014-12-23T12:29:00Z funnel joined #lisp 2014-12-23T12:29:00Z endou______ joined #lisp 2014-12-23T12:29:00Z lonjil joined #lisp 2014-12-23T12:29:00Z joga joined #lisp 2014-12-23T12:29:00Z p4nd4m4n_ joined #lisp 2014-12-23T12:29:00Z soggybread joined #lisp 2014-12-23T12:29:00Z flip214 joined #lisp 2014-12-23T12:29:00Z fe[nl]ix joined #lisp 2014-12-23T12:29:00Z ssake joined #lisp 2014-12-23T12:29:00Z transfinite joined #lisp 2014-12-23T12:29:00Z tokenrove joined #lisp 2014-12-23T12:29:00Z dan64- joined #lisp 2014-12-23T12:29:00Z Neptu joined #lisp 2014-12-23T12:29:00Z anunnaki joined #lisp 2014-12-23T12:29:00Z aksatac joined #lisp 2014-12-23T12:29:00Z quasisane joined #lisp 2014-12-23T12:29:00Z Phreak joined #lisp 2014-12-23T12:29:00Z les joined #lisp 2014-12-23T12:29:00Z dxtr joined #lisp 2014-12-23T12:29:00Z rick-monster joined #lisp 2014-12-23T12:29:00Z bege joined #lisp 2014-12-23T12:29:00Z sauerkra- joined #lisp 2014-12-23T12:29:00Z Subfusc joined #lisp 2014-12-23T12:29:00Z nisstyre joined #lisp 2014-12-23T12:29:00Z kyl_ joined #lisp 2014-12-23T12:29:00Z qlkzy joined #lisp 2014-12-23T12:29:00Z cosmicexplorer joined #lisp 2014-12-23T12:29:00Z larme joined #lisp 2014-12-23T12:29:00Z sol__ joined #lisp 2014-12-23T12:29:00Z Soft- joined #lisp 2014-12-23T12:29:00Z scymtym joined #lisp 2014-12-23T12:29:00Z Takumo joined #lisp 2014-12-23T12:29:00Z blahzik joined #lisp 2014-12-23T12:29:00Z K1rk joined #lisp 2014-12-23T12:29:00Z rtoym joined #lisp 2014-12-23T12:29:00Z c74d joined #lisp 2014-12-23T12:29:00Z whowantstolivefo joined #lisp 2014-12-23T12:29:00Z joast joined #lisp 2014-12-23T12:29:00Z joshe joined #lisp 2014-12-23T12:29:00Z diginet joined #lisp 2014-12-23T12:29:00Z cjmacs joined #lisp 2014-12-23T12:29:00Z necronian joined #lisp 2014-12-23T12:29:00Z billstclair joined #lisp 2014-12-23T12:29:00Z farhaven joined #lisp 2014-12-23T12:29:00Z Hydan joined #lisp 2014-12-23T12:29:00Z Sgeo joined #lisp 2014-12-23T12:29:00Z Zhivago joined #lisp 2014-12-23T12:29:00Z fikusz joined #lisp 2014-12-23T12:29:00Z MrWoohoo joined #lisp 2014-12-23T12:29:00Z easye joined #lisp 2014-12-23T12:29:00Z nand1 joined #lisp 2014-12-23T12:29:00Z justinmcp_ joined #lisp 2014-12-23T12:29:00Z salv0 joined #lisp 2014-12-23T12:29:00Z guaqua joined #lisp 2014-12-23T12:29:00Z gensym joined #lisp 2014-12-23T12:29:00Z klltkr joined #lisp 2014-12-23T12:29:00Z araujo joined #lisp 2014-12-23T12:29:00Z dmiles_afk joined #lisp 2014-12-23T12:29:00Z kalzz joined #lisp 2014-12-23T12:29:00Z abbe joined #lisp 2014-12-23T12:29:00Z ircbrowse joined #lisp 2014-12-23T12:29:00Z yorick joined #lisp 2014-12-23T12:29:00Z Longlius joined #lisp 2014-12-23T12:29:00Z InvalidCo joined #lisp 2014-12-23T12:29:00Z psy_ joined #lisp 2014-12-23T12:29:00Z killmaster joined #lisp 2014-12-23T12:29:00Z capitaomorte` joined #lisp 2014-12-23T12:29:00Z nitro_idiot_ joined #lisp 2014-12-23T12:29:00Z fmu joined #lisp 2014-12-23T12:29:00Z seg joined #lisp 2014-12-23T12:29:00Z H4ns joined #lisp 2014-12-23T12:29:00Z ecraven joined #lisp 2014-12-23T12:29:00Z tmh_ joined #lisp 2014-12-23T12:29:00Z backupthrick joined #lisp 2014-12-23T12:29:00Z ft joined #lisp 2014-12-23T12:29:00Z trn joined #lisp 2014-12-23T12:29:00Z ivan4th joined #lisp 2014-12-23T12:29:00Z wooden joined #lisp 2014-12-23T12:29:00Z DrCode joined #lisp 2014-12-23T12:29:00Z keen___________9 joined #lisp 2014-12-23T12:29:00Z newcup joined #lisp 2014-12-23T12:29:00Z pjb joined #lisp 2014-12-23T12:29:00Z ferada joined #lisp 2014-12-23T12:29:00Z troydm joined #lisp 2014-12-23T12:29:00Z Adlai joined #lisp 2014-12-23T12:29:00Z ahungry joined #lisp 2014-12-23T12:29:00Z s00pcan joined #lisp 2014-12-23T12:29:00Z cpc26 joined #lisp 2014-12-23T12:29:00Z 18VABQA2V joined #lisp 2014-12-23T12:29:00Z hiyosi joined #lisp 2014-12-23T12:29:00Z bb010g joined #lisp 2014-12-23T12:29:00Z ehu joined #lisp 2014-12-23T12:29:00Z __main__ joined #lisp 2014-12-23T12:29:00Z gendl joined #lisp 2014-12-23T12:29:00Z Vutral joined #lisp 2014-12-23T12:29:00Z kushal joined #lisp 2014-12-23T12:29:00Z kapil__ joined #lisp 2014-12-23T12:29:00Z echo-area joined #lisp 2014-12-23T12:29:00Z REPLeffect joined #lisp 2014-12-23T12:29:00Z egp_ joined #lisp 2014-12-23T12:29:00Z Oddity joined #lisp 2014-12-23T12:29:00Z ndrei joined #lisp 2014-12-23T12:29:00Z oleo__ joined #lisp 2014-12-23T12:29:00Z abeaumont_ joined #lisp 2014-12-23T12:29:00Z protist joined #lisp 2014-12-23T12:29:00Z Krystof joined #lisp 2014-12-23T12:29:00Z sdemarre joined #lisp 2014-12-23T12:29:00Z mrSpec joined #lisp 2014-12-23T12:29:00Z Shinmera joined #lisp 2014-12-23T12:29:00Z mishoo joined #lisp 2014-12-23T12:29:00Z hitecnologys joined #lisp 2014-12-23T12:29:00Z wg1024 joined #lisp 2014-12-23T12:29:00Z impulse joined #lisp 2014-12-23T12:29:00Z aftershave joined #lisp 2014-12-23T12:29:00Z pranavrc joined #lisp 2014-12-23T12:29:00Z theos joined #lisp 2014-12-23T12:29:00Z xrash joined #lisp 2014-12-23T12:29:00Z maxpeck joined #lisp 2014-12-23T12:29:00Z MoALTz joined #lisp 2014-12-23T12:29:00Z harish joined #lisp 2014-12-23T12:29:00Z Bicyclidine joined #lisp 2014-12-23T12:29:00Z hekmek joined #lisp 2014-12-23T12:29:00Z nydel joined #lisp 2014-12-23T12:29:00Z BitPuffin joined #lisp 2014-12-23T12:29:00Z stassats joined #lisp 2014-12-23T12:29:00Z scymtym_ joined #lisp 2014-12-23T12:29:00Z beetlebum joined #lisp 2014-12-23T12:29:00Z DeadTrickster joined #lisp 2014-12-23T12:29:00Z kami joined #lisp 2014-12-23T12:29:00Z nikki93_ joined #lisp 2014-12-23T12:29:00Z Karl_Dscc joined #lisp 2014-12-23T12:29:00Z dandersen joined #lisp 2014-12-23T12:29:00Z yeticry joined #lisp 2014-12-23T12:29:00Z Jesin joined #lisp 2014-12-23T12:29:00Z sismondi joined #lisp 2014-12-23T12:29:00Z mtd joined #lisp 2014-12-23T12:29:00Z yeltzooo9 joined #lisp 2014-12-23T12:29:00Z Intensity joined #lisp 2014-12-23T12:29:10Z _zxq9_ joined #lisp 2014-12-23T12:29:10Z cpc26_ joined #lisp 2014-12-23T12:29:10Z basichash quit (Max SendQ exceeded) 2014-12-23T12:29:10Z _5kg quit (Max SendQ exceeded) 2014-12-23T12:29:22Z Odin- quit (Ping timeout: 255 seconds) 2014-12-23T12:29:49Z superjudge joined #lisp 2014-12-23T12:30:17Z basichash joined #lisp 2014-12-23T12:31:03Z s00pcan_ joined #lisp 2014-12-23T12:31:28Z _5kg joined #lisp 2014-12-23T12:31:41Z AntiSpamMeta joined #lisp 2014-12-23T12:31:43Z cpc26 quit (Ping timeout: 264 seconds) 2014-12-23T12:33:49Z CrazyWoods joined #lisp 2014-12-23T12:38:19Z edgar-rft joined #lisp 2014-12-23T12:38:22Z scymtym_ quit (Ping timeout: 250 seconds) 2014-12-23T12:40:53Z arpunk quit (Remote host closed the connection) 2014-12-23T12:41:04Z arpunk joined #lisp 2014-12-23T12:45:46Z MoALTz quit (Quit: Leaving) 2014-12-23T12:46:29Z froggey joined #lisp 2014-12-23T12:46:42Z Kanae joined #lisp 2014-12-23T12:46:47Z munksgaard joined #lisp 2014-12-23T12:48:46Z moei quit (Quit: Leaving...) 2014-12-23T12:49:02Z gravicappa joined #lisp 2014-12-23T12:49:56Z moei joined #lisp 2014-12-23T12:53:08Z drmeister: Hello. 2014-12-23T12:56:20Z superjudge is now known as superjudge_ 2014-12-23T12:56:31Z drmeister: stassats: I'm making progress with SLIME. I'm thinking more in terms of key combinations than functions. Currently I have M-C-x, C-c C-c and C-c C-k (compile-file-and-load) working. When a SLIME debugger comes up I can hit "v" to jump to code. 2014-12-23T12:57:00Z stassats: ok? 2014-12-23T12:57:23Z Karl_Dscc quit (Remote host closed the connection) 2014-12-23T12:57:31Z tkhoa2711 joined #lisp 2014-12-23T12:58:06Z drmeister: Yeah - I'm not really going anywhere with that. I'm just kind of reporting in and fishing for comments that might give me insight on how to integrate SLIME. 2014-12-23T12:59:24Z thawes joined #lisp 2014-12-23T12:59:43Z drmeister: I found that reading the slime/swank/backend.lisp and slime/swank/sbcl.lisp file are pretty illuminating when it comes to understanding what the various defimplementation functions are supposed to do. 2014-12-23T13:00:48Z nikki93_ quit (Read error: Connection reset by peer) 2014-12-23T13:01:07Z nikki93 joined #lisp 2014-12-23T13:02:12Z protist: this doesn't work in my version of sbcl: (format "~a" 1) 2014-12-23T13:02:23Z Shinmera: Cause you forgot the stream argument. 2014-12-23T13:02:25Z protist: just switched over from clisp because of a different issue 2014-12-23T13:02:29Z nikki93 quit (Read error: Connection reset by peer) 2014-12-23T13:02:41Z nikki93 joined #lisp 2014-12-23T13:02:49Z protist: Shinmera: ah! durp 2014-12-23T13:03:11Z stassats: 1 is not a string and "~a" doesn't have a fill-pointer 2014-12-23T13:07:19Z hardenedapple joined #lisp 2014-12-23T13:10:53Z nikki93 quit (Ping timeout: 240 seconds) 2014-12-23T13:11:38Z Denommus joined #lisp 2014-12-23T13:14:14Z JuanDaugherty joined #lisp 2014-12-23T13:17:05Z gavilancomun joined #lisp 2014-12-23T13:19:17Z munksgaard quit (Read error: Connection reset by peer) 2014-12-23T13:19:54Z Denommus` joined #lisp 2014-12-23T13:20:51Z Denommus quit (Ping timeout: 265 seconds) 2014-12-23T13:21:41Z pranavrc quit 2014-12-23T13:22:33Z Fare joined #lisp 2014-12-23T13:28:46Z munksgaard joined #lisp 2014-12-23T13:29:53Z wilfredh__ is now known as wilfredh 2014-12-23T13:32:30Z basichash quit (Read error: Connection reset by peer) 2014-12-23T13:34:52Z soggybread quit (Ping timeout: 245 seconds) 2014-12-23T13:35:08Z soggybread joined #lisp 2014-12-23T13:40:14Z psy_ quit (Ping timeout: 245 seconds) 2014-12-23T13:41:37Z tkhoa2711 quit (Quit: tkhoa2711) 2014-12-23T13:46:11Z chu quit (Quit: leaving) 2014-12-23T13:46:39Z chu joined #lisp 2014-12-23T13:46:40Z chu quit (Changing host) 2014-12-23T13:46:40Z chu joined #lisp 2014-12-23T13:46:49Z psy_ joined #lisp 2014-12-23T13:47:41Z maxpeck quit (Remote host closed the connection) 2014-12-23T13:47:48Z tkhoa2711 joined #lisp 2014-12-23T13:50:10Z nikki93 joined #lisp 2014-12-23T13:52:33Z oudeis quit (Quit: This computer has gone to sleep) 2014-12-23T13:54:59Z shortCircuit__ joined #lisp 2014-12-23T13:57:44Z ggole joined #lisp 2014-12-23T13:58:45Z attila_lendvai joined #lisp 2014-12-23T13:58:45Z attila_lendvai quit (Changing host) 2014-12-23T13:58:45Z attila_lendvai joined #lisp 2014-12-23T13:59:37Z pt1 quit (Ping timeout: 240 seconds) 2014-12-23T14:01:56Z REPLeffect quit (Ping timeout: 265 seconds) 2014-12-23T14:02:27Z urandom__ joined #lisp 2014-12-23T14:03:54Z nikki93 quit (Read error: Connection reset by peer) 2014-12-23T14:04:04Z nikki93 joined #lisp 2014-12-23T14:04:09Z REPLeffect joined #lisp 2014-12-23T14:05:14Z nikki93 quit (Read error: Connection reset by peer) 2014-12-23T14:05:32Z nikki93 joined #lisp 2014-12-23T14:06:10Z oleo__ quit (Quit: Verlassend) 2014-12-23T14:07:29Z hiroakip joined #lisp 2014-12-23T14:10:53Z oleo joined #lisp 2014-12-23T14:11:28Z protist: I am trying to make a package...but after I make it...the function "int-char" is no longer resolvable 2014-12-23T14:11:38Z protist: this is my package http://pastebin.com/GYAsCiR3 2014-12-23T14:11:49Z protist: I mean after I make it then in-package it 2014-12-23T14:11:57Z protist: what am I missing? 2014-12-23T14:12:54Z Xach: protist: int-char is not a standard function. in what package is it defined? 2014-12-23T14:13:17Z Xach: (apropos "int-char") might help 2014-12-23T14:13:19Z cpc26 joined #lisp 2014-12-23T14:13:42Z protist: Xach: I don't know....that just tells me it is a function 2014-12-23T14:13:43Z towodo joined #lisp 2014-12-23T14:14:07Z Grue`: is this your own function ? 2014-12-23T14:14:17Z protist: Grue`: no 2014-12-23T14:14:32Z protist: Grue`: and it works if I just start the REPL naturally 2014-12-23T14:14:39Z Xach: protist: what does (symbol-package 'int-char) tell you? 2014-12-23T14:14:40Z protist: Grue`: in both clisp and sbcl 2014-12-23T14:14:50Z Grue`: so it's in CL-USER in your implementation 2014-12-23T14:15:07Z protist: Xach: # 2014-12-23T14:15:20Z protist: Xach: thank you :) 2014-12-23T14:15:20Z Grue`: my sbcl doesn't have INT-CHAR 2014-12-23T14:15:23Z cpc26_ quit (Ping timeout: 258 seconds) 2014-12-23T14:15:40Z Xach: protist: i would avoid that function and use code-char instead. 2014-12-23T14:15:53Z protist: Xach: it is in # in my sbcl :p 2014-12-23T14:15:58Z protist: Xach: good idea haha 2014-12-23T14:16:05Z protist: Xach: is code char standard? 2014-12-23T14:16:11Z Xach: protist: code-char is standard. 2014-12-23T14:16:22Z protist: Xach: what is int-char there for then? 2014-12-23T14:16:28Z protist: Xach: to save a character? :p 2014-12-23T14:16:32Z Grue`: it might not behave identically to your int-char function 2014-12-23T14:16:34Z Xach: protist: it is not there. it is not standard. 2014-12-23T14:16:44Z Xach: protist: you can ignore it and its history 2014-12-23T14:16:49Z protist: Xach: ;) 2014-12-23T14:16:56Z protist: Grue`: I'll test it a bit 2014-12-23T14:17:24Z protist: Grue`: seem to work the same to all appearences 2014-12-23T14:17:42Z protist: Grue`: (mapcar #'int-char '(1 2 3 4 5)) and (mapcar #'code-char '(1 2 3 4 5)) come out the same 2014-12-23T14:17:43Z Grue`: well there's a lot of characters... 2014-12-23T14:17:51Z protist: Grue`: true...it was a crude test 2014-12-23T14:17:53Z Denommus` quit (Ping timeout: 240 seconds) 2014-12-23T14:17:55Z Xach is reminded of brucio's reepl 2014-12-23T14:18:04Z protist: Xach: tell me about that :) 2014-12-23T14:18:50Z Xach: https://web.archive.org/web/20080204192503/http://brucio.blogspot.com/2007/06/exploration-and-experimentation.html 2014-12-23T14:19:26Z |3b| assumes int-char is a non-portable inverse of char-int, so would be indentical on systems without implementation-defined character attributes 2014-12-23T14:20:26Z beetlebum quit (Remote host closed the connection) 2014-12-23T14:21:45Z DeadTrickster quit (Read error: No route to host) 2014-12-23T14:23:21Z davazp joined #lisp 2014-12-23T14:23:22Z Fare quit (Quit: Leaving) 2014-12-23T14:24:16Z protist: Xach: hahaha that was funny 2014-12-23T14:24:32Z protist: Xach: I stumbled across your blog recently 2014-12-23T14:24:53Z basichash joined #lisp 2014-12-23T14:24:59Z protist: Xach: then I printed your face and put it on my wall 2014-12-23T14:25:16Z protist: Xach: jk about that part...but I did read a bit about Postmodern 2014-12-23T14:27:04Z Ukari joined #lisp 2014-12-23T14:27:20Z jusss joined #lisp 2014-12-23T14:37:03Z DeadTrickster joined #lisp 2014-12-23T14:39:49Z Joreji joined #lisp 2014-12-23T14:40:07Z Denommus joined #lisp 2014-12-23T14:40:33Z REPLeffect quit (Ping timeout: 252 seconds) 2014-12-23T14:41:44Z milosn quit (Remote host closed the connection) 2014-12-23T14:42:16Z REPLeffect joined #lisp 2014-12-23T14:44:06Z drmeister: Does anyone know how dlopen works or can point me at some resources? I use dlopen to load FASL files (really just .so/.dylib files) in clasp - I need to do more lispy things with it like reload FASLs multiple times and garbage collect the library. 2014-12-23T14:46:17Z wizzo joined #lisp 2014-12-23T14:46:39Z SBox joined #lisp 2014-12-23T14:48:10Z wizzo: is there anything around that explains how multidimension arrays work? 2014-12-23T14:48:33Z wizzo: specifically like.. say i have an array that's 2 deep 2014-12-23T14:48:41Z wizzo: how can i grab one of the top level arrays 2014-12-23T14:48:57Z wizzo: it seems like ared will only let me pick an absolute deepest element 2014-12-23T14:48:59Z wizzo: aref* 2014-12-23T14:49:02Z Denommus` joined #lisp 2014-12-23T14:49:35Z |3b|: wizzo: there are no "top-level arrays" 2014-12-23T14:49:58Z |3b|: a multidimensional array is just 1 object with no specified internal representation 2014-12-23T14:50:13Z wizzo: oh 2014-12-23T14:50:16Z Denommus quit (Ping timeout: 258 seconds) 2014-12-23T14:50:23Z |3b|: (at least i think it wasn't specified, but not sure now that i think about displaced arrays) 2014-12-23T14:50:23Z Denommus` is now known as Denommus 2014-12-23T14:50:27Z wizzo: can i fake it then? 2014-12-23T14:50:37Z |3b|: clhs row-major-aref 2014-12-23T14:50:37Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_row_ma.htm 2014-12-23T14:52:05Z |3b|: ok, displaced arrays act as if both were row-major, so it isn't specified, but there is a way to act as if it were 2014-12-23T14:52:10Z |3b|: clhs make-array 2014-12-23T14:52:10Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_mk_ar.htm 2014-12-23T14:52:23Z |3b|: ^ :displaced-to might be what you want 2014-12-23T14:52:32Z |3b|: if row-major-aref isn't enough 2014-12-23T14:53:12Z |3b|: note that displaced arrays can be a bit slower than maintaining an offset and index yourself, since they could be displaced to arrays that are also displaced, and so on 2014-12-23T14:53:34Z oudeis joined #lisp 2014-12-23T14:53:37Z wizzo: i might just do it myself then 2014-12-23T14:53:47Z wizzo: but what is the point of multidimensional arrays then 2014-12-23T14:54:11Z Shinmera: ...to have multidimensional arrays? 2014-12-23T14:54:56Z pjb: protist: in CL, characters may include attributes such as fonts. Then char-int will give you different values for the same character with different attributes. But there's no standard int-char (because there's no standard set of attributes and no standard encoding of this non standard set of attributes). 2014-12-23T14:55:49Z protist: pjb: ah....encoding Hell again :D 2014-12-23T14:56:16Z stassats: except that it isn't 2014-12-23T14:56:18Z pjb: It's increadible the brain washing effect C has on programmers… "but what is the point of multidimensional arrays then" !!! 2014-12-23T14:56:54Z wizzo: then tell me 2014-12-23T14:57:00Z jumblerg joined #lisp 2014-12-23T14:57:00Z wizzo: unbrainwash me 2014-12-23T14:57:06Z pjb: wizzo: matrices, tensors, etc. 2014-12-23T14:57:14Z pjb: ie. basic maths. 2014-12-23T14:57:25Z Ethan- quit (Ping timeout: 252 seconds) 2014-12-23T14:57:27Z |3b|: well, they do everything a single-dimensional array does, so no point in not having them 2014-12-23T14:57:32Z pjb: 3D chess. 2014-12-23T14:57:38Z stassats: neither requires multiple dimensions 2014-12-23T14:57:56Z |3b|: and if your task models a multidimensional array, faking them with single dimension arrays seems silly 2014-12-23T14:58:28Z stassats: multidimensional arrays are one dimensional arrays which transform the indexes upon access 2014-12-23T14:58:31Z oGMo: especially when you can use displaced arrays to address it as either one 2014-12-23T14:58:39Z |3b|: for example you can test an entire set of coordinates for being within the array with 1 call, you don't risk missing or wrong-size rows like an array-of-arrays model, etc 2014-12-23T14:58:48Z shortCircuit__ quit (Remote host closed the connection) 2014-12-23T14:59:16Z |3b|: if anything, the problem is that CL doesn't do them well enough, not that they are pointless 2014-12-23T14:59:42Z wizzo: maybe i shouldn't be using them 2014-12-23T14:59:45Z EvW joined #lisp 2014-12-23T14:59:52Z wizzo: i still don't understand but i'm not sure what what i don't understand 2014-12-23T14:59:56Z wizzo: what part* 2014-12-23T15:00:00Z |3b|: depends on what you are doing 2014-12-23T15:00:00Z pjb: wizzo: but you may still do the same thing as in C in CL. (let ((v-of-v (map-into (make-array 3) (lambda () (make-array 4 :initial-element 1))))) (list v-of-v (aref (aref v-of-v 0) 0))) --> (#(#(1 1 1 1) #(1 1 1 1) #(1 1 1 1)) 1) 2014-12-23T15:00:02Z stassats: do you know math? 2014-12-23T15:00:26Z zadock joined #lisp 2014-12-23T15:00:39Z pjb: wizzo: compare with (let ((2d-a (make-array '(3 4) :initial-element 1))) (list 2d-a (aref 2d-a 0 0))) --> (#2A((1 1 1 1) (1 1 1 1) (1 1 1 1)) 1) 2014-12-23T15:01:16Z pjb: wizzo: with #(#(1 1 1 1) #(1 1 1 1) #(1 1 1 1)) you have 4 objects. The toplevel vector, and three inner vectors. 2014-12-23T15:01:16Z stassats: i don't think the C people do arrays of arrays for MD-arrays, that's silly 2014-12-23T15:01:29Z pjb: with #2A((1 1 1 1) (1 1 1 1) (1 1 1 1)) you have a single object. 2014-12-23T15:01:30Z yrk joined #lisp 2014-12-23T15:01:40Z pjb: In the 2D array, all the slots are contiguous in memory. 2014-12-23T15:01:45Z pjb: Not so with the vector of vectors. 2014-12-23T15:02:00Z yrk quit (Changing host) 2014-12-23T15:02:00Z yrk joined #lisp 2014-12-23T15:02:10Z wizzo: ok i think i get it. i guess i'm just expecting it to work different 2014-12-23T15:02:12Z wizzo: i can live with that 2014-12-23T15:02:32Z pjb: If you need to manipulate your matrice column by column, then a vector of vector may be interesting. But otherwise a 2D array is better. 2014-12-23T15:02:48Z LiamH joined #lisp 2014-12-23T15:02:52Z wizzo: what's the difference between an array and a vector? 2014-12-23T15:03:20Z |3b|: in cl, a vector is a 1d array 2014-12-23T15:03:36Z |3b|: so all vectors are arrays 2014-12-23T15:04:15Z pjb: Imagine you have a building with 12 flats and 6 appartments on each flat, 3 on the left and 3 on the right of the corridor: (make-array '(12 2 3)) (setf (aref flat left door) "Home") (setf (aref flat right door) "Neighbor") etc. 2014-12-23T15:04:22Z Shinmera: wizzo: http://sellout.github.io/2012/03/03/common-lisp-type-hierarchy/ 2014-12-23T15:04:30Z |3b|: but arrays with 0 dimension or more than 1 dimension are not vectors 2014-12-23T15:04:33Z pjb: I mean: (setf (aref building flat right door) "Neighbor") 2014-12-23T15:05:11Z zadock quit (Ping timeout: 250 seconds) 2014-12-23T15:05:20Z jim8786453 joined #lisp 2014-12-23T15:05:40Z jim8786453 left #lisp 2014-12-23T15:05:53Z wizzo: i think what i want is a way to grab say the room on the left on floor 1, the whole object 2014-12-23T15:05:55Z jim87864` quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-12-23T15:05:58Z tharugrim quit (Ping timeout: 255 seconds) 2014-12-23T15:07:13Z wizzo: i do it now but getting the array dimension and looping through 2014-12-23T15:07:17Z wizzo: is that the way you do it? 2014-12-23T15:07:28Z wizzo: by getting* 2014-12-23T15:07:39Z pjb: wizzo: now, with displaced arrays you can get a subset of the slots of an array. But not any random subset. You're constrained by the row major order, which says that the right-most indices increment faster than the left-most indices, and therefore on a 2D array (matrix), you can only get easily a row, not a matrix, and on a 3D array (tensor), you can get easily a row or a plane, but now a column. 2014-12-23T15:07:48Z pjb: (aref tensor column plane row) 2014-12-23T15:08:46Z pjb: (make-array '(2 3) :displaced-to building :displacement-index-offset (* flat 2 3)) gives you a flat in the building. 2014-12-23T15:09:00Z wizzo: oh ok 2014-12-23T15:09:14Z wizzo: i'll look into the displaced thing i guess 2014-12-23T15:09:21Z Bill__ joined #lisp 2014-12-23T15:09:27Z pjb: it's an indirection. The displaced arrays use the same slots as the original array, thru an indirection. 2014-12-23T15:09:39Z Bill__ quit (Client Quit) 2014-12-23T15:09:44Z stassats: some floors can have a different amount of rooms 2014-12-23T15:09:48Z Karl_Dscc joined #lisp 2014-12-23T15:09:52Z pjb: Not with arrays. 2014-12-23T15:09:53Z stassats: multidimensional arrays don't work here 2014-12-23T15:10:08Z pjb: You would then need vectors of arrays or vectors of vectors, etc. 2014-12-23T15:10:11Z Bill__ joined #lisp 2014-12-23T15:10:47Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-12-23T15:11:00Z pjb: wizzo: now, there's another trick you can use, to access subset of elements in an array: use a closure accessor. 2014-12-23T15:12:22Z pjb: wizzo: you can define a function that compute the indexes from the arguments, as an abstraction. So (defun make-column (side door) (lambda (building flat &optional (new-value nil new-value-p)) (if new-value-p (setf (aref building flat side door) new-value) (aref building flat side door)))) 2014-12-23T15:12:33Z jumblerg joined #lisp 2014-12-23T15:12:37Z jumblerg quit (Client Quit) 2014-12-23T15:12:47Z pjb: This is a way of making a "displaced" array with arbitrary mapping of indices. 2014-12-23T15:13:03Z gabriel_laddel joined #lisp 2014-12-23T15:13:15Z pjb: (let ((column-00 (make-column 0 0))) (funcall column-00 building flat)) 2014-12-23T15:13:39Z hitecnologys: Is there a generic function that is called on instance when it's being garbage collected? 2014-12-23T15:13:54Z pjb: You may also wrap the building parameter in the closure. 2014-12-23T15:13:58Z gabriel_laddel quit (Changing host) 2014-12-23T15:13:58Z gabriel_laddel joined #lisp 2014-12-23T15:14:05Z genii joined #lisp 2014-12-23T15:14:12Z stassats: hitecnologys: nope, but you want finalizers 2014-12-23T15:14:14Z pjb: hitecnologys: not standard. There are finalizers in some implementations. Better not to use them. 2014-12-23T15:14:20Z pjb: really better not to use them. 2014-12-23T15:14:24Z hitecnologys: I see. 2014-12-23T15:14:30Z stassats: hitecnologys: you can use them alright 2014-12-23T15:14:46Z wizzo: i think this is going over my head a bit. is there anything you'd recommend reading about this? 2014-12-23T15:15:04Z pjb: hitecnologys: it's ccl:terminate in ccl. 2014-12-23T15:15:19Z Denommus` joined #lisp 2014-12-23T15:15:48Z hitecnologys: So, if finalizers aren't typical, I suppose I should be really careful with foreign objects stored inside instances then? 2014-12-23T15:15:58Z stassats: finalizers are typical 2014-12-23T15:16:28Z stassats: too many of them will hurt gc performance, because the API is stupid 2014-12-23T15:16:30Z enitiz joined #lisp 2014-12-23T15:16:47Z pjb: wizzo: any CL tutorial or book should tell you about closures. 2014-12-23T15:16:51Z Denommus quit (Ping timeout: 265 seconds) 2014-12-23T15:17:02Z genii is now known as ChristmasPresent 2014-12-23T15:17:23Z pjb: hitecnologys: I'm saying that you should use only if you really need them. It's easy to overdo it. 2014-12-23T15:17:29Z hitecnologys: Err, now I'm confused. Is this OK to put call of cffi:foreign-free to it or I should consider another approach? 2014-12-23T15:17:35Z zadock joined #lisp 2014-12-23T15:17:43Z hitecnologys: Or will CFFI take care of it for me? 2014-12-23T15:17:49Z stassats: it is ok, cffi won't take care 2014-12-23T15:18:05Z pjb: hitecnologys: ie. don't put finalizer on all random objects. Put them on specific wrappers for foreign objects. But why should you do that? Indeed, I'd expect the FFI to take care of it. 2014-12-23T15:18:12Z stassats: hitecnologys: there's no other approach, except not doing the thing altogether 2014-12-23T15:18:14Z hitecnologys: I see. Thanks, stassats and pjb. 2014-12-23T15:18:20Z ChristmasPresent is now known as genii 2014-12-23T15:18:43Z pjb: hitecnologys: for example, one place where it will break bad, is when you save an image. 2014-12-23T15:18:55Z stassats: dx objects don't need finalizers, but that's a completely different approach 2014-12-23T15:18:57Z pjb: objects are not garbage collected or otherwise finalized, when you save an image. 2014-12-23T15:19:14Z pjb: they are saved. 2014-12-23T15:19:22Z pjb: But not the foreign ones! :-} 2014-12-23T15:19:44Z genii is now known as ChristmasPresent 2014-12-23T15:19:47Z hitecnologys: So, I will have broken references after dump? 2014-12-23T15:19:48Z pjb: wizzo: which is to say, that the famous PCL book talks about them in chapter 6, for example. 2014-12-23T15:19:54Z pjb: hitecnologys: yes. 2014-12-23T15:19:59Z hitecnologys: I see. 2014-12-23T15:20:04Z stassats: hitecnologys: no, just don't do that 2014-12-23T15:20:07Z ChristmasPresent is now known as genii 2014-12-23T15:20:14Z wizzo: thanks 2014-12-23T15:20:15Z hitecnologys: Well, I don't expect my app to be saved anyway. 2014-12-23T15:20:18Z stassats: if things are unreacheable, they will be collected alright 2014-12-23T15:20:26Z pjb: Indeed. Don't manage foreign memory like that. Manage it explicitely. 2014-12-23T15:20:54Z stassats: if i wanted to manage memory explicitely, i would be using C 2014-12-23T15:21:09Z pjb: Then don't use C objects thru ffi!!! 2014-12-23T15:21:12Z pjb: Just say no! 2014-12-23T15:21:18Z jusss quit (Remote host closed the connection) 2014-12-23T15:21:26Z stassats: can i say no just to pjb ? 2014-12-23T15:21:34Z hitecnologys: I wish I could evade using them but OpenGL does require that. 2014-12-23T15:21:35Z pjb: Yes, you may /ignore it. 2014-12-23T15:22:05Z Bill__ quit (Ping timeout: 244 seconds) 2014-12-23T15:22:10Z Denommus` quit (Ping timeout: 250 seconds) 2014-12-23T15:22:11Z genii is now known as EbenezerScrooge 2014-12-23T15:22:13Z tharugrim joined #lisp 2014-12-23T15:22:17Z stassats: hitecnologys: there's nothing wrong with finalizers, don't listen pjb 2014-12-23T15:22:30Z stassats: hitecnologys: of course they are not magic, but for what they are advertised, they work well 2014-12-23T15:22:37Z zadock quit (Max SendQ exceeded) 2014-12-23T15:22:58Z pjb: There are various things wrong with finalizer: you don't control when they are called. You cannot cons (or not much) when they are called, to name at least 2. 2014-12-23T15:23:01Z EbenezerScrooge is now known as genii 2014-12-23T15:23:05Z hitecnologys: stassats: I got it. I see no other option anyway so I'm sticking with them for observable future. 2014-12-23T15:23:05Z zadock joined #lisp 2014-12-23T15:23:08Z dim: mmm, CCL is loading my project fine from SLIME but fails when invoked from the terminal, > Error opening shared library libsybdb.dylib : dlopen(libsybdb.dylib, 10): no suitable image found. Did find: > /usr/local/lib/libsybdb.dylib: mach-o, but wrong architecture. ; is there a known setup thingy that I should be fixing? 2014-12-23T15:23:14Z stassats: if your objects have an easy to express dx extent, then fine, but otherwise, you do need to use finalizers 2014-12-23T15:23:36Z pjb: dim: check your LD_LIBRARY_PATH? 2014-12-23T15:23:47Z nell joined #lisp 2014-12-23T15:23:48Z stassats: dim: different CCL 2014-12-23T15:24:10Z pjb: dim: or DYLD_LIBRARY_PATH 2014-12-23T15:24:29Z dim: "Version 1.10-r16196 (DarwinX8664)" in both cases 2014-12-23T15:24:35Z Bill___ joined #lisp 2014-12-23T15:25:29Z pjb: dim: see also: https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/dyld.1.html 2014-12-23T15:25:29Z dim: both path are empty on both slime and terminal 2014-12-23T15:25:36Z dim: in slime, tested with uiop:getenv 2014-12-23T15:25:55Z rme: dim: are you somehow trying to load a 32-bit library into a 64-bit lisp? 2014-12-23T15:26:15Z dim: well the same lib loads fine in SBCL, that's a though 2014-12-23T15:26:38Z drmeister: Hmm, it's looking like "dlopen" is not sufficient to support the kind of dynamic reloading of plugins that Common Lisp requires. 2014-12-23T15:26:46Z drmeister: I may need to find something else. 2014-12-23T15:27:02Z stassats: what's missing? 2014-12-23T15:27:47Z dim: rme: I think that's it 2014-12-23T15:27:50Z p_l: drmeister: dlopen and dlsym should be enough... 2014-12-23T15:28:00Z dim: I'm using ccl64 in SLIME 2014-12-23T15:28:32Z drmeister: There's the simple question of what happens if I reload a library. dlopen will just increment the reference count. I would have to dlclose the library and then dlopen it again. What if the original library provided a function that the new library does not? 2014-12-23T15:28:35Z zadock quit (Ping timeout: 250 seconds) 2014-12-23T15:28:43Z rme: dim: "otool -f -v libsybdb.dylib" will show the architectures in the library. 2014-12-23T15:28:48Z stassats: ok, i can think of two things: unused things won't be GCed, and used things will be removed upon reloading if they are missing in the new file 2014-12-23T15:29:14Z dim: rme: I'm just trying with ccl64 on the command line now, it's recompiling the world (of pgloader dependencies, 22 direct, > 50 total) 2014-12-23T15:29:22Z |3b|: hitecnologys: for opengl resources, keep in mind they may no longer be valid by the time finalizers are run, so you might prefer to just make a layer than manages them for the lifetime of the GL context instead of (something at least as long as) the lifetime of the CL objects 2014-12-23T15:29:30Z dim: Error: Filename "/Users/dim/dev/pgloader/build/quicklisp/dists/quicklisp/preferences/systems/asdf-finalizers-test\\/1.txt" contains illegal character #\/ 2014-12-23T15:29:40Z dim: and now the infamous QL bug, that's been fixed meanwhile 2014-12-23T15:29:48Z Xach: yes, fixed! 2014-12-23T15:30:09Z dim: I'm not sure I want to upgrade QL just now, I guess I would have to upgrade SBCL too? 2014-12-23T15:30:11Z Adeon: I don't know about the implementations but can finalizers be expected to run in the same thread as where the resource was created? 2014-12-23T15:30:16Z Adeon: that would be relevant to opengl 2014-12-23T15:30:44Z |3b|: no, and that is another problem for opengl resources 2014-12-23T15:31:03Z rme: Adeon: That would depend on the implementation. In ccl, termination methods run in an arbitrary thread. 2014-12-23T15:31:22Z pjb: drmeister: perhaps you could copy the old functions? 2014-12-23T15:31:29Z kapil__ quit (Quit: Connection closed for inactivity) 2014-12-23T15:31:31Z |3b|: technically even same thread isn't guaranteed to work, since user could be switching contexts 2014-12-23T15:31:34Z stassats: Adeon: not really 2014-12-23T15:31:46Z stassats: Adeon: they will be run in the thread that triggered the GC 2014-12-23T15:32:08Z drmeister: If I dlopen a library, it comes in as one chunk of code, the initialization code runs and creates load-time values and links function pointers in the code to Common Lisp symbols. The garbage collector won't manage the memory that the code loaded into because dlopen puts it wherever it puts it, I don't see any way to control it. When I dlclose the library 2014-12-23T15:32:08Z drmeister: the entire chuck of code disappears and the pointers to it go stale. 2014-12-23T15:32:09Z hitecnologys: |3b|: I was considering that too but having a backup plan might be good idea. I don't want my image arrays to leak in case I screw things up. 2014-12-23T15:32:20Z DeadTrickster quit (Read error: Connection reset by peer) 2014-12-23T15:32:32Z |3b|: hitecnologys: i'm talking specifically about things like the IDs you get back from genTextures etc 2014-12-23T15:32:55Z |3b|: most binary data you pass to GL doesn't need to stay in memory past the call, so should be managed directly around the call 2014-12-23T15:33:13Z pjb: drmeister: you can track the code of the functions and copy it. As long as it's relocatable code (which has to be, to be in a dll), it should be ok. 2014-12-23T15:33:16Z Hexstream joined #lisp 2014-12-23T15:33:30Z drmeister: pjb: I don't think I can copy code out of the library. I know that JITted code generated by LLVM is not truly position-independent-code. It gets relocated once and then it's fixed in memory. 2014-12-23T15:33:33Z pjb: drmeister: you may have to further copy referenced functions, so you may have to scan the code to find them. 2014-12-23T15:33:34Z brucem: drmeister: when you reload ... you can use a new soname and keep the old loaded ... you can also look at things like an .so per function ... but that clearly has entirely different sets of issues ... and you can look at a different way of loading / referencing code, but that'll have issues on some platforms where you aren't allowed to have executable pages. 2014-12-23T15:33:44Z |3b|: (with-foreign-objects ... initialize objects ... (gl:do-something-with foreign-objects))) 2014-12-23T15:33:52Z hitecnologys: |3b|: ah, I see. Yeah, that stuff I would probably manage explicitly. Thanks for advice. 2014-12-23T15:34:36Z drmeister: brucem: Does OpenDylan support reloading of compiled modules? Do you use dlopen? 2014-12-23T15:35:09Z stassats: loading code manually should be fairly easy 2014-12-23T15:35:10Z brucem: drmeister: on Windows, we use debugger APIs to sideload code into a running process from an external one. 2014-12-23T15:35:20Z |3b|: and even for longer-lived data, unless you need absolute last shreds of performance or are sending it to GL constantls, i'd keep it in CL data types and just convert it for specific calls 2014-12-23T15:35:22Z hitecnologys: |3b|: oh, I can do it like that? Well, that renders my wrapper over foreign arrays obsolete then. Textures are pretty much the only reason I implemented them. 2014-12-23T15:35:25Z |3b|: *constantly 2014-12-23T15:36:03Z hitecnologys: Yeah, I would probably keep them in CL data types too as they're much easier to work with. 2014-12-23T15:36:19Z drmeister: stassats: What about linking symbols and doing relocation of the loaded code - isn't that part of what dlopen does? 2014-12-23T15:37:04Z |3b|: or somewhere in between is static-vectors, which look like CL vectors (so you can possibly load data into them more easily), but still need managed explicitly and you can pass the contents to FFI functions semi-portably 2014-12-23T15:37:05Z nikki93 quit (Remote host closed the connection) 2014-12-23T15:37:12Z stassats: that's easy as well, unless you do not generate the code yourself 2014-12-23T15:37:32Z linux_dream joined #lisp 2014-12-23T15:37:37Z drmeister: stassats: I use LLVM to generate the code - they are plain old .so/.dylib files. 2014-12-23T15:37:38Z nikki93 joined #lisp 2014-12-23T15:37:52Z hitecnologys: |3b|: I see. Thanks for help. 2014-12-23T15:38:07Z brucem: drmeister: You can still write your own ELF loader ... it isn't that bad. 2014-12-23T15:38:15Z gravicappa quit (Remote host closed the connection) 2014-12-23T15:38:54Z stassats: drmeister: and symbols should be CL symbols, so, dlopen can't help you much here 2014-12-23T15:38:59Z drmeister: I'm looking into plugin libraries for C/C++ - someone surely solved this problem before. 2014-12-23T15:39:34Z stassats: .so is not so plain, can yu make llvm generate just raw machine code? 2014-12-23T15:40:19Z drmeister: stassats: There are CL symbols that are linked when the initialization code runs and then there are the dlsym symbols. Currently everything works but I can only load a .so/.dylib file once. 2014-12-23T15:40:20Z ndrei quit (Ping timeout: 256 seconds) 2014-12-23T15:41:19Z stassats: i just mean that dlopen doesn't give you much 2014-12-23T15:41:28Z zadock joined #lisp 2014-12-23T15:41:31Z hiroakip quit (Ping timeout: 255 seconds) 2014-12-23T15:41:37Z nikki93_ joined #lisp 2014-12-23T15:41:46Z nikki93 quit (Read error: No route to host) 2014-12-23T15:42:13Z SBox quit (Quit: WeeChat 1.0.1) 2014-12-23T15:42:15Z p_l: drmeister: you can do dlclose() to close the library 2014-12-23T15:42:28Z stassats: p_l: that's not the problem 2014-12-23T15:42:30Z p_l: not sure about how it goes on OSX 2014-12-23T15:42:38Z stassats: in fact, that's what causes the problem 2014-12-23T15:42:42Z p_l: hmmm 2014-12-23T15:43:01Z drmeister: stassats: I don't know how much dlopen gives me - I'm digging deeper to figure it out. 2014-12-23T15:43:21Z p_l: drmeister: Can you avoid generating initializers? 2014-12-23T15:43:28Z stassats: drmeister: how do you implement constants? 2014-12-23T15:43:28Z p_l: and instead call them explicitly? 2014-12-23T15:43:33Z drmeister: p_l: dlopen/dlclose are not quite fine-grain enough to support Common Lisp - the way I'm using them. 2014-12-23T15:44:12Z p_l: drmeister: what you described reminds me of automatic initializers in ELF binaries 2014-12-23T15:44:27Z stassats: in sbcl, before the instructions in the code objects there's a vector of constants, so, no relocation needed (on sane arches, x86, i'm looking at you) 2014-12-23T15:45:04Z drmeister: stassats: When the initialization code for a module runs it creates objects on the heap and sets up pointers to them in an array of "load time values". The code then references that array using integer indices to access the objects. 2014-12-23T15:45:18Z DeadTrickster joined #lisp 2014-12-23T15:45:38Z stassats: so, can you get a binary stream from LLVM? 2014-12-23T15:45:39Z p_l: i.e. [lisp]dlopen(lib) -> [libdl]load_library() -> [libdl]call_initializers_in_library() -> [libdl] return ; something like this happens 2014-12-23T15:45:46Z milosn joined #lisp 2014-12-23T15:46:02Z Bill___ quit (Remote host closed the connection) 2014-12-23T15:46:04Z stassats: in SBCL constants are accessed PC-relatively 2014-12-23T15:46:07Z p_l: if the initializers set up things you can't control it properly from dlopen() 2014-12-23T15:46:17Z blackwolf joined #lisp 2014-12-23T15:46:52Z blackwolf left #lisp 2014-12-23T15:47:01Z drmeister: stassats: I can get whatever I want from LLVM. Perhaps I could eliminate all need for dlsym type symbols and linking by passing an array of function pointers to the module initialization code. 2014-12-23T15:47:49Z p_l: drmeister: I think it's a bit how ECL does it 2014-12-23T15:47:49Z stassats: the layout of a code object is like [some not relevant stuff][constant 1][constant 2][machine instructions] 2014-12-23T15:48:01Z drmeister: p_l: I'm not sure if your initializers and my "single module initializer" are the same thing. 2014-12-23T15:48:13Z stassats: so, upon loading fasls the fasloader just needs to fill constant slots with heap allocated objects and be done with it 2014-12-23T15:49:09Z p_l: drmeister: initializers I mentioned earlier are executed by dynamic linker based on special symbols in ELF 2014-12-23T15:49:27Z p_l: drmeister: Eliminating them makes for much more usable module :) 2014-12-23T15:49:37Z p_l: (stuff that commonly generates them: C++) 2014-12-23T15:50:18Z enitiz quit (Quit: Leaving) 2014-12-23T15:50:39Z stassats: drmeister: so, it should be easy to generate proper fasls 2014-12-23T15:50:44Z enitiz joined #lisp 2014-12-23T15:51:06Z drmeister: p_l: Hmmm. My Common Lisp compiler doesn't generate any of that. C++ library binding modules may generate that stuff. Currently I use dlopen to load both code generated by my Common Lisp compiler and C++ library binding modules. 2014-12-23T15:51:36Z stassats: and you would be able to save images if you don't use .so for fasls 2014-12-23T15:52:11Z drmeister: stassats: Maybe I can eliminate all dlopen/dlsym linking and then it would be easier to load fasl files. 2014-12-23T15:52:34Z stassats: what architetures do you support? 2014-12-23T15:52:42Z drmeister: Currently - linux and OS X 2014-12-23T15:52:52Z protist: is there a predicate to check if something is an a-list? 2014-12-23T15:52:55Z stassats: hardware 2014-12-23T15:53:00Z stassats: protist: no 2014-12-23T15:53:04Z drmeister: x86. 2014-12-23T15:53:04Z protist: stassats: thank you 2014-12-23T15:53:32Z stassats: drmeister: well, that's problematic with linking and relocation 2014-12-23T15:53:41Z drmeister: Why? 2014-12-23T15:53:42Z normanrichards joined #lisp 2014-12-23T15:53:44Z normanrichards quit (Read error: Connection reset by peer) 2014-12-23T15:53:53Z stassats: no PC relative 2014-12-23T15:54:23Z stassats: no sane PC-relative addressing, that is 2014-12-23T15:54:33Z nyef joined #lisp 2014-12-23T15:54:40Z p_l: at least for 32bit code 2014-12-23T15:54:52Z nyef: G'morning all. 2014-12-23T15:54:55Z drmeister: I thought x86 could support position independent code. There are issues with LLVM that I'm still trying to get to the bottom of but you are saying there is a fundamental reason why it isn't supported on x86? 2014-12-23T15:54:56Z stassats: p_l: is it easier for 16-bit code? 2014-12-23T15:55:05Z drmeister: Good morning nyef. 2014-12-23T15:55:17Z p_l: stassats: 64bit, because it all gets conflated ;) 2014-12-23T15:55:24Z stassats: p_l: that would be x86-64 2014-12-23T15:55:33Z drmeister: Sorry - I should be more explicit. 2014-12-23T15:55:37Z nyef: drmeister: Unlike many architectures, 32-bit x86 has no PC-relative data addressing mode. 2014-12-23T15:55:52Z linux_dream quit (Quit: Leaving) 2014-12-23T15:56:04Z drmeister: I support x86-64 - and maybe x86-32bit I'm thinking of just supporting x86-64. 2014-12-23T15:56:10Z stassats: you can get pc with CALL to the next instruction and POP, which is horrible 2014-12-23T15:56:20Z nyef: There IS a PC-relative CALL instruction, so all is not lost on that front, but it's kindof a hack to use and screws with branch prediction. 2014-12-23T15:56:53Z stassats: ELF has a lot of special things for x86 2014-12-23T15:57:13Z nyef: SBCL has a lot of special things for x86 as well. 2014-12-23T15:57:26Z drmeister: nyef: We are talking about reloading FASL files repeatedly. Currently I don't support it (which is wrong and makes SLIME much less useful) because I'm using dlopen to load FASL files. 2014-12-23T15:58:05Z stassats: you could mitigate one of the problems, always load new .sos 2014-12-23T15:58:23Z stassats: but that leaves the old stuff not gced 2014-12-23T15:58:27Z drmeister: I'm wondering if I have to leave dlopen behind and move to something that lets me repeatedly reload FASL files. 2014-12-23T15:58:54Z drmeister: stassats: I could live with that for now - but I'd have to generate a new file name for every .so I generate wouldn't I? 2014-12-23T15:59:16Z nyef: (SBCL code is position-independent, except for assembly-routines, the runtime, and x86 code. For x86 code there's an associated vector of base relocations to perform when relocating any function in the heap.) 2014-12-23T15:59:31Z drmeister: It would be messy - actually too messy for me. Since I'm thinking about it now I should just solve this problem once and for all. 2014-12-23T15:59:50Z stassats: once and for all and in a good way: your own FASL format 2014-12-23T16:00:15Z nikki93_ quit (Read error: Connection reset by peer) 2014-12-23T16:00:31Z stassats: and as i said, if you just load code into the heap then you can more easily save images 2014-12-23T16:00:53Z nikki93 joined #lisp 2014-12-23T16:01:09Z drmeister: dlopen relocates code and resolves symbols. If I pass a vector of function pointers to the module initialization routine then I don't need to resolve symbols and all I need to worry about is relocating the code. 2014-12-23T16:01:23Z stassats: elfs are for C, C++, so, no matter how you turn it it would be suboptimal 2014-12-23T16:01:48Z drmeister: stassats: I don't understand that last bit. 2014-12-23T16:02:31Z stassats: (ldb (byte 1 0) (char-code #\l)) => 0 2014-12-23T16:02:35Z stassats: well, it's just zero 2014-12-23T16:03:07Z leo2007 quit (Quit: rcirc on GNU Emacs 24.4.2) 2014-12-23T16:04:42Z Ukari quit (Ping timeout: 256 seconds) 2014-12-23T16:05:45Z tkhoa2711 quit (Quit: tkhoa2711) 2014-12-23T16:05:59Z ASau quit (Ping timeout: 252 seconds) 2014-12-23T16:07:17Z drmeister: Loading code into the heap would be great if I could manage it. 2014-12-23T16:07:29Z drmeister: I know where I stand with the heap. 2014-12-23T16:08:13Z stassats: sbcl has code objects, it contains both constants and code 2014-12-23T16:08:43Z tkhoa2711 joined #lisp 2014-12-23T16:09:06Z stassats: and then there are function objects, they point into the middle of the code object, where the instructions start 2014-12-23T16:09:10Z drmeister: I would do the same thing but the constants would be initialized by an initialization function provided by the code. 2014-12-23T16:09:34Z drmeister: Right. I would do that as well. 2014-12-23T16:09:37Z Longlius quit (Ping timeout: 244 seconds) 2014-12-23T16:09:50Z drmeister: And as long as one pointer still points to a function the code object stays alive. 2014-12-23T16:09:57Z stassats: but then a single code object can contain multiple functions 2014-12-23T16:10:05Z drmeister: Yes, that's what I have. 2014-12-23T16:10:38Z drmeister: It's an object with multiple interior pointers - no big deal. 2014-12-23T16:12:03Z ndrei joined #lisp 2014-12-23T16:12:10Z drmeister: I'm not sure I can get it to be truly "position independent code" but if not then I would put it in a non-moving memory pool. If I could then I would put it in a copying memory pool. The Boehm garbage collector only has non-moving memory pools but the Memory Pool system has both. 2014-12-23T16:12:33Z eudoxia joined #lisp 2014-12-23T16:13:08Z stassats: with x86-64 it's easy, but with x86 you would have to rewrite code upon movement 2014-12-23T16:13:27Z stassats: you need to place holes of sufficient size for the offsets 2014-12-23T16:15:14Z stassats: just use some 32-bit placeholder value so that llvm uses the least compact encoding, then note where this happens and fix it up later 2014-12-23T16:15:50Z stassats: and, ew, that does sound hacky 2014-12-23T16:16:18Z munksgaard quit (Ping timeout: 265 seconds) 2014-12-23T16:17:10Z cmack joined #lisp 2014-12-23T16:17:37Z stassats: but CALL X X: POP Y is even more bad 2014-12-23T16:18:02Z drdanmaku joined #lisp 2014-12-23T16:19:15Z nyef: It's not "worse" it's "more bad", just to emphasize how hacky it is. 2014-12-23T16:19:49Z stassats: just use com files 2014-12-23T16:20:22Z nyef: ... VMS programs? 2014-12-23T16:20:53Z kushal quit (Ping timeout: 240 seconds) 2014-12-23T16:20:56Z stassats: i was thinking dos 2014-12-23T16:21:37Z notty quit (Ping timeout: 272 seconds) 2014-12-23T16:22:50Z davazp quit (Ping timeout: 250 seconds) 2014-12-23T16:22:55Z nyef: That's what I figured, but there was enough ambiguity there... (-: 2014-12-23T16:24:20Z notty joined #lisp 2014-12-23T16:25:19Z Longlius joined #lisp 2014-12-23T16:27:28Z normanrichards joined #lisp 2014-12-23T16:27:29Z normanrichards quit (Read error: Connection reset by peer) 2014-12-23T16:29:24Z hekmek quit (Quit: Verlassend) 2014-12-23T16:30:39Z enitiz quit (Ping timeout: 245 seconds) 2014-12-23T16:31:04Z sword quit (Read error: No route to host) 2014-12-23T16:31:07Z basichash quit (Ping timeout: 272 seconds) 2014-12-23T16:35:58Z holycow joined #lisp 2014-12-23T16:36:21Z holycow is now known as Guest66578 2014-12-23T16:36:50Z drmeister: Just calling dlclose on the handle and then dlopen again is really easy but inherently dangerous. 2014-12-23T16:37:02Z drmeister: A safe solution requires a lot more work. 2014-12-23T16:37:30Z harish_ joined #lisp 2014-12-23T16:37:39Z harish quit (Read error: Connection reset by peer) 2014-12-23T16:38:16Z drmeister: I'm going to implement the dangerous solution and see if it works so long as I don't remove function definitions. That will tell me if there are any other problems that I'm not considering. 2014-12-23T16:41:22Z oudeis quit (Quit: This computer has gone to sleep) 2014-12-23T16:45:18Z shka joined #lisp 2014-12-23T16:45:22Z shka: hi 2014-12-23T16:45:45Z davorb joined #lisp 2014-12-23T16:46:36Z eudoxia quit (Quit: Leaving) 2014-12-23T16:47:34Z drmeister: Another simple solution that is safe is to modify SWANK-COMPILE-FILE to generate a new FASL file in /tmp every time. 2014-12-23T16:47:54Z rpg joined #lisp 2014-12-23T16:47:58Z drmeister: I'm implementing the simple/dangerous solution and the simple/safe solution. 2014-12-23T16:49:23Z fantazo joined #lisp 2014-12-23T16:50:59Z shka: is there any sort of documentation for xecto avaible? 2014-12-23T16:55:12Z wheelsucker joined #lisp 2014-12-23T16:55:40Z fsvehla joined #lisp 2014-12-23T16:58:54Z nell quit (Ping timeout: 244 seconds) 2014-12-23T16:59:35Z zadock quit (Ping timeout: 250 seconds) 2014-12-23T17:00:26Z drmeister: So, as long as I don't remove functions from the FASL, calling dlclose on the FASL and then dlopen works fine. 2014-12-23T17:02:50Z EvW quit (Ping timeout: 244 seconds) 2014-12-23T17:05:13Z sword joined #lisp 2014-12-23T17:06:59Z nikki93_ joined #lisp 2014-12-23T17:08:01Z nikki93 quit (Read error: Connection reset by peer) 2014-12-23T17:08:39Z scymtym quit (Remote host closed the connection) 2014-12-23T17:16:15Z gavilancomun quit (Quit: ChatZilla 0.9.91.1 [Firefox 34.0/20141125180439]) 2014-12-23T17:21:57Z shka: i have a silly question 2014-12-23T17:22:08Z stassats: i have an equally silly answer 2014-12-23T17:22:13Z shka: i have function with :keyword 2014-12-23T17:22:43Z shka: and another function with another key argument that happens to be the same :keyword 2014-12-23T17:23:05Z shka: and now i want to do something like (function :keyword :keyword) 2014-12-23T17:23:14Z shka: second :keyword is any argument 2014-12-23T17:23:22Z shka: and lol ;] 2014-12-23T17:23:47Z Hexstream: Maybe you want to capture all key arguments to the outer function with &rest and then forward it to the inner function with APPLY. 2014-12-23T17:23:50Z genii is now known as EbenezerScrooge 2014-12-23T17:24:04Z EbenezerScrooge is now known as genii 2014-12-23T17:24:42Z stassats: shka: and it's time to ask your question 2014-12-23T17:25:22Z shka: stassats: i have a key argument called :foo and i want to pass :foo symbol as :foo argument 2014-12-23T17:25:25Z stassats: because what you described is hardly comprehensible 2014-12-23T17:25:39Z Bicyclidine: shka: that's fine. 2014-12-23T17:25:47Z stassats: maybe you should just paste the code instead? 2014-12-23T17:26:02Z shka: Bicyclidine: ok, thanks 2014-12-23T17:26:20Z shka: stassats: (bar :foo :foo) 2014-12-23T17:27:36Z stassats: and? 2014-12-23T17:27:44Z Bicyclidine: the keyword section is just a plist, having keywords as arguments is fine 2014-12-23T17:28:08Z shka: ok, thanks 2014-12-23T17:28:13Z nyef: (It's not quite JUST a plist, in terms of parsing, but it is in terms of representation.) 2014-12-23T17:28:42Z necronian quit (Ping timeout: 250 seconds) 2014-12-23T17:28:59Z grungier quit (Remote host closed the connection) 2014-12-23T17:29:48Z Bicyclidine: nyef: :allow-other-keys is the devil 2014-12-23T17:29:59Z necronian joined #lisp 2014-12-23T17:30:16Z stassats: that's just another keyword argument 2014-12-23T17:30:24Z Bicyclidine: but a devlish one 2014-12-23T17:30:57Z Patzy quit (Ping timeout: 240 seconds) 2014-12-23T17:31:19Z grungier joined #lisp 2014-12-23T17:31:46Z Hexstream: Just another argument... with global repercussions. ;P I remember kinda flipping out when I learned about it. 2014-12-23T17:31:53Z Patzy joined #lisp 2014-12-23T17:32:59Z stassats: it's just for error checking, no big deal 2014-12-23T17:33:03Z dim: well defgeneric &key's processing is about the same as manual &allow-other-keys, right? 2014-12-23T17:33:13Z stassats: people even use (safety 0) 2014-12-23T17:33:38Z stassats: dim: not exactly 2014-12-23T17:34:05Z dim: defmethod is still allowed more keywords, IIUC 2014-12-23T17:34:54Z askatasuna joined #lisp 2014-12-23T17:35:35Z stassats: only if you use &allow-other-keys 2014-12-23T17:36:08Z innertracks joined #lisp 2014-12-23T17:36:48Z Evidlo joined #lisp 2014-12-23T17:36:48Z dim: well that's not what I'm doing and I have no complaints from the compilers 2014-12-23T17:37:07Z alexherbo2 quit (Ping timeout: 264 seconds) 2014-12-23T17:37:10Z Evidlo: Is Clisp a common interpreter? 2014-12-23T17:37:16Z stassats: no 2014-12-23T17:37:16Z Evidlo: *popular 2014-12-23T17:37:24Z dim: nope, I don't think so 2014-12-23T17:37:31Z Evidlo: What are some mainstream ones? 2014-12-23T17:37:32Z dim: sbcl and ccl are quite popular 2014-12-23T17:37:49Z dim: as far as open source implementations 2014-12-23T17:37:53Z dim: +go 2014-12-23T17:37:58Z Hexstream: I think the set of accepted keyword arguments for the defgeneric is the union of all keyword arguments accepted by all methods on that generic-function, unless the generic function or any of its methods has &allow-other-keys, in which case any keywords are accepted. 2014-12-23T17:38:27Z gravicappa joined #lisp 2014-12-23T17:38:33Z Evidlo: Does sbcl support command searching or line history? 2014-12-23T17:38:40Z Evidlo: Or am I just on an old version 2014-12-23T17:38:47Z stassats: it does 2014-12-23T17:38:59Z Hexstream: http://www.lispworks.com/documentation/HyperSpec/Body/07_fe.htm for the full story about generic function and method keyword arguments, it's a bit harder to find than I remembered. 2014-12-23T17:39:51Z Hexstream: Ok, the set of accepted keyword arguments is relative to only the applicable methods, not all methods. 2014-12-23T17:39:51Z gravicappa quit (Read error: Connection reset by peer) 2014-12-23T17:40:00Z Evidlo: The main reason I ask is because I wanted to hide all those restarts every time I get an error. The list just gets longer and longer 2014-12-23T17:40:20Z Evidlo: Looks like sbcl does it, too 2014-12-23T17:40:31Z drmeister: stassats: In swank-compile-file - if I redirect the output-file to a unique file in /tmp - would that break anything? swank-compile-file is provided both an input-file and output-file. I'm asking if I can disregard the output-file. 2014-12-23T17:40:39Z stassats: Evidlo: you have to exit the debugger 2014-12-23T17:40:45Z ndrei quit (Ping timeout: 244 seconds) 2014-12-23T17:40:51Z oudeis joined #lisp 2014-12-23T17:41:00Z stassats: Evidlo: besides, nobody uses bare repl for anything serious 2014-12-23T17:41:06Z nikki93_ quit (Remote host closed the connection) 2014-12-23T17:41:22Z stassats: drmeister: sure, *compile-file-pathname* 2014-12-23T17:41:35Z stassats: or rather, *load-pathname* 2014-12-23T17:41:43Z nikki93 joined #lisp 2014-12-23T17:41:55Z nikki93 quit (Read error: Connection reset by peer) 2014-12-23T17:42:00Z Evidlo: stassats: It's just kind of annoying when I'm learning the syntax 2014-12-23T17:42:01Z slyrus joined #lisp 2014-12-23T17:42:17Z oudeis quit (Client Quit) 2014-12-23T17:42:23Z nikki93 joined #lisp 2014-12-23T17:42:23Z Evidlo: I'll probably stop using it soon 2014-12-23T17:42:40Z drmeister: Ok, got it 2014-12-23T17:43:19Z dim: Evidlo: Emacs + SLIME is a popular way to hack in CL 2014-12-23T17:44:00Z PuercoPop: Evidlo: it would be easier for you if you use slime. (In this case q would quit the debugger for you) 2014-12-23T17:44:14Z Evidlo: I'm more of Vim guy 2014-12-23T17:44:18Z oudeis joined #lisp 2014-12-23T17:44:26Z Hexstream: Time to change that. ;P 2014-12-23T17:44:28Z dim: there's a slimv project available, you might want to try that 2014-12-23T17:44:31Z stassats: Evidlo: it's not about religion 2014-12-23T17:44:51Z dim: I had a customer try to setup slimv and fail 2014-12-23T17:45:02Z dim: I would advice trying emacs + slime + evil-mode maybe 2014-12-23T17:45:52Z dim: (evil-mode allows you to use Emacs with vim behavior) 2014-12-23T17:45:52Z White_Flame: I disliked emacs, but it really is the primary Lisp IDE setup. I learned it and got used to it. 2014-12-23T17:46:11Z dim: emacs with paredit and slime is quite a good setup for cl 2014-12-23T17:46:22Z dim: even if stassats is soon to release something much better ;-) 2014-12-23T17:46:37Z stassats: sometime before 2025 2014-12-23T17:46:43Z Evidlo: What kind of stuff does it add that I can't do in a normal editor? 2014-12-23T17:46:46Z Hexstream: paredit is optional, if I'm any indication. (Learning everything at once can be a bit annoying...) 2014-12-23T17:46:55Z stassats: minion: please tell Evidlo about slime.mov 2014-12-23T17:46:55Z minion: Evidlo: please look at slime.mov: "using SLIME" video by Marco Baringer, http://common-lisp.net/project/movies/movies/slime.mov 2014-12-23T17:47:07Z dim: Evidlo: compiling current function, a REPL, etc 2014-12-23T17:47:18Z White_Flame: Evidlo: integrated debugger, see the source location of a symbol 2014-12-23T17:47:35Z White_Flame: paredit, which does a lot of basic sexpr wrangling for you 2014-12-23T17:47:42Z Hexstream: Hum. The stassats slime replacement thing is news to me. 2014-12-23T17:48:01Z stassats: haven't touched it in a year 2014-12-23T17:48:08Z Hexstream: Ok. 2014-12-23T17:48:50Z stassats: there was a couple of videos of some basic half working features: http://www.youtube.com/watch?v=FUw3ECmiLJg 2014-12-23T17:48:52Z Hexstream: As long as you're not 5+ years late on releasing a web framework like me... 2014-12-23T17:50:06Z Hexstream: Seriously? Opening parentheses and double quotes one by one and then typing in the stuff and then closing the stuff? This is barbaric. 2014-12-23T17:50:20Z stassats: what did you not understand? 2014-12-23T17:50:26Z stassats: "basic half working" 2014-12-23T17:50:31Z alexherbo2 joined #lisp 2014-12-23T17:50:48Z stassats: i also faked it by writing on one line, no indentation support 2014-12-23T17:50:55Z stassats: there's actually no file saving feature 2014-12-23T17:51:30Z Hexstream: Making "open a parenthese and close it and put the cursor in the middle" be one single atomic operation shouldn't be hard. 2014-12-23T17:51:42Z oudeis quit (Quit: This computer has gone to sleep) 2014-12-23T17:51:59Z stassats: and i like the following feature: http://www.youtube.com/watch?v=Ur0pNQiuKjo 2014-12-23T17:52:33Z stassats: which is nicer than what slime does 2014-12-23T17:53:50Z stassats: disregard bad window managment and video recording artifacts 2014-12-23T17:53:59Z stassats: basically, disregard anything which doesn't look nice 2014-12-23T17:54:50Z dim: hehe 2014-12-23T17:55:19Z dim: I should include that in my softs, disregard any bug and it's working perfectly ;-) 2014-12-23T17:55:24Z stassats: it will be ready in time for fusion nuclear reactors and graphene appliances 2014-12-23T17:57:03Z akkad: https://gist.github.com/4f0b0c0955e09622ca0d encryption works, but it never decrypts to the same thing. 2014-12-23T17:57:14Z stassats: that's a minor problem 2014-12-23T17:58:07Z dim: try rot13, it's easier to decrypt 2014-12-23T17:58:23Z stassats: protip: (coerce (mapcar #'code-char message) 'string) => (map 'string #'code-char message) 2014-12-23T17:58:56Z stassats: you even have (coerce (mapcar #'code-char (coerce message 'list) 'string)) => (map 'string #'code-char message) 2014-12-23T18:00:01Z akkad: dim you have to use triple rot13, otherwise double rot13 suffers from 'meet in the middle' exploits 2014-12-23T18:00:25Z akkad: stassats: thanks 2014-12-23T18:00:33Z wg1024 quit 2014-12-23T18:01:23Z stassats: oops, (ironclad:make-prng :fortuna) doesn't finish for me any time soon 2014-12-23T18:02:08Z akkad: you lack entropy grasshopper 2014-12-23T18:02:30Z stassats: well, yeah, i'm jumping around the room it still doesn't finish 2014-12-23T18:03:01Z EvW joined #lisp 2014-12-23T18:03:18Z oudeis joined #lisp 2014-12-23T18:04:48Z akkad: odd 2014-12-23T18:04:55Z stassats: ok, what i suspected, you need (ironclad:decrypt-in-place (ironclad:make-cipher 'ironclad:rc6 :initialization-vector iv :key key :mode 'ironclad:cfb) message) 2014-12-23T18:06:01Z stassats: (i had to sing and clap, not just jump around, to get it to finish) 2014-12-23T18:07:14Z Hexstream: stassats: I really missed you! 2014-12-23T18:07:23Z alexherbo2 quit (Remote host closed the connection) 2014-12-23T18:08:50Z gravicappa joined #lisp 2014-12-23T18:09:06Z drmeister: Does anyone know the SLIME maintainers? I hear they aren't accepting changes to SLIME on github at the moment. Do you think they would accept a new implementation swank/clasp.lisp? 2014-12-23T18:09:17Z stassats: i know one 2014-12-23T18:10:38Z drmeister: Really? What's he like? Is he a nice guy? 2014-12-23T18:10:47Z drmeister is not completely clueless. 2014-12-23T18:10:50Z stassats: you bet 2014-12-23T18:11:21Z stassats: well, make a pull request, but you also have to modify swank-loader or what's it called now 2014-12-23T18:11:37Z drmeister: I implemented a quick and dirty solution dlclose/dlopen of modules with the same path and within swank-compile-file I generate a new FASL file in /tmp every time you use C-c C-k. 2014-12-23T18:11:46Z drmeister: It works great. 2014-12-23T18:12:15Z drmeister: Ok - will do. 2014-12-23T18:13:04Z stassats: in the past, all implementors had commit access to slime, not sure what is the current policy 2014-12-23T18:13:29Z stassats: i naturally don't care, but maybe the cabal does 2014-12-23T18:13:32Z nyef: drmeister: What do you do with (with-open-file (some-fasl "some.fasl") (load some-fasl)) ? 2014-12-23T18:13:33Z drmeister: This is awesome - I have basic SLIME working. Not even that basic. I can jump to source code from the backtraces. 2014-12-23T18:13:59Z ndrei joined #lisp 2014-12-23T18:14:21Z drmeister: nyef: I don't know. Let's see. 2014-12-23T18:14:42Z akkad: stats rebuild cipher for both. ok thanks 2014-12-23T18:14:44Z nyef: And then there's the bit where you load the fasl bytes into a vector in memory and use that one flexi-stream class to produce a suitable octet stream for it... 2014-12-23T18:15:02Z stassats: akkad: it's destructibely modified 2014-12-23T18:15:23Z akkad: oic 2014-12-23T18:15:39Z akkad: thanks 2014-12-23T18:15:42Z s00pcan_ quit (Ping timeout: 245 seconds) 2014-12-23T18:16:14Z drmeister: Hmm, it's weird, when I try to type (with-open-file ... emacs starts bleeping and I see "error in process filter: Wrong number of arguments: nil, 179" What is SLIME trying to do? 2014-12-23T18:16:24Z stassats: arglist display 2014-12-23T18:16:39Z drmeister: It's doing some sort of autocomplete that I don't fully support yet - correct? 2014-12-23T18:16:50Z nyef: Sounds about right, yes. 2014-12-23T18:16:55Z stassats: drmeister: no 2014-12-23T18:17:26Z drmeister: Is it trying to display the lambda list for with-open-file? 2014-12-23T18:17:30Z Denommus joined #lisp 2014-12-23T18:17:36Z stassats: right 2014-12-23T18:17:54Z stassats: or for OPEN 2014-12-23T18:17:55Z drmeister: I thought I disabled that - but I may have reenabled it in a fit of gleeful optimism. 2014-12-23T18:18:07Z stassats: since that's how it's usually done 2014-12-23T18:18:53Z drmeister: Oh - that was a question I had about that. What is the lambda list supposed to look like if there are init-forms? 2014-12-23T18:19:09Z drmeister: Are they just replaced with NIL or something? 2014-12-23T18:19:15Z drmeister: I haven't used SLIME much. 2014-12-23T18:19:24Z stassats: verbatim 2014-12-23T18:19:44Z drmeister: Really? What if I wrote a first-person-shooter in an init-form? 2014-12-23T18:19:58Z stassats: you are welcome 2014-12-23T18:21:04Z drmeister: Hmmph so much for protecting the user from themselves. 2014-12-23T18:21:29Z stassats: first-person-foot-shooter 2014-12-23T18:22:08Z drmeister: Now there's an idea for a game. 2014-12-23T18:22:57Z drmeister: Left arrow key selects weapon and right arrow key selects foot to blow off. 2014-12-23T18:23:19Z drmeister: It would be popular with the C++ programming crowd. 2014-12-23T18:23:33Z drmeister: awk - getting late lunch 2014-12-23T18:23:37Z drmeister: afk 2014-12-23T18:23:56Z stassats: awk is a good way to shoot some feet 2014-12-23T18:25:15Z pjb: protist: (defun alist-p (x) (and (listp x) (every (function consp) x))) ; but this doesn't test for dotted lists x. 2014-12-23T18:25:57Z protist: pjb: yeah I knew I could define it...but wondered if there was a standard function :) 2014-12-23T18:26:01Z Hexstream: Alists can also have NIL entries, so you should use listp instead of consp. 2014-12-23T18:26:05Z protist: pjb: thank you though :) 2014-12-23T18:26:23Z stassats: can they? 2014-12-23T18:26:28Z Hexstream: (I don't know that anyone ever "takes advantage" of that "feature" though.) 2014-12-23T18:27:05Z stassats: clhs glossary/association list 2014-12-23T18:27:05Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/26_glo_a.htm#association_list 2014-12-23T18:27:33Z Hexstream: Hum. I'm sure there was at least one alist operator that accepted nils like that. 2014-12-23T18:27:53Z stassats: assoc does ignore it 2014-12-23T18:28:16Z wizzo quit (Read error: Connection reset by peer) 2014-12-23T18:28:17Z pjb: Evidlo: you've been lied to, sbcl is not an interpreter, only a compiler (well, there is an interpreter hidden in sbcl, but you don't get it unless you do something special to get it). 2014-12-23T18:28:23Z protist: goodnight #lisp...I'm off to bed 2014-12-23T18:28:31Z pjb: Evidlo: if you want an interpreter, clisp is the best choice. 2014-12-23T18:28:39Z Hexstream: Yeah, so I think it implies that alists can have stupid nils like that. But it probably won't break any sane code if you ignore that... 2014-12-23T18:28:41Z pjb: Evidlo: ccl doesn't even contain any interpreter. 2014-12-23T18:29:07Z oudeis quit (Quit: This computer has gone to sleep) 2014-12-23T18:29:11Z loz1 joined #lisp 2014-12-23T18:29:35Z protist: pjb: sbcl runs a REPL normally from what I see...so what is the difference? 2014-12-23T18:29:46Z stassats: protist: no difference 2014-12-23T18:29:52Z Shinmera: Just cause it's a repl doesn't mean it's interpreted. 2014-12-23T18:29:56Z protist: stassats: seems that way to me 2014-12-23T18:30:06Z protist: Shinmera: depends on your definition of interpreted 2014-12-23T18:30:17Z pjb: shka: keyword arguments don't even have to be keywords! just symbols will be ok. (defun f (&key ((hey hey))) hey) (f 'hey 'hello) --> hello 2014-12-23T18:30:18Z stassats: so, there's few reasons to want an interpreter 2014-12-23T18:30:25Z protist: Shinmera: if you can JIT or whatever and dynamically run new code....you are an interpreter in my book 2014-12-23T18:30:32Z pjb: protist: a REPL is not an interpreter. Category error. 2014-12-23T18:30:40Z Vutral quit (Ping timeout: 244 seconds) 2014-12-23T18:30:41Z stassats: and i'm sure Evidlo didn't use it as a description of the implementation strategy, he just didn't know the word "implementation" 2014-12-23T18:30:58Z Shinmera: protist: Good for you then. 2014-12-23T18:31:05Z protist: pjb: I said it runs it normally.....not that REPL=interpreter 2014-12-23T18:31:23Z pjb: protist: ccl has a REPL too, and has no interpreter. It does basically: (loop (print (funcall (COMPILE `(lambda () ,(read)))))) 2014-12-23T18:31:33Z stassats: as nobody uses interpreter or compiler when talking about CL implementations 2014-12-23T18:31:44Z pjb: protist asked for an interpreter! 2014-12-23T18:31:49Z s00pcan_ joined #lisp 2014-12-23T18:31:57Z stassats: since they also include debuggers, documenters, etc. 2014-12-23T18:32:03Z protist: pjb: and the others compile to threaded code or somesuch 2014-12-23T18:32:09Z stassats: did he now? 2014-12-23T18:32:13Z pjb: Sorry, it was Evidlo. 2014-12-23T18:32:14Z protist: pjb: so what is the issue? 2014-12-23T18:32:38Z enitiz joined #lisp 2014-12-23T18:32:41Z Bicyclidine: this is such a weird thing to decide to gotcha people about 2014-12-23T18:32:42Z pjb: protist: the issue is when somebody asks for an interpreter, you don't give him sbcl or ccl!!! 2014-12-23T18:32:48Z pjb: clisp, or possibly ecl. 2014-12-23T18:33:09Z stassats: how do you know he asked for an interpreter? 2014-12-23T18:33:20Z Hexstream: Bicyclidine: pjb is kind of a weird-gotcha generator. 2014-12-23T18:33:27Z Bicyclidine: how do you know they're a he 2014-12-23T18:33:29Z stassats: how do i know that he is not a she? 2014-12-23T18:33:52Z Bicyclidine: how do you know in the example code (loop whatever) #\( hasn't been redefined as a reader macro to delete root 2014-12-23T18:34:00Z Bicyclidine: so many things to be right about 2014-12-23T18:34:35Z pjb: stassats: are you an idiot? " Is Clisp a common interpreter?" 2014-12-23T18:35:00Z pjb: it's not written compiler or implementation, it's writt ^^^^^^^^^^^^ en "interpreter"! 2014-12-23T18:35:12Z stassats: see, you asked me if i'm an idiot, but you didn't ask Evidlo whether he wants an interpreter or a compiler 2014-12-23T18:35:13Z pjb: that's how I know. 2014-12-23T18:35:20Z pjb: he said interpreter. 2014-12-23T18:35:36Z pjb: You didn't asked if he wouldn't rather have a compiler before proposing sbcl. 2014-12-23T18:35:43Z stassats: i thought he said "potato" 2014-12-23T18:35:46Z Bicyclidine: how do you know they didn't want someone to translate to french for them 2014-12-23T18:36:00Z Bicyclidine: the answer: context 2014-12-23T18:36:08Z Shinmera: How do we know that this is getting silly 2014-12-23T18:36:19Z Bicyclidine: for example, the context of "many language systems use 'interpreter' in a broader sense" 2014-12-23T18:36:32Z Bicyclidine: "maybe we shouldn't be ridiculously anal to noobs at all times" 2014-12-23T18:36:35Z pjb: At least Evidlo should know that if he wants an interpreter as he asked, there's clisp or ecl. not sbcl or ccl. 2014-12-23T18:36:42Z dim: pjb: it's the war room, you can't fight in here, Sir. 2014-12-23T18:37:00Z stassats: sbcl has an interpeter, or even three 2014-12-23T18:38:21Z protist: pjb: explain how sbcl handles eval if it isn't interpreted (in the case that eval is in a function, non-known arguments) 2014-12-23T18:38:36Z stassats: it compiles things 2014-12-23T18:38:39Z stassats: sometimes 2014-12-23T18:38:39Z nyef: ... speaking of SBCL and interpreters, is there an option for PCL to not invoke the compiler for whatever it normally uses the compiler for? 2014-12-23T18:38:50Z protist: stassats: which is why I did the non-known arguments 2014-12-23T18:39:00Z Bicyclidine: protist: compile can be called at runtime. 2014-12-23T18:39:23Z dim: is there a CL implementation able to benfit from binary decimal support in some architectures (IBM POWER being the only example of such that I know of) 2014-12-23T18:39:24Z protist: Bicyclidine: if you compile and run AT RUNTIME...you are interpreting 2014-12-23T18:39:26Z Bicyclidine: (defun eval (form) (funcall (compile nil `(lambda () ,form)))) 2014-12-23T18:39:37Z Bicyclidine: protist: don't care 2014-12-23T18:39:42Z protist: Bicyclidine: lol 2014-12-23T18:39:47Z stassats: protist: then everything is intreprting, blurring the lines and making the term useless 2014-12-23T18:39:49Z Bicyclidine: dim: do you actually need that? i'm curious 2014-12-23T18:39:57Z protist: stassats: in many ways that is true 2014-12-23T18:40:21Z stassats: most interpreters perform some minimal compilation too 2014-12-23T18:40:35Z stassats: at least if they want to be not abysmally slow 2014-12-23T18:40:42Z dim: I have a C project to add support for decimal in a software and I'm left wondering if I shouldn't just hook in a CL number tower implementation (fixnum, bignum) and see what happens ;-) 2014-12-23T18:41:12Z stassats: dim: it has to be a new type, doesn't it? 2014-12-23T18:41:30Z Hexstream: And if you compile to bytecode, then you can compile your cake and interpret it, too. 2014-12-23T18:41:40Z dim: it's comparable to float but with another set of semantics, so yes 2014-12-23T18:41:43Z stassats: my bytecode is x86 2014-12-23T18:41:51Z dim: but I'm not asked to add support for the semantics 2014-12-23T18:41:54Z dim: only the speed 2014-12-23T18:42:07Z stassats: then it gets compiled into uops and interpreted again, gah, interpreters all the way down 2014-12-23T18:42:18Z protist: Hexstream: well if you can go all the way to asm...then I guess you win even more lol 2014-12-23T18:42:24Z Bicyclidine: i kinda doubt any lisp uses bcd, might be able to write some lap in sbcl or ccl though 2014-12-23T18:42:31Z stassats: dim: what fixnum and bignum have got to with it then? 2014-12-23T18:42:41Z ggole: Until you reach gates. They don't really do dispatch. 2014-12-23T18:42:53Z dim: actually what I would need to do here is compare PostgreSQL numeric performances with CL bignum 2014-12-23T18:43:04Z Bicyclidine: have you seen a gate in CMOS? it's so complicated!! and the semiconductor physics, gosh 2014-12-23T18:43:09Z dim: numeric is too slow, I don't know about how CL bignums would compare 2014-12-23T18:43:29Z jackdaniel joined #lisp 2014-12-23T18:43:38Z dim: stassats: but really I'm just trying to entertain myself 2014-12-23T18:43:44Z jackdaniel: hi 2014-12-23T18:44:05Z stassats: maybe you could substitue floats with bcd 2014-12-23T18:44:20Z stassats: making cl:+ work on a new type will require a lot of overhaul 2014-12-23T18:44:34Z dim: different semantics, won't fly, we basically want fast numeric 2014-12-23T18:44:46Z dim: oh, I see 2014-12-23T18:45:21Z jackdaniel: i have problem with ecl on armv7l machine and grovel - *features* contains armv7l (fine because of uname -m reports this), but grovel has #+arm directive for cc flags. should I report to grovel something like #+(or arm armv5l armv6l armv7l), or rather fix that in ecl? 2014-12-23T18:45:24Z dim: but I could just use the existing CL numeric types if they are fast enough, I'm not asked about bcd semantics, only their supposed speed 2014-12-23T18:45:36Z dim: anyway, thinking out loud isn't always the best thing to do 2014-12-23T18:45:46Z protist: goodnight #Lisp 2014-12-23T18:46:25Z pjb: dim: you couldn't easily use integers for decimal because of the 2-complement bit semantics of a CL integer (cf. logbitp of positives vs. negative integers). 2014-12-23T18:46:45Z oudeis joined #lisp 2014-12-23T18:47:23Z protist quit (Quit: Konversation terminated!) 2014-12-23T18:48:09Z dim: oh CL doesn't have arbitrary precision "decimals" of some sort? 2014-12-23T18:48:12Z stassats: dim: how do decimals help with bignums? 2014-12-23T18:48:17Z dim: damn, I though it had it 2014-12-23T18:48:20Z pjb: dim: there are rationals. 2014-12-23T18:48:26Z stassats: dim: it doesn't/ didn't 2014-12-23T18:48:29Z pjb: 1234567/10000 2014-12-23T18:48:31Z CrazyWoods quit (Quit: leaving) 2014-12-23T18:48:51Z wasamasa: time for numerical-tower.lisp 2014-12-23T18:49:02Z dim: or for scheme or racket 2014-12-23T18:49:15Z dim: ok thanks, switching off now ;-) 2014-12-23T18:49:20Z vaporatorius joined #lisp 2014-12-23T18:49:36Z wasamasa: what's the problem with rationals anyways? 2014-12-23T18:49:51Z stassats: slow, take up a lot of space 2014-12-23T18:50:07Z pjb: But since 250/100 = 5/2, that means that you would want to provide two different representations for a given rational. 2014-12-23T18:50:50Z pjb: I think the part of the numerical tower that could most easily be extended, is the float subtree. 2014-12-23T18:51:04Z nell joined #lisp 2014-12-23T18:51:30Z kjbrock joined #lisp 2014-12-23T18:52:14Z pjb: There is already support of multiple representations of the same number with different float subtypes: 2.0s0 2.0f0 2.0d0 2.0l0 You could add a letter for decimals 2.0q00 and another for realib reals: 2.0r0 2014-12-23T18:53:00Z tkhoa2711 quit (Quit: tkhoa2711) 2014-12-23T18:57:57Z Vutral joined #lisp 2014-12-23T18:57:59Z oudeis quit (Quit: This computer has gone to sleep) 2014-12-23T18:59:52Z kjbrock quit (Read error: Connection reset by peer) 2014-12-23T19:01:31Z hiyosi quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-12-23T19:03:27Z zacharias joined #lisp 2014-12-23T19:03:29Z jackdaniel: grovel it is :) 2014-12-23T19:05:05Z stassats: i'd rather fix ecl 2014-12-23T19:06:13Z jackdaniel: you mean to detect, if its one of armv5l armv6l armv7l architecture and put just arm in features? 2014-12-23T19:06:28Z stassats: i don't know 2014-12-23T19:09:09Z stassats: does vanilla ecl even support arm? 2014-12-23T19:09:41Z jackdaniel: yes, it works fine, but it puts result of uname into features, so its armv7l, not arm as in grovel stated 2014-12-23T19:09:56Z zacharias quit (Ping timeout: 244 seconds) 2014-12-23T19:10:51Z stassats: at build time? 2014-12-23T19:12:23Z jackdaniel: no, at start time 2014-12-23T19:14:03Z stassats: it doesn't seem to do that on x86 2014-12-23T19:14:51Z jackdaniel: it's put in ecl/src/lsp/config.lsp.in file 2014-12-23T19:15:16Z jackdaniel: i might misunderstood something however 2014-12-23T19:15:28Z stassats: ok, i see now 2014-12-23T19:15:41Z jackdaniel: in function machine-name 2014-12-23T19:16:05Z stassats: you mean type 2014-12-23T19:16:24Z nikki93 quit (Remote host closed the connection) 2014-12-23T19:16:26Z jackdaniel: yes 2014-12-23T19:16:57Z nikki93 joined #lisp 2014-12-23T19:18:46Z stassats: it does uname only if the uname feature is present, which it isn't 2014-12-23T19:18:58Z nikki93 quit (Read error: No route to host) 2014-12-23T19:19:24Z nikki93 joined #lisp 2014-12-23T19:20:17Z slxix joined #lisp 2014-12-23T19:20:32Z nyef: ... May it be a good few years before I have to deal with ARM again. Predicated code is nice, and there are some fun tricks to be done with the program counter available as a GPR, but the sheer profusion of architecture variations is a bit much. 2014-12-23T19:20:57Z nyef: ... actually... 2014-12-23T19:21:11Z jackdaniel: for grovel fix would be as trivial as: https://github.com/dkochmanski/cffi/commit/3db1919e33822a91a257b76a531597f172e1f6d3 2014-12-23T19:21:25Z nyef: stassats: Did you or anyone else follow through on teaching SBCL about predicated operation on ARM, as has been done for a few other backends? 2014-12-23T19:21:54Z stassats: i have conditional if somewhere stashed in git 2014-12-23T19:22:04Z stassats: conditional move, rather 2014-12-23T19:23:58Z stassats: or not stashed, but i did have something partially working 2014-12-23T19:24:02Z stassats: i guess i have to redo it 2014-12-23T19:24:16Z oleo is now known as Guest30355 2014-12-23T19:24:16Z oleo__ joined #lisp 2014-12-23T19:25:17Z s00pcan_ quit (Ping timeout: 265 seconds) 2014-12-23T19:25:27Z scymtym joined #lisp 2014-12-23T19:26:09Z Guest30355 quit (Ping timeout: 244 seconds) 2014-12-23T19:30:49Z rme: I kinda like the ARM. 2014-12-23T19:31:38Z stassats: i'm getting read for an arm-64 sbcl port 2014-12-23T19:32:35Z nyef: I want dibs on MIPS-64. 2014-12-23T19:32:42Z nyef: Or PPC-64, maybe. 2014-12-23T19:33:12Z stassats: well, ppc-64 is easier, at least when it comes to device availability 2014-12-23T19:33:15Z joshe whispers SPARC-64 2014-12-23T19:33:25Z stassats: alpha64! 2014-12-23T19:33:32Z stassats: properly 2014-12-23T19:33:42Z nyef: Alpha64 would be a good one, assuming my hardware works. 2014-12-23T19:34:30Z rme: The ARM64 question: high tags or low tags? 2014-12-23T19:34:38Z nyef: Did we do something crazy like declare that C-STACK-IS-CONTROL-STACK is the feature test for "conservative" GC? 2014-12-23T19:36:57Z nyef: Ah. Yes, we did. See (%MAKE-STRUCTURE-INSTANCE STACK-ALLOCATE-RESULT) in SYS:SRC;COMPILER;GENERIC;VM-IR2TRAN.LISP. 2014-12-23T19:37:04Z bgs100 joined #lisp 2014-12-23T19:37:37Z nyef: So, what I'm wondering is, how hard would it be to have an x86-64 build option for --without-c-stack-is-control-stack? 2014-12-23T19:38:14Z wglb quit (Remote host closed the connection) 2014-12-23T19:39:10Z yrdz quit (Remote host closed the connection) 2014-12-23T19:41:09Z hardenedapple quit (Quit: WeeChat 1.0.1) 2014-12-23T19:44:13Z yrdz joined #lisp 2014-12-23T19:44:34Z cmack` joined #lisp 2014-12-23T19:44:52Z cmack quit (Read error: Connection reset by peer) 2014-12-23T19:46:18Z slyrus quit (Ping timeout: 244 seconds) 2014-12-23T19:47:47Z Vutral quit (Ping timeout: 245 seconds) 2014-12-23T19:48:56Z pnpuff joined #lisp 2014-12-23T19:51:38Z yrdz quit (Remote host closed the connection) 2014-12-23T19:52:47Z tadni quit (Remote host closed the connection) 2014-12-23T19:52:47Z yrdz joined #lisp 2014-12-23T19:54:57Z rpg_ joined #lisp 2014-12-23T19:55:04Z rpg_ quit (Client Quit) 2014-12-23T19:56:55Z kami quit (Ping timeout: 264 seconds) 2014-12-23T19:58:09Z Karl_Dscc quit (Remote host closed the connection) 2014-12-23T19:59:22Z rpg quit (Ping timeout: 255 seconds) 2014-12-23T20:01:15Z drmeister: stassats: In SLIME it would be best to be able to provide a lambda-list for every function/macro/generic-function - correct? How valuable is this feature? 2014-12-23T20:01:28Z pjb: - 2014-12-23T20:01:36Z stassats: drmeister: yes 2014-12-23T20:01:52Z s00pcan_ joined #lisp 2014-12-23T20:02:35Z jackdaniel quit (Quit: leaving) 2014-12-23T20:02:35Z drmeister: Hmm, there's a dozen different things I have to change to support that. I have interpreted functions, wrapped C++ functions, compiled functions. 2014-12-23T20:02:49Z drmeister: Oh well, in for a penny, in for a pound. 2014-12-23T20:03:33Z jackdaniel joined #lisp 2014-12-23T20:05:13Z zacharias joined #lisp 2014-12-23T20:05:14Z zacharias quit (Changing host) 2014-12-23T20:05:14Z zacharias joined #lisp 2014-12-23T20:08:09Z doopz joined #lisp 2014-12-23T20:08:56Z tadni joined #lisp 2014-12-23T20:09:27Z tadni quit (Remote host closed the connection) 2014-12-23T20:10:00Z nikki93 quit (Remote host closed the connection) 2014-12-23T20:10:17Z eazar001 quit (Quit: WeeChat 1.0.1) 2014-12-23T20:10:20Z Denommus` joined #lisp 2014-12-23T20:11:26Z doopz is now known as doopz_ 2014-12-23T20:11:41Z Denommus quit (Ping timeout: 265 seconds) 2014-12-23T20:11:44Z tadni joined #lisp 2014-12-23T20:13:04Z doopz_ is now known as doopz 2014-12-23T20:13:04Z eazar001 joined #lisp 2014-12-23T20:16:06Z rpg joined #lisp 2014-12-23T20:16:49Z ASau joined #lisp 2014-12-23T20:19:10Z Denommus` quit (Ping timeout: 244 seconds) 2014-12-23T20:19:49Z nikki93 joined #lisp 2014-12-23T20:19:51Z theseb joined #lisp 2014-12-23T20:20:45Z oleo__ is now known as oleo 2014-12-23T20:21:31Z nikki93 quit (Read error: Connection reset by peer) 2014-12-23T20:21:58Z nikki93 joined #lisp 2014-12-23T20:23:18Z oudeis joined #lisp 2014-12-23T20:24:22Z innertracks quit (Quit: innertracks) 2014-12-23T20:27:22Z nell quit (Ping timeout: 245 seconds) 2014-12-23T20:27:28Z tadni` joined #lisp 2014-12-23T20:28:07Z nell joined #lisp 2014-12-23T20:28:07Z tadni quit (Ping timeout: 265 seconds) 2014-12-23T20:28:38Z tadni` is now known as tadni 2014-12-23T20:29:31Z nikki93 quit (Read error: Connection reset by peer) 2014-12-23T20:29:59Z nikki93 joined #lisp 2014-12-23T20:32:44Z hiyosi joined #lisp 2014-12-23T20:32:44Z ggole quit 2014-12-23T20:33:06Z askatasuna quit (Quit: WeeChat 1.0.1) 2014-12-23T20:36:13Z arpunk quit (Ping timeout: 244 seconds) 2014-12-23T20:40:19Z Vutral joined #lisp 2014-12-23T20:40:39Z keen__________10 joined #lisp 2014-12-23T20:41:29Z keen___________9 quit (Ping timeout: 245 seconds) 2014-12-23T20:41:43Z arademaker joined #lisp 2014-12-23T20:43:03Z Mon_Ouie joined #lisp 2014-12-23T20:43:14Z fantazo quit (Quit: Verlassend) 2014-12-23T20:43:30Z Denommus joined #lisp 2014-12-23T20:44:38Z dim: is there still WIP on SBCL Garbage Collector? ISTR having read about some ideas being implemented/tested not too long ago? 2014-12-23T20:45:57Z akkad: sbcl generating unknown &KEY argument: :USE-THREAD 2014-12-23T20:46:36Z Xach: akkad: in what function call? 2014-12-23T20:47:03Z nyef: dim: Work happens on the GC on a somewhat sporadic basis. 2014-12-23T20:47:27Z stassats quit (Ping timeout: 265 seconds) 2014-12-23T20:48:16Z nikki93 quit (Read error: Connection reset by peer) 2014-12-23T20:48:41Z nikki93 joined #lisp 2014-12-23T20:49:11Z akkad: Xach (woo:run (lambda (env) ... 2014-12-23T20:49:12Z akkad: 2014-12-23T20:49:45Z slassh joined #lisp 2014-12-23T20:50:09Z milosn quit (Ping timeout: 252 seconds) 2014-12-23T20:50:59Z tadni quit (Ping timeout: 258 seconds) 2014-12-23T20:51:06Z Bicyclidine: what do you mean it's generating it? 2014-12-23T20:51:15Z akkad: Xach https://gist.github.com/3d1f19f8e64269595106 2014-12-23T20:51:23Z tadni joined #lisp 2014-12-23T20:52:45Z drmeister: When SLIME displays an arglist for a function, does it include the &aux bindings? I'm guessing not because they aren't arguments. 2014-12-23T20:53:38Z Bicyclidine: doesn't here 2014-12-23T20:54:09Z dim: nyef: sometimes I'd like to have CCL's GC in SBCL 2014-12-23T20:54:10Z Xach: akkad: :use-thread is not a keyword argument of woo:run in https://github.com/fukamachi/woo/blob/master/src/woo.lisp#L70 2014-12-23T20:54:17Z Xach: akkad: why did you want to use :use-thread for it? 2014-12-23T20:54:33Z drmeister: Thanks Bicyclidine 2014-12-23T20:54:36Z nyef: dim: I want more GC options in SBCL, myself. 2014-12-23T20:54:44Z dandersen is now known as dkcl 2014-12-23T20:54:51Z dim: yeah I would too if I was more knowledgeable I guess 2014-12-23T20:54:56Z White_Flame: I personally would prefer the max heap size to be optional 2014-12-23T20:55:09Z nyef: But GC is a careful dance between compiler, runtime, and host environment. 2014-12-23T20:55:17Z dim: I only know that the current SBCL's GC doesn't cut it in some situations that I tend to run into 2014-12-23T20:55:32Z dim: and I would love not to have to implement the MS SQL and Sybase protocol from scratch in pure-CL 2014-12-23T20:55:52Z dim: just to avoid memory bubbling when using the mssql lib, a cffi layer on-top of freetds 2014-12-23T20:55:59Z dim: (for example) 2014-12-23T20:56:09Z nyef: Mmm. 2014-12-23T20:56:23Z arpunk joined #lisp 2014-12-23T20:56:56Z dim: I've had other scenarios, I can even dig up some github issues if you want to see interesting reports 2014-12-23T20:57:16Z nyef: I have my own little list of things to improve with the GC. 2014-12-23T20:57:24Z Vutral quit (Ping timeout: 244 seconds) 2014-12-23T20:57:30Z dim: I couldn't reproduce that one e.g. (self-contained test case for pgloader): https://github.com/dimitri/pgloader/issues/123 2014-12-23T20:58:46Z akkad: Xach: I did not put it there. it was there. I commented it out 2014-12-23T20:58:56Z Bicyclidine: why was it there? 2014-12-23T20:59:12Z akkad invites Bicyclidine to use "git mindmeld" ont he repo 2014-12-23T20:59:21Z nyef: ... A two GIG allocation request? 2014-12-23T20:59:33Z Xach: akkad: where is that code from? 2014-12-23T20:59:38Z Bicyclidine: i do feel like i have to be a mind reader to understand what the hell you're talking about, yes 2014-12-23T21:00:48Z akkad: Xach (ql:quickload :woo) gave me that code from woo/benchmark/woo.lisp 2014-12-23T21:01:22Z oudeis quit (Quit: This computer has gone to sleep) 2014-12-23T21:01:31Z Xach: akkad: i suspect the benchmark is out of date, then. 2014-12-23T21:01:39Z Bicyclidine: https://github.com/fukamachi/woo/commit/7786d53125fe526b7135c30ad468f9d8f3586638 it is 2014-12-23T21:01:39Z |3b|: akkad: see latest change to that file in the repo 2014-12-23T21:01:47Z Bicyclidine: why did you say sbcl "generated" this 2014-12-23T21:02:07Z akkad: Bicyclidine: so why did you ask ME why it's there? 2014-12-23T21:02:11Z MoALTz joined #lisp 2014-12-23T21:02:25Z Bicyclidine: Because I was trying to figure out where this broken code you had was coming from 2014-12-23T21:02:53Z dim: Xach: when building buildapp with ccl64 the result seems to be a 32 bits binary (Mach-O executable i386), which is then a problem to use buildapp to build pgloader against ccl64, that I need because of some dylib 64 bits dependencies... do you know about the problem? 2014-12-23T21:02:54Z Bicyclidine: I did not check that commit until I looked through the repo at the file you named and found a "fix" commit listed 2014-12-23T21:04:09Z Xach: dim: no. i didn't make the ccl support for buildapp, I don't know as much about saving applications with ccl as I do about sbcl. 2014-12-23T21:04:30Z dim: do you want me to open an issue or report a bug here? 2014-12-23T21:04:40Z Xach: dim: Let's discuss it a little more. 2014-12-23T21:04:43Z dim: sure 2014-12-23T21:04:49Z dim: (thanks!) 2014-12-23T21:04:59Z dim: ccl64 --no-init --load build/quicklisp/setup.lisp --eval '(ql:quickload "buildapp")' --eval '(buildapp:build-buildapp "build/bin/buildapp.ccl")' --eval '(quit)' 2014-12-23T21:05:02Z Xach: dim: Do you have both 32-bit ccl and 64-bit ccl installed on the system? If yes, what are their names? 2014-12-23T21:05:04Z dim: file ./build/bin/buildapp.ccl 2014-12-23T21:05:04Z dim: ./build/bin/buildapp.ccl: Mach-O executable i386 2014-12-23T21:05:07Z dim: that's the core of my report 2014-12-23T21:05:16Z dim: ccl and ccl64 are the names 2014-12-23T21:05:33Z Xach: dim: By default, I think buildapp invokes "ccl", but you can override it. 2014-12-23T21:05:43Z Xach checks 2014-12-23T21:06:00Z dim: I'm using --sbcl ccl64 2014-12-23T21:06:15Z shka quit (Quit: WeeChat 1.0.1) 2014-12-23T21:06:15Z Xach: --sbcl? 2014-12-23T21:06:41Z dim: yeah? 2014-12-23T21:06:51Z Xach: It's not --ccl ccl64? 2014-12-23T21:06:55Z Xach checks buildapp docs/code 2014-12-23T21:07:59Z akkad: thanks Xach Bicyclidine 2014-12-23T21:08:16Z drmeister: I love it when a plan comes together. 2014-12-23T21:08:35Z drmeister: I can generate lambda lists for wrapped C++ functions for SLIME. 2014-12-23T21:10:22Z White_Flame: careful, you might just end up with genera ;) 2014-12-23T21:11:08Z angavrilov quit (Remote host closed the connection) 2014-12-23T21:11:34Z drmeister: Sounds nasty - is it treatable with penicillin? 2014-12-23T21:11:59Z White_Flame: symbolicillin 2014-12-23T21:12:22Z nyef notes down "phyla" as a possible name for a future LispOS. 2014-12-23T21:12:24Z drmeister: I've seen lambda lists that contain the &key symbol but no keywords - I support it but forget what that means. What was it for? 2014-12-23T21:12:39Z logloglogloglog joined #lisp 2014-12-23T21:12:47Z Xach: dim: at first glance it seems that --sbcl only works if you use sbcl, and there is no flag that sets ccl. it unconditionally uses "ccl". that is kind of a crock. 2014-12-23T21:12:51Z nyef: drmeister: In a GF definition, it indicates that the methods are expected to accept keyword arguments. 2014-12-23T21:13:04Z drmeister: Got it. Thank you. 2014-12-23T21:13:12Z slxix left #lisp 2014-12-23T21:13:14Z Xach: dim: i am partway through a total rewrite of the cross-platform support so i am a little reluctant to patch up the old code, but i should probably do it anyway. 2014-12-23T21:13:15Z rpg: drmeister: I think also in INITIALIZE-INSTANCE there's a meaning for this... 2014-12-23T21:13:16Z nyef: drmeister: In a normal function, it triggers the keyword-argument parser, but if you pass any keywords you'll also need &a-o-k or :a-o-k. 2014-12-23T21:13:22Z dim: does the fact that I did compile buildapp itself with ccl64 has any consequences? 2014-12-23T21:13:36Z Xach: dim: no. it just executes a new process anyway. 2014-12-23T21:13:39Z dim: I can probably wait until the rewrite is done 2014-12-23T21:13:54Z dim: bummer 2014-12-23T21:13:56Z LiamH: Also, &key &allow-other-keys. 2014-12-23T21:14:08Z dim: so I've never actually produced a pgloader binary for ccl?! 2014-12-23T21:14:23Z dim: I'm pretty sure it used to work at some point, buildapp 1.4 maybe 2014-12-23T21:14:33Z slassh quit (Quit: Leaving) 2014-12-23T21:14:38Z dim: I have pgloader --version report lisp-implementation-type and -version 2014-12-23T21:14:43Z JuanDaugherty quit (Remote host closed the connection) 2014-12-23T21:14:58Z Xach: dim: You've never produced a pgloader binary for ccl? 2014-12-23T21:15:16Z dim: I think I did, yes, using buildapp 2014-12-23T21:15:21Z eudoxia joined #lisp 2014-12-23T21:15:32Z dim: I don't have it around of course, and I was using the same Makefile as today 2014-12-23T21:15:35Z dim: or a variant of it 2014-12-23T21:15:46Z dim: where I produce the buildapp binary from the Makefil 2014-12-23T21:15:51Z Xach: dim: Did you add a new feature recently in pgloader that critically depends on loading a 32-bit vs 64-bit library? 2014-12-23T21:16:46Z dim: yes, mssql 2014-12-23T21:17:13Z Xach: dim: until recently, would it have mattered that buildapp was invoking ccl instead of ccl64? 2014-12-23T21:17:21Z dim: well the using of the mssql system from Quicklisp, wherein mssql depends on cffi and freetds.so (or dylib) 2014-12-23T21:17:44Z dim: it did not and I remember building with make CL=ccl 2014-12-23T21:17:59Z dim: so I did build 32 bits versions of pgloader I guess, using ccl 2014-12-23T21:18:37Z loz1 quit (Ping timeout: 245 seconds) 2014-12-23T21:18:47Z Xach: dim: I'll open an issue about it 2014-12-23T21:19:03Z akkad: You need ASDF >= 2.32 to load this system correctly. static-vectors-1.6 does not like this system 2014-12-23T21:19:25Z dim: Xach: thanks 2014-12-23T21:20:41Z Hexstream: drmeister: DIRECTORY, TRANSLATE-LOGICAL-PATHNAME and TRANSLATE-PATHNAME are standard functions that are defined as taking just &key but without any defined keyword arguments nor &allow-other-keys, that's because these may accept implementation-defined keyword arguments. 2014-12-23T21:22:58Z Hexstream: (Found these by searching for "(&key)" in http://www.hexstreamsoft.com/articles/notes-tips-standard-common-lisp-symbols/themes/args-and-retvals/data.sexp by the way. I have yet to produce a more user-friendly format of this info...) 2014-12-23T21:25:10Z urandom_1 joined #lisp 2014-12-23T21:25:38Z urandom__ quit (Ping timeout: 265 seconds) 2014-12-23T21:26:26Z spacebat joined #lisp 2014-12-23T21:27:43Z enitiz quit (Read error: Connection reset by peer) 2014-12-23T21:31:50Z drmeister: This )x y &optional z &rest w &key ((:b a) 1) &allow-other-keys) is a legal (but distasteful) lambda list - correct? 2014-12-23T21:31:57Z pnpuff quit (Ping timeout: 252 seconds) 2014-12-23T21:32:03Z drmeister: (x y &optional z &rest w &key ((:b a) 1) &allow-other-keys) 2014-12-23T21:32:58Z nyef: ISTR there being an ordering requirement between &REST and &KEY, but I forget which way around it goes. 2014-12-23T21:33:03Z isoraqathedh: I think argument z might end up messing up the named arguments list. 2014-12-23T21:33:12Z isoraqathedh: It's legal but I would say it is hard to use. 2014-12-23T21:33:26Z nyef: The use of &OPTIONAL with &REST or &KEY is the distasteful bit. 2014-12-23T21:33:41Z isoraqathedh: I would say it's definitely dangerous. 2014-12-23T21:33:41Z nyef: Precisely because it tends to confuse people. 2014-12-23T21:33:47Z drmeister: Ok, yes - I wen't a little nuts with my test case. 2014-12-23T21:34:05Z Petit_Dejeuner: Is there any reason I'd want to use defun instead of defmethod? 2014-12-23T21:34:07Z drmeister: I was referring to the &key ((:b a) ...) part. 2014-12-23T21:34:10Z Grue`: if it's legal for the spec, it's a valid testcase 2014-12-23T21:35:10Z White_Flame: Petit_Dejeuner: semantically, I don't think so. 2014-12-23T21:35:17Z Grue`: drmeister: IIRC there's also key-supplied-p part 2014-12-23T21:35:39Z Petit_Dejeuner: White_Flame, Only to show my intent? 2014-12-23T21:36:00Z drmeister: I have a C++ object that does all lambda-list processing and binding called a LambdaListHandler. I'm testing what happens when I create one based on a lambda-list and then ask for it to recreate the lambda-list from its internal representation. 2014-12-23T21:36:01Z White_Flame: Petit_Dejeuner: back in the day, the CLOS optimizations weren't good. So defun was default, you do defgeneric/defmethod if you wanted to opt in to those features 2014-12-23T21:36:12Z White_Flame: s/do/did/ 2014-12-23T21:36:18Z Petit_Dejeuner: That makes sense. 2014-12-23T21:36:42Z Grue`: (x y &optional (z :foo zp) &rest w &key ((:b a) 1 ap) &allow-other-keys &aux (stuff :stuff)) 2014-12-23T21:36:43Z Petit_Dejeuner: It would be nice if defmethod was the-one-true-way. It reminds me of pattern matching in other languages. 2014-12-23T21:36:53Z White_Flame: I'm sure there's still some overhead to defmethod vs defun, even if it's just a single implemented method per name 2014-12-23T21:37:01Z drmeister: Grue`: Yes - thanks. I just tested that and it works as well. 2014-12-23T21:37:07Z Quadrescence joined #lisp 2014-12-23T21:37:26Z |3b|: you might get more notice of unused arguments from defun, if you care about that, since GFs might consider all required arguments used for dispatch 2014-12-23T21:37:44Z drmeister: I think my work is done adding low-level support for SLIME "arglist". 2014-12-23T21:38:33Z s00pcan_ quit (Ping timeout: 252 seconds) 2014-12-23T21:38:35Z Petit_Dejeuner: |3b|, That's interesting. Is that implementation specific? 2014-12-23T21:38:47Z Shinmera: drmeister: What do you need to call to get the arglist of a function in clasp then? 2014-12-23T21:38:54Z |3b|: that sort of warning is implementation specific to start with, so yes 2014-12-23T21:38:57Z White_Flame: Petit_Dejeuner: of course, you shouldn't be using defmethod without a corresponding defgeneric, so it's more programmer workload to use GFs 2014-12-23T21:39:08Z drmeister: core:function-lambda-list 2014-12-23T21:39:42Z Shinmera: drmeister: And what happens if it's unknown or is there never such a case? 2014-12-23T21:39:51Z rme: White_Flame: Come on. If you want a B&D language, there are plenty of those elsewhere. 2014-12-23T21:39:58Z drmeister: I don't think that can happen. 2014-12-23T21:40:14Z Shinmera: drmeister: Alrighty. 2014-12-23T21:40:38Z Shinmera: drmeister: Most implementations I've seen do have a return value for when it's unknown 2014-12-23T21:40:52Z White_Flame: rme: just pointing out the few difference there between defun/defmethod 2014-12-23T21:41:28Z |3b|: you also might not get redefinition warnings from repeated defmethod where you would from defun 2014-12-23T21:41:43Z ejbs joined #lisp 2014-12-23T21:42:05Z drmeister: Shinmera: I'll have to think on that but I don't see at the moment how it could be unknown. I've got one corner case for funcallable objects where it will return nil. 2014-12-23T21:42:25Z Shinmera: drmeister: NIL is not so good because that's not distinguishable from an empty arglist. 2014-12-23T21:42:32Z Petit_Dejeuner: Alright, I can see how that would be annoying. I guess I'll just keep using defun whenever I'm not writing a method. 2014-12-23T21:42:55Z White_Flame: Petit_Dejeuner: the CLHS says that defmethods aren't available to call at compile-time, which is interesting 2014-12-23T21:43:07Z drmeister: Right - it will also print a message to the terminal saying I'm trying to access the lambda list of a fun callable object and I'll go in with the debugger and check the backtrace to identify when this happens. 2014-12-23T21:43:32Z Shinmera: drmeister: I'm asking so I can implement the correct implementation-specific part in trivial-arguments. 2014-12-23T21:45:27Z logloglogloglog quit (Ping timeout: 265 seconds) 2014-12-23T21:45:51Z drmeister: Got it. Thanks in advance. 2014-12-23T21:46:06Z Shinmera: I'll implement the simple case now, let me know if anything changes. 2014-12-23T21:46:37Z arnaudga joined #lisp 2014-12-23T21:47:25Z Shinmera: There we go. https://github.com/Shinmera/trivial-arguments/commit/787e3c24b4b55b18a5d8f31c6f2159d874477de4 2014-12-23T21:47:27Z drmeister: Excellent - and now I have the lambda lists of compiled functions properly embedded within FASL files. 2014-12-23T21:48:55Z genii quit (Remote host closed the connection) 2014-12-23T21:48:59Z drmeister: I need to take a cold shower. I am on freakin' fire today. 2014-12-23T21:49:29Z Shinmera: You're making really good progress from what I can follow. 2014-12-23T21:50:20Z drmeister: Thanks, I feel like I'm really getting the hang of implementing SLIME. 2014-12-23T21:50:37Z Xach: careful, icarus 2014-12-23T21:50:39Z moei quit (Quit: Leaving...) 2014-12-23T21:52:24Z drmeister: I've wanted this for so long. The idea of dynamic programming with SLIME/Common Lisp/C++ has entranced me since I started this project. 2014-12-23T21:53:09Z drmeister: Don't worry Xach - it's all backed up on github. 2014-12-23T21:54:22Z drmeister: The only thing that can melt down is my ego, brought low by some loose pointer in the garbage collector. 2014-12-23T21:54:31Z thawes quit (Read error: Connection reset by peer) 2014-12-23T21:55:16Z drmeister: Time to catch my train - bbl 2014-12-23T21:55:45Z nyef: drmeister: Safe travels! 2014-12-23T21:55:48Z nikki93_ joined #lisp 2014-12-23T21:57:51Z nikki93 quit (Ping timeout: 244 seconds) 2014-12-23T21:57:53Z CrazyM4n joined #lisp 2014-12-23T22:03:06Z moei joined #lisp 2014-12-23T22:06:32Z xrash quit (Ping timeout: 264 seconds) 2014-12-23T22:06:44Z Blaguvest joined #lisp 2014-12-23T22:07:52Z Vutral joined #lisp 2014-12-23T22:08:48Z rpg quit (Quit: rpg) 2014-12-23T22:09:15Z enitiz joined #lisp 2014-12-23T22:09:22Z nikki93_ quit (Remote host closed the connection) 2014-12-23T22:10:43Z arademaker quit (Ping timeout: 264 seconds) 2014-12-23T22:11:13Z mishoo quit (Ping timeout: 272 seconds) 2014-12-23T22:12:31Z s00pcan_ joined #lisp 2014-12-23T22:15:44Z towodo quit (Quit: towodo) 2014-12-23T22:18:10Z rpg joined #lisp 2014-12-23T22:18:22Z rpg quit (Remote host closed the connection) 2014-12-23T22:19:53Z jasom: how does one-argument REQUIRE work on CCL? 2014-12-23T22:20:29Z wglb joined #lisp 2014-12-23T22:23:56Z Ukari joined #lisp 2014-12-23T22:27:46Z arademaker joined #lisp 2014-12-23T22:28:54Z quazimodo quit (Quit: leaving) 2014-12-23T22:29:13Z quazimodo joined #lisp 2014-12-23T22:29:23Z Shinmera quit (Quit: しつれいしなければならないんです。) 2014-12-23T22:30:17Z MrWoohoo quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2014-12-23T22:31:25Z Kanae quit (Ping timeout: 258 seconds) 2014-12-23T22:34:02Z Ukari: hello everyone,i find a book which seems to provide detailed explanation about lisp in web development 2014-12-23T22:34:30Z akkad: Ukari #lispweb has an ok book. 2014-12-23T22:34:43Z Ukari: here is the link :https://github.com/pvlpenev/lispwebtales 2014-12-23T22:35:13Z Ukari: i dont konw how to get source in irc T_T 2014-12-23T22:35:47Z ASau quit (Remote host closed the connection) 2014-12-23T22:36:08Z Ukari: ok,i find it in #lispweb' top 2014-12-23T22:36:32Z Vutral quit (Ping timeout: 245 seconds) 2014-12-23T22:36:54Z Jesin quit (Quit: Leaving) 2014-12-23T22:38:47Z theseb: macros allow you to customize your language to your problem.......for the sake of argument....what about simply building up layers and layers of objects with an OOP language like java/ruby/python? 2014-12-23T22:38:58Z theseb: isn't that kinda/sorta the same thing? 2014-12-23T22:39:15Z LiamH quit (Quit: Leaving.) 2014-12-23T22:39:18Z jumblerg joined #lisp 2014-12-23T22:40:39Z gravicappa quit (Remote host closed the connection) 2014-12-23T22:40:56Z logloglogloglog joined #lisp 2014-12-23T22:42:29Z ndrei quit (Ping timeout: 244 seconds) 2014-12-23T22:42:53Z wheelsucker quit (Quit: Client Quit) 2014-12-23T22:43:22Z mrSpec quit (Remote host closed the connection) 2014-12-23T22:45:20Z Xach: theseb: macros abstract syntax 2014-12-23T22:45:31Z logloglogloglog quit (Ping timeout: 264 seconds) 2014-12-23T22:45:34Z Ukari: it means use php is also a good choice?actually i use php now,and it seems that make DSL myself is better for learning lisp.the reason i find the lisp web frame is that i want to use lisp to slove my course design in a week,when i find this target is too hard for me,i get back to use php to slove my question 2014-12-23T22:46:01Z Quadrescence quit (Ping timeout: 252 seconds) 2014-12-23T22:47:06Z cmack`` joined #lisp 2014-12-23T22:47:13Z theseb: Xach: yes macros provide nearly 100% customization....what i'm wondering is if OOP can give you enough customization to get 80% of benefits of macros with only 20% of the complexity 2014-12-23T22:47:24Z theseb: Xach: the 20/80 rule 2014-12-23T22:47:42Z Petit_Dejeuner: theseb, Why not start with functions then? You can avoid the complexity of an object system. 2014-12-23T22:47:54Z Adeon: don't write macros that complexify your program 2014-12-23T22:48:34Z cmack` quit (Ping timeout: 245 seconds) 2014-12-23T22:48:46Z theseb: Petit_Dejeuner: can you give me an application that showcases the bennies of macros?...it seems most people will simply think OOP is good enough....if you wanted to sell macro programming what would you showcase? 2014-12-23T22:49:10Z Grue`: how is OOP anything like macros? 2014-12-23T22:49:23Z wasamasa: one can emulate OOP with it 2014-12-23T22:49:26Z Grue`: CL uses both 2014-12-23T22:49:35Z theseb: Grue`: is provides a level of flexibility that maybe helpful 2014-12-23T22:49:45Z cyphase joined #lisp 2014-12-23T22:50:09Z theseb: Grue`: we all know we can program any problem in any language 2014-12-23T22:50:29Z theseb: Grue`: i'm looking for an argument of why/how macros blow away OOP solutions 2014-12-23T22:50:38Z Petit_Dejeuner: theseb, One of my favorite examples. https://www.refheap.com/3e998f31602e7df27e106cd7f 2014-12-23T22:50:41Z rme: jasom: The docstring for ccl's require pretty much explains it. 2014-12-23T22:51:09Z Petit_Dejeuner: theseb, this is a mini-language I wrote in another language with macros, https://github.com/Halfwake/web-adventure/blob/master/test1.rkt 2014-12-23T22:51:20Z Grue`: macros can complement OOP solutions. in fact, defclass etc. is a macro in CL 2014-12-23T22:51:23Z Petit_Dejeuner: ^ 2014-12-23T22:51:24Z Ukari: theseb:that because any language realize a lisp dialect 2014-12-23T22:51:52Z |3b|: theseb: is it still 80% if it is 10x as verbose? 2014-12-23T22:51:53Z Hexstream: Grue`: Macros are only the top layer of CLOS. 2014-12-23T22:52:23Z theseb: Petit_Dejeuner: autogenerated read/write methods! nice 2014-12-23T22:53:00Z wasamasa: theseb: whenever you encounter boilerplate a function cannot get rid of, consider writing up your own macro 2014-12-23T22:53:22Z |3b|: or if it invokes the turing tarpit? (for example an 'object' with methods that implement an interpreter for a turing complete language that works by passing the complete state to the next method and chaining methods to specify a program) 2014-12-23T22:53:24Z wasamasa: theseb: you can for instance write your own with-* macros to handle contexts safely 2014-12-23T22:54:18Z theseb: |3b|, wasamasa: that *is* a good argument against standard OOP.....the verbosity of all the boilerplate 2014-12-23T22:54:44Z Hexstream: theseb: Here's an example of a not particularly "object-oriented" macro: http://www.hexstreamsoft.com/libraries/cartesian-product-switch/ (An "OO" version of this would probably be quite ridiculous.) 2014-12-23T22:54:46Z |3b|: or in the other direction, is it 80% if it doesn't actually abstract the syntax (which as Xach said is what distinguishes the macros) 2014-12-23T22:54:49Z theseb: i'm especially looking at Java 2014-12-23T22:54:53Z wasamasa: theseb: compare that with python where you'd need to define a class which implements the appropriate method to allow you the right behaviour with their "with" syntax 2014-12-23T22:55:49Z |3b|: if you don't care about that part, functions can do "80%" too... (function-if condition (lambda () then clause) (lambda () else clause)) 2014-12-23T22:56:13Z |3b|: a large fraction of macros could be replaced by functions that accept lambdas 2014-12-23T22:56:20Z Petit_Dejeuner: wasamasa, I loath that. 2014-12-23T22:56:48Z |3b|: but that misses the whole point that macros let you replace those functions with something that doesn't require wrapping the body in a lambda 2014-12-23T22:57:16Z Grue`: that's how i wrote "macros" in python... too bad its lambdas suck 2014-12-23T22:57:32Z |3b|: then there is the question of whether the subset that are actually doing real work at compile time are really less than "20%" 2014-12-23T22:57:36Z Petit_Dejeuner: def _lambda(): 2014-12-23T22:57:46Z Petit_Dejeuner: high_order(_lambda) 2014-12-23T22:58:04Z Petit_Dejeuner: At least you get recursive lambdas for free. 2014-12-23T22:58:14Z theseb: |3b|: abstracting syntax is fine...it just isn't the end all be all ...the goal is most program with least pain 2014-12-23T22:58:36Z |3b|: right, which is why we have functions, macros, objects, MOP, etc 2014-12-23T22:58:51Z |3b|: lots of features that help with different things 2014-12-23T22:59:04Z Hexstream: theseb: Some macros don't have anything to do with "abstraction". 2014-12-23T22:59:16Z |3b|: replacing macros with objects would be as silly as replacing objects with macros... they abstract different things 2014-12-23T22:59:31Z |3b|: if we only had one of them, we could, but it is better to have both 2014-12-23T23:00:04Z |3b|: similarly to how it would sometimes be nice to have continuations, but since we don't people replace them with macros 2014-12-23T23:00:09Z Ukari quit (Read error: Connection reset by peer) 2014-12-23T23:00:37Z drmeister: Shinmera: In the event that a case comes up where I have an unknown lambda list - what should I return? 2014-12-23T23:01:30Z theseb: macros seems like something ideal for when the app has started to coagulate and you are in a refactoring mode where you can look at the big picture and notice the patterns amenable to macros 2014-12-23T23:01:41Z ASau joined #lisp 2014-12-23T23:01:56Z |3b|: or when you run into patterns people have recognized before, like with-* macros 2014-12-23T23:02:53Z theseb: yea 2014-12-23T23:03:03Z Grue`: i usually recognize that I'll have to write something a lot of times and it's quicker to whip up a macro before doing it 2014-12-23T23:03:10Z |3b|: or when code-generation would be obviously helpful (like a bunch of almost identical functions or bindings or whatever) 2014-12-23T23:03:12Z theseb: in OOP languages someone would provide a "library" for recognized patterns that show up a lot 2014-12-23T23:03:39Z |3b|: in CL, the people who specified the language provided a few of those 2014-12-23T23:03:46Z |3b|: DOLIST, LOOP, etc 2014-12-23T23:03:50Z |3b|: DEFUN 2014-12-23T23:04:11Z |3b|: alexandria provides some more 2014-12-23T23:04:19Z theseb: Grue`: yes but when you are prototyping ...sometimes you have no #$@#$@ idea how the design will end up 2014-12-23T23:04:21Z atgreen quit (Ping timeout: 252 seconds) 2014-12-23T23:04:38Z |3b|: sure, but you can refactor macros too if you guess wrong :) 2014-12-23T23:05:23Z theseb: |3b|: true...all right you win...basically we have so many options it comes down to a matter of taste almost...everyone just uses what floats their boat 2014-12-23T23:06:41Z |3b|: 'taste' applies to all languages/features 2014-12-23T23:07:21Z |3b|: you could make an xml parser out of c++ templates so you could embed xml directly into code, but it is arguable if that would be in 'good taste' 2014-12-23T23:07:48Z |3b|: though some might argue that about any use of c++ templates :) 2014-12-23T23:08:42Z |3b|: same with c preprocessor, you can do a lot of things you probably shouldn't 2014-12-23T23:10:01Z |3b| tends to think 'taste' also scales depending on how close the code is to 'end product'... end application code can be more liberal, libraries should be more conservative, libraries intended to be used by other libraries even more so 2014-12-23T23:11:22Z Ukari joined #lisp 2014-12-23T23:11:23Z Hexstream: Maybe it's my perfectionism showing, but the concept of a library that isn't intended to be used by other libraries is news to me, somewhat. 2014-12-23T23:11:35Z akkad: when upgrading asdf does one typically just load the asdf/upgrade.lisp? 2014-12-23T23:11:44Z theseb: |3b|: i don't know if we'll ever have mathematical "proofs" that show that language X wil always be the most productive for problem domain Y.....it is conceivable however that in future the pace of innovation in PL will slow down so that the amount of choice we need to deal with will decrease 2014-12-23T23:14:01Z |3b|: theseb: equally conceivable that the amount of people ignoring previous "innovation" in PL and making new languages anyway won't decrease 2014-12-23T23:14:38Z theseb: |3b|: ug...i hope not....maybe in 100 years programming will be as stodgy as long division 2014-12-23T23:15:01Z theseb: |3b|: maybe 300 years ago people argued about best way to do long division, etc. but today no 2014-12-23T23:16:00Z |3b| suspects they argue about whether to write it out or just do it on a calculator :p\ 2014-12-23T23:18:12Z Fare joined #lisp 2014-12-23T23:19:34Z Ethan- joined #lisp 2014-12-23T23:23:03Z s00pcan_ quit (Ping timeout: 252 seconds) 2014-12-23T23:25:19Z ehu quit (Ping timeout: 272 seconds) 2014-12-23T23:26:14Z yenda quit (Ping timeout: 258 seconds) 2014-12-23T23:27:53Z leo2007 joined #lisp 2014-12-23T23:27:59Z rk[abc] is now known as rk[ohio] 2014-12-23T23:28:12Z rpg joined #lisp 2014-12-23T23:28:37Z defaultxr joined #lisp 2014-12-23T23:29:15Z pt1 joined #lisp 2014-12-23T23:31:07Z arademaker quit (Ping timeout: 245 seconds) 2014-12-23T23:31:51Z prxq joined #lisp 2014-12-23T23:31:51Z prxq quit (Client Quit) 2014-12-23T23:32:40Z arademaker joined #lisp 2014-12-23T23:33:17Z drmeister: In the year 252525 if man is still alive, if woman can survive, they may find that programming is old technology, that's less fun than practicing proctology. (apologies to futurama writers) 2014-12-23T23:33:35Z sdemarre quit (Quit: Leaving.) 2014-12-23T23:35:30Z drmeister: This is a lambda list generated from compiled code: 2014-12-23T23:35:33Z drmeister: https://www.irccloud.com/pastebin/FuZesBUo 2014-12-23T23:36:27Z drmeister: This is something that has always puzzled me. The symbols that are bound in lambda lists are interned in whatever package the lambda list was compiled within. 2014-12-23T23:36:47Z Vutral joined #lisp 2014-12-23T23:37:14Z drmeister: So packages have all these arbitrary internal symbols from lambda lists. That's just what it is - right? 2014-12-23T23:38:22Z Hexstream: drmeister: Yes. It's practical since some clashes are automatically avoided since most variables will be named by unexported symbols of the package in which the definition is made... 2014-12-23T23:39:59Z Hexstream: On second thought I'm not sure how much of a difference that makes, it would have more of an effect in the function namespace... 2014-12-23T23:41:54Z logloglogloglog joined #lisp 2014-12-23T23:44:03Z rpg quit (Quit: rpg) 2014-12-23T23:45:37Z s00pcan_ joined #lisp 2014-12-23T23:46:31Z logloglogloglog quit (Ping timeout: 252 seconds) 2014-12-23T23:46:49Z kristof joined #lisp 2014-12-23T23:47:22Z jasom: theseb: if you are still looking for a comment on macros, there was a good snippet written by the author of "Higher Order Perl" 2014-12-23T23:48:06Z jasom: theseb: http://lists.warhead.org.uk/pipermail/iwe/2005-July/000130.html 2014-12-23T23:48:33Z theseb: jasom: thanks 2014-12-23T23:48:47Z theseb: jasom: you gotta give props to this guy...trying to CL style programming perl 2014-12-23T23:48:58Z theseb: s/to/to do 2014-12-23T23:49:04Z theseb: s/perl/in perl 2014-12-23T23:52:12Z theseb: jasom: wow...his story of the CPP makes me want to cry in disgust 2014-12-23T23:52:31Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-12-23T23:53:09Z jasom: theseb: The other thing to point out is that many of the useful things that macros do are implemented in modern languages as part of the core semantics; if some language has a neat semantic you want to copy, lisp lets you do it; with other languages you have to modify the compiler, and then lobby for it to make it into the standard. 2014-12-23T23:53:32Z theseb: jasom: this guy's a hoot 2014-12-23T23:53:34Z theseb: good writer 2014-12-23T23:54:26Z jasom: he isn't a lisper though, and so he does have a multiple evaluation in his sample macro towards the bottom 2014-12-23T23:56:05Z jasom: though that's easy enough to fix (and someone even already wrote a macro to make it easier) 2014-12-23T23:56:53Z nyef: Leaving aside the violation of, whatever section of CLHS it was, package locks. 2014-12-23T23:57:05Z nyef: (For defining (SETF SQRT).) 2014-12-23T23:58:25Z tadni quit (Remote host closed the connection) 2014-12-23T23:58:43Z tadni joined #lisp 2014-12-23T23:59:44Z tadni quit (Read error: Connection reset by peer)