<pjb>
or even, concatenate 'string in this case, since you want to return the string, not do I/O.
igemnace has joined #lisp
john2x has joined #lisp
igemnace has quit [Quit: WeeChat 2.4]
igemnace has joined #lisp
miatomi has quit [Ping timeout: 250 seconds]
miatomi has joined #lisp
amerlyq has joined #lisp
orivej has joined #lisp
amerlyq has quit [Quit: amerlyq]
john2x has quit [Ping timeout: 244 seconds]
stereosphere has joined #lisp
rwlisp has quit [Quit: rwlisp]
libertyprime has quit [Ping timeout: 245 seconds]
pierpal has joined #lisp
xkapastel has quit [Quit: Connection closed for inactivity]
libertyprime has joined #lisp
stereosphere has quit [Remote host closed the connection]
fengshaun has joined #lisp
orivej has quit [Ping timeout: 245 seconds]
milanj has quit [Quit: This computer has gone to sleep]
Bike has quit [Quit: Lost terminal]
john2x has joined #lisp
arescorpio has joined #lisp
sauvin has joined #lisp
Kundry_Wag has joined #lisp
<beach>
Good morning everyone!
<LdBeth>
Morni
<LdBeth>
Just arrived home
arescorpio has quit [Quit: Leaving.]
cyberoctopi has quit [Ping timeout: 276 seconds]
Lycurgus has joined #lisp
Arcaelyx has quit [Ping timeout: 250 seconds]
aindilis has quit [Read error: Connection reset by peer]
aindilis has joined #lisp
aindilis has quit [Read error: Connection reset by peer]
pankajgodbole has joined #lisp
clintm has quit [Ping timeout: 255 seconds]
Kundry_Wag has quit [Remote host closed the connection]
vlatkoB has joined #lisp
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 246 seconds]
dale has quit [Quit: dale]
pankajgodbole has quit [Ping timeout: 276 seconds]
<oni-on-ion>
serious important question. can i move the colon to the right side of keywords in some way?
john2x has quit [Ping timeout: 276 seconds]
<oni-on-ion>
or use a tilde instead ?
<PuercoPop>
oni-on-ion:What is your goal?
<edgar-rft>
you can create symbols with a colon at the end but they won't be automatically treatened as keywords anymore
<oni-on-ion>
hmm i want to hack the reader or something to get it happening. i just cant wrap my brain the other way
<oni-on-ion>
PuercoPop, my goal is to have the colon on the right side of keywords. or alternatively, to have a different character at the front instead of the colon. is this more clear ?
<PuercoPop>
oni-on-ion: I meant why would you want to do that? What is the underlying purpose?
<beach>
oni-on-ion: You can use Eclector. Then you can program the token parser to do what you want.
Inline has quit [Quit: Leaving]
hvxgr has quit [Ping timeout: 250 seconds]
hvxgr has joined #lisp
JohnMS_WORK has joined #lisp
<phoe>
oni-on-ion: yes
<phoe>
write your custom Lisp reader, or modify an existing one like Eclector
varjag has joined #lisp
<phoe>
and do not show that code to other Lispers
<oni-on-ion>
the default scheme is colon-after
<oni-on-ion>
for all schemes*
Lycurgus has quit [Quit: Exeunt]
<beach>
phoe: No need to modify Eclector. It was designed to be customized like that.
fengshaun has left #lisp ["Leaving"]
<oni-on-ion>
i'd rather modify sbcl itself , probably cleaner than pulling in such a beast as Eclector
<phoe>
beach: I see, s/modify/customize/
<phoe>
It's early for me and I did not use the proper terminology
<beach>
oni-on-ion: The "cleanest" thing to do is to get used to the colon at the beginning.
<oni-on-ion>
beach, yeah, i know it to be true. apologies for bringing this up again too
varjag has quit [Ping timeout: 258 seconds]
<oni-on-ion>
could just coax emacs into displaying ':' into another char because unwiring my brain (from ObjC) might be counter productive. some kinds of trauma are healthy
ltriant has quit [Quit: leaving]
loke has joined #lisp
TikityTik has quit [Ping timeout: 276 seconds]
angavrilov has joined #lisp
libertyprime has quit [Ping timeout: 245 seconds]
schweers has joined #lisp
libertyprime has joined #lisp
zigpaw has joined #lisp
milanj has joined #lisp
nowhere_man has quit [Ping timeout: 258 seconds]
varjag has joined #lisp
Folkol has joined #lisp
scymtym has joined #lisp
rumbler31 has quit [Remote host closed the connection]
bgardner has quit [Ping timeout: 255 seconds]
bgardner has joined #lisp
orivej has joined #lisp
Lord_of_Life has quit [Ping timeout: 258 seconds]
Lord_of_Life has joined #lisp
<aeth>
oni-on-ion: the default for all schemes isn't colon-after, we've gone over this in #scheme before, there are several conventions, including the CL one, and like all things Scheme it's evenly split
<oni-on-ion>
of the ones i looked at seem so; chicken, chez, guile
<oni-on-ion>
they also support #:keyword most of em
<oni-on-ion>
keywords rub me against the grain and i cant figure out why or get over it =/
<aeth>
The three syntaxes are #:foo and :foo and foo:
<aeth>
afaik
<aeth>
there might be a fourth
<aeth>
Of course, you can't have #:keywords in CL because that means something else
<oni-on-ion>
hm yeah
zooey has quit [Ping timeout: 256 seconds]
zooey has joined #lisp
<phoe>
aeth: I misread that as, "there might be a forth"
gxt has quit [Ping timeout: 276 seconds]
<aeth>
phoe: well some CLs come with integrated prologs so there might be a forth...
oni-on-ion has quit [Quit: Leaving]
bgardner has quit [Ping timeout: 250 seconds]
bgardner has joined #lisp
aindilis has joined #lisp
hhdave has joined #lisp
<pjb>
aeth: you can have #:keywords, you just need to change the dispatching reader macro for #:
<pjb>
and you can have the foo: syntax too, again, just change the readtable.
<aeth>
Well, yes, it's possible, but you really can't do that by convention (just like you can't have fooBarBaz). foo: is strange but #:foo is actively misleading
<pjb>
aeth: the argument would be that you should have a clear marker somewhere, to introduce the new syntax. Like: (enable-my-strange-syntax)
<pjb>
It could be out of the file, in which case, the file type would be something else than "lisp" or "cl".
<pjb>
ie. "scm" or "mss" (my strange syntax).
libertyprime has quit [Ping timeout: 258 seconds]
milanj has quit [Quit: This computer has gone to sleep]
nicball has joined #lisp
m00natic has joined #lisp
libertyprime has joined #lisp
piotrbrzezinski has joined #lisp
<piotrbrzezinski>
Hello :)
<beach>
Hello piotrbrzezinski.
<beach>
piotrbrzezinski: Are you new here? I don't recognize your nick.
piotrbrzezinski has quit [Remote host closed the connection]
piotrbrzezinski has joined #lisp
<piotrbrzezinski>
Hey beach, I'm new indeed. Just starting my journey with lisp.
nowhere_man has joined #lisp
<beach>
Great!
<piotrbrzezinski>
Yep. I just started (and have to learn emacs also on the way), but it feels great so far :)
<beach>
Congratulations.
<shka__>
give that man some parenthesis!
<piotrbrzezinski>
All of them!
nowhere_man has quit [Ping timeout: 255 seconds]
<phoe>
an elegant weapon
<phoe>
Fun things: the CCL bug is an interaction between package-local nicknames, locks, and WITH-STANDARD-IO-SYNTAX in a multithreaded environment.
<phoe>
This issue is getting better and better.
<loke>
phoe: I saw your mastodon post
<loke>
Wow
<loke>
:-)
fivo has joined #lisp
<phoe>
loke: CCL seems to be using cl:find-package, ccl::pkg-arg, and ccl::%find-pkg without much consistency as for which function to use at the moment
<phoe>
it's less of an issue with PLNs and more of an issue that CCL's code is messy like this
piotrbrzezinski has quit [Remote host closed the connection]
<dim>
phoe: any help you can provide on the project is welcome!
<phoe>
dim: OK, I'll try to do some patches then. One of them is already present and waiting for PR and review.
<dim>
yeah?
<phoe>
I could also try fixing the travis builds and updating SBCL and CCL there, but I'd need some permissions for that. Where and how do I sign up for them?
<dim>
I have 11 unread issues at the moment and I'm not sure if I'll be able to have a look later today (late evening) or before
<phoe>
OK - take your time with them
<phoe>
my issues are likely among those
<dim>
thanks for the work! the manual parser for the SQL queries is a fun way to get started!
<dim>
I don't think it's exercized much or at all actually in the test suite, maybe in the geolite example
<phoe>
dim: I've noticed (: I'll need some help running regression tests for the parser - I hope you have those
<phoe>
oh, well, hm
<phoe>
a thing like that could use a series of unit tests and regression tests to check what gets parsed as what, along with all the edge cases that are invalid SQL and should be detected as such
<dim>
(pgloader:run-commands "pgloader/test/archive.load" :client-min-messages :debug) would be a good way to get started
<phoe>
OK, I'll remember that
<dim>
then `make check` requires more infrastructure, that's how I run my tests locally
<dim>
I'm not much of a unit tests person, more integration tests, and I have plenty of thoses... tbh the situation with testing in pgloader isn't as good as it should
<phoe>
I like writing unit tests - expect me to do that
cosimone has quit [Quit: WeeChat 2.3]
<dim>
nice, thanks!
<phoe>
this, and fix the CI as soon as I get the chance - the SBCL is so outdated it doesn't work with mainline ironclad anymore, and CCL fails my changes due to loading pgloader twice
<dim>
what I worry a lot about with unit tests is killing the ability to change your mind on internal APIs, which I've done a lot in pgloader
<phoe>
I don't think that the PARSE-QUERY API will change much (;
<dim>
I have several areas that are unfinished in terms of package/modules separation and generic function APIs and thigns
<dim>
for the parse-query case, I have zero excuse about not having proper unit testing of it, agreed
<phoe>
but in that case you don't want to heavily test the heavily changing areas
<phoe>
you're better off doing black-box integration testing on the APIs and ensuring that the final state is as expected
<phoe>
instead of writing unit tests that are likely to be thrown away very soon
rwlisp has joined #lisp
<dim>
it's been a one-man shop for a long time, everything might change at any point, even though on a daily basis they just don't
<dim>
so I've been doing black-box integration testing mostly
<dim>
make check is how I run them
<phoe>
welp - got nobody else to help so far?
<dim>
small items here and there, one-liners
<dim>
mostly people who never hacked using CL before
<phoe>
hm
<phoe>
are the donations+subscriptions not enough to hire someone to help with maintenance?
<phoe>
I see there are some means for people to buy pgloader subscriptions - are they being used?
gigetoo has quit [Ping timeout: 250 seconds]
gigetoo has joined #lisp
igemnace has quit [Quit: WeeChat 2.4]
Folkol has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
ring has joined #lisp
deng_cn has joined #lisp
nicball has quit [Ping timeout: 250 seconds]
heisig has joined #lisp
ring has quit [Remote host closed the connection]
ring has joined #lisp
ring has quit [Remote host closed the connection]
ring has joined #lisp
skeuomorf has joined #lisp
skeuomorf has left #lisp [#lisp]
<dim>
there's none
gigetoo has quit [Read error: Connection reset by peer]
gigetoo has joined #lisp
<dim>
I mean I made the technical possiblity to help finance the project, but I never took the time to properly animate that channel and do Marketing around it, so there's no money for pgloader work, it's all on my free time
<dim>
now, that could change, I keep talking to people working in companies where they want more of pgloader, the problem is that I keep talking to engineers without a budget, not to their bosses
gigetoo has quit [Read error: Connection reset by peer]
gigetoo has joined #lisp
<phoe>
yep, you need to talk to the people who hold the money
<phoe>
to me, it doesn't seem like raising financial support for pgloader would be too much of an issue - pgloader is a popular and demanded application, and it should be able to get some support contracts for it
<phoe>
and with that, actually hire some maintenance workforce that you (and they) can rely on
makomo has joined #lisp
ring has quit [Ping timeout: 255 seconds]
cosimone has joined #lisp
ring has joined #lisp
ggole has joined #lisp
ring has quit [Remote host closed the connection]
Bike has joined #lisp
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Read error: No route to host]
Kundry_Wag has joined #lisp
<dim>
that'd be awesome
makomo has quit [Quit: WeeChat 2.2]
<dim>
I would like to have automated binary packages for instance, include continuous build system for windows and things, I just don't have time to make that happen
ring has joined #lisp
ring is now known as nicball
shifty has quit [Ping timeout: 255 seconds]
Kundry_Wag has quit [Remote host closed the connection]
piotrbrzezinski has quit [Remote host closed the connection]
andrei-n has quit [Remote host closed the connection]
jmercouris has joined #lisp
kajo has quit [Ping timeout: 258 seconds]
warweasle has joined #lisp
cosimone has quit [Quit: WeeChat 2.3]
cosimone has joined #lisp
<fivo>
Is there any doc on the internals of asdf?
<fivo>
For example asdf/component
<jackdaniel>
I'm not aware of such document
<jackdaniel>
I think that most of it sits in rpg's and fare's heads
<katco>
good morning lispers
<Josh_2>
afternoon
scymtym has quit [Ping timeout: 264 seconds]
<dlowe>
fare wrote a description of the over-arching model on his blog
amerlyq has joined #lisp
Arcaelyx has joined #lisp
ebrasca has joined #lisp
ikki has joined #lisp
nicball has quit [Remote host closed the connection]
nicball has joined #lisp
Folkol has joined #lisp
Inline has joined #lisp
<phoe>
dim: make a fundraiser
<phoe>
set a list of goals, e.g. hiring a second maintainer, fixing testing CI, introducing nightly pgloader builds for linux/win/macos
<phoe>
and throw the fundraiser at people who are interested and likely to throw money at pgloader
dale_ has joined #lisp
<phoe>
so they can forward it to their bosses, etc.
dale_ is now known as dale
<phoe>
the general lispful population might also be interested, since pgloader is one of the most important/used/famous contemporary Lisp applications I can think of
<phoe>
if you need some help with setting that up, ask #common-lisp.net people - they have some experience with organizing such things
<aerique>
dim: These might be fun reads. Written by my 'boss' and you could also contact him on the technical people → people with money transition at possible customers:
<dim>
phoe: I also have a list of new features to add to pgloader, as per https://pgloader.io/roadmap/ ; one of the things I'd like to work on someday is an ABCL release were we would only use JDBC rather than specific database driver APIs as we do now, it would also help solving some issues with SSL and things
<dim>
I mean the ASDF dependency list would be different when using ABCL, because to be fair some of them are included in the JVM already, so we would just use them rather than load even pure-CL code (such as Postmodern), or some external libs (such as SQLite)
<dim>
anyway, yeah, let's thing about getting pro with pgloader
<dim>
the only reason why I avoided a fundraiser up to now is that I don't want people to invest their own personal money into this project, it's an enterprise thing, nobody would use that in their free time, I guess
<dim>
also thanks for the kind words about pgloader, phoe ;-)
sjl has joined #lisp
ring has joined #lisp
ring has quit [Ping timeout: 258 seconds]
TikityTik has quit [Ping timeout: 246 seconds]
hhdave has quit [Ping timeout: 250 seconds]
Zaab1t has joined #lisp
Jesin has quit [Quit: Leaving]
Jesin has joined #lisp
ring has joined #lisp
Jesin has quit [Quit: Leaving]
ring has quit [Ping timeout: 245 seconds]
Jesin has joined #lisp
Zaab1t has quit [Quit: bye bye friends]
oni-on-ion has joined #lisp
voidlily has quit [Ping timeout: 250 seconds]
sauvin has quit [Read error: Connection reset by peer]
voidlily has joined #lisp
nowhere_man has joined #lisp
selwyn has quit [Remote host closed the connection]
anewuser has quit [Ping timeout: 250 seconds]
sjl has quit [Quit: WeeChat 2.3-dev]
jgkamat is now known as JayMarsh
m00natic has quit [Remote host closed the connection]
JayMarsh is now known as jgkamat
Xiro` has joined #lisp
Xiro` has quit [Client Quit]
Xiro` has joined #lisp
Xiro` has quit [Client Quit]
Xiro` has joined #lisp
Xiro` has quit [Client Quit]
jmercouris has joined #lisp
Jesin has quit [Quit: Leaving]
sjl has joined #lisp
Jesin has joined #lisp
longshi has joined #lisp
cosimone has quit [Quit: WeeChat 2.3]
pankajgodbole has quit [Ping timeout: 276 seconds]
xkapastel has joined #lisp
sjl has quit [Quit: WeeChat 2.3-dev]
sjl has joined #lisp
jmercouris has quit [Remote host closed the connection]
cosimone has joined #lisp
lnostdal has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
cosimone has quit [Ping timeout: 258 seconds]
<LdBeth>
good afternnon
Kundry_Wag has quit [Ping timeout: 276 seconds]
cosimone has joined #lisp
defunkydrummer has joined #lisp
<defunkydrummer>
dim: just saw today's conversation about pgloader on Lisp logs
techquila has joined #lisp
<defunkydrummer>
@dim and decided to log in. I think PGLOADER is perhaps one of the hottest current tools written in CL right now, considering that Postgres is *THE* database.
techquila has quit [Remote host closed the connection]
techquila has joined #lisp
<defunkydrummer>
dim: perhaps you should ask for people to collaborate on reddit/r/lisp. I didn't know you needed help with PGLOADER. If i had the spare time, I would.
<PuercoPop>
defunkydrummer: o/
<defunkydrummer>
dim: Question: Why does pgsql uses '(mssql sql) systems instead of using databases other than Postgres through CLSQL, which is already integrated with a lot of RDBMS including those two (and ODBC). (Of course, it doesn't have bulk copy operations...).
angavrilov has quit [Remote host closed the connection]
<defunkydrummer>
PuercoPop Oi Puercopop, entering IRC from an internet backdoor at *current-company*
Achylles has quit [Ping timeout: 252 seconds]
<defunkydrummer>
@dim you wrote: "one of the things I'd like to work on someday is an ABCL release" -- however, it's likely that 95% of Pgloader users don't care (or know) what the underlying Lisp implementation is, and would rather simply download pgloader binary and run it. Mind you, i say this as a HUGE fan of the Right of Arming Bears and of Armed Bear Common L
<defunkydrummer>
isp...
<defunkydrummer>
sorry, my 2 cents. I'll keep more quiet now. Again, thank you so much for rewriting Pgloader, now with 100% less Python.
wigust has joined #lisp
wigust- has quit [Ping timeout: 245 seconds]
fiveop has joined #lisp
Kundry_Wag has joined #lisp
rumbler31 has joined #lisp
Kundry_Wag has quit [Remote host closed the connection]
amerlyq has quit [Ping timeout: 250 seconds]
warweasle has quit [Quit: rcirc on GNU Emacs 24.4.1]
CrazyEddy has quit [Remote host closed the connection]
<fe[nl]ix>
defunkydrummer: OTOH I bet some would like to use pgloader as a library
piotrbrzezinski has joined #lisp
CrazyEddy has joined #lisp
<dim>
defunkydrummer: I didn't like CLSQL when I had a look the first time, and wanted to have pure-CL drivers when possible, with a map like API to ensure that you don't have to load the whole SELECT result set in memory but instead can work in a streaming fashion
<defunkydrummer>
dim: i understand
<dim>
defunkydrummer: ABCL would allow using JDBC, meaning pure-Java drivers for any and every source database system out there, from MS Access to IBM DB2 on OS/390; so that'd be quite a monivation for me and for some users too
<defunkydrummer>
allright!
<dim>
and other than that, thanks defunkydrummer for the kind words too, I feel humbled today!
<defunkydrummer>
@dim thank you for the tool. In fact here i'm steering the team towards moving to PostgreSQL, however we do have a strong need for SQL Server, and I use clsqlODBC
<dim>
fe[nl]ix: I tried to make it so that pgloader would be usable as a lib, but I'm not sure about it really, I don't have a use-case for that... well the command language parser produces lisp code, so... I kind of have a client
<defunkydrummer>
clsql+odbc to interface lisp with MSSQL . I didn't know pgloader could connect to mssql server. Today I Learned.
<dim>
wow ODBC is one of the worst trade-off that I know of to access a database, I think
<dim>
in pgloader we use FreeTDS and a CFFI wrapper around it, it's not the best possible trade-off either, it kind of works usually, and FreeTDS looks well maintained
<defunkydrummer>
dim: yes, but i can access any and every source database system out there (pun intended). I don't remember what the cslql-odbc driver uses, but it works reliably, no complaints so far. What I need is bulk inserts.
<dim>
of course if a pure CL driver did exist I would use that, having to fiddle with .so or .dll things is not nice in CL when you ship a binary to end-users who know nothing about CL in general and setting up their .so loader in particular
<dim>
maybe I should have a look at clsql-odbc for perfs and memory usage characteristics someday, also I would accept contributions that would add support for such a driver in pgloader, maybe using a new source URI (e.g. odbc:mysql://user@host:port/db)
fiveop has quit []
CrazyEddy has quit [Remote host closed the connection]
defunkydrummer has quit [Ping timeout: 276 seconds]
defunkydrummer has joined #lisp
<defunkydrummer>
dim: having to use .dll files isn't so bad if you can legally bundle them with your system or if you know where to locate them beforehand.
CrazyEddy has joined #lisp
gxt has joined #lisp
<dim>
yeah well, debian and Postgres YUM packagers are doing a good job at that, other than that I know nothing about the system where pgloader is going to be invoked
<dim>
shipping a /usr/bin/pgloader application from a CL build system sometimes feels like being a pioneer, or maybe doing it wrong
cosimone has quit [Quit: WeeChat 2.3]
v88m has quit [Quit: Quit]
v88m has joined #lisp
z3t0 has joined #lisp
vlatkoB has quit [Remote host closed the connection]
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
<defunkydrummer>
i understand! Anyways, i need to log out and (invoke-restart #'perform-work)
<defunkydrummer>
well, without the "#"
<defunkydrummer>
bye Dimitri
piotrbrzezinski has quit [Remote host closed the connection]
<dim>
see you!
defunkydrummer has quit [Ping timeout: 258 seconds]
ggole has quit [Quit: Leaving]
<p_l>
dim: an idea that's been following me everytime I see pgloader is of turning it into general (if mostly simple) ETL tool
<dim>
yeah it's kind of a specialized ETL already, but going generic would turn it into a very different beast, I'm not sure I want to go there. I've done lots of ETL or ELT work in the past, and always with on-purpose tooling hacked around specific needs, never with “general purpose ELT solutions”, I don't believe in those
miatomi has quit [Ping timeout: 258 seconds]
defaultxr has joined #lisp
miatomi has joined #lisp
pierpal has quit [Ping timeout: 276 seconds]
jakevossen has joined #lisp
jakevossen has quit [Remote host closed the connection]
jakevossen has joined #lisp
<whartung>
General purpose tools can have a problem of serving nobody well.
<p_l>
dim: well, the only non - general thing from my usage is that pgloader only supports postgres as target
karlosz has joined #lisp
sjl has quit [Ping timeout: 244 seconds]
gbiesiad has joined #lisp
gbiesiad has quit [Quit: gbiesiad]
lavaflow has quit [Read error: No route to host]
z3t0 has quit [Read error: Connection reset by peer]
vtomole has joined #lisp
Achylles has joined #lisp
mindCrime has quit [Ping timeout: 246 seconds]
rumbler31 has quit [Remote host closed the connection]
vtomole has quit [Quit: Page closed]
z3t0 has joined #lisp
libertyprime has quit [Ping timeout: 276 seconds]
shifty has joined #lisp
jakevossen has quit [Remote host closed the connection]
eschatologist has quit [Quit: ZNC 1.7.1+deb2 - https://znc.in]
eschatologist has joined #lisp
Bike has quit []
sjl has joined #lisp
lavaflow has joined #lisp
LiamH has quit [Quit: Leaving.]
gbiesiad has joined #lisp
sjl has quit [Ping timeout: 276 seconds]
Josh_2 has quit [Quit: ERC (IRC client for Emacs 26.1)]